[devel-distro] внятные неявные правила (насчёт use-%)
Michael Shigorin
mike at osdn.org.ua
Tue Dec 15 00:46:18 MSK 2009
Здравствуйте.
Посмотрев на размах применения неявных (implicit) use-правил,
наконец осознал свою ошибку, когда оставил их в том же namespace,
что и явные (explicit). Тем паче что сейчас понадобавляли и
используем base-%, live-% и прочие.
Есть предложение сделать более понятным и grep/find'абельным
применение автоматических правил -- чтоб они не путались с явно
заданными (use-kde vs use-gnome), а также именами списков пакетов
(base-pspo-desktop vs base-server). Напомню текущие (use.mk):
use-%: добавляет GLOBAL_BASE_PACKAGE_LISTS+=% в main,
GLOBAL_LIVE_PACKAGE_LISTS+=% в live
base-%, disk-%: BASE, DISK в main (они уже равнозначны вроде?)
live-%: LIVE в live
addon-%: ADDON в addon
group-%: GLOBAL_PKG_GROUPS в main
Дублирование вида live-%, *_LIVE_*, live тоже царапает глаз,
но сделать некий add2%, который бы разбирал add2main_pspo-kde
в "main" и "pspo-kde" и при этом был бы достаточно понятен --
у меня не получается (да и оверинжиниринг, и громоздко как-то).
Поскольку назначение GLOBAL_*_PACKAGE_LISTS и так определяется
тем, в какой субпрофиль мы его набираем -- предлагаю оставить
для начала просто GLOBAL_PACKAGE_LISTS, которые и подбирать
в соответствующих profiles/*/Makefile.
Далее, набивать их хорошо бы не поштучно, а списками -- вроде:
use-freenx-server:
$(call base,freenx-server)
$(call install2,installer-feature-freenx-stage2)
use-pspo: use-desktop use-docs use-freenx-server use-live-restore
$(call base,pspo pspo-desktop 3d eclipse emulators nm)
$(call base,graphics-editing publishing sound-editing)
$(call group,pspo-teacher)
При этом более чётко разделяются рекурсивно раскрываемые
зависимости и явно задаваемые пакаджлисты.
Если никто не против, после очередного раунда вычитывания и мержа
всего, что просили/осмысленно втащить, надеюсь сделать и это.
--
---- WBR, Michael Shigorin <mike at altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
More information about the devel-distro
mailing list