[Devel-conf] I: новый профиль для групп пакетов

Stanislav Ievlev =?iso-8859-1?q?stanislav=2Eievlev_=CE=C1_gmail=2Ecom?=
Чт Окт 18 10:54:49 MSD 2007


Привет всем!

Я кажется окончательно определился с форматом профилей для групп
пакетов, надеюсь, он удовлетворит и меня и остальных
дистрибутиво-строителей ;)

0. Профиль - это каталог, с тремя возможными подкаталогами.
   Лежит в /var/lib/install3/, как туда доставляется - через
метаданные (то есть основная работа идёт в профиле spt или mkimage )
или в виде пакета, устанавливаемого в базовую систему - зависит от
желаний конкретного дистрибутиво-строителя.

 Подкаталоги:
 groups - куча directory-файлов содержащих описания групп
 lists - плоские списки файлов групп (если конечно не используются
виртуальные пакеты)
 list-tests - скрипты/утилиты применяемые для выяснения включать или
не включать те или иные подгруппы пакетов.

Можно держать всё необходимое в одном месте (или одном пакете), можно
в разном. Например наверняка скрипты будут общие для всех, а будут
нестандартные. Каждый волен сам разделять профиль на спефифическую для
своего дистрибутива и повторяющуюся часть.

Три возможных уровня работы:
1. Для тех кто любит использовать виртуальные пакеты по списку как и
раньше можно сгенерить пачку directory-файлов и закинуть на диск. Для
указания какой виртуальный пакет должна вытягивать группа есть
параметр   X-Alterator-Package
Например:
X-Alterator-Package=installer-group-network

2. Для тех кто не любит виртуальные пакеты: Можно сделать списки,
положить их в lists и перечислить оные через пробел в параметре
X-Alterator-PackageList
Например:
X-Alterator-PackageList=list1 list2 list3 list4

3. Для тех кто хочет совсем страного, а именно  включать/исключать
отдельные списки в зависимости от внешних условий (язык установки,
наличие wifi, наличие сети вообще, наличие 3d, наличие места на диске)
, предусмотрен параметр внутри списка в виде значимого комментария.
Пример ниже:
#requires: lang "ru" && 3d && wireless
Строчка выше - ничто иное как строчка предназначенная для eval в shell.
lang, 3d, wireless - это скрипты, которые находятся в подкаталоге list-tests.

Если тест не прошёл, то список будет исключён из перечисления в
X-ALterator-PackageList.

Если окажется что у группы нет списков, то она вообще исчезнет.

--
Станислав Иевлев.


Подробная информация о списке рассылки devel-conf