main.mk, mixin.mk, doc: add parametr BRANCH

The BRANCH parameter indicates that the target is a starterkit and
not a regular build for Sisyphus.
This commit is contained in:
Anton Midyukov 2021-05-30 22:49:00 +07:00
parent d9e98d1a5f
commit 6d584b06e8
6 changed files with 52 additions and 1 deletions

View File

@ -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

26
doc/branch.txt Normal file
View File

@ -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". Таким образом
достигается сборка стартеркитов из профиля регулярок под заданный
бранч.
Также эту переменную можно использовать в профилях других целей
для обеспечения поддержки целевого бранча.

View File

@ -38,6 +38,8 @@ include::../README[]
include::params.txt[]
include::branch.txt[]
include::features.txt[]
include::pkglists.txt[]

View File

@ -28,6 +28,13 @@
** значение: пусто (по умолчанию нет) либо любая строка
** см. lib/build.mk
* BRANCH
** указывает для какого бранча производится сборка
** собирает вместо регулярок стартеркиты
** значение: пусто (сборка для Сизифа) либо имя бранча
** задаёт переменную "STARTERKIT := mixin/starterkit"
** см. doc/branch.txt main.mk, conf.d/mixin.mk
* BUILDDIR
** задаёт каталог генерируемого профиля и сборки
** значение: пусто (по умолчанию авто) либо строка

View File

@ -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

View File

@ -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))