[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