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 13:08:09 +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|pentium4) SUBSTS='s_\(i[3456]86\|k6\|athlon\|pentium4\)_i386_ s_\(i[3456]86\|k6\|athlon\|pentium4\)_i486_ s_\(i[3456]86\|k6\|athlon\|pentium4\)_i586_ s_\(i[3456]86\|k6\|athlon\|pentium4\)_i686_ s_\(i[3456]86\|k6\|athlon\|pentium4\)_k6_ s_\(i[3456]86\|k6\|athlon\|pentium4\)_athlon_ s_\(i[3456]86\|k6\|athlon\|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 13:57:02 +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,18 @@ read( fd, buffer, sizeof buffer - 1 ); close( fd ); - if ( !strstr( buffer, "AMD" ) ) - return 0; + if ( strstr( buffer, "AMD" ) ) { + 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" ) ) { + if ( strstr( buffer, "Pentium(R) 4" ) || strstr( buffer, "Intel(R) Xeon(TM)" ) || strstr( buffer, "Intel(R) XEON(TM)" ) ) + return "pentium4"; + } return 0; } @@ -1290,9 +1294,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 13:08:09 +0400 @@ -812,7 +812,7 @@ # rpm can use regular expressions against target platforms in macro # conditionals. # -%intel i386 i486 i586 i686 i786 i886 i986 +%intel i386 i486 i586 i686 i786 i886 i986 pentium4 %amd k6 athlon %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 13:08:09 +0400 @@ -140,7 +140,8 @@ $(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/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 13:08:09 +0400 @@ -17,6 +17,7 @@ optflags: i686 %optflags_default -march=i686 optflags: k6 %optflags_default -march=k6 optflags: athlon %optflags_default -march=athlon +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 +68,7 @@ ############################################################# # Canonical arch names and numbers +arch_canon: pentium4: pentium4 1 arch_canon: athlon: athlon 1 arch_canon: i686: i686 1 arch_canon: k6: k6 1 @@ -164,6 +166,7 @@ buildarchtranslate: ia64: ia64 +buildarchtranslate: pentium4: pentium4 buildarchtranslate: athlon: athlon buildarchtranslate: i686: i686 buildarchtranslate: k6: k6 @@ -210,6 +213,7 @@ arch_compat: alphaev5: alpha arch_compat: alpha: axp noarch +arch_compat: pentium4: i686 arch_compat: athlon: i686 k6 arch_compat: i686: i586 arch_compat: k6: i586 @@ -297,6 +301,7 @@ buildarch_compat: ia64: noarch +buildarch_compat: pentium4: i686 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 13:08:09 +0400 @@ -355,9 +355,10 @@ %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 pentium4 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/i[3456]86* %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/athlon* +%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/pentium4* %endif %ifarch alpha alphaev5 alphaev56 alphapca56 alphaev6 alphaev67 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/alpha*