ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
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 --]

  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