From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_50,DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 Date: Sun, 23 Oct 2011 22:37:50 +0300 From: Michael Shigorin To: Distributions development Message-ID: <20111023193749.GW7427@osdn.org.ua> Mail-Followup-To: Distributions development References: <20111022120305.GY7427@osdn.org.ua> <323291319382480@web134.yandex.ru> <20111023154433.GU7427@osdn.org.ua> <256961319392154@web125.yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <256961319392154@web125.yandex.ru> User-Agent: Mutt/1.4.2.1i Subject: Re: [devel-distro] I: mkimage-profiles.git 0.4.0 X-BeenThere: devel-distro@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: shigorin@gmail.com, Distributions development List-Id: Distributions development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Oct 2011 19:37:54 -0000 Archived-At: List-Archive: 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 ------ Linux.Kiev http://www.linux.kiev.ua/