[devel-distro] I: mkimage-profiles.git 0.4.0
Michael Shigorin
mike at osdn.org.ua
Sun Oct 23 23:37:50 MSK 2011
On Sun, Oct 23, 2011 at 09:49:14PM +0400, Leo-sp50 wrote:
> Кстати, может пригодятся файлы в прицепе с дифом и дополнениями
> в /pkg.in/lists/tagget для сборки десктопных "минималов".
Может, пушнете свой репозиторий на github какой? Так будет
гораздо удобнее обмениваться наработками, чем дёргать-класть
патчи.
(хорошо бы заархивировать и сделать git rebase на то, что сегодня
пушнул -- хотя должно и смержиться, но мержить мержи приводит к
вязанкам merge commit'ов, а мерж rebase'ного проходит гладко)
> use/x11/xdm: use/x11/runlevel5
> @$(call add,BASE_PACKAGES,xdm installer-feature-no-xconsole)
> +
> +use/x11/wdm:
> + @$(call add,BASE_PACKAGES,wdm installer-feature-no-xconsole)
Видите, сколько общего в этих фрагментах? Я как раз и хочу
избегать такого дублирования (а конкретно xconsole надо вообще
поотрывать везде, где оно забито безусловно гвоздями).
> distro/desktop-base: distro/installer sub/main \
> - use/syslinux/ui-vesamenu use/x11/xorg use/bootloader/grub
> + use/syslinux/ui-vesamenu use/x11/xorg use/bootloader/grub \
> + use/powerbutton/acpi use/x11/runlevel5
А если бы хоть к use/x11/wdm прицепили зависимость от
use/x11/runlevel5, то тут можно было бы не повторять.
> + @$(call add,BASE_LISTS,$(call tags,base network))
> + @$(call add,BASE_LISTS,$(call tags,base l10n))
> + @$(call add,BASE_LISTS,$(call tags,system desktop))
Не уверен, что это всё есть смысл тянуть в base -- я бы
всё-таки сделал промежуточную цель (или перенёс совсем
базовое в desktop/bare). Хотя это не высечено в камне.
> distro/icewm: distro/desktop-base \
> - use/lowmem use/x11/xdm use/x11/runlevel5 \
> - use/bootloader/lilo use/powerbutton/acpi \
> - use/cleanup/alterator
> + use/x11/xdm
Дважды use/x11/xdm.
И тут ещё один момент: use/x11/xdm зависит от use/x11/runlevel5
(см. features.in/x11/config.mk), хотя вообще-то это для
организации runlevel 5 нужен какой-нибудь dm -- просто выразить
такую зависимость в терминах make без файловых целей у меня
не получается.
(а use/lowmem я уже починил :)
> +distro/e17: distro/desktop-base \
> + use/x11/wdm
> + @$(call add,BASE_LISTS,$(call tags,e17 desktop))
> +
> +distro/small: distro/icewm \
> + use/x11/wdm
Опять же: видите, сколько общего? Можно так выделить:
distro/: distro/desktop-base use/x11/wdm
distro/e17: distro/wdm
# ...
distro/small: distro/wdm distro/icewm
# ... [хотя вообще-то множественное наследование
# не рекомендуется по печальному опыту C++]
Как бы поясней это донести... http://vimeo.com/23522095 :)
> + @$(call add,BASE_LISTS,$(call tags,small desktop))
> + @$(call add,BASE_LISTS,$(call tags,www desktop))
> + @$(call add,BASE_LISTS,$(call tags,alterator desktop))
А по сей часть в задумке такой финт ушами:
- где-то складываем в переменные теги вроде distro, desktop, iso;
- где-то смотрим на эти переменные, прибавляем к ним то, что было
передано уже в явном виде, комбинируем и делаем выборку.
Чтоб можно было примерно так и yetanother попало в теги само:
distro/yetanother:
@$(call add,BASE_TAGS,small www alterator)
...а где-то в коде отработало:
BASE_LISTS += $(call tags,$(DISTRO_TAG) && base \
&& $(call tags_or,$(BASE_TAGS))
и когда-то отрефакторилось, чтобы base/BASE не повторять
для других частей.
--
---- WBR, Michael Shigorin <mike at altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
More information about the devel-distro
mailing list