Bug 37616

Summary: неподставленный макрос RPMCANONARCH
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: rpmAssignee: Andrew Savchenko <bircoph>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: at, glebfm, imz, iv, ldv, placeholder, vt
Version: unstableKeywords: regression
Hardware: e2k   
OS: Linux   

Description Michael Shigorin 2019-12-12 15:44:34 MSK
$ rpm --eval %_arch
@RPMCANONARCH@
$ rpmquery rpm
rpm-4.13.0.1-alt14.E2K.1.e2kv4

Спасибо Виктору Вагнеру, который обратил на это внимание (на p9_e2k,
но воспроизводится и на sisyphus_e2k).

На rpm-4.0.4-alt100.96.E2K.22 получаю ожидаемое "e2kv4".
Comment 1 Ivan A. Melnikov 2019-12-13 10:29:27 MSK
Любопытно. Сизиф, x86_64:

$ rpm -qf /usr/lib/rpm/platform/x86_64-linux/macros
rpm-4.13.0.1-alt15.x86_64
$ egrep -o '@[A-Z_]+@' /usr/lib/rpm/platform/*/macros
/usr/lib/rpm/platform/aarch64-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/alphaev56-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/alphaev5-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/alphaev67-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/alphaev6-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/alpha-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/alphapca56-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/amd64-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armh-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv3l-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv4b-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv4l-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv5tejl-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv5tel-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv6hl-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv6l-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv7hl-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv7hnl-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/armv7l-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/athlon-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/geode-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/i386-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/i486-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/i586-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/i686-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ia32e-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ia64-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/m68k-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/mips64el-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/mips64-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/mips64r6el-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/mips64r6-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/mipsel-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/mips-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/mipsr6el-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/mipsr6-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/noarch-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/pentium3-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/pentium4-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppc32dy4-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppc64iseries-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppc64le-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppc64-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppc64p7-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppc64pseries-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppc8260-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppc8560-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppciseries-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppc-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/ppcpseries-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/riscv64-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/s390-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/s390x-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sh3-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sh4a-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sh4-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sh-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sparc64-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sparc64v-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sparc-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sparcv8-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sparcv9-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/sparcv9v-linux/macros:@SYSCONFIGDIR@
/usr/lib/rpm/platform/x86_64-linux/macros:@SYSCONFIGDIR@

Но возможно это другой баг.

А что там на e2k?
Comment 2 Andrew Savchenko 2019-12-13 19:05:16 MSK
(In reply to comment #0)
> $ rpm --eval %_arch
> @RPMCANONARCH@
> $ rpmquery rpm
> rpm-4.13.0.1-alt14.E2K.1.e2kv4
> 
> Спасибо Виктору Вагнеру, который обратил на это внимание (на p9_e2k,
> но воспроизводится и на sisyphus_e2k).
> 
> На rpm-4.0.4-alt100.96.E2K.22 получаю ожидаемое "e2kv4".

Во времена 4.0.4 был единый rpm и rpmbuild, сейчас они разделены на разные пакеты (rpm-4.13 и rpm-build-4.0.4). Большинство макросов, в т.ч. %_arch — это макросы rpmbuild и там они заданы корректно:

$ rpmbuild --eval %_arch
e2kv4
rpmbuild: no spec files given for build

Макросы из rpm использовать не следует. В будущем те из них, что дублируют rpmbuild будут удалены.
Comment 3 Andrew Savchenko 2019-12-13 19:09:35 MSK
(In reply to comment #1)
> Любопытно. Сизиф, x86_64:
> 
> $ rpm -qf /usr/lib/rpm/platform/x86_64-linux/macros
> rpm-4.13.0.1-alt15.x86_64
> $ egrep -o '@[A-Z_]+@' /usr/lib/rpm/platform/*/macros
> /usr/lib/rpm/platform/aarch64-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/alphaev56-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/alphaev5-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/alphaev67-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/alphaev6-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/alpha-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/alphapca56-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/amd64-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armh-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv3l-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv4b-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv4l-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv5tejl-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv5tel-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv6hl-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv6l-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv7hl-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv7hnl-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/armv7l-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/athlon-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/geode-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/i386-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/i486-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/i586-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/i686-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ia32e-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ia64-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/m68k-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/mips64el-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/mips64-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/mips64r6el-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/mips64r6-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/mipsel-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/mips-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/mipsr6el-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/mipsr6-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/noarch-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/pentium3-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/pentium4-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppc32dy4-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppc64iseries-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppc64le-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppc64-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppc64p7-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppc64pseries-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppc8260-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppc8560-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppciseries-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppc-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/ppcpseries-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/riscv64-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/s390-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/s390x-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sh3-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sh4a-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sh4-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sh-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sparc64-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sparc64v-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sparc-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sparcv8-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sparcv9-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/sparcv9v-linux/macros:@SYSCONFIGDIR@
> /usr/lib/rpm/platform/x86_64-linux/macros:@SYSCONFIGDIR@
> 
> Но возможно это другой баг.

Иван, это не баг и это отдельный вопрос. Я поднял вчера обсуждение в списке рассылке devel:
https://lists.altlinux.org/pipermail/devel/2019-December/209560.html
Рекомендую продолжить обсуждение там.
Comment 4 Andrew Savchenko 2019-12-16 16:25:45 MSK
Всё же добавим %_arch, т.к. на других архитектурах он есть.
Comment 5 Andrew Savchenko 2019-12-16 20:40:15 MSK
Исправлено в rpm-4.13.0.1-alt15.E2K.1 в sisyphus_e2k и отправлено на рассмотрение в виде rpm-4.13.0.1-alt16 в основной Сизиф.