Commit 2d257a42 authored by Michael Shigorin's avatar Michael Shigorin

lists, doc: introduce @IA32, @X86 archdep macros

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
parent 3bcb5000
...@@ -40,7 +40,16 @@ ...@@ -40,7 +40,16 @@
haspd@i586 haspd@i586
i586-haspd@x86_64 i586-haspd@x86_64
или упрощённо (с версии 1.2.12):
haspd@IA32
Для преобразования можно воспользоваться следующей командой: Для преобразования можно воспользоваться следующей командой:
sed -r -e 's/@I586_ONLY@([^\t ]+)/\1@i586/g' \ sed -r -e 's/@I586_ONLY@([^\t ]+)/\1@i586/g' \
-e 's/@X86_64_ONLY@([^\t ]+)/\1@x86_64/g' -e 's/@X86_64_ONLY@([^\t ]+)/\1@x86_64/g'
При необходимости добавить пакет только на x86-архитектурах (неважно,
i586 или x86_64) можно воспользоваться макросом X86 (с версии 1.2.12):
xorg-drv-intel@X86
...@@ -40,8 +40,10 @@ grep-archdep: ...@@ -40,8 +40,10 @@ grep-archdep:
@# xargs -L 1024 -n 1024 ? -- breaks -I @# xargs -L 1024 -n 1024 ? -- breaks -I
@find $(TARGET) -type f \ @find $(TARGET) -type f \
| xargs -I '__' sh -c '\ | 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 -rni "s/\\<([^@ ]*)\\>|\\<([^@ ]*)@$a\\>/\\1\\2/pg" __; \
sed -i -r "s/\\<([^@ ]*)@[^@ ]+\\> *//g" __' sed -ri "s/\\<([^@ ]*)@[^@ ]+\\> *//g" __'
# do beforehand as foreach gets expanded before recipe execution # do beforehand as foreach gets expanded before recipe execution
$(TARGET): $(TARGET):
......
...@@ -16,6 +16,9 @@ ...@@ -16,6 +16,9 @@
устойчивые группы пакетов могут заслуживать выделения отдельным устойчивые группы пакетов могут заслуживать выделения отдельным
списком. списком.
При копировании списков в BUILDROOT происходит их обработка
с применением архитектурнозависимых макросов, см. doc/archdep.txt
NB: списки пакетов есть смысл выделять в файлы при повторном NB: списки пакетов есть смысл выделять в файлы при повторном
использовании либо при заметном объёме, когда перечисление использовании либо при заметном объёме, когда перечисление
прямо в конфигурации сильно снижает её читаемость. прямо в конфигурации сильно снижает её читаемость.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment