You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mkimage-profiles-kometa/bld/lib/50-metadata.mk

47 lines
1.4 KiB

3 years ago
# step 4: build the distribution image
# package lists are needed for installer and live-install images
METADIR := files/Metadata
# preparation targets of features.in/build-distro/lib/build-distro.mk
WHATEVER += metadata
# handle these too
DOT_BASE += $(BASE_PACKAGES_REGEXP) $(THE_PACKAGES_REGEXP)
# args: type, name
define dump
if [ -n "$($(2)_$(1))" ]; then \
echo -e "\n## $(2)_$(1)"; \
case "$(1)" in \
PACKAGES) echo "$($(2)_$(1))";; \
LISTS) echo -e "\n# $($(2)_$(1))"; cat $($(2)_$(1));; \
esac; \
fi;
endef
# BASE_PACKAGES, BASE_LISTS and whatever else goes into base install;
# thus construct requisite .base packagelist for alterator-pkg
metadata-.base:
@cd $(call list,/); \
{ \
echo "## generated by features.in/metadata/lib/50-metadata.mk";\
$(foreach p,SYSTEM COMMON THE BASE,$(call dump,PACKAGES,$(p))) \
$(foreach l,COMMON THE BASE,$(call dump,LISTS,$(l))) \
if [ -n "$(DOT_BASE)" ]; then \
echo -e "\n## DOT_BASE\n$(DOT_BASE)"; \
fi; \
} | sed -re 's/^[[:space:]]+//' | sed -re '/^[^[:space:]#]/ s/[[:space:]]+/\n/g' > .base
# see also alterator-pkg (backend3/pkg-install);
# we only tar up what's up to it (note that e.g.
# LIVE_LISTS are needed in the generated profile
# but not for alterator-pkg)
metadata: metadata-.base
@mkdir -p $(METADIR); \
tar -C $(PKGDIR) -cvf - \
$(call rlist,.base $(call groups2lists)) \
$(call rgroup,$(THE_GROUPS) $(MAIN_GROUPS)) \
$(call rprofile,$(THE_PROFILES)) \
> $(METADIR)/pkg-groups.tar