profiles: introduce @IA32, @X86 archdep macros

See commit 2d257a425b
for details, this just brings those to pkg.in/profiles/
(along with the generic archdep support, of course).
This commit is contained in:
Michael Shigorin 2018-06-20 13:18:56 +03:00
parent 9e80387420
commit 7573547328
2 changed files with 21 additions and 4 deletions

View File

@ -22,7 +22,7 @@
В скриптовых хуках ({image-,}scripts.d/*) проверяйте $GLOBAL_ARCH. В скриптовых хуках ({image-,}scripts.d/*) проверяйте $GLOBAL_ARCH.
=== списки пакетов === === списки пакетов, профили групп ===
Бывает так, что в списке пакетов есть смысл упоминать какой-либо из них Бывает так, что в списке пакетов есть смысл упоминать какой-либо из них
только для определённой архитектуры (например, wine или steam); в таких только для определённой архитектуры (например, wine или steam); в таких
@ -53,3 +53,5 @@
i586 или x86_64) можно воспользоваться макросом X86 (с версии 1.2.12): i586 или x86_64) можно воспользоваться макросом X86 (с версии 1.2.12):
xorg-drv-intel@X86 xorg-drv-intel@X86
Аналогичная функциональность реализована для профилей установки.

View File

@ -9,13 +9,28 @@ include $(BUILDDIR)/distcfg.mk
SUFFIX := pkg/profiles SUFFIX := pkg/profiles
TARGET := $(BUILDDIR)/$(SUFFIX) TARGET := $(BUILDDIR)/$(SUFFIX)
all: $(GLOBAL_DEBUG) all: | $(TARGET) $(GLOBAL_DEBUG) copy-profiles grep-archdep
@mp-commit "$(TARGET)" "requested $(SUFFIX) copied over"
copy-profiles:
@if [ -n "$(THE_PROFILES)" ]; then \ @if [ -n "$(THE_PROFILES)" ]; then \
mkdir -p $(TARGET) && \
cp -at $(TARGET) -- \ cp -at $(TARGET) -- \
$(addsuffix .directory,$(THE_PROFILES)); \ $(addsuffix .directory,$(THE_PROFILES)); \
mp-commit "$(TARGET)" "requested $(SUFFIX) copied over"; \
fi fi
### exact copy of a snippet from ../lists/Makefile
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" __'
$(TARGET):
@mkdir -p $(TARGET)
debug: debug:
@echo "** THE_PROFILES: $(THE_PROFILES)" @echo "** THE_PROFILES: $(THE_PROFILES)"