1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 01:19:52 +00:00

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>
This commit is contained in:
Mark Hatle
2011-08-04 11:33:23 -05:00
committed by Saul Wold
parent f783f74e39
commit b79b40e101
4 changed files with 113 additions and 57 deletions
@@ -8,14 +8,15 @@ before the usage of _foo during the initialization of the compatibility
table. table.
The patch, along with a similar change to the recipe generation of the 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. immediate strings wherever they are used.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc Index: 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 --- 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 @@ @@ -152,13 +152,10 @@
// NOTE: Thake care CompatBits::IntT is able to provide one // NOTE: Thake care CompatBits::IntT is able to provide one
// bit for each architecture. // bit for each architecture.
@@ -24,13 +25,13 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
- DEF_BUILTIN( all ); - DEF_BUILTIN( all );
- DEF_BUILTIN( any ); - DEF_BUILTIN( any );
- DEF_BUILTIN( noarch ); - DEF_BUILTIN( noarch );
-#include "poky-arch.h"
-#undef DEF_BUILTIN
+/* Global constructors are not working properly on ARM, avoid the +/* Global constructors are not working properly on ARM, avoid the
+ * known bad case and merge constructors in with the usages + * known bad case and merge constructors in with the usages
+ */ + */
-#include "oe-arch.h"
-#undef DEF_BUILTIN
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
// //
@@ -227,9 +224,9 @@ @@ -227,9 +224,9 @@
@@ -46,7 +47,7 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
// Define the CompatibleWith relation: // Define the CompatibleWith relation:
// //
@@ -305,9 +302,9 @@ @@ -331,9 +328,9 @@
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
const Arch Arch_empty ( IdString::Empty ); 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_any( IdString ( "any" ) );
+ const Arch Arch_noarch( IdString ( "noarch" ) ); + const Arch Arch_noarch( IdString ( "noarch" ) );
#define POKY_PROTO 1 #define OE_PROTO 1
#include "poky-arch.h" #include "oe-arch.h"
@@ -316,7 +316,7 @@ @@ -345,7 +342,7 @@
// METHOD TYPE : Ctor // METHOD TYPE : Ctor
// //
Arch::Arch() Arch::Arch()
@@ -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
}
@@ -3,7 +3,7 @@ Upstream-Status: Inappropriate [distribution]
Disable all of the internal architectures Disable all of the internal architectures
We disable all of the internal architectures and replace them with ones 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> 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( sh4 );
- DEF_BUILTIN( sh4a ); - DEF_BUILTIN( sh4a );
+#include "poky-arch.h" +#include "oe-arch.h"
#undef DEF_BUILTIN #undef DEF_BUILTIN
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
@@ -211,9 +211,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc
- // - //
- defCompatibleWith( _sh4, _noarch ); - defCompatibleWith( _sh4, _noarch );
- defCompatibleWith( _sh4a, _noarch,_sh4 ); - defCompatibleWith( _sh4a, _noarch,_sh4 );
+#define POKY_DEF_COMPAT 1 +#define OE_DEF_COMPAT 1
+#include "poky-arch.h" +#include "oe-arch.h"
+#undef POKY_DEF_COMPAT +#undef OE_DEF_COMPAT
// //
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
// dumpOn( USR ) << endl; // 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_sh4( _sh4 );
- const Arch Arch_sh4a( _sh4a ); - const Arch Arch_sh4a( _sh4a );
+#define POKY_PROTO 1 +#define OE_PROTO 1
+#include "poky-arch.h" +#include "oe-arch.h"
+#undef POKY_PROTO +#undef OE_PROTO
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
// //
@@ -398,9 +398,9 @@ diff -ur git.orig/zypp/Arch.h git/zypp/Arch.h
- extern const Arch Arch_sh4; - extern const Arch Arch_sh4;
- /** \relates Arch */ - /** \relates Arch */
- extern const Arch Arch_sh4a; - extern const Arch Arch_sh4a;
+#define POKY_EXTERN_PROTO 1 +#define OE_EXTERN_PROTO 1
+#include "poky-arch.h" +#include "oe-arch.h"
+#undef POKY_EXTERN_PROTO +#undef OE_EXTERN_PROTO
//@} //@}
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
@@ -411,7 +411,7 @@ diff -ur git.orig/zypp/CMakeLists.txt git/zypp/CMakeLists.txt
SET( zypp_HEADERS SET( zypp_HEADERS
Arch.h Arch.h
+ poky-arch.h + oe-arch.h
AutoDispose.h AutoDispose.h
Bit.h Bit.h
ByteCount.h ByteCount.h
+35 -34
View File
@@ -14,16 +14,17 @@ RDEPENDS_${PN} = "sat-solver"
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433" SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
PV = "0.0-git${SRCPV}" PV = "0.0-git${SRCPV}"
PR = "r12" PR = "r13"
SRC_URI = "git://gitorious.org/opensuse/libzypp.git;protocol=git \ SRC_URI = "git://gitorious.org/opensuse/libzypp.git;protocol=git \
file://no-doc.patch \ file://no-doc.patch \
file://rpm5.patch \ file://rpm5.patch \
file://rpm5-no-rpmdbinit.patch \ file://rpm5-no-rpmdbinit.patch \
file://config-release.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://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" SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
@@ -49,57 +50,57 @@ AVOID_CONSTRUCTOR_mips = "true"
do_archgen () { do_archgen () {
# We need to dynamically generate our arch file based on the machine # We need to dynamically generate our arch file based on the machine
# configuration # configuration
echo "/* Automatically generated by the libzypp recipes */" > zypp/poky-arch.h echo "/* Automatically generated by the libzypp recipes */" > zypp/oe-arch.h
echo "/* Avoid Constructor: ${AVOID_CONSTRUCTOR} */" >> zypp/poky-arch.h echo "/* Avoid Constructor: ${AVOID_CONSTRUCTOR} */" >> zypp/oe-arch.h
echo "" >> zypp/poky-arch.h echo "" >> zypp/oe-arch.h
echo "#ifndef POKY_ARCH_H" >> zypp/poky-arch.h echo "#ifndef OE_ARCH_H" >> zypp/oe-arch.h
echo "#define POKY_ARCH_H 1" >> zypp/poky-arch.h echo "#define OE_ARCH_H 1" >> zypp/oe-arch.h
echo "#define Arch_machine Arch_${MACHINE_ARCH}" | tr - _ >> zypp/poky-arch.h echo "#define Arch_machine Arch_${MACHINE_ARCH}" | tr - _ >> zypp/oe-arch.h
echo "#endif /* POKY_ARCH_H */" >> zypp/poky-arch.h echo "#endif /* OE_ARCH_H */" >> zypp/oe-arch.h
echo "" >> zypp/poky-arch.h echo "" >> zypp/oe-arch.h
if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then
echo "#ifdef DEF_BUILTIN" >> zypp/poky-arch.h echo "#ifdef DEF_BUILTIN" >> zypp/oe-arch.h
echo "/* Specify builtin types */" >> zypp/poky-arch.h echo "/* Specify builtin types */" >> zypp/oe-arch.h
for each_arch in ${PACKAGE_ARCHS} ; do for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in case "$each_arch" in
all | any | noarch) all | any | noarch)
continue;; continue;;
esac esac
echo " DEF_BUILTIN( ${each_arch} );" | tr - _ >> zypp/poky-arch.h echo " DEF_BUILTIN( ${each_arch} );" | tr - _ >> zypp/oe-arch.h
done done
echo "#endif /* DEF_BUILTIN */" >> zypp/poky-arch.h echo "#endif /* DEF_BUILTIN */" >> zypp/oe-arch.h
echo "" >> zypp/poky-arch.h echo "" >> zypp/oe-arch.h
fi fi
echo "#ifdef POKY_EXTERN_PROTO" >> zypp/poky-arch.h echo "#ifdef OE_EXTERN_PROTO" >> zypp/oe-arch.h
echo "/* Specify extern prototypes */" >> zypp/poky-arch.h echo "/* Specify extern prototypes */" >> zypp/oe-arch.h
for each_arch in ${PACKAGE_ARCHS} ; do for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in case "$each_arch" in
all | any | noarch) all | any | noarch)
continue;; continue;;
esac 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 done
echo "#endif /* POKY_EXTERN_PROTO */" >> zypp/poky-arch.h echo "#endif /* OE_EXTERN_PROTO */" >> zypp/oe-arch.h
echo "" >> zypp/poky-arch.h echo "" >> zypp/oe-arch.h
echo "#ifdef POKY_PROTO" >> zypp/poky-arch.h echo "#ifdef OE_PROTO" >> zypp/oe-arch.h
echo "/* Specify prototypes */" >> zypp/poky-arch.h echo "/* Specify prototypes */" >> zypp/oe-arch.h
for each_arch in ${PACKAGE_ARCHS} ; do for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in case "$each_arch" in
all | any | noarch) all | any | noarch)
continue;; continue;;
esac esac
if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then
echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/poky-arch.h echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/oe-arch.h
echo "(_${each_arch});" >> zypp/poky-arch.h echo "(_${each_arch});" >> zypp/oe-arch.h
else else
echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/poky-arch.h echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/oe-arch.h
echo "( IdString ( \"${each_arch}\" ) );" >> zypp/poky-arch.h echo "( IdString ( \"${each_arch}\" ) );" >> zypp/oe-arch.h
fi fi
done done
echo "#endif /* POKY_PROTO */" >> zypp/poky-arch.h echo "#endif /* OE_PROTO */" >> zypp/oe-arch.h
echo "" >> zypp/poky-arch.h echo "" >> zypp/oe-arch.h
echo "#ifdef POKY_DEF_COMPAT" >> zypp/poky-arch.h echo "#ifdef OE_DEF_COMPAT" >> zypp/oe-arch.h
echo "/* Specify compatibility information */" >> zypp/poky-arch.h echo "/* Specify compatibility information */" >> zypp/oe-arch.h
INSTALL_PLATFORM_ARCHS="" INSTALL_PLATFORM_ARCHS=""
for each_arch in ${PACKAGE_ARCHS} ; do for each_arch in ${PACKAGE_ARCHS} ; do
INSTALL_PLATFORM_ARCHS="$each_arch $INSTALL_PLATFORM_ARCHS" INSTALL_PLATFORM_ARCHS="$each_arch $INSTALL_PLATFORM_ARCHS"
@@ -134,10 +135,10 @@ do_archgen () {
COMPAT_WITH="${CARCH},${COMPAT} $COMPAT_WITH" COMPAT_WITH="${CARCH},${COMPAT} $COMPAT_WITH"
done done
for each_compat in ${COMPAT_WITH} ; do for each_compat in ${COMPAT_WITH} ; do
echo " defCompatibleWith( ${each_compat} );" >> zypp/poky-arch.h echo " defCompatibleWith( ${each_compat} );" >> zypp/oe-arch.h
done done
echo "#endif /* DEF_COMPAT */" >> zypp/poky-arch.h echo "#endif /* DEF_COMPAT */" >> zypp/oe-arch.h
echo "" >> zypp/poky-arch.h echo "" >> zypp/oe-arch.h
} }
addtask archgen before do_configure after do_patch addtask archgen before do_configure after do_patch