initial "+shortcut" support and refactoring
It looks like the intermediate targets aren't all equal: some define a finished feature while some create a common lower level piece of configuration. Let's do shortcuts for the former so that a distro line can be more terse and descriptive; help targets in features.in/ tweaked accordingly.
This commit is contained in:
parent
deb63e0d63
commit
a52b7476a4
@ -9,16 +9,15 @@ distro/.desktop-mini: distro/.desktop-base \
|
||||
use/lowmem use/x11/xdm use/power/acpi/button \
|
||||
use/cleanup/alterator
|
||||
|
||||
distro/icewm: distro/.desktop-mini
|
||||
@$(call add,BASE_LISTS,$(call tags,icewm desktop))
|
||||
distro/icewm: distro/.desktop-mini +icewm
|
||||
|
||||
distro/tde: distro/.desktop-mini use/x11/kdm
|
||||
@$(call add,BASE_LISTS, \
|
||||
$(call tags,(base || desktop) && (network || tde)))
|
||||
|
||||
distro/ltsp-icewm: distro/icewm use/ltsp/base
|
||||
distro/ltsp-icewm: distro/icewm +ltsp
|
||||
|
||||
distro/ltsp-tde: distro/tde use/ltsp/base
|
||||
distro/ltsp-tde: distro/tde +ltsp
|
||||
|
||||
distro/desktop-systemd: distro/icewm use/systemd
|
||||
|
||||
|
@ -7,47 +7,35 @@ distro/syslinux: distro/.init \
|
||||
|
||||
distro/dos: distro/.init use/dos use/syslinux/ui-menu
|
||||
distro/rescue: distro/.base use/rescue use/syslinux/ui-menu
|
||||
distro/live: distro/.base use/live/base use/power/acpi/cpufreq
|
||||
distro/live-systemd: distro/.base use/live/base use/systemd
|
||||
|
||||
distro/.live-x11: distro/live use/firmware use/power/acpi/button
|
||||
distro/.live-base: distro/.base use/live/base use/power/acpi/button
|
||||
distro/.live-desktop: distro/.base use/syslinux/ui-vesamenu +live
|
||||
|
||||
distro/live-isomd5sum: distro/.base use/live/base use/isomd5sum
|
||||
@$(call add,LIVE_PACKAGES,livecd-isomd5sum)
|
||||
|
||||
distro/live-builder: pkgs := livecd-tmpfs livecd-online-repo mkimage-profiles
|
||||
distro/live-builder: distro/.base use/repo/main \
|
||||
use/live/base use/dev/mkimage use/power/acpi/button
|
||||
distro/live-builder: distro/.live-base use/dev/mkimage use/dev/repo
|
||||
@$(call add,LIVE_LISTS,$(call tags,base && (server || builder)))
|
||||
@$(call add,LIVE_PACKAGES,zsh sudo)
|
||||
@$(call add,LIVE_PACKAGES,$(pkgs))
|
||||
@$(call add,LIVE_PACKAGES,zsh sudo apt-repo)
|
||||
@$(call add,MAIN_PACKAGES,rpm-build basesystem)
|
||||
@$(call add,MAIN_PACKAGES,fakeroot sisyphus_check)
|
||||
@$(call add,MAIN_PACKAGES,syslinux pciids memtest86+ mkisofs)
|
||||
@$(call add,MAIN_PACKAGES,file make-initrd make-initrd-propagator)
|
||||
@$(call add,MAIN_PACKAGES,$(pkgs))
|
||||
@$(call add,MAIN_PACKAGES,syslinux pciids memtest86+ mkisofs)
|
||||
|
||||
distro/live-install: distro/.base use/live/base use/syslinux/localboot.cfg
|
||||
distro/live-install: distro/.live-base use/syslinux/localboot.cfg
|
||||
@$(call add,LIVE_PACKAGES,live-install)
|
||||
|
||||
distro/live-icewm: distro/.live-x11 use/live/autologin
|
||||
@$(call add,LIVE_LISTS, \
|
||||
$(call tags,(base || desktop) && (live || network || icewm)))
|
||||
|
||||
distro/live-razorqt: distro/.live-x11 use/x11/lightdm use/syslinux/ui-vesamenu
|
||||
@$(call add,LIVE_LISTS, \
|
||||
$(call tags,(base || desktop) && (live || network || razorqt)))
|
||||
|
||||
distro/live-tde: distro/.live-x11 use/x11/kdm use/syslinux/ui-vesamenu
|
||||
@$(call add,LIVE_LISTS, \
|
||||
$(call tags,(base || desktop) && (live || network || tde)))
|
||||
distro/live-icewm: distro/.live-desktop use/live/autologin +icewm
|
||||
distro/live-razorqt: distro/.live-desktop +razorqt
|
||||
distro/live-tde: distro/.live-desktop +tde
|
||||
|
||||
distro/live-rescue: distro/live-icewm
|
||||
@$(call add,LIVE_LISTS,$(call tags,rescue && (fs || live || x11)))
|
||||
@$(call add,LIVE_LISTS, \
|
||||
$(call tags,(base || extra) && (archive || rescue || network)))
|
||||
|
||||
distro/live-webkiosk: distro/.live-x11 use/live/autologin use/live/hooks
|
||||
distro/live-webkiosk: distro/.live-desktop use/live/autologin use/live/hooks
|
||||
@$(call add,LIVE_PACKAGES,livecd-webkiosk)
|
||||
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu fonts-ttf-droid)
|
||||
|
||||
|
@ -2,15 +2,29 @@
|
||||
# (only regarding the needed subprofiles)
|
||||
|
||||
ifndef BUILDDIR
|
||||
help all:
|
||||
|
||||
help/plus all: banner
|
||||
@$(call grepper,'^+')
|
||||
|
||||
help/features: banner
|
||||
@$(call grepper,'^use/')
|
||||
|
||||
banner:
|
||||
@echo "** BUILDDIR not defined; available features:"
|
||||
|
||||
grepper = $(and $(1),$(grepper_body))
|
||||
define grepper_body
|
||||
@for dir in */; do \
|
||||
echo -n "$$dir: "; \
|
||||
grep -h '^use/' $$dir/config.mk \
|
||||
out="`grep -h $(1) $$dir/config.mk \
|
||||
| cut -f1 -d: \
|
||||
| tr ' ' '\n\n' \
|
||||
| grep $(1) \
|
||||
| tr '\n' ' ' \
|
||||
| sort -u; \
|
||||
| sort -u`"; \
|
||||
[ -z "$$out" ] || echo "$$dir: $$out"; \
|
||||
done
|
||||
endef
|
||||
|
||||
else
|
||||
|
||||
include $(BUILDDIR)/distcfg.mk
|
||||
|
@ -22,6 +22,10 @@
|
||||
построенных на одном базовом, можно воспользоваться подкаталогом
|
||||
с именем исходного базового субпрофиля (см. $src, $dst в Makefile).
|
||||
|
||||
Наиболее употребительные цели можно снабжать "ярлычками" вроде
|
||||
"+icewm" с тем, чтобы сделать более краткими и выразительными
|
||||
использующие их правила. Просьба не злоупотреблять количеством.
|
||||
|
||||
Каталог lib/ является специфическим для фич, определяющих
|
||||
построение конкретного вида образа -- см. build-*/.
|
||||
|
||||
|
@ -1,7 +1,12 @@
|
||||
use/dev:
|
||||
@$(call add_feature)
|
||||
@$(call add,COMMON_PACKAGES,git-core hasher gear)
|
||||
@$(call add,THE_PACKAGES,git-core hasher gear)
|
||||
|
||||
use/dev/mkimage: use/dev
|
||||
@$(call add,COMMON_PACKAGES,mkimage)
|
||||
@$(call add,LIVE_PACKAGES,shadow-change)
|
||||
@$(call add,THE_PACKAGES,mkimage shadow-change)
|
||||
|
||||
use/dev/repo: use/dev use/repo/main
|
||||
@$(call add,THE_PACKAGES,apt-repo)
|
||||
@$(call add,MAIN_PACKAGES,rpm-build basesystem)
|
||||
@$(call add,MAIN_PACKAGES,fakeroot sisyphus_check)
|
||||
@$(call add,MAIN_PACKAGES,file make-initrd make-initrd-propagator)
|
||||
|
@ -1,3 +1,5 @@
|
||||
+live: use/live/desktop
|
||||
|
||||
# copy stage2 as live
|
||||
use/live: use/stage2 sub/stage2/live
|
||||
@$(call add_feature)
|
||||
@ -5,11 +7,15 @@ use/live: use/stage2 sub/stage2/live
|
||||
use/live/base: use/live use/syslinux/ui-menu
|
||||
@$(call add,LIVE_LISTS,$(call tags,base && (live || network)))
|
||||
|
||||
use/live/x11: use/live/base use/x11/xorg use/x11/wacom use/virtualbox/guest
|
||||
use/live/desktop: use/live/base use/x11/xorg use/x11/wacom \
|
||||
use/firmware use/virtualbox/guest \
|
||||
use/power/acpi/button use/power/acpi/cpufreq
|
||||
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
|
||||
|
||||
# NB: there's an unconditional live/image-scripts.d/40-autologin script
|
||||
# *but* it only configures some of the *existing* means; let's add one
|
||||
use/live/autologin: use/live/x11
|
||||
# for the cases when there should be no display manager
|
||||
use/live/autologin: use/live/desktop
|
||||
@$(call add,LIVE_PACKAGES,autologin xinit)
|
||||
|
||||
use/live/hooks: use/live
|
||||
|
@ -1,3 +1,5 @@
|
||||
+ltsp: use/ltsp/base
|
||||
|
||||
use/ltsp:
|
||||
@$(call add,INSTALL2_PACKAGES,installer-feature-ltsp-stage2)
|
||||
@$(call add,MAIN_LISTS,ltsp-client ltsp-client.$(ARCH))
|
||||
|
@ -1,3 +1,7 @@
|
||||
+icewm: use/x11/icewm
|
||||
+razorqt: use/x11/razorqt use/x11/lightdm
|
||||
+tde: use/x11/tde use/x11/kdm
|
||||
|
||||
use/x11/xorg:
|
||||
@$(call add,THE_LISTS,xorg)
|
||||
@$(call add,THE_KMODULES,drm)
|
||||
@ -13,9 +17,18 @@ use/x11/runlevel5: use/x11/xorg
|
||||
use/x11/xdm: use/x11/runlevel5
|
||||
@$(call add,THE_PACKAGES,xdm installer-feature-no-xconsole)
|
||||
|
||||
use/x11/kdm: use/x11/runlevel5
|
||||
@$(call add,THE_PACKAGES,kdebase-kdm)
|
||||
|
||||
### : some set()-like thing might be better?
|
||||
use/x11/lightdm: use/x11/runlevel5
|
||||
@$(call add,THE_PACKAGES,lightdm)
|
||||
|
||||
use/x11/kdm: use/x11/runlevel5
|
||||
@$(call add,THE_PACKAGES,kdebase-kdm)
|
||||
|
||||
use/x11/icewm: use/x11/xorg
|
||||
@$(call add,THE_LISTS,$(call tags,icewm desktop))
|
||||
|
||||
use/x11/razorqt: use/x11/xorg
|
||||
@$(call add,THE_LISTS,$(call tags,razorqt desktop))
|
||||
|
||||
use/x11/tde: use/x11/xorg
|
||||
@$(call add,THE_LISTS,$(call tags,tde desktop))
|
||||
|
Loading…
Reference in New Issue
Block a user