]> git.pld-linux.org Git - packages/rpm.git/blob - rpm-amd64.patch
- updated
[packages/rpm.git] / rpm-amd64.patch
1 diff -urN rpm.org/build/parseSpec.c rpm/build/parseSpec.c
2 --- rpm.org/build/parseSpec.c   2004-06-14 14:52:54.433793272 +0200
3 +++ rpm/build/parseSpec.c       2004-06-14 14:55:21.399451096 +0200
4 @@ -227,6 +227,15 @@
5      return 0;
6  }
7  /*@=boundswrite@*/
8 +static const char *getAlternateArch(const char *arch)
9 +{
10 +    const char *alternate_arch = NULL;
11 +    if (! strncmp("x86_64", arch, sizeof("x86_64")-1))
12 +      alternate_arch = "amd64";
13 +    else if (! strncmp("amd64", arch, sizeof("amd64")-1))
14 +      alternate_arch = "x86_64";
15 +    return alternate_arch;
16 +}
17  
18  /*@-boundswrite@*/
19  int readLine(Spec spec, int strip)
20 @@ -319,13 +328,15 @@
21         match = 0;
22      } else if (! strncmp("%ifarch", s, sizeof("%ifarch")-1)) {
23         const char *arch = rpmExpand("%{_target_cpu}", NULL);
24 +       const char *alternate_arch = getAlternateArch(arch);
25         s += 7;
26 -       match = matchTok(arch, s);
27 +       match = matchTok(arch, s) || (alternate_arch && matchTok(alternate_arch, s));
28         arch = _free(arch);
29      } else if (! strncmp("%ifnarch", s, sizeof("%ifnarch")-1)) {
30         const char *arch = rpmExpand("%{_target_cpu}", NULL);
31 +       const char *alternate_arch = getAlternateArch(arch);
32         s += 8;
33 -       match = !matchTok(arch, s);
34 +       match = !matchTok(arch, s) && (!alternate_arch || !matchTok(alternate_arch, s));
35         arch = _free(arch);
36      } else if (! strncmp("%ifos", s, sizeof("%ifos")-1)) {
37         const char *os = rpmExpand("%{_target_os}", NULL);
38 diff -urN rpm.org/installplatform rpm/installplatform
39 --- rpm.org/installplatform     2004-06-14 14:53:29.722428584 +0200
40 +++ rpm/installplatform 2004-06-14 14:57:50.898723752 +0200
41 @@ -66,7 +66,7 @@
42      ppc-linux) MULTILIBNO=1 ;;
43      ppc64-linux) LIB=lib64; MULTILIBNO=2 ;;
44      i?86-linux|pentium?-linux|athlon-linux) MULTILIBNO=1 ;;
45 -    x86_64-linux) LIB=lib64; MULTILIBNO=2 ;;
46 +    x86_64-linux|amd64-linux|ia32e-linux) LIB=lib64; MULTILIBNO=2 ;;
47    esac
48  
49    if [ -n "$MULTILIBNO" ]; then
50 diff -urN rpm.org/lib/rpmrc.c rpm/lib/rpmrc.c
51 --- rpm.org/lib/rpmrc.c 2004-06-14 14:53:19.117040848 +0200
52 +++ rpm/lib/rpmrc.c     2004-06-14 14:55:21.421447752 +0200
53 @@ -1319,6 +1319,13 @@
54         }
55  #      endif
56  
57 +#       if defined(__linux__) && defined(__amd64__)
58 +        {
59 +           /* Defaults to amd64 if compiler supports __amd64__ */
60 +           strcpy(un.machine, "amd64");
61 +        }
62 +#       endif
63 +
64  #      if defined(__linux__) && defined(__powerpc__)
65         {
66             unsigned pvr = 0;
67 diff -urN rpm.org/rpmrc.in rpm/rpmrc.in
68 --- rpm.org/rpmrc.in    2004-06-14 14:53:29.723428432 +0200
69 +++ rpm/rpmrc.in        2004-06-14 14:58:38.156539472 +0200
70 @@ -272,9 +272,9 @@
71  
72  buildarchtranslate: ia64: ia64
73  
74 -buildarchtranslate: x86_64: x86_64
75 -buildarchtranslate: amd64: x86_64
76 -buildarchtranslate: ia32e: x86_64
77 +buildarchtranslate: x86_64: amd64
78 +buildarchtranslate: amd64: amd64
79 +buildarchtranslate: ia32e: amd64
80  
81  #############################################################
82  # Architecture compatibility
This page took 0.029767 seconds and 3 git commands to generate.