4298315d0c
This one might probably change into core functionality but right now it should help when you get not the branding, init system, or whatever alternative you do _not_ need. See-also: https://bugzilla.altlinux.org/show_bug.cgi?id=30806
28 lines
1.1 KiB
Makefile
28 lines
1.1 KiB
Makefile
|
|
_IMAGE_APTBOX_ = $(WORKDIR)/chroot/$(WORKDIRNAME)/aptbox
|
|
|
|
# Add prerequisite to the `build-image` target of
|
|
# $(MKIMAGE_PREFIX)/targets.mk.
|
|
build-image: $(_IMAGE_APTBOX_)/etc/apt/pkgpriorities
|
|
|
|
_PINNED_PACKAGES_ = $(foreach pp,$(PINNED_PACKAGES),$(if $(findstring :,$(pp)),$(pp),$(pp):$(PIN_PRIORITY)))
|
|
_PIN_PRIORITIES_ = $(sort $(foreach pp,$(_PINNED_PACKAGES_),$(lastword $(subst :, ,$(pp)))))
|
|
_PKGPRIORITIES_ = $(subst \n ,\n,$(foreach pri,$(_PIN_PRIORITIES_),$(pri):$(patsubst %:$(pri),\n %,$(filter %:$(pri),$(_PINNED_PACKAGES_)))\n))
|
|
|
|
$(_IMAGE_APTBOX_)/etc/apt/pkgpriorities: prepare-image-workdir
|
|
@echo -e '$(_PKGPRIORITIES_)' | sed -e 's/[[:space:]]\+$$//' >$@
|
|
@if [ -s $@ ]; then \
|
|
if grep -q '^\(APT::\)\?Dir::Etc::pkgpriorities[[:space:]]' \
|
|
$(_IMAGE_APTBOX_)/etc/apt/apt.conf; \
|
|
then \
|
|
sed -i -e 's/\(Dir::Etc::pkgpriorities\)[[:space:]].*$$/\1 "$@";/g' \
|
|
$(_IMAGE_APTBOX_)/etc/apt/apt.conf; \
|
|
else \
|
|
echo 'Dir::Etc::pkgpriorities "$@";' \
|
|
>>$(_IMAGE_APTBOX_)/etc/apt/apt.conf; \
|
|
fi; \
|
|
echo "--- Package priorities ---" >&2; \
|
|
cat $@ >&2; \
|
|
echo "---" >&2; \
|
|
fi
|