summaryrefslogtreecommitdiff
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:13:00 +0100
commit8899c51127fc9df3a054bd38b0b33082fa372fa2 (patch)
tree9e69e8e7386943ca6378cfcf1678a6fb79793465
parentf0c821ff4efeca36b196370e33ee4ec71730819b (diff)
downloadopenembedded-core-8899c51127fc9df3a054bd38b0b33082fa372fa2.tar.gz
openembedded-core-8899c51127fc9df3a054bd38b0b33082fa372fa2.tar.bz2
openembedded-core-8899c51127fc9df3a054bd38b0b33082fa372fa2.zip
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. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Fixed up arm patch Signed-off-by: Saul Wold <sgw@linux.intel.com>
-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
table.
The patch, along with a similar change to the recipe generation of the
-poky-arch.h file, remove the DEF_BUILTIN globals and replace them with
+oe-arch.h file, remove the DEF_BUILTIN globals and replace them with
immediate strings wherever they are used.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
---- git.orig/zypp/Arch.cc 2011-03-29 14:15:32.695079271 -0500
-+++ git/zypp/Arch.cc 2011-03-29 14:17:22.680910025 -0500
+Index: git/zypp/Arch.cc
+===================================================================
+--- git.orig/zypp/Arch.cc 2011-08-04 21:03:31.000000000 -0700
++++ git/zypp/Arch.cc 2011-08-04 21:04:16.635480895 -0700
@@ -152,13 +152,10 @@
// NOTE: Thake care CompatBits::IntT is able to provide one
// bit for each architecture.
@@ -24,13 +25,13 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
- DEF_BUILTIN( all );
- DEF_BUILTIN( any );
- DEF_BUILTIN( noarch );
-
--#include "poky-arch.h"
--#undef DEF_BUILTIN
+/* Global constructors are not working properly on ARM, avoid the
+ * known bad case and merge constructors in with the usages
+ */
+-#include "oe-arch.h"
+-#undef DEF_BUILTIN
+
///////////////////////////////////////////////////////////////////
//
@@ -227,9 +224,9 @@
@@ -46,7 +47,7 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
///////////////////////////////////////////////////////////////////
// Define the CompatibleWith relation:
//
-@@ -305,9 +302,9 @@
+@@ -331,9 +328,9 @@
///////////////////////////////////////////////////////////////////
const Arch Arch_empty ( IdString::Empty );
@@ -57,9 +58,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
+ const Arch Arch_any( IdString ( "any" ) );
+ const Arch Arch_noarch( IdString ( "noarch" ) );
- #define POKY_PROTO 1
- #include "poky-arch.h"
-@@ -316,7 +316,7 @@
+ #define OE_PROTO 1
+ #include "oe-arch.h"
+@@ -345,7 +342,7 @@
// METHOD TYPE : Ctor
//
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 @@
+zypp/Arch.cc: Add room for additional architecture compatibilities
+
+Upstream-status: Pending
+
+Increase the size of the compatibility table from 9 to 30. There are already
+existing checks within libzypp to ensure that we don't overflow the 64-bit
+architecture field, so nothing further was required.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
+--- git.orig/zypp/Arch.cc 2011-08-02 16:40:37.696662889 -0500
++++ git/zypp/Arch.cc 2011-08-04 11:24:18.051745246 -0500
+@@ -280,13 +280,39 @@
+ IdString arch6_r = IdString(),
+ IdString arch7_r = IdString(),
+ IdString arch8_r = IdString(),
+- IdString arch9_r = IdString() )
++ IdString arch9_r = IdString(),
++ IdString arch10_r = IdString(),
++ IdString arch11_r = IdString(),
++ IdString arch12_r = IdString(),
++ IdString arch13_r = IdString(),
++ IdString arch14_r = IdString(),
++ IdString arch15_r = IdString(),
++ IdString arch16_r = IdString(),
++ IdString arch17_r = IdString(),
++ IdString arch18_r = IdString(),
++ IdString arch19_r = IdString(),
++ IdString arch20_r = IdString(),
++ IdString arch21_r = IdString(),
++ IdString arch22_r = IdString(),
++ IdString arch23_r = IdString(),
++ IdString arch24_r = IdString(),
++ IdString arch25_r = IdString(),
++ IdString arch26_r = IdString(),
++ IdString arch27_r = IdString(),
++ IdString arch28_r = IdString(),
++ IdString arch29_r = IdString(),
++ IdString arch30_r = IdString() )
+ {
+ const CompatEntry & target( assertCompatSetEntry( targetArch_r ) );
+ target.addCompatBit( assertCompatSetEntry( arch0_r )._idBit );
+ #define _SETARG(N) if ( arch##N##_r.empty() ) return; target.addCompatBit( assertCompatSetEntry( arch##N##_r )._idBit )
+ _SETARG(1); _SETARG(2); _SETARG(3); _SETARG(4);
+ _SETARG(5); _SETARG(6); _SETARG(7); _SETARG(8); _SETARG(9);
++ _SETARG(10); _SETARG(11); _SETARG(12); _SETARG(13); _SETARG(14);
++ _SETARG(15); _SETARG(16); _SETARG(17); _SETARG(18); _SETARG(19);
++ _SETARG(20); _SETARG(21); _SETARG(22); _SETARG(23); _SETARG(24);
++ _SETARG(25); _SETARG(26); _SETARG(27); _SETARG(28); _SETARG(29);
++ _SETARG(30);
+ #undef _SETARG
+ }
+
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]
Disable all of the internal architectures
We disable all of the internal architectures and replace them with ones
-generated by the libzypp recipe as specified in the poky-arch.h.
+generated by the libzypp recipe as specified in the oe-arch.h.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
@@ -148,7 +148,7 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
-
- DEF_BUILTIN( sh4 );
- DEF_BUILTIN( sh4a );
-+#include "poky-arch.h"
++#include "oe-arch.h"
#undef DEF_BUILTIN
///////////////////////////////////////////////////////////////////
@@ -211,9 +211,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
- //
- defCompatibleWith( _sh4, _noarch );
- defCompatibleWith( _sh4a, _noarch,_sh4 );
-+#define POKY_DEF_COMPAT 1
-+#include "poky-arch.h"
-+#undef POKY_DEF_COMPAT
++#define OE_DEF_COMPAT 1
++#include "oe-arch.h"
++#undef OE_DEF_COMPAT
//
///////////////////////////////////////////////////////////////////
// dumpOn( USR ) << endl;
@@ -270,9 +270,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
-
- const Arch Arch_sh4( _sh4 );
- const Arch Arch_sh4a( _sh4a );
-+#define POKY_PROTO 1
-+#include "poky-arch.h"
-+#undef POKY_PROTO
++#define OE_PROTO 1
++#include "oe-arch.h"
++#undef OE_PROTO
///////////////////////////////////////////////////////////////////
//
@@ -398,9 +398,9 @@ diff -ur git.orig/zypp/Arch.h git/zypp/Arch.h
- extern const Arch Arch_sh4;
- /** \relates Arch */
- extern const Arch Arch_sh4a;
-+#define POKY_EXTERN_PROTO 1
-+#include "poky-arch.h"
-+#undef POKY_EXTERN_PROTO
++#define OE_EXTERN_PROTO 1
++#include "oe-arch.h"
++#undef OE_EXTERN_PROTO
//@}
///////////////////////////////////////////////////////////////////
@@ -411,7 +411,7 @@ diff -ur git.orig/zypp/CMakeLists.txt git/zypp/CMakeLists.txt
SET( zypp_HEADERS
Arch.h
-+ poky-arch.h
++ oe-arch.h
AutoDispose.h
Bit.h
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"
S = "${WORKDIR}/git"
SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
PV = "0.0-git${SRCPV}"
-PR = "r12"
+PR = "r13"
SRC_URI = "git://gitorious.org/opensuse/libzypp.git;protocol=git \
file://no-doc.patch \
file://rpm5.patch \
file://rpm5-no-rpmdbinit.patch \
file://config-release.patch \
- file://libzypp-pokyarch.patch \
+ file://libzypp-oearch.patch \
+ file://libzypp-compatargs.patch \
file://fix_for_compile_wth_gcc-4.6.0.patch \
- file://hardcode-lib-fix.patch \
+ file://hardcode-lib-fix.patch \
"
SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
@@ -49,57 +50,57 @@ AVOID_CONSTRUCTOR_mips = "true"
do_archgen () {
# We need to dynamically generate our arch file based on the machine
# configuration
- echo "/* Automatically generated by the libzypp recipes */" > zypp/poky-arch.h
- echo "/* Avoid Constructor: ${AVOID_CONSTRUCTOR} */" >> zypp/poky-arch.h
- echo "" >> zypp/poky-arch.h
- echo "#ifndef POKY_ARCH_H" >> zypp/poky-arch.h
- echo "#define POKY_ARCH_H 1" >> zypp/poky-arch.h
- echo "#define Arch_machine Arch_${MACHINE_ARCH}" | tr - _ >> zypp/poky-arch.h
- echo "#endif /* POKY_ARCH_H */" >> zypp/poky-arch.h
- echo "" >> zypp/poky-arch.h
+ echo "/* Automatically generated by the libzypp recipes */" > zypp/oe-arch.h
+ echo "/* Avoid Constructor: ${AVOID_CONSTRUCTOR} */" >> zypp/oe-arch.h
+ echo "" >> zypp/oe-arch.h
+ echo "#ifndef OE_ARCH_H" >> zypp/oe-arch.h
+ echo "#define OE_ARCH_H 1" >> zypp/oe-arch.h
+ echo "#define Arch_machine Arch_${MACHINE_ARCH}" | tr - _ >> zypp/oe-arch.h
+ echo "#endif /* OE_ARCH_H */" >> zypp/oe-arch.h
+ echo "" >> zypp/oe-arch.h
if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then
- echo "#ifdef DEF_BUILTIN" >> zypp/poky-arch.h
- echo "/* Specify builtin types */" >> zypp/poky-arch.h
+ echo "#ifdef DEF_BUILTIN" >> zypp/oe-arch.h
+ echo "/* Specify builtin types */" >> zypp/oe-arch.h
for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in
all | any | noarch)
continue;;
esac
- echo " DEF_BUILTIN( ${each_arch} );" | tr - _ >> zypp/poky-arch.h
+ echo " DEF_BUILTIN( ${each_arch} );" | tr - _ >> zypp/oe-arch.h
done
- echo "#endif /* DEF_BUILTIN */" >> zypp/poky-arch.h
- echo "" >> zypp/poky-arch.h
+ echo "#endif /* DEF_BUILTIN */" >> zypp/oe-arch.h
+ echo "" >> zypp/oe-arch.h
fi
- echo "#ifdef POKY_EXTERN_PROTO" >> zypp/poky-arch.h
- echo "/* Specify extern prototypes */" >> zypp/poky-arch.h
+ echo "#ifdef OE_EXTERN_PROTO" >> zypp/oe-arch.h
+ echo "/* Specify extern prototypes */" >> zypp/oe-arch.h
for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in
all | any | noarch)
continue;;
esac
- echo " extern const Arch Arch_${each_arch};" | tr - _ >> zypp/poky-arch.h
+ echo " extern const Arch Arch_${each_arch};" | tr - _ >> zypp/oe-arch.h
done
- echo "#endif /* POKY_EXTERN_PROTO */" >> zypp/poky-arch.h
- echo "" >> zypp/poky-arch.h
- echo "#ifdef POKY_PROTO" >> zypp/poky-arch.h
- echo "/* Specify prototypes */" >> zypp/poky-arch.h
+ echo "#endif /* OE_EXTERN_PROTO */" >> zypp/oe-arch.h
+ echo "" >> zypp/oe-arch.h
+ echo "#ifdef OE_PROTO" >> zypp/oe-arch.h
+ echo "/* Specify prototypes */" >> zypp/oe-arch.h
for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in
all | any | noarch)
continue;;
esac
if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then
- echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/poky-arch.h
- echo "(_${each_arch});" >> zypp/poky-arch.h
+ echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/oe-arch.h
+ echo "(_${each_arch});" >> zypp/oe-arch.h
else
- echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/poky-arch.h
- echo "( IdString ( \"${each_arch}\" ) );" >> zypp/poky-arch.h
+ echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/oe-arch.h
+ echo "( IdString ( \"${each_arch}\" ) );" >> zypp/oe-arch.h
fi
done
- echo "#endif /* POKY_PROTO */" >> zypp/poky-arch.h
- echo "" >> zypp/poky-arch.h
- echo "#ifdef POKY_DEF_COMPAT" >> zypp/poky-arch.h
- echo "/* Specify compatibility information */" >> zypp/poky-arch.h
+ echo "#endif /* OE_PROTO */" >> zypp/oe-arch.h
+ echo "" >> zypp/oe-arch.h
+ echo "#ifdef OE_DEF_COMPAT" >> zypp/oe-arch.h
+ echo "/* Specify compatibility information */" >> zypp/oe-arch.h
INSTALL_PLATFORM_ARCHS=""
for each_arch in ${PACKAGE_ARCHS} ; do
INSTALL_PLATFORM_ARCHS="$each_arch $INSTALL_PLATFORM_ARCHS"
@@ -134,10 +135,10 @@ do_archgen () {
COMPAT_WITH="${CARCH},${COMPAT} $COMPAT_WITH"
done
for each_compat in ${COMPAT_WITH} ; do
- echo " defCompatibleWith( ${each_compat} );" >> zypp/poky-arch.h
+ echo " defCompatibleWith( ${each_compat} );" >> zypp/oe-arch.h
done
- echo "#endif /* DEF_COMPAT */" >> zypp/poky-arch.h
- echo "" >> zypp/poky-arch.h
+ echo "#endif /* DEF_COMPAT */" >> zypp/oe-arch.h
+ echo "" >> zypp/oe-arch.h
}
addtask archgen before do_configure after do_patch