summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-08-04 11:33:23 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-05 17:16:02 +0100
commitd6bbdcc030fc6c7720e12d96943031f6b119e69b (patch)
treebf648281fb8d669a99198938a88738a32c19b611
parentbe030d3bf5e8bd8be2faf43684f2aafd94545630 (diff)
downloadpoky-d6bbdcc030fc6c7720e12d96943031f6b119e69b.tar.gz
libzypp: Increase the size of the arch compat table
Fix [YOCTO #1313] Increase the size of the arch compat table to 30 entries. Also cleanup a few things related to Poky -> OE name changing. (From OE-Core rev: 8899c51127fc9df3a054bd38b0b33082fa372fa2) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Fixed up arm patch Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-extended/libzypp/libzypp/arm-workaround-global-constructor.patch23
-rw-r--r--meta/recipes-extended/libzypp/libzypp/libzypp-compatargs.patch54
-rw-r--r--meta/recipes-extended/libzypp/libzypp/libzypp-oearch.patch (renamed from meta/recipes-extended/libzypp/libzypp/libzypp-pokyarch.patch)24
-rw-r--r--meta/recipes-extended/libzypp/libzypp_git.bb69
4 files changed, 113 insertions, 57 deletions
diff --git a/meta/recipes-extended/libzypp/libzypp/arm-workaround-global-constructor.patch b/meta/recipes-extended/libzypp/libzypp/arm-workaround-global-constructor.patch
index 86458d7e75..bfdb29b593 100644
--- a/meta/recipes-extended/libzypp/libzypp/arm-workaround-global-constructor.patch
+++ b/meta/recipes-extended/libzypp/libzypp/arm-workaround-global-constructor.patch
@@ -8,14 +8,15 @@ before the usage of _foo during the initialization of the compatibility
8table. 8table.
9 9
10The patch, along with a similar change to the recipe generation of the 10The patch, along with a similar change to the recipe generation of the
11poky-arch.h file, remove the DEF_BUILTIN globals and replace them with 11oe-arch.h file, remove the DEF_BUILTIN globals and replace them with
12immediate strings wherever they are used. 12immediate strings wherever they are used.
13 13
14Signed-off-by: Mark Hatle <mark.hatle@windriver.com> 14Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
15 15
16diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc 16Index: git/zypp/Arch.cc
17--- git.orig/zypp/Arch.cc 2011-03-29 14:15:32.695079271 -0500 17===================================================================
18+++ git/zypp/Arch.cc 2011-03-29 14:17:22.680910025 -0500 18--- git.orig/zypp/Arch.cc 2011-08-04 21:03:31.000000000 -0700
19+++ git/zypp/Arch.cc 2011-08-04 21:04:16.635480895 -0700
19@@ -152,13 +152,10 @@ 20@@ -152,13 +152,10 @@
20 // NOTE: Thake care CompatBits::IntT is able to provide one 21 // NOTE: Thake care CompatBits::IntT is able to provide one
21 // bit for each architecture. 22 // bit for each architecture.
@@ -24,13 +25,13 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
24- DEF_BUILTIN( all ); 25- DEF_BUILTIN( all );
25- DEF_BUILTIN( any ); 26- DEF_BUILTIN( any );
26- DEF_BUILTIN( noarch ); 27- DEF_BUILTIN( noarch );
27
28-#include "poky-arch.h"
29-#undef DEF_BUILTIN
30+/* Global constructors are not working properly on ARM, avoid the 28+/* Global constructors are not working properly on ARM, avoid the
31+ * known bad case and merge constructors in with the usages 29+ * known bad case and merge constructors in with the usages
32+ */ 30+ */
33 31
32-#include "oe-arch.h"
33-#undef DEF_BUILTIN
34
34 /////////////////////////////////////////////////////////////////// 35 ///////////////////////////////////////////////////////////////////
35 // 36 //
36@@ -227,9 +224,9 @@ 37@@ -227,9 +224,9 @@
@@ -46,7 +47,7 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
46 /////////////////////////////////////////////////////////////////// 47 ///////////////////////////////////////////////////////////////////
47 // Define the CompatibleWith relation: 48 // Define the CompatibleWith relation:
48 // 49 //
49@@ -305,9 +302,9 @@ 50@@ -331,9 +328,9 @@
50 /////////////////////////////////////////////////////////////////// 51 ///////////////////////////////////////////////////////////////////
51 52
52 const Arch Arch_empty ( IdString::Empty ); 53 const Arch Arch_empty ( IdString::Empty );
@@ -57,9 +58,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
57+ const Arch Arch_any( IdString ( "any" ) ); 58+ const Arch Arch_any( IdString ( "any" ) );
58+ const Arch Arch_noarch( IdString ( "noarch" ) ); 59+ const Arch Arch_noarch( IdString ( "noarch" ) );
59 60
60 #define POKY_PROTO 1 61 #define OE_PROTO 1
61 #include "poky-arch.h" 62 #include "oe-arch.h"
62@@ -316,7 +316,7 @@ 63@@ -345,7 +342,7 @@
63 // METHOD TYPE : Ctor 64 // METHOD TYPE : Ctor
64 // 65 //
65 Arch::Arch() 66 Arch::Arch()
diff --git a/meta/recipes-extended/libzypp/libzypp/libzypp-compatargs.patch b/meta/recipes-extended/libzypp/libzypp/libzypp-compatargs.patch
new file mode 100644
index 0000000000..9cd7a36422
--- /dev/null
+++ b/meta/recipes-extended/libzypp/libzypp/libzypp-compatargs.patch
@@ -0,0 +1,54 @@
1zypp/Arch.cc: Add room for additional architecture compatibilities
2
3Upstream-status: Pending
4
5Increase the size of the compatibility table from 9 to 30. There are already
6existing checks within libzypp to ensure that we don't overflow the 64-bit
7architecture field, so nothing further was required.
8
9Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
10
11diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
12--- git.orig/zypp/Arch.cc 2011-08-02 16:40:37.696662889 -0500
13+++ git/zypp/Arch.cc 2011-08-04 11:24:18.051745246 -0500
14@@ -280,13 +280,39 @@
15 IdString arch6_r = IdString(),
16 IdString arch7_r = IdString(),
17 IdString arch8_r = IdString(),
18- IdString arch9_r = IdString() )
19+ IdString arch9_r = IdString(),
20+ IdString arch10_r = IdString(),
21+ IdString arch11_r = IdString(),
22+ IdString arch12_r = IdString(),
23+ IdString arch13_r = IdString(),
24+ IdString arch14_r = IdString(),
25+ IdString arch15_r = IdString(),
26+ IdString arch16_r = IdString(),
27+ IdString arch17_r = IdString(),
28+ IdString arch18_r = IdString(),
29+ IdString arch19_r = IdString(),
30+ IdString arch20_r = IdString(),
31+ IdString arch21_r = IdString(),
32+ IdString arch22_r = IdString(),
33+ IdString arch23_r = IdString(),
34+ IdString arch24_r = IdString(),
35+ IdString arch25_r = IdString(),
36+ IdString arch26_r = IdString(),
37+ IdString arch27_r = IdString(),
38+ IdString arch28_r = IdString(),
39+ IdString arch29_r = IdString(),
40+ IdString arch30_r = IdString() )
41 {
42 const CompatEntry & target( assertCompatSetEntry( targetArch_r ) );
43 target.addCompatBit( assertCompatSetEntry( arch0_r )._idBit );
44 #define _SETARG(N) if ( arch##N##_r.empty() ) return; target.addCompatBit( assertCompatSetEntry( arch##N##_r )._idBit )
45 _SETARG(1); _SETARG(2); _SETARG(3); _SETARG(4);
46 _SETARG(5); _SETARG(6); _SETARG(7); _SETARG(8); _SETARG(9);
47+ _SETARG(10); _SETARG(11); _SETARG(12); _SETARG(13); _SETARG(14);
48+ _SETARG(15); _SETARG(16); _SETARG(17); _SETARG(18); _SETARG(19);
49+ _SETARG(20); _SETARG(21); _SETARG(22); _SETARG(23); _SETARG(24);
50+ _SETARG(25); _SETARG(26); _SETARG(27); _SETARG(28); _SETARG(29);
51+ _SETARG(30);
52 #undef _SETARG
53 }
54
diff --git a/meta/recipes-extended/libzypp/libzypp/libzypp-pokyarch.patch b/meta/recipes-extended/libzypp/libzypp/libzypp-oearch.patch
index 1eab1e8302..9a0e42b709 100644
--- a/meta/recipes-extended/libzypp/libzypp/libzypp-pokyarch.patch
+++ b/meta/recipes-extended/libzypp/libzypp/libzypp-oearch.patch
@@ -3,7 +3,7 @@ Upstream-Status: Inappropriate [distribution]
3Disable all of the internal architectures 3Disable all of the internal architectures
4 4
5We disable all of the internal architectures and replace them with ones 5We disable all of the internal architectures and replace them with ones
6generated by the libzypp recipe as specified in the poky-arch.h. 6generated by the libzypp recipe as specified in the oe-arch.h.
7 7
8Signed-off-by: Mark Hatle <mark.hatle@windriver.com> 8Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
9 9
@@ -148,7 +148,7 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
148- 148-
149- DEF_BUILTIN( sh4 ); 149- DEF_BUILTIN( sh4 );
150- DEF_BUILTIN( sh4a ); 150- DEF_BUILTIN( sh4a );
151+#include "poky-arch.h" 151+#include "oe-arch.h"
152 #undef DEF_BUILTIN 152 #undef DEF_BUILTIN
153 153
154 /////////////////////////////////////////////////////////////////// 154 ///////////////////////////////////////////////////////////////////
@@ -211,9 +211,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
211- // 211- //
212- defCompatibleWith( _sh4, _noarch ); 212- defCompatibleWith( _sh4, _noarch );
213- defCompatibleWith( _sh4a, _noarch,_sh4 ); 213- defCompatibleWith( _sh4a, _noarch,_sh4 );
214+#define POKY_DEF_COMPAT 1 214+#define OE_DEF_COMPAT 1
215+#include "poky-arch.h" 215+#include "oe-arch.h"
216+#undef POKY_DEF_COMPAT 216+#undef OE_DEF_COMPAT
217 // 217 //
218 /////////////////////////////////////////////////////////////////// 218 ///////////////////////////////////////////////////////////////////
219 // dumpOn( USR ) << endl; 219 // dumpOn( USR ) << endl;
@@ -270,9 +270,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
270- 270-
271- const Arch Arch_sh4( _sh4 ); 271- const Arch Arch_sh4( _sh4 );
272- const Arch Arch_sh4a( _sh4a ); 272- const Arch Arch_sh4a( _sh4a );
273+#define POKY_PROTO 1 273+#define OE_PROTO 1
274+#include "poky-arch.h" 274+#include "oe-arch.h"
275+#undef POKY_PROTO 275+#undef OE_PROTO
276 276
277 /////////////////////////////////////////////////////////////////// 277 ///////////////////////////////////////////////////////////////////
278 // 278 //
@@ -398,9 +398,9 @@ diff -ur git.orig/zypp/Arch.h git/zypp/Arch.h
398- extern const Arch Arch_sh4; 398- extern const Arch Arch_sh4;
399- /** \relates Arch */ 399- /** \relates Arch */
400- extern const Arch Arch_sh4a; 400- extern const Arch Arch_sh4a;
401+#define POKY_EXTERN_PROTO 1 401+#define OE_EXTERN_PROTO 1
402+#include "poky-arch.h" 402+#include "oe-arch.h"
403+#undef POKY_EXTERN_PROTO 403+#undef OE_EXTERN_PROTO
404 //@} 404 //@}
405 405
406 /////////////////////////////////////////////////////////////////// 406 ///////////////////////////////////////////////////////////////////
@@ -411,7 +411,7 @@ diff -ur git.orig/zypp/CMakeLists.txt git/zypp/CMakeLists.txt
411 411
412 SET( zypp_HEADERS 412 SET( zypp_HEADERS
413 Arch.h 413 Arch.h
414+ poky-arch.h 414+ oe-arch.h
415 AutoDispose.h 415 AutoDispose.h
416 Bit.h 416 Bit.h
417 ByteCount.h 417 ByteCount.h
diff --git a/meta/recipes-extended/libzypp/libzypp_git.bb b/meta/recipes-extended/libzypp/libzypp_git.bb
index bb36a9069e..1fc6809a35 100644
--- a/meta/recipes-extended/libzypp/libzypp_git.bb
+++ b/meta/recipes-extended/libzypp/libzypp_git.bb
@@ -14,16 +14,17 @@ RDEPENDS_${PN} = "sat-solver"
14S = "${WORKDIR}/git" 14S = "${WORKDIR}/git"
15SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433" 15SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
16PV = "0.0-git${SRCPV}" 16PV = "0.0-git${SRCPV}"
17PR = "r12" 17PR = "r13"
18 18
19SRC_URI = "git://gitorious.org/opensuse/libzypp.git;protocol=git \ 19SRC_URI = "git://gitorious.org/opensuse/libzypp.git;protocol=git \
20 file://no-doc.patch \ 20 file://no-doc.patch \
21 file://rpm5.patch \ 21 file://rpm5.patch \
22 file://rpm5-no-rpmdbinit.patch \ 22 file://rpm5-no-rpmdbinit.patch \
23 file://config-release.patch \ 23 file://config-release.patch \
24 file://libzypp-pokyarch.patch \ 24 file://libzypp-oearch.patch \
25 file://libzypp-compatargs.patch \
25 file://fix_for_compile_wth_gcc-4.6.0.patch \ 26 file://fix_for_compile_wth_gcc-4.6.0.patch \
26 file://hardcode-lib-fix.patch \ 27 file://hardcode-lib-fix.patch \
27 " 28 "
28 29
29SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch" 30SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
@@ -49,57 +50,57 @@ AVOID_CONSTRUCTOR_mips = "true"
49do_archgen () { 50do_archgen () {
50 # We need to dynamically generate our arch file based on the machine 51 # We need to dynamically generate our arch file based on the machine
51 # configuration 52 # configuration
52 echo "/* Automatically generated by the libzypp recipes */" > zypp/poky-arch.h 53 echo "/* Automatically generated by the libzypp recipes */" > zypp/oe-arch.h
53 echo "/* Avoid Constructor: ${AVOID_CONSTRUCTOR} */" >> zypp/poky-arch.h 54 echo "/* Avoid Constructor: ${AVOID_CONSTRUCTOR} */" >> zypp/oe-arch.h
54 echo "" >> zypp/poky-arch.h 55 echo "" >> zypp/oe-arch.h
55 echo "#ifndef POKY_ARCH_H" >> zypp/poky-arch.h 56 echo "#ifndef OE_ARCH_H" >> zypp/oe-arch.h
56 echo "#define POKY_ARCH_H 1" >> zypp/poky-arch.h 57 echo "#define OE_ARCH_H 1" >> zypp/oe-arch.h
57 echo "#define Arch_machine Arch_${MACHINE_ARCH}" | tr - _ >> zypp/poky-arch.h 58 echo "#define Arch_machine Arch_${MACHINE_ARCH}" | tr - _ >> zypp/oe-arch.h
58 echo "#endif /* POKY_ARCH_H */" >> zypp/poky-arch.h 59 echo "#endif /* OE_ARCH_H */" >> zypp/oe-arch.h
59 echo "" >> zypp/poky-arch.h 60 echo "" >> zypp/oe-arch.h
60 if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then 61 if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then
61 echo "#ifdef DEF_BUILTIN" >> zypp/poky-arch.h 62 echo "#ifdef DEF_BUILTIN" >> zypp/oe-arch.h
62 echo "/* Specify builtin types */" >> zypp/poky-arch.h 63 echo "/* Specify builtin types */" >> zypp/oe-arch.h
63 for each_arch in ${PACKAGE_ARCHS} ; do 64 for each_arch in ${PACKAGE_ARCHS} ; do
64 case "$each_arch" in 65 case "$each_arch" in
65 all | any | noarch) 66 all | any | noarch)
66 continue;; 67 continue;;
67 esac 68 esac
68 echo " DEF_BUILTIN( ${each_arch} );" | tr - _ >> zypp/poky-arch.h 69 echo " DEF_BUILTIN( ${each_arch} );" | tr - _ >> zypp/oe-arch.h
69 done 70 done
70 echo "#endif /* DEF_BUILTIN */" >> zypp/poky-arch.h 71 echo "#endif /* DEF_BUILTIN */" >> zypp/oe-arch.h
71 echo "" >> zypp/poky-arch.h 72 echo "" >> zypp/oe-arch.h
72 fi 73 fi
73 echo "#ifdef POKY_EXTERN_PROTO" >> zypp/poky-arch.h 74 echo "#ifdef OE_EXTERN_PROTO" >> zypp/oe-arch.h
74 echo "/* Specify extern prototypes */" >> zypp/poky-arch.h 75 echo "/* Specify extern prototypes */" >> zypp/oe-arch.h
75 for each_arch in ${PACKAGE_ARCHS} ; do 76 for each_arch in ${PACKAGE_ARCHS} ; do
76 case "$each_arch" in 77 case "$each_arch" in
77 all | any | noarch) 78 all | any | noarch)
78 continue;; 79 continue;;
79 esac 80 esac
80 echo " extern const Arch Arch_${each_arch};" | tr - _ >> zypp/poky-arch.h 81 echo " extern const Arch Arch_${each_arch};" | tr - _ >> zypp/oe-arch.h
81 done 82 done
82 echo "#endif /* POKY_EXTERN_PROTO */" >> zypp/poky-arch.h 83 echo "#endif /* OE_EXTERN_PROTO */" >> zypp/oe-arch.h
83 echo "" >> zypp/poky-arch.h 84 echo "" >> zypp/oe-arch.h
84 echo "#ifdef POKY_PROTO" >> zypp/poky-arch.h 85 echo "#ifdef OE_PROTO" >> zypp/oe-arch.h
85 echo "/* Specify prototypes */" >> zypp/poky-arch.h 86 echo "/* Specify prototypes */" >> zypp/oe-arch.h
86 for each_arch in ${PACKAGE_ARCHS} ; do 87 for each_arch in ${PACKAGE_ARCHS} ; do
87 case "$each_arch" in 88 case "$each_arch" in
88 all | any | noarch) 89 all | any | noarch)
89 continue;; 90 continue;;
90 esac 91 esac
91 if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then 92 if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then
92 echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/poky-arch.h 93 echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/oe-arch.h
93 echo "(_${each_arch});" >> zypp/poky-arch.h 94 echo "(_${each_arch});" >> zypp/oe-arch.h
94 else 95 else
95 echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/poky-arch.h 96 echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/oe-arch.h
96 echo "( IdString ( \"${each_arch}\" ) );" >> zypp/poky-arch.h 97 echo "( IdString ( \"${each_arch}\" ) );" >> zypp/oe-arch.h
97 fi 98 fi
98 done 99 done
99 echo "#endif /* POKY_PROTO */" >> zypp/poky-arch.h 100 echo "#endif /* OE_PROTO */" >> zypp/oe-arch.h
100 echo "" >> zypp/poky-arch.h 101 echo "" >> zypp/oe-arch.h
101 echo "#ifdef POKY_DEF_COMPAT" >> zypp/poky-arch.h 102 echo "#ifdef OE_DEF_COMPAT" >> zypp/oe-arch.h
102 echo "/* Specify compatibility information */" >> zypp/poky-arch.h 103 echo "/* Specify compatibility information */" >> zypp/oe-arch.h
103 INSTALL_PLATFORM_ARCHS="" 104 INSTALL_PLATFORM_ARCHS=""
104 for each_arch in ${PACKAGE_ARCHS} ; do 105 for each_arch in ${PACKAGE_ARCHS} ; do
105 INSTALL_PLATFORM_ARCHS="$each_arch $INSTALL_PLATFORM_ARCHS" 106 INSTALL_PLATFORM_ARCHS="$each_arch $INSTALL_PLATFORM_ARCHS"
@@ -134,10 +135,10 @@ do_archgen () {
134 COMPAT_WITH="${CARCH},${COMPAT} $COMPAT_WITH" 135 COMPAT_WITH="${CARCH},${COMPAT} $COMPAT_WITH"
135 done 136 done
136 for each_compat in ${COMPAT_WITH} ; do 137 for each_compat in ${COMPAT_WITH} ; do
137 echo " defCompatibleWith( ${each_compat} );" >> zypp/poky-arch.h 138 echo " defCompatibleWith( ${each_compat} );" >> zypp/oe-arch.h
138 done 139 done
139 echo "#endif /* DEF_COMPAT */" >> zypp/poky-arch.h 140 echo "#endif /* DEF_COMPAT */" >> zypp/oe-arch.h
140 echo "" >> zypp/poky-arch.h 141 echo "" >> zypp/oe-arch.h
141} 142}
142 143
143addtask archgen before do_configure after do_patch 144addtask archgen before do_configure after do_patch