diff --git a/conf.d/mixin.mk b/conf.d/mixin.mk index a128ea17..58035815 100644 --- a/conf.d/mixin.mk +++ b/conf.d/mixin.mk @@ -1,5 +1,14 @@ ### various mixins with their origin +# for stable branch base kits +ifdef BRANCH +STARTERKIT := mixin/starterkit +mixin/starterkit: use/browser/firefox/esr + @$(call set,BRANDING,alt-starterkit) + @$(call set,IMAGE_FLAVOUR,$(subst alt-$(BRANCH)-,,$(IMAGE_NAME))) + @$(call set,META_VOL_ID,ALT $(BRANCH) $$(IMAGE_FLAVOUR)/$(ARCH)) +endif + ### desktop.mk mixin/desktop-installer: +net-eth +vmguest \ use/bootloader/os-prober use/x11-autostart use/fonts/install2 use/sound diff --git a/doc/branch.txt b/doc/branch.txt new file mode 100644 index 00000000..c22b9232 --- /dev/null +++ b/doc/branch.txt @@ -0,0 +1,26 @@ +=== Переменная BRANCH === + +Переменная make, указывающая для какого бранча производится сборка. +Если не указана, сборка осуществляется для Сизифа. +Для того, чтобы при указании этой переменной сборка осуществлялась для +целевого бранча, требуется: + +* прописать в ~/.mkimage/profiles.mk: + +-------------------------------------- +ifdef BRANCH +APTCONF = ~/apt/apt.conf.$(BRANCH).$(ARCH) +else +APTCONF = ~/apt/apt.conf.sisyphus.$(ARCH) +endif +-------------------------------------- + +* создать целевые конфиги apt по указанным выше путям. + +Помимо этого переменная BRANCH, если определена, заменяет в имени +собираемой цели слово "regular" на "alt-$BRANCH". Таким образом +достигается сборка стартеркитов из профиля регулярок под заданный +бранч. + +Также эту переменную можно использовать в профилях других целей +для обеспечения поддержки целевого бранча. diff --git a/doc/mkimage-profiles.asciidoc b/doc/mkimage-profiles.asciidoc index 7b6e8d3a..8355c4ab 100644 --- a/doc/mkimage-profiles.asciidoc +++ b/doc/mkimage-profiles.asciidoc @@ -38,6 +38,8 @@ include::../README[] include::params.txt[] +include::branch.txt[] + include::features.txt[] include::pkglists.txt[] diff --git a/doc/params.txt b/doc/params.txt index f1653321..6c0d2625 100644 --- a/doc/params.txt +++ b/doc/params.txt @@ -28,6 +28,13 @@ ** значение: пусто (по умолчанию нет) либо любая строка ** см. lib/build.mk +* BRANCH +** указывает для какого бранча производится сборка +** собирает вместо регулярок стартеркиты +** значение: пусто (сборка для Сизифа) либо имя бранча +** задаёт переменную "STARTERKIT := mixin/starterkit" +** см. doc/branch.txt main.mk, conf.d/mixin.mk + * BUILDDIR ** задаёт каталог генерируемого профиля и сборки ** значение: пусто (по умолчанию авто) либо строка diff --git a/doc/profiles.mk.sample b/doc/profiles.mk.sample index 4e3f7e6a..01cb985a 100644 --- a/doc/profiles.mk.sample +++ b/doc/profiles.mk.sample @@ -2,7 +2,11 @@ # NB: REPORT doesn't work here, it's somewhat special # where to look for apt.conf; system one used by default -#APTCONF = ~/apt/apt.conf.$(ARCH) +ifdef BRANCH +APTCONF = ~/apt/apt.conf.$(BRANCH).$(ARCH) +else +APTCONF = ~/apt/apt.conf.sisyphus.$(ARCH) +endif # turns on GLOBAL_VERBOSE and prettier output #DEBUG = 1 diff --git a/main.mk b/main.mk index 955bb526..cbdc3256 100644 --- a/main.mk +++ b/main.mk @@ -17,6 +17,9 @@ endif IMAGE_CONF := $(firstword $(subst ., ,$(IMAGE_TARGET)))# ve/generic IMAGE_CLASS := $(firstword $(subst /, ,$(IMAGE_TARGET)))# ve IMAGE_FILE := $(lastword $(subst /, ,$(IMAGE_TARGET)))# generic.tar.gz +ifdef BRANCH +IMAGE_FILE := $(subst regular,alt-$(BRANCH),$(IMAGE_FILE)) +endif IMAGE_NAME := $(firstword $(subst ., ,$(IMAGE_FILE)))# generic IMAGE_TYPE := $(subst $(IMAGE_NAME).,,$(IMAGE_FILE))# tar.gz ifeq ($(IMAGE_NAME),$(IMAGE_TYPE)$(IMAGE_GUESS))