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,
#