From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 14 Mar 2018 08:03:55 +0300 From: Michael Shigorin To: devel-distro@lists.altlinux.org Message-ID: <20180314050354.GA21344@imap.altlinux.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="k1lZvvs/B4yU6o8G" Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.5.23.88.hg577987ca2d02 (2014-03-12) Subject: [devel-distro] A: pkg@X86 -> pkg@i586 i586-pkg@x86_64 X-BeenThere: devel-distro@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Distributions development List-Id: Distributions development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Mar 2018 05:03:55 -0000 Archived-At: List-Archive: --k1lZvvs/B4yU6o8G Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit Здравствуйте. Приложенный патч, который ожидается в mkimage-profiles 1.2.12 при отсутствии возражений, реализует возможность описанного в теме письма сокращения -- вместо типовой комбинации pkg@i586 i586-pkg@x86_64 можно написать куда более читабельное pkg@X86 (хоть один раз на строчку, хоть несколько вперемешку с другими). Нечто подобное предлагал zerg@, но мне не удалось быстро найти ту переписку или вспомнить, предлагал ли он точный синтаксис. Потому и прошу отзывов :) PS: в m-p-d это выглядело так: @I586_ONLY@pkg @X86_64_ONLY@i586-pkg PPS: думаю над расширением синтаксиса в сторону !arch -- в sisyphus/e2k всё так же нет thunderbird и многого подобного. --  ---- WBR, Michael Shigorin / http://altlinux.org   ------ http://opennet.ru / http://anna-news.info --k1lZvvs/B4yU6o8G Content-Type: text/x-patch; charset=koi8-r Content-Disposition: attachment; filename="0001-lists-doc-introduce-X86-archdep-macro.patch" Content-Transfer-Encoding: 8bit >>From e1d894dfe14205e96a19d247a94c4497e03f9678 Mon Sep 17 00:00:00 2001 From: Michael Shigorin Date: Wed, 14 Mar 2018 07:55:42 +0300 Subject: [PATCH] lists, doc: introduce @X86 archdep macro This 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@X86 is rather more clear than ICAClient-preinstall@i586 i586-ICAClient-preinstall@x86_64 so here's the (trivial) implementation. --- doc/archdep.txt | 4 ++++ pkg.in/lists/Makefile | 3 ++- pkg.in/lists/README | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/archdep.txt b/doc/archdep.txt index 6383e37..085a0f2 100644 --- a/doc/archdep.txt +++ b/doc/archdep.txt @@ -40,6 +40,10 @@ haspd@i586 i586-haspd@x86_64 +или упрощённо (с версии 1.2.12): + + haspd@X86 + Для преобразования можно воспользоваться следующей командой: sed -r -e 's/@I586_ONLY@([^\t ]+)/\1@i586/g' \ diff --git a/pkg.in/lists/Makefile b/pkg.in/lists/Makefile index e112e4f..9fe84b6 100644 --- a/pkg.in/lists/Makefile +++ b/pkg.in/lists/Makefile @@ -40,8 +40,9 @@ grep-archdep: @# xargs -L 1024 -n 1024 ? -- breaks -I @find $(TARGET) -type f \ | xargs -I '__' sh -c '\ + sed -ri "s/\\<([^@ ]*)@X86\\>/\\1@i586 i586-\\1@x86_64/g" __; \ 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 $(TARGET): diff --git a/pkg.in/lists/README b/pkg.in/lists/README index 21719a0..9e4602e 100644 --- a/pkg.in/lists/README +++ b/pkg.in/lists/README @@ -16,6 +16,9 @@ устойчивые группы пакетов могут заслуживать выделения отдельным списком. +При копировании списков в BUILDROOT происходит их обработка +с применением архитектурнозависимых макросов, см. doc/archdep.txt + NB: списки пакетов есть смысл выделять в файлы при повторном использовании либо при заметном объёме, когда перечисление прямо в конфигурации сильно снижает её читаемость. -- 2.10.4 --k1lZvvs/B4yU6o8G--