2d257a425b
The former ("proper 32-bit x86 package form") has been suggested by zerg@ quite some time ago but the desired interface wasn't clear at the moment IIRC; a quiet morning helped me realize that ICAClient-preinstall@IA32 is rather more readable than ICAClient-preinstall@i586 i586-ICAClient-preinstall@x86_64 so here's the (trivial) implementation; and I actually needed the latter, @X86 ("any-x86") to mark x86-only packages so xorg-drv-intel@X86 is now equivalent to xorg-drv-intel@i586 xorg-drv-intel@x86_64
60 lines
1.6 KiB
Makefile
60 lines
1.6 KiB
Makefile
# step 3: copy package lists referenced in distro configuration
|
|
# (and only those!) over to $(BUILDDIR)
|
|
|
|
ifndef BUILDDIR
|
|
|
|
pkgdups:
|
|
@find -type f ! -name README ! -name Makefile \
|
|
| grep -v '~$$' \
|
|
| sed 's,^\./,,g' \
|
|
| xargs ../../bin/pkgdups
|
|
|
|
%:
|
|
$(error BUILDDIR not defined)
|
|
|
|
else
|
|
|
|
include $(BUILDDIR)/distcfg.mk
|
|
include $(BUILDDIR)/functions.mk
|
|
|
|
SUFFIX := pkg/lists
|
|
TARGET := $(BUILDDIR)/$(SUFFIX)
|
|
|
|
all: | $(TARGET) $(GLOBAL_DEBUG) copy-lists copy-groups grep-archdep
|
|
@mp-commit "$(TARGET)" "requested $(SUFFIX) copied over"
|
|
|
|
# env | sort -u | grep _LISTS | xargs -r cp -t
|
|
copy-lists:
|
|
@echo $(foreach V, \
|
|
$(filter %_LISTS,$(sort $(.VARIABLES))), \
|
|
$(if $(filter environment% file,$(origin $V)),$($V))) \
|
|
| xargs -r -- cp --parents -at $(TARGET) --
|
|
|
|
copy-groups: PKGDIR = ..
|
|
copy-groups:
|
|
@echo $(call groups2lists) \
|
|
| xargs -r -- cp --parents -at $(TARGET) --
|
|
|
|
grep-archdep: a = $(ARCH)
|
|
grep-archdep:
|
|
@# xargs -L 1024 -n 1024 ? -- breaks -I
|
|
@find $(TARGET) -type f \
|
|
| xargs -I '__' sh -c '\
|
|
sed -ri "s/\\<([^@ ]*)@X86\\>/\\1@i586 \\1@x86_64/g" __; \
|
|
sed -ri "s/\\<([^@ ]*)@IA32\\>/\\1@i586 i586-\\1@x86_64/g" __;\
|
|
sed -rni "s/\\<([^@ ]*)\\>|\\<([^@ ]*)@$a\\>/\\1\\2/pg" __; \
|
|
sed -ri "s/\\<([^@ ]*)@[^@ ]+\\> *//g" __'
|
|
|
|
# do beforehand as foreach gets expanded before recipe execution
|
|
$(TARGET):
|
|
@mkdir -p $(TARGET)
|
|
|
|
# figure out *_LISTS variables and print them out nicely
|
|
debug:
|
|
@echo -e $(foreach V, \
|
|
$(filter %_LISTS,$(sort $(.VARIABLES))), \
|
|
$(if $(filter environment% file,$(origin $V)),\
|
|
$(shell echo '\\n"**"' $V: $($V)))) '\n'
|
|
|
|
endif
|