Branding: различия между версиями

Материал из ALT Linux Wiki
Строка 12: Строка 12:
%define brand altlinux
%define brand altlinux
%define Brand ALT Linux
%define Brand ALT Linux
%define status alpha</source>
 
%define variants ...
 
%define status альфа
%define status_en alpha
%define distro_name ALT Linux Lite (alpha)
%define distro_name_ru Альт Линукс Лёгкий (альфа)
</source>


При желании можно поменять картинки. Но по крайней мере в текстах почти везде в качестве имени дистрибутива, версии и производителя будут введённые вами значения.
При желании можно поменять картинки. Но по крайней мере в текстах почти везде в качестве имени дистрибутива, версии и производителя будут введённые вами значения.
{{Attention|Нелатинские буквы должны (например, в '''%define status''') должны идти сильно ниже заголовка. Поэтому в начале следует '''%define variants''' с большим объёмом текста}}
{{Note|Непустой статус ('''%define status''') отрисовывается на обоях. Чтобы сделать его пустым, укажите <source lang="Spec">%define status %nil
%define status_en %nil</source>}}


Некоторые ресурсы могут попадать в несколько подпакетов, некоторые предназначены для целевой укладки.
Некоторые ресурсы могут попадать в несколько подпакетов, некоторые предназначены для целевой укладки.

Версия от 16:51, 23 сентября 2013


Пакеты branding

Пакеты branding-бренд-дистрибутив содержат в себе по возможности всю дистрибутивоспецифичную информацию (графику, настройки и тексты). Исходный git-репозиторий находится в git.alt boyarsh@ (обратите внимание на набор бранчей).

Минимальная адаптация состоит в замене нескольких констант в spec-файле: например, для Lite:

%define theme lite
%define Theme Lite
%define codename none
%define brand altlinux
%define Brand ALT Linux

%define variants ...

%define status альфа
%define status_en alpha
%define distro_name ALT Linux Lite (alpha)
%define distro_name_ru Альт Линукс Лёгкий (альфа)

При желании можно поменять картинки. Но по крайней мере в текстах почти везде в качестве имени дистрибутива, версии и производителя будут введённые вами значения.

Внимание! Нелатинские буквы должны (например, в %define status) должны идти сильно ниже заголовка. Поэтому в начале следует %define variants с большим объёмом текста


Примечание: Непустой статус (%define status) отрисовывается на обоях. Чтобы сделать его пустым, укажите
%define status %nil
%define status_en %nil


Некоторые ресурсы могут попадать в несколько подпакетов, некоторые предназначены для целевой укладки.

Политика конфликтов

Чтобы не было конфликтов по именам файлов, необходимо объявить возможные варианты брендингов для каждого подпакета:

%define variants altlinux-backup-server altlinux-desktop altlinux-gnome-desktop altlinux-kdesktop \
altlinux-lite altlinux-lxdesktop altlinux-office-desktop altlinux-office-server altlinux-school-server altlinux-sisyphus \
altlinux-spt altlinux-tablet altlinux-workbench informika-schoolmaster ivk-chainmail lxde-desktop lxde-school-lite \
Platform6-server-light school-junior school-lite school-master school-server school-teacher school-terminal simply-linux \
sisyphus-server-light

Далее в подпакетах (например, для bootloader) прописывается:

Conflicts: %(for n in %variants ; do [ "$n" = %brand-%theme ] || echo -n "branding-$n-bootloader ";done )

Состав

Обычно состоит из пакетов:

branding-<название дистрибутива>-alterator — стили оформление программы установки и Центра управления системой (Alterator), включая значки этапов
branding-<название дистрибутива>-bootloader — оформление меню загрузки с диска и загрузчика ОС (lilo или grub)
branding-<название дистрибутива>-bootsplash — оформление экрана прогресса загрузки (Plumouth)
branding-<название дистрибутива>-graphics — обои, аватары и логотипы
branding-<название дистрибутива>-indexhtml — титульная страница дистрибутва со ссылками
branding-<название дистрибутива>-menu — пункты меню (если используется настраиваемое меню)
branding-<название дистрибутива>-notes — лицензионный договор и примечания к выпуску (показываются в конце установки)
branding-<название дистрибутива>-release — название дистрибутва (обычно с кодовым именем) в /etc/redhat-release
branding-<название дистрибутива>-slideshow — изображения для слайдшоу при установке
branding-<название дистрибутива>-xfce-settings — параметры среды по умолчанию


branding-*-bootloader

images/boot.png
первая картинка, которую увидит пользователь при загрузке образа или установленной системы. Автоматически ужимается до размера 800x600.
components/bootloader/gfxboot.cfg.in или bootloader/gfxboot.cfg.in
значение theme в секции [base] должно соответствовать тому, куда в подпакете branding-*-bootsplash укладываются файлы (/boot/splash/%theme)

NB: gfxboot (см. тж. здесь) весьма привередлив по части вариаций сжатия и прочего; см. скрипты zerg@ во избежание чёрной картинки под загрузочной менюшкой вместо images/boot.jpg (который становится back.jpg перед попаданием в cpio-архив bootlogo).

Известно, что grub не переваривает PNG с indexed color.

branding-*-bootsplash

bootsplash/images/silent-*.jpg (если присутствуют, а не генерируются)
картинки для отображения в процессе загрузки установленной системы (для разных разрешений фреймбуфера; начинать стоит либо с дефолтного 800x600, либо с наиболее высокого из поддерживаемых — уменьшать проще)
Внимание: bootsplash «переваривает» не всякие jpeg, при проблемах попробуйте сжать другим инструментом
Внимание: plymouth не поддерживает jpeg и принимает png, но будьте осторожны с размером — слишком большой full.cz[1] может привести к проблемам загрузки на UEFI, при проблемах включайте indexed color и/или понижайте разрешение (например, с 1920x1080 до 1600x900).

Подпакет должен содержать Provides: plymouth(system-theme) во избежание излишнего вытягивания, скажем, plymouth-theme-fade-in.

branding-*-graphics

альтернатива /usr/share/design/current; для совместимости могут быть альтернативы

  • /usr/share/artworks
  • /usr/share/design-current

фоновый рисунок: /usr/share/design/current/backgrounds/default.png

NB: для kde4 разрешение background.png и название каталога под graphics/kde4/ksplash-themes/Default/ должны соответствовать друг другу!

branding-*-indexhtml

components/indexhtml/*
содержание и оформление страницы по умолчанию для браузеров

branding-*-release

/etc/altlinux-release (%_sysconfdir/altlinux-release), генерируемый в branding.spec.

branding-*-notes

notes/*.html*
лицензионное соглашение, примечания к дистрибутиву, домашняя страница по умолчанию

branding-*-slideshow

slideshow/*.{jpg,png,gif}
картинки 650x300 для слайдов в процессе установки

Примечание: Если не хотите показа слайд-шоу, удалите все графические файлы и создайте текстовый файл любого содержимого (хоть пустой).

Настройки

Пакеты из серии *-settings-* содержат в себе настройки по-умолчанию, которые делают пользовательские окружения более удобными в работе и/или затачивают их под какую-нибудь задачу. В идеале настройки не должны производиться через /etc/skel-каталог, т.к. тогда они будут влиять только на новых пользователей и их нельзя будет централизованно сменить.

Более подробно настройки описываются далее:

Изменение всех branding-*

Изменения, которые хочется видеть во всех branding-*, надо делать в бранче master и потом мержить в другие бранчи. Писать по поводу принятия полезных вещей в апстрим стоит boyarsh@; при существенных изменениях стоит предварительно обсудить в devel-distro@ (подписывает mike@).

Отключение в инсталяторе

С версии installer-1.4.11-alt1 введена опция загрузки nodesign; см. тж. tests/ в mkimage-profiles-desktop.

Сообщения об ошибках

Существующие; метабаг

Примечания

  1. 30M уже слишком много, 24M работает; с 26M пока неясно