COMMON_PACKAGES and SYSTEM_PACKAGES

It was clear that "common" isn't very apt for packages that
will get *everywhere*, and became apparent when the need for
a "base+live packages" variable arrived with powerbutton feature.

So:
- the former COMMON_PACKAGES are now SYSTEM_PACKAGES;
- COMMON_PACKAGES act as "BASE+LIVE_PACKAGES".

Note that SYSTEM_PACKAGES also got factored out from stage2 based
features into stage2 subprofile itself; cleanups were due as well.
This commit is contained in:
Michael Shigorin 2011-09-03 12:34:53 +03:00
parent fba30e0675
commit 774169c6cd
10 changed files with 54 additions and 45 deletions

4
README
View File

@ -57,10 +57,10 @@ license: GPLv2+, see COPYING
NB: перечисленные в этих переменных файлы автоматически копируются
в порождаемый профиль => не следует указывать пакаджлисты напрямую
- индивидуальные пакеты (*_PACKAGES): следует крайне осторожно пользоваться
COMMON_PACKAGES -- эти пакеты попадут во все стадии, в том числе в образ
SYSTEM_PACKAGES -- эти пакеты попадут во все стадии, в том числе в образ
чувствительной к объёму install2 (в stage1 -- только в инструментальный
чрут); применяйте для того, что обязано быть и в инсталяторе, и в готовой
системе
системе -- и не путайте с COMMON_PACKAGES (main, live, rescue)
Результат:
- при успешном завершении сборки образ называется сообразно

View File

@ -3,14 +3,14 @@
# for mkmodpack to use
use/firmware:
@$(call add,COMMON_PACKAGES,firmware-linux)
@$(call add,SYSTEM_PACKAGES,firmware-linux)
use/firmware/server: use/firmware
@$(call add,COMMON_PACKAGES,firmware-aic94xx-seq)
@$(call add,SYSTEM_PACKAGES,firmware-aic94xx-seq)
@$(call add,MAIN_PACKAGES_REGEXP,firmware-ql.*)
use/firmware/desktop: use/firmware
@$(call add,COMMON_PACKAGES,firmware-psb)
@$(call add,SYSTEM_PACKAGES,firmware-psb)
use/firmware/wireless: use/firmware
@$(call add,MAIN_PACKAGES,firmware-acx100)

View File

@ -1,7 +1,6 @@
# stage2 mod: build install2 subprofile (installer "live" part)
IMAGE_PACKAGES = $(COMMON_PACKAGES) \
$(INSTALL2_PACKAGES) \
IMAGE_PACKAGES = $(INSTALL2_PACKAGES) \
udev e2fsprogs glibc-nss
MKI_PACK_RESULTS = squash:altinst

View File

@ -1,4 +1,4 @@
use/memtest: use/syslinux
@$(call add,FEATURES,memtest)
@$(call add,COMMON_PACKAGES,memtest86+)
@$(call add,SYSTEM_PACKAGES,memtest86+)
@$(call add,SYSLINUX_CFG,memtest)

View File

@ -54,11 +54,13 @@ metadata: dot-base
| sed 's,$(PKGDIR)/*,,g')
dot-base:
@echo -e "# auto-added in image.in/Makefile" >> $(call list,.base)
@echo "$(call kpackages,$(KMODULES),$(KFLAVOURS))" >> $(call list,.base)
@{ \
echo -e "\n## added by image.in/Makefile"; \
echo "$(call kpackages,$(KMODULES),$(KFLAVOURS))"; \
} >> $(call list,.base)
$(IMAGEDIR):
mkdir -p "$(IMAGEDIR)"
@mkdir -p "$(IMAGEDIR)"
# specified only for the final image, not for the subparts
pack-image: OUTDIR = $(IMAGEDIR)
@ -73,7 +75,8 @@ dot-disk:
@echo "ALT Linux based" >files/.disk/info
@echo "$(ARCH)" >files/.disk/arch
@echo "$(DATE)" >files/.disk/date
@type -t git >&/dev/null && ( \
cd $(TOPDIR) && \
git show-ref --head -d -s -- HEAD 2>/dev/null; \
) >files/.disk/commit
@if type -t git >&/dev/null; then \
( cd $(TOPDIR) && \
git show-ref --head -ds -- HEAD ) \
>files/.disk/commit 2>/dev/null; \
fi

View File

@ -10,36 +10,39 @@ SUFFIX := pkg/lists
TARGET := $(BUILDDIR)/$(SUFFIX)
all: $(TARGET) $(GLOBAL_DEBUG)
# env | sort -u | grep _LISTS | xargs cp
@# env | sort -u | grep _LISTS | xargs cp
@$(foreach V, \
$(filter %_LISTS,$(sort $(.VARIABLES))), \
$(if $(filter environment% file,$(origin $V)),\
$(shell cp --parents -at $(TARGET) \
-- $(value $V))))
# construct .base packagelist for alterator-pkg
@( \
echo "## generated via pkg.in/lists/Makefile"; \
[ -n "$(BRANDING)" ] && { \
@# construct .base packagelist for alterator-pkg
@{ \
echo "## generated by pkg.in/lists/Makefile"; \
if [ -n "$(BRANDING)" ]; then \
echo "branding-$(BRANDING)-release"; \
}; \
[ -n "$(BASE_LISTS)" ] && { \
echo "### BASE_LISTS"; \
cat $(BASE_LISTS); \
}; \
[ -n "$(COMMON_PACKAGES)" ] && { \
echo "## COMMON_PACKAGES"; \
echo "$(COMMON_PACKAGES)"; \
}; \
[ -n "$(BASE_PACKAGES)" ] && { \
echo "## BASE_PACKAGES"; \
echo "$(BASE_PACKAGES)"; \
}; \
) | sed -re '/^[^[:space:]#]/ s/[[:space:]]+/\n/g' >$(TARGET)/.base
@[ -z "$(MAIN_GROUPS)" ] || cp -at $(TARGET) $(MAIN_GROUPS)
@type -t git >&/dev/null && \
cd $(TARGET) && \
git add . && \
git commit -qam "requested $(SUFFIX) copied over" ||:
fi; \
if [ -n "$(SYSTEM_PACKAGES)" ]; then \
echo -e "\n## SYSTEM_PACKAGES\n$(SYSTEM_PACKAGES)"; \
fi; \
if [ -n "$(COMMON_PACKAGES)" ]; then \
echo -e "\n## COMMON_PACKAGES\n$(COMMON_PACKAGES)"; \
fi; \
if [ -n "$(BASE_PACKAGES)" ]; then \
echo -e "\n## BASE_PACKAGES\n$(BASE_PACKAGES)"; \
fi; \
if [ -n "$(BASE_LISTS)" ]; then \
echo -e "\n## BASE_LISTS"; cat $(BASE_LISTS); \
fi; \
} | sed -re '/^[^[:space:]#]/ s/[[:space:]]+/\n/g' >$(TARGET)/.base
@if [ -n "$(MAIN_GROUPS)" ]; then \
cp -at $(TARGET) -- $(MAIN_GROUPS); \
fi
@if type -t git >&/dev/null; then \
cd $(TARGET) && \
git add . && \
git commit -qam "requested $(SUFFIX) copied over"; \
fi
# do beforehand as foreach gets expanded before recipe execution
$(TARGET):

View File

@ -16,6 +16,7 @@ IMAGE_PACKAGES_REGEXP = $(call kpackages,$(KMODULES),$(KFLAVOURS)) \
$(MAIN_PACKAGES_REGEXP)
IMAGE_PACKAGES = $(call map,list,$(BASE_LISTS) $(MAIN_LISTS) $(MAIN_GROUPS)) \
$(SYSTEM_PACKAGES) \
$(COMMON_PACKAGES) \
$(BASE_PACKAGES) \
$(MAIN_PACKAGES)

View File

@ -1,12 +1,12 @@
Этот каталог содержит субпрофиль main, собирающий пакетную базу,
которая затем укладывается в образ.
Этот каталог содержит субпрофиль main, собирающий пакетную базу
для локальной инсталяции системы и возможности установки дополнений.
Подбирает:
- COMMON_PACKAGES, BASE_PACKAGES, BASE_LISTS: в установку по умолчанию;
- SYSTEM_PACKAGES, COMMON_PACKAGES, BASE_PACKAGES, BASE_LISTS:
в установку по умолчанию;
- MAIN_PACKAGES, MAIN_LISTS: дополнительные пакеты.
В image-scripts.d/* смысла нет, только scripts.d/* --
рабочий чрут не содержит исполняемых файлов.
Результат -- каталог ALTLinux/RPMS.main, подлежащий копированию
в образ.
Результат -- каталог ALTLinux/RPMS.main для копирования в образ.

View File

@ -34,7 +34,7 @@ INFO_STAGE1_KFLAVOUR := $(STAGE1_KFLAVOUR)
endif
CHROOT_PACKAGES_REGEXP += $(STAGE1_PACKAGES_REGEXP)
CHROOT_PACKAGES = $(STAGE1_PACKAGES) $(COMMON_PACKAGES)
CHROOT_PACKAGES = $(STAGE1_PACKAGES) $(SYSTEM_PACKAGES)
# scripts prepare bootloader configuration, too
# NB: we pass tested squashfs options for ../install2/Makefile

View File

@ -19,6 +19,9 @@ include $(MKIMAGE_PREFIX)/config.mk
# this should be brought in by corresponding specific stage2 feature
include stage2cfg.mk
# requisite stuff
IMAGE_PACKAGES += $(SYSTEM_PACKAGES)
# here we also try and come up with the stage1 kernel/modules, if any;
# no kernel flavour specified will result in no modules for stage1 vmlinuz
STAGE1_KFLAVOUR ?= $(lastword $(KFLAVOURS))