From: Немос <nemos-linux@yandex.ru>
To: ALT Linux Sisyphus discussion list <sisyphus@altlinux.ru>
Subject: Re: [sisyphus] I: pentium4 arch support in rpm
Date: Sat, 02 Oct 2004 15:08:14 +0400
Message-ID: <415E8C1E.5040909@yandex.ru> (raw)
In-Reply-To: <20041001141157.GP4211@immo.ru>
[-- Attachment #1.1: Type: text/plain, Size: 750 bytes --]
Alexey I. Froloff пишет:
> * Немос <nemos-linux@> [041001 17:50]:
>
>>А кто нибудь может сказать удалось нормально собрать пропатченым rpm не в
>>хашере.
>
> Мне же и удалось. rpm -bb --target i586 rpm-4_0.spec, все нужные
> файлы создались.
Нашел в чем проблема кажись все таки ошибка в вашем патче:
вместо
+ i[3456]86|k6|athlon|pentium4) SUBSTS='s_\(i[3456]86\|k6\|athlon|pentium4\)_i386_ и т.д.
должено быть
+ i[3456]86|k6|athlon|pentium4) SUBSTS='s_\(i[3456]86\|k6\|athlon\|pentium4\)_i386_ и т.д.
После этой правке(и аналогичных в этой же строке) все собирается нормально.
В аттаче суммарный патч для rpm добавляющий поддержку pentium4 и athlonxp, и патч для libtool_1.5
(думаю и для 1.4 пойдет) добавлющий поддержку athlonxp-alt-linux.
[-- Attachment #1.2: rpm-4_0-4.0.4-alt-pentium4-and-athlonxp-arch.patch --]
[-- Type: text/x-patch, Size: 6357 bytes --]
diff -urN rpm-4_0-4.0.4-orig/installplatform rpm-4_0-4.0.4/installplatform
--- rpm-4_0-4.0.4-orig/installplatform 2002-03-26 01:36:00 +0300
+++ rpm-4_0-4.0.4/installplatform 2004-10-02 14:23:41 +0400
@@ -35,7 +35,7 @@
ln -s ${arch}-${VENDOR}-${OS} ${DESTDIR}/${pkglibdir}/noarch-${OS}
case "$arch" in
- i[3456]86|k6|athlon) SUBSTS='s_\(i[3456]86\|k6\|athlon\)_i386_ s_\(i[3456]86\|k6\|athlon\)_i486_ s_\(i[3456]86\|k6\|athlon\)_i586_ s_\(i[3456]86\|k6\|athlon\)_i686_ s_\(i[3456]86\|k6\|athlon\)_k6_ s_\(i[3456]86\|k6\|athlon\)_athlon_' ;;
+ i[3456]86|k6|athlon|athlonxp|pentium4) SUBSTS='s_\(i[3456]86\|k6\|athlon\|athlonxp\|pentium4\)_i386_ s_\(i[3456]86\|k6\|athlon\|athlonxp\|pentium4\)_i486_ s_\(i[3456]86\|k6\|athlon\|athlonxp\|pentium4\)_i586_ s_\(i[3456]86\|k6\|athlon\|athlonxp\|pentium4\)_i686_ s_\(i[3456]86\|k6\|athlon\|athlonxp\|pentium4\)_k6_ s_\(i[3456]86\|k6\|athlon\|athlonxp\|pentium4\)_athlon_ s_\(i[3456]86\|k6\|athlon\|athlonxp\|pentium4\)_athlonxp_ s_\(i[3456]86\|k6\|athlon\|athlonxp\|pentium4\)_pentium4_' ;;
alpha*) SUBSTS='s_alpha_alpha_ s_alpha_alphaev5_ s_alpha_alphaev56_ s_alpha_alphapca56_ s_alpha_alphaev6_ s_alpha_alphaev67_' ;;
sparc*) SUBSTS='s_sparc\(64\|v9\)_sparc_ s_sparc64_sparcv9_;s_sparc\([^v]\|$\)_sparcv9\1_ s_sparcv9_sparc64_;s_sparc\([^6]\|$\)_sparc64\1_' ;;
powerpc*|ppc*) SUBSTS='s_ppc64_ppc_ s_ppc\([^6]\|$\)_ppc64\1_' ;;
diff -urN rpm-4_0-4.0.4-orig/lib/rpmrc.c rpm-4_0-4.0.4/lib/rpmrc.c
--- rpm-4_0-4.0.4-orig/lib/rpmrc.c 2004-02-29 17:14:02 +0300
+++ rpm-4_0-4.0.4/lib/rpmrc.c 2004-10-02 14:23:41 +0400
@@ -1031,7 +1031,7 @@
}
#endif
-static const char *checkAMD( void )
+static const char *checkCPU( void )
{
int fd = open( "/proc/cpuinfo", O_RDONLY );
if ( !fd )
@@ -1044,14 +1044,22 @@
read( fd, buffer, sizeof buffer - 1 );
close( fd );
- if ( !strstr( buffer, "AMD" ) )
- return 0;
+ if ( strstr( buffer, "AMD" ) ) {
+ if ( strstr( buffer, "Athlon(tm) XP" ) )
+ return "athlonxp";
+
+ if ( strstr( buffer, "Athlon" ) || strstr( buffer, "Duron" ) )
+ return "athlon";
- if ( strstr( buffer, "Athlon" ) || strstr( buffer, "Duron" ) )
- return "athlon";
+ if ( strstr( buffer, "K6" ) )
+ return "k6";
+ }
- if ( strstr( buffer, "K6" ) )
- return "k6";
+ if ( strstr( buffer, "Intel" ) ) {
+ /* XXX: check for Xeon(R) */
+ if ( strstr( buffer, "Pentium(R) 4" ) )
+ return "pentium4";
+ }
return 0;
}
@@ -1290,9 +1298,9 @@
if ( !strcmp( un.machine, "i586" ) || !strcmp( un.machine, "i686" ) )
{
- const char *amd = checkAMD();
- if ( amd )
- strcpy( un.machine, amd );
+ const char *cpu = checkCPU();
+ if ( cpu )
+ strcpy( un.machine, cpu );
}
# endif
diff -urN rpm-4_0-4.0.4-orig/macros.in rpm-4_0-4.0.4/macros.in
--- rpm-4_0-4.0.4-orig/macros.in 2004-02-04 16:37:46 +0300
+++ rpm-4_0-4.0.4/macros.in 2004-10-02 14:23:41 +0400
@@ -812,8 +812,8 @@
# rpm can use regular expressions against target platforms in macro
# conditionals.
#
-%intel i386 i486 i586 i686 i786 i886 i986
-%amd k6 athlon
+%intel i386 i486 i586 i686 i786 i886 i986 pentium4
+%amd k6 athlon athlonxp
%ix86 %intel %amd
#------------------------------------------------------------------------
diff -urN rpm-4_0-4.0.4-orig/Makefile.am rpm-4_0-4.0.4/Makefile.am
--- rpm-4_0-4.0.4-orig/Makefile.am 2004-01-21 18:15:19 +0300
+++ rpm-4_0-4.0.4/Makefile.am 2004-10-02 14:23:41 +0400
@@ -140,7 +140,9 @@
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i486 ;\
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i586 ;\
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i686 ;\
- $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlonxp ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/pentium4 ;;\
alpha*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alpha ;\
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alphaev6 ;;\
sparc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc ;\
diff -urN rpm-4_0-4.0.4-orig/rpmrc.in rpm-4_0-4.0.4/rpmrc.in
--- rpm-4_0-4.0.4-orig/rpmrc.in 2003-09-12 20:09:59 +0400
+++ rpm-4_0-4.0.4/rpmrc.in 2004-10-02 14:23:41 +0400
@@ -17,6 +17,8 @@
optflags: i686 %optflags_default -march=i686
optflags: k6 %optflags_default -march=k6
optflags: athlon %optflags_default -march=athlon
+optflags: athlonxp %optflags_default -march=athlon-xp -mcpu=athlon-xp -msse -m3dnow -mmmx -mfpmath=sse
+optflags: pentium4 %optflags_default -march=pentium4
optflags: ia64 %optflags_default
# XXX Please note that -mieee has been added in rpm-3.0.5.
@@ -67,6 +69,8 @@
#############################################################
# Canonical arch names and numbers
+arch_canon: pentium4: pentium4 1
+arch_canon: athlonxp: athlonxp 1
arch_canon: athlon: athlon 1
arch_canon: i686: i686 1
arch_canon: k6: k6 1
@@ -164,6 +168,8 @@
buildarchtranslate: ia64: ia64
+buildarchtranslate: pentium4: pentium4
+buildarchtranslate: athlonxp: athlonxp
buildarchtranslate: athlon: athlon
buildarchtranslate: i686: i686
buildarchtranslate: k6: k6
@@ -210,6 +216,8 @@
arch_compat: alphaev5: alpha
arch_compat: alpha: axp noarch
+arch_compat: pentium4: i686
+arch_compat: athlonxp: athlon
arch_compat: athlon: i686 k6
arch_compat: i686: i586
arch_compat: k6: i586
@@ -297,6 +305,8 @@
buildarch_compat: ia64: noarch
+buildarch_compat: pentium4: i686
+buildarch_compat: athlonxp: athlon
buildarch_compat: athlon: i686 k6
buildarch_compat: i686: i586
buildarch_compat: k6: i586
diff -urN rpm-4_0-4.0.4-orig/rpm.spec.in rpm-4_0-4.0.4/rpm.spec.in
--- rpm-4_0-4.0.4-orig/rpm.spec.in 2002-06-05 15:06:46 +0400
+++ rpm-4_0-4.0.4/rpm.spec.in 2004-10-02 14:23:41 +0400
@@ -355,9 +355,11 @@
%attr(0644, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/rpmpopt*
%attr(0644, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/rpmrc
-%ifarch i386 i486 i586 i686 athlon
+%ifarch i386 i486 i586 i686 athlon athlonxp pentium4
%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/i[3456]86*
%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/athlon*
+%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/athlonxp*
+%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/pentium4*
%endif
%ifarch alpha alphaev5 alphaev56 alphapca56 alphaev6 alphaev67
%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/alpha*
[-- Attachment #1.3: libtool_1.5.8-alt-athlonxp_alt_linux-machine.patch --]
[-- Type: text/x-patch, Size: 1685 bytes --]
diff -urN libtool-1.5.8-orig/config.sub libtool-1.5.8/config.sub
--- libtool-1.5.8-orig/config.sub 2004-08-07 16:14:19 +0400
+++ libtool-1.5.8/config.sub 2004-09-30 10:26:50 +0400
@@ -787,7 +787,7 @@
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ pentiumpro | p6 | 6x86 | athlon | athlonxp | athlon_*)
basic_machine=i686-pc
;;
pentiumii | pentium2 | pentiumiii | pentium3)
@@ -799,7 +799,7 @@
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athlonxp-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
diff -urN libtool-1.5.8-orig/libltdl/config.sub libtool-1.5.8/libltdl/config.sub
--- libtool-1.5.8-orig/libltdl/config.sub 2004-08-07 16:14:19 +0400
+++ libtool-1.5.8/libltdl/config.sub 2004-09-30 10:26:31 +0400
@@ -787,7 +787,7 @@
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ pentiumpro | p6 | 6x86 | athlon | athlonxp | athlon_*)
basic_machine=i686-pc
;;
pentiumii | pentium2 | pentiumiii | pentium3)
@@ -799,7 +799,7 @@
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athlonxp-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
next prev parent reply other threads:[~2004-10-02 11:08 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-28 12:44 Alexey I. Froloff
2004-09-28 13:11 ` Aleksey Avdeev
2004-09-28 13:18 ` Alexey I. Froloff
2004-09-29 16:48 ` Немос
2004-09-29 18:25 ` Andrey Rahmatullin
2004-09-30 7:41 ` Немос
2004-09-30 7:51 ` Alexey I. Froloff
2004-09-30 14:57 ` Немос
2004-10-01 3:56 ` Alexey I. Froloff
2004-10-01 13:49 ` Немос
2004-10-01 14:09 ` Led
2004-10-01 14:50 ` Немос
2004-10-01 19:30 ` [sisyphus] Re: hasher Dmitry V. Levin
2004-10-01 14:11 ` [sisyphus] I: pentium4 arch support in rpm Alexey I. Froloff
2004-10-01 14:53 ` Немос
2004-10-02 11:08 ` Немос [this message]
2004-09-30 7:07 ` Alexei Takaseev
2004-10-01 20:14 ` [sisyphus] " Michael Shigorin
2004-10-04 4:06 ` Alexey I. Froloff
2004-10-06 13:12 ` Michael Shigorin
2004-09-28 13:50 ` [sisyphus] " Led
2004-09-28 14:12 ` Alexey I. Froloff
2004-09-28 14:22 ` Led
2004-09-28 14:47 ` Alexey I. Froloff
2004-09-28 17:11 ` [devel] " Alexey I. Froloff
2004-09-28 17:45 ` [sisyphus] Re: [devel] " Sergey
2004-09-29 7:16 ` Led
2004-09-29 9:23 ` Alexey I. Froloff
2004-10-04 11:47 ` Anton Farygin
2004-10-04 12:15 ` Led
2004-10-04 12:27 ` Anton Farygin
2004-10-04 12:33 ` Alexey I. Froloff
2004-10-04 12:47 ` Led
2004-10-04 15:04 ` Re[2]: " Volkov Serge
2004-10-06 13:11 ` Michael Shigorin
2004-10-06 13:24 ` Maxim Tyurin
2004-10-06 14:23 ` Michael Shigorin
2004-10-06 13:25 ` Mike Lykov
2004-10-06 14:27 ` [sisyphus] [JT] " Michael Shigorin
2004-10-06 14:53 ` Andrey Rahmatullin
2004-10-07 5:19 ` Guest007
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=415E8C1E.5040909@yandex.ru \
--to=nemos-linux@yandex.ru \
--cc=sisyphus@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git