cos jest nie tak, bo po fazie -bi rpm.spec w katalogu tmp:usr/lib/rpm
nie ma katalogow {athlon,i[3456],noarch}-linux.
sa tylko "-" i "noarch-" :O. cos popsulem :/
--
The only thing necessary for the triumph of evil
is for good men to do nothing.
- Edmund Burke
diff -uNr rpm-4.3.orig/lib/rpmrc.c rpm-4.3/lib/rpmrc.c
--- rpm-4.3.orig/lib/rpmrc.c 2004-02-25 02:17:28.000000000 +0100
+++ rpm-4.3/lib/rpmrc.c 2004-02-25 02:19:05.927330120 +0100
@@ -1038,6 +1038,25 @@
return 1;
}
+static int is_pentium3()
+{
+ unsigned int eax, ebx, ecx, edx, family, model;
+ char vendor[16];
+ cpuid(0, &eax, &ebx, &ecx, &edx);
+ memset(vendor, 0, sizeof(vendor));
+ *((unsigned int *)&vendor[0]) = ebx;
+ *((unsigned int *)&vendor[4]) = edx;
+ *((unsigned int *)&vendor[8]) = ecx;
+ if (strncmp(vendor, "GenuineIntel", 12) != 0)
+ return 0;
+ cpuid(1, &eax, &ebx, &ecx, &edx);
+ family = (eax >> 8) & 0x0f;
+ model = (eax >> 4) & 0x0f;
+ if ((family == 6) && ((model >= 7) && (model <= 11)))
+ return 1;
+ return 0;
+}
+
#endif
#if defined(__linux__) && defined(__powerpc__)
@@ -1274,6 +1293,8 @@
if ((class == '6' && is_athlon()) || class == '7')
strcpy(un.machine, "athlon");
+ else if (is_pentium3())
+ strcpy(un.machine, "pentium3");
else if (strchr("3456", un.machine[1]) && un.machine[1] != class)
un.machine[1] = class;
}
diff -uNr rpm-4.3.orig/macros.in rpm-4.3/macros.in
--- rpm-4.3.orig/macros.in 2004-02-25 02:17:28.000000000 +0100
+++ rpm-4.3/macros.in 2004-02-25 02:21:24.011338160 +0100
@@ -1116,7 +1116,7 @@
# rpm can use regular expressions against target platforms in macro
# conditionals.
#
-%ix86 i386 i486 i586 i686 athlon
+%ix86 i386 i486 i586 i686 pentium3 athlon
#------------------------------------------------------------------------
# Use in %install to generate locale specific file lists. For example,
diff -uNr rpm-4.3.orig/rpmrc.in rpm-4.3/rpmrc.in
--- rpm-4.3.orig/rpmrc.in 2004-02-25 02:17:28.000000000 +0100
+++ rpm-4.3/rpmrc.in 2004-02-25 02:20:45.253230288 +0100
@@ -16,6 +16,7 @@
optflags: i486 -O2 -march=i486%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i486: %{specflags_i486}}}
optflags: i586 -O2 -march=i586%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i586: %{specflags_i586}}}
optflags: i686 -O2 -march=i686%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i686: %{specflags_i686}}}
+optflags: pentium3 -O2 -march=pentium3%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_pentium3: %{specflags_pentium3}}}
optflags: athlon -O2 -march=athlon%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_athlon: %{specflags_athlon}}}
optflags: ia64 -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia64: %{specflags_ia64}}}
optflags: x86_64 -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_x86_64: %{specflags_x86_64}} %{?specflags_amd64: %{specflags_amd64}} }
@@ -68,6 +69,7 @@
# Canonical arch names and numbers
arch_canon: athlon: athlon 1
+arch_canon: pentium3: pentium3 1
arch_canon: i686: i686 1
arch_canon: i586: i586 1
arch_canon: i486: i486 1
@@ -167,6 +169,7 @@
buildarchtranslate: osfmach3_i386: i386
buildarchtranslate: athlon: athlon
+buildarchtranslate: pentium3: pentium3
buildarchtranslate: i686: i686
buildarchtranslate: i586: i586
buildarchtranslate: i486: i486
@@ -218,6 +221,7 @@
arch_compat: alpha: axp noarch
arch_compat: athlon: i686
+arch_compat: pentium3: i686
arch_compat: i686: i586
arch_compat: i586: i486
arch_compat: i486: i386
@@ -307,6 +311,7 @@
buildarch_compat: ia64: noarch
buildarch_compat: athlon: i686
+buildarch_compat: pentium3: i686
buildarch_compat: i686: i586
buildarch_compat: i586: i486
buildarch_compat: i486: i386
__________________________________________________________
nie pytaj co inni zrobili dla pld, pomysl ile sam zrobiles