Blob Blame History Raw
diff --git a/lib/rpmrc.c b/lib/rpmrc.c
index ba156fe..96f05ce 100644
--- a/lib/rpmrc.c
+++ b/lib/rpmrc.c
@@ -1093,8 +1093,11 @@ static void defaultMachine(const char ** arch,
 #	if defined(__linux__) && defined(__powerpc__)
 	{
             int powerlvl;
-            if (sscanf(rpmat.platform, "power%d", &powerlvl) == 1 && powerlvl > 6)
+            if (!rstreq(un.machine, "ppc") &&
+		    sscanf(rpmat.platform, "power%d", &powerlvl) == 1 &&
+		    powerlvl > 6) {
                 strcpy(un.machine, "ppc64p7");
+	    }
         }
 #	endif	/* ppc64*-linux */
 
diff --git a/macros.in b/macros.in
index 4c77bbb..4a4a1e4 100644
--- a/macros.in
+++ b/macros.in
@@ -998,6 +998,10 @@ done \
 # arch macro for all supported Alpha processors
 %alpha	alpha alphaev56 alphaev6 alphaev67
 
+#------------------------------------------------------------------------------
+# arch macro for all supported PowerPC 64 processors
+%power64	ppc64 ppc64p7
+
 #------------------------------------------------------------------------
 # Use in %install to generate locale specific file lists. For example,
 #