install2: introduced +installer mixin

This one is a part of a larger rewrite to move away from
distro-centric build-up to configuration-centric one with
the particular packaging being of secondary importance
compared to actual functionality.
This commit is contained in:
Michael Shigorin 2013-05-24 17:29:44 +04:00
parent c58c7e36e0
commit 7b76c73472
5 changed files with 26 additions and 8 deletions

View File

@ -32,6 +32,10 @@ distro/server-systemd: distro/server-mini use/systemd
distro/server-test: distro/server-mini use/relname distro/server-test: distro/server-mini use/relname
@$(call set,RELNAME,Test-Server) @$(call set,RELNAME,Test-Server)
# something marginally useful (as a network-only installer)
# NB: doesn't carry stage3 thus cannot use/bootloader
distro/netinst: distro/.base use/install2/net; @:
# tiny network-only server-ovz installer (stage2 comes over net too) # tiny network-only server-ovz installer (stage2 comes over net too)
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \ distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest

View File

@ -2,6 +2,9 @@
специфическими для инсталяционного образа настройками специфическими для инсталяционного образа настройками
и скриптовыми хуками. и скриптовыми хуками.
Рекомендуется подключать при помощи +installer, чтобы обеспечить
включение типового набора связанных с инсталятором функций.
При добавлении скриптов в image-scripts.d/ следует позаботиться, При добавлении скриптов в image-scripts.d/ следует позаботиться,
чтобы в компактном livecd, которым является инсталятор, оказались чтобы в компактном livecd, которым является инсталятор, оказались
нужные им утилиты (INSTALL2_PACKAGES). Перегружать его не следует, нужные им утилиты (INSTALL2_PACKAGES). Перегружать его не следует,

View File

@ -1,16 +1,28 @@
# alterator-based installer, second (livecd) stage # alterator-based installer, second (livecd) stage
+installer: use/install2/full; @:
use/install2: use/stage2 sub/stage2@install2 use/metadata use/cleanup/installer use/install2: use/stage2 sub/stage2@install2 use/metadata use/cleanup/installer
@$(call add_feature) @$(call add_feature)
@$(call try,INSTALLER,altlinux-generic) # might be replaced later
@$(call set,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2) @$(call set,INSTALL2_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
@$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator) @$(call add,INSTALL2_PACKAGES,branding-$$(BRANDING)-alterator)
@$(call add,BASE_PACKAGES,branding-$$(BRANDING)-release) @$(call add,BASE_PACKAGES,branding-$$(BRANDING)-release)
@$(call add,BASE_LISTS,$(call tags,basesystem)) @$(call add,BASE_LISTS,$(call tags,basesystem))
@$(call xport,BASE_BOOTLOADER) @$(call xport,BASE_BOOTLOADER)
# doesn't use/install2/fs on purpose (at least so far)
use/install2/full: use/install2/packages use/install2/kms use/install2/kvm \
use/syslinux/localboot.cfg use/syslinux/ui/menu; @:
# stash local packages within installation media
use/install2/packages: use/install2 use/repo/main; @:
# for alterator-pkg to use
use/install2/net: use/install2 use/install2/net: use/install2
@$(call add,INSTALL2_PACKAGES,curl) @$(call add,INSTALL2_PACKAGES,curl)
# modern free xorg drivers for mainstream hardware requires KMS support # modern free xorg drivers for mainstream hardware require KMS support
use/install2/kms: use/stage2/kms use/install2/kms: use/stage2/kms
@$(call add,BASE_KMODULES_REGEXP,drm.*) @$(call add,BASE_KMODULES_REGEXP,drm.*)

View File

@ -1,5 +1,9 @@
# stage2 mod: build install2 subprofile (installer "live" part) # stage2 mod: build install2 subprofile (installer "live" part)
ifndef INSTALLER
$(error install2 feature enabled but INSTALLER undefined)
endif
IMAGE_PACKAGES = $(INSTALL2_PACKAGES) \ IMAGE_PACKAGES = $(INSTALL2_PACKAGES) \
udev e2fsprogs glibc-nss udev e2fsprogs glibc-nss

View File

@ -28,12 +28,7 @@ distro/.base: distro/.init use/kernel
@$(call set,META_VOL_ID,ALT Linux $(IMAGE_NAME)/$(ARCH)) @$(call set,META_VOL_ID,ALT Linux $(IMAGE_NAME)/$(ARCH))
@$(call set,META_VOL_SET,ALT Linux) @$(call set,META_VOL_SET,ALT Linux)
# something marginally useful (as a network-only installer) # this one should not be fundamental as it appears (think armh)
# NB: doesn't carry stage3 thus cannot use/bootloader distro/.installer: distro/.base use/bootloader/grub +installer; @:
distro/installer: distro/.base use/syslinux/localboot.cfg \
use/install2 use/install2/kms use/firmware use/install2/kvm
@$(call set,INSTALLER,altlinux-generic)
distro/.installer: distro/installer use/bootloader/grub use/repo/main; @:
endif endif