1. Архитектура athlonxp не определяется автоматом. И судя по rpm-4_0/lib/rpmrc.c определиться неможет -- подстрока athlonxp в данном файле отсутствует, хотя конкретный тип процессоров class == '6' разгребается там (сдесь -- могу врать: пока незнаю деталей). 2. В случаи явного указания --target athlonxp, если в собираемом приложении используется autotools -- сборка валится на этапе configure: config.sub не знает архитектуры athlonxp (он знает только athlon, athlon_*, и athlon-*). Например: + libtoolize --copy --force You should add the contents of `/usr/share/libtool-1.5/aclocal/libtool.m4' to `aclocal.m4'. + ./configure --build=athlonxp-alt-linux --host=athlonxp-alt-linux --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var/lib --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --without-included-gettext --with-mcrypt=/usr checking build system type... Invalid configuration `athlonxp-alt-linux': machine `athlonxp-alt' not recognized configure: error: /bin/sh ./config.sub athlonxp-alt-linux failed Но, "./configure --build=athlon_xp-alt-linux --host=athlon_xp-alt-linux ..." -- будет выполнено верно.
Created attachment 1625 [details] athlonxp.patch Patch для /usr/lib/rpm/athlonxp-alt-linux/macros. Знаю, что костыль и/или грязный хак, но -- сборка с явным указанием --target athlonxp с ним работает...
(In reply to comment #1) Это действительно "грязный хак":) Просто создание линков athlon_xp-* -> athlonxp-alt-linux помогает. Думаю, следует исправить название архитектуры в пакете с athlonxp на athlon_xp или упаковывать и приведённые выше линки.
(In reply to comment #2) > > Это действительно "грязный хак":) > Просто создание линков athlon_xp-* -> athlonxp-alt-linux помогает. > Думаю, следует исправить название архитектуры в пакете с athlonxp на athlon_xp > или упаковывать и приведённые выше линки. > Это введёт архитектуру athlon_xp, и вылечит для неё сборку (--target athlon_xp). Основную же проблему, неопределение архетектуры -- данные меры незатронут, по прежнему наблюдаю: $ rpm --eval '%{_target_cpu}' athlon И, после взгляда на код, есть нехарошее чувство, что решаемо это только правкой rpm-4_0/lib/rpmrc.c (но я мог не всё увидеть). PS: В #5556 патч есть, но он кажется устарел.
athlonxp в athlon_xp я переименую. Как отличить обычный athlon от athlon-xp, я не в курсе.
(In reply to comment #4) > athlonxp в athlon_xp я переименую. > Как отличить обычный athlon от athlon-xp, я не в курсе. Можно: 1. по комбинации cpu family и model (/proc/cpuinfo, так эти поля обзывает, у меня 6 и 10, соответственно). Метод позволит рассматривать amd64 процессоры как athlon-xp, при работе в 32 разрядных системах. (Для составления/верификации потребуется пустить клич среди владельцев athlon{,-xp}, наверное.) 2. По подстроке "AMD Athlon(TM) XP" (и/или "Athlon(tm) XP", судя по https://bugzilla.altlinux.org/attachment.cgi?id=658) в model name. Других способов -- сходу не видно.
Created attachment 1634 [details] athlon_xp.add.patch То содержит то, что сделано в бранче solo, в git.alt/people/solo/packages/rpm.git: 1. добавлена архетектура athlon_xp 2. как athlon_xp определяются только процессоры с cpu family = 6 и model = 10
(In reply to comment #6) > Created an attachment (id=1634) [edit] > athlon_xp.add.patch Патчь в состоянии: "у меня работает".
Мне бы ссылку на спецификацию...
tracked at https://bugs.launchpad.net/rpm/+bug/911035