diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2011-08-04 11:33:23 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-08-05 17:13:00 +0100 |
commit | 8899c51127fc9df3a054bd38b0b33082fa372fa2 (patch) | |
tree | 9e69e8e7386943ca6378cfcf1678a6fb79793465 /meta | |
parent | f0c821ff4efeca36b196370e33ee4ec71730819b (diff) | |
download | openembedded-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>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-extended/libzypp/libzypp/arm-workaround-global-constructor.patch | 23 | ||||
-rw-r--r-- | meta/recipes-extended/libzypp/libzypp/libzypp-compatargs.patch | 54 | ||||
-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.bb | 69 |
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 |