Bug 9991

Summary: Нерабочий --target athlonxp (rpm-4.0.4-alt66)
Product: Sisyphus Reporter: solo <solo>
Component: rpm-buildAssignee: placeholder <placeholder>
Status: ASSIGNED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: arseny, evg, glebfm, imz, ldv, n3npq, placeholder, vt
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://lists.altlinux.org/pipermail/devel/2006-September/036079.html
Bug Depends on:    
Bug Blocks: 5274    
Attachments:
Description Flags
athlonxp.patch
none
athlon_xp.add.patch none

Description solo 2006-09-12 21:41:05 MSD
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 ..."
-- будет выполнено верно.
Comment 1 solo 2006-09-12 21:44:41 MSD
Created attachment 1625 [details]
athlonxp.patch

Patch для /usr/lib/rpm/athlonxp-alt-linux/macros. Знаю, что костыль и/или
грязный хак, но -- сборка с явным указанием --target athlonxp с ним работает...
Comment 2 led 2006-09-13 10:46:27 MSD
(In reply to comment #1)

Это действительно "грязный хак":)
Просто создание линков athlon_xp-* -> athlonxp-alt-linux помогает.
Думаю, следует исправить название архитектуры в пакете с athlonxp на athlon_xp 
или упаковывать и приведённые выше линки.
Comment 3 solo 2006-09-13 14:11:07 MSD
(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 патч есть, но он кажется устарел.
Comment 4 Dmitry V. Levin 2006-09-17 02:11:38 MSD
athlonxp в athlon_xp я переименую.
Как отличить обычный athlon от athlon-xp, я не в курсе.
Comment 5 solo 2006-09-18 14:16:18 MSD
(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.

  Других способов -- сходу не видно.


Comment 6 solo 2006-09-18 14:21:26 MSD
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
Comment 7 solo 2006-09-18 14:29:03 MSD
(In reply to comment #6)
> Created an attachment (id=1634) [edit]
> athlon_xp.add.patch

  Патчь в состоянии: "у меня работает".
Comment 8 Dmitry V. Levin 2006-10-06 00:50:47 MSD
Мне бы ссылку на спецификацию...
Comment 9 Jeff Johnson 2012-01-03 03:27:39 MSK
tracked at https://bugs.launchpad.net/rpm/+bug/911035