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.
46 lines
1.4 KiB
46 lines
1.4 KiB
# 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
|
|
|