mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +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:
@@ -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()
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
+12
-12
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user