* [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc
@ 2012-06-09 16:42 Khem Raj
2012-06-09 16:42 ` [PATCH 01/16] binutils_2.22: Backport to fix bogus textrels Khem Raj
` (17 more replies)
0 siblings, 18 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:42 UTC (permalink / raw)
To: openembedded-core
This patch now can compile a uclibc sato image using rpm as packaging backend
Introduces variables into cmake class to control linker flags which was
not available
Adds npth recipe. npth is next gen pth soon gnupg 2.1 will drop pth
and move on to use npth, right now its only used in uclibc case
conditionalize use of pth using libc overrides since pth is not
compatible with uclibc
The following changes since commit 75a973328d50ef3c007edb7a471ea77fb97911ea:
kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib kraj/misc-updates
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates
Khem Raj (16):
binutils_2.22: Backport to fix bogus textrels
rpm: Fix compilation on uclibc
pth: Mark incompatible with uclibc
libtool: Let -fstack-protector passed to link step
rpm: Use link time check for libssp
sat-solver: Fix build on uclibc
libzypp: Fix build with uclibc
augeas: Fix compilation failure
rpm: pass lrt and lpthread to link step explicitly for uclibc
zypper: Fix build on uclibc
cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS
variables
libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth inclusion
npth: Add recipe
gpgme: Depend on npth for uclibc
gnupg-2.0.19: Depend on npth for uclibc
meta/classes/cmake.bbclass | 4 +
meta/recipes-core/tasks/task-self-hosted.bb | 4 +-
.../binutils/binutils/0001-PR-ld-13470.patch | 82 ++++++++++++++++++++
meta/recipes-devtools/binutils/binutils_2.22.bb | 3 +-
meta/recipes-devtools/libtool/libtool-2.4.2.inc | 3 +-
.../libtool/libtool/respect-fstack-protector.patch | 53 +++++++++++++
.../rpm/rpm/fstack-protector-configure-check.patch | 13 +++
meta/recipes-devtools/rpm/rpm/rpmatch.patch | 42 ++++++++++
meta/recipes-devtools/rpm/rpm/uclibc-support.patch | 69 ++++++++++++++++
meta/recipes-devtools/rpm/rpm_5.4.0.bb | 7 ++-
meta/recipes-extended/augeas/augeas.inc | 4 +-
.../0001-Add-missing-argument-to-escape.patch | 29 +++++++
meta/recipes-extended/augeas/augeas_0.10.0.bb | 2 +-
meta/recipes-extended/libzypp/libzypp/cstdio.patch | 49 ++++++++++++
meta/recipes-extended/libzypp/libzypp_git.bb | 9 ++-
.../sat-solver/sat-solver/futimes.patch | 32 ++++++++
meta/recipes-extended/sat-solver/sat-solver_git.bb | 7 +-
meta/recipes-extended/tasks/task-core-lsb.bb | 6 +-
meta/recipes-extended/zypper/zypper/rpmatch.patch | 23 ++++++
meta/recipes-extended/zypper/zypper_git.bb | 4 +-
meta/recipes-support/gnupg/gnupg_2.0.19.bb | 6 +-
meta/recipes-support/gpgme/gpgme_1.3.1.bb | 7 +-
meta/recipes-support/npth/npth_0.90.bb | 17 ++++
meta/recipes-support/pth/pth_2.0.7.bb | 12 +++-
24 files changed, 469 insertions(+), 18 deletions(-)
create mode 100644 meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
create mode 100644 meta/recipes-devtools/libtool/libtool/respect-fstack-protector.patch
create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
create mode 100644 meta/recipes-devtools/rpm/rpm/rpmatch.patch
create mode 100644 meta/recipes-devtools/rpm/rpm/uclibc-support.patch
create mode 100644 meta/recipes-extended/augeas/augeas/0001-Add-missing-argument-to-escape.patch
create mode 100644 meta/recipes-extended/libzypp/libzypp/cstdio.patch
create mode 100644 meta/recipes-extended/sat-solver/sat-solver/futimes.patch
create mode 100644 meta/recipes-extended/zypper/zypper/rpmatch.patch
create mode 100644 meta/recipes-support/npth/npth_0.90.bb
--
1.7.5.4
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 01/16] binutils_2.22: Backport to fix bogus textrels
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
@ 2012-06-09 16:42 ` Khem Raj
2012-06-09 16:43 ` [PATCH 02/16] rpm: Fix compilation on uclibc Khem Raj
` (16 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:42 UTC (permalink / raw)
To: openembedded-core
This is reported by prelinker which does not
go well with textrels.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../binutils/binutils/0001-PR-ld-13470.patch | 82 ++++++++++++++++++++
meta/recipes-devtools/binutils/binutils_2.22.bb | 3 +-
2 files changed, 84 insertions(+), 1 deletions(-)
create mode 100644 meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
diff --git a/meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch b/meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
new file mode 100644
index 0000000..0a0e064
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
@@ -0,0 +1,82 @@
+From 82fdddd1c4e37881db9b4c6a944261521c6f10ac Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@bigpond.net.au>
+Date: Sat, 3 Dec 2011 00:57:59 +0000
+Subject: [PATCH] PR ld/13470 * elf32-ppc.c
+ (ppc_elf_copy_indirect_symbol): Revert substantive
+ change in 2011-07-01 commit. Comment. *
+ elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+
+---
+ bfd/ChangeLog | 7 +++++++
+ bfd/elf32-ppc.c | 14 ++++++++++----
+ bfd/elf64-ppc.c | 14 ++++++++++----
+ 3 files changed, 27 insertions(+), 8 deletions(-)
+
+
+Upstream-Status: Backport
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: binutils-2.22/bfd/elf32-ppc.c
+===================================================================
+--- binutils-2.22.orig/bfd/elf32-ppc.c 2011-11-21 01:29:21.000000000 -0800
++++ binutils-2.22/bfd/elf32-ppc.c 2012-05-31 14:28:48.273784929 -0700
+@@ -2987,10 +2987,6 @@
+ edir->elf.needs_plt |= eind->elf.needs_plt;
+ edir->elf.pointer_equality_needed |= eind->elf.pointer_equality_needed;
+
+- /* If we were called to copy over info for a weak sym, that's all. */
+- if (eind->elf.root.type != bfd_link_hash_indirect)
+- return;
+-
+ if (eind->dyn_relocs != NULL)
+ {
+ if (edir->dyn_relocs != NULL)
+@@ -3022,6 +3018,16 @@
+ eind->dyn_relocs = NULL;
+ }
+
++ /* If we were called to copy over info for a weak sym, that's all.
++ You might think dyn_relocs need not be copied over; After all,
++ both syms will be dynamic or both non-dynamic so we're just
++ moving reloc accounting around. However, ELIMINATE_COPY_RELOCS
++ code in ppc_elf_adjust_dynamic_symbol needs to check for
++ dyn_relocs in read-only sections, and it does so on what is the
++ DIR sym here. */
++ if (eind->elf.root.type != bfd_link_hash_indirect)
++ return;
++
+ /* Copy over the GOT refcount entries that we may have already seen to
+ the symbol which just became indirect. */
+ edir->elf.got.refcount += eind->elf.got.refcount;
+Index: binutils-2.22/bfd/elf64-ppc.c
+===================================================================
+--- binutils-2.22.orig/bfd/elf64-ppc.c 2011-11-21 01:29:24.000000000 -0800
++++ binutils-2.22/bfd/elf64-ppc.c 2012-05-31 14:28:48.285784951 -0700
+@@ -4435,10 +4435,6 @@
+ edir->elf.ref_regular_nonweak |= eind->elf.ref_regular_nonweak;
+ edir->elf.needs_plt |= eind->elf.needs_plt;
+
+- /* If we were called to copy over info for a weak sym, that's all. */
+- if (eind->elf.root.type != bfd_link_hash_indirect)
+- return;
+-
+ /* Copy over any dynamic relocs we may have on the indirect sym. */
+ if (eind->dyn_relocs != NULL)
+ {
+@@ -4471,6 +4467,16 @@
+ eind->dyn_relocs = NULL;
+ }
+
++ /* If we were called to copy over info for a weak sym, that's all.
++ You might think dyn_relocs need not be copied over; After all,
++ both syms will be dynamic or both non-dynamic so we're just
++ moving reloc accounting around. However, ELIMINATE_COPY_RELOCS
++ code in ppc64_elf_adjust_dynamic_symbol needs to check for
++ dyn_relocs in read-only sections, and it does so on what is the
++ DIR sym here. */
++ if (eind->elf.root.type != bfd_link_hash_indirect)
++ return;
++
+ /* Copy over got entries that we may have already seen to the
+ symbol which just became indirect. */
+ if (eind->elf.got.glist != NULL)
diff --git a/meta/recipes-devtools/binutils/binutils_2.22.bb b/meta/recipes-devtools/binutils/binutils_2.22.bb
index 9f62883..7b6adef 100644
--- a/meta/recipes-devtools/binutils/binutils_2.22.bb
+++ b/meta/recipes-devtools/binutils/binutils_2.22.bb
@@ -1,6 +1,6 @@
require binutils.inc
-PR = "r8"
+PR = "r9"
LIC_FILES_CHKSUM="\
file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
@@ -32,6 +32,7 @@ SRC_URI = "\
file://binutils-powerpc-e5500.patch \
file://binutils-armv5e.patch \
file://mips64-default-ld-emulation.patch \
+ file://0001-PR-ld-13470.patch \
"
SRC_URI[md5sum] = "ee0f10756c84979622b992a4a61ea3f5"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 02/16] rpm: Fix compilation on uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
2012-06-09 16:42 ` [PATCH 01/16] binutils_2.22: Backport to fix bogus textrels Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 03/16] pth: Mark incompatible with uclibc Khem Raj
` (15 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
rpmatch is not there in uclibc therefore add logic to configure
to detect it.
x* wrappers need to be defined for uclibc as well.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-devtools/rpm/rpm/rpmatch.patch | 42 ++++++++++++
meta/recipes-devtools/rpm/rpm/uclibc-support.patch | 69 ++++++++++++++++++++
meta/recipes-devtools/rpm/rpm_5.4.0.bb | 4 +-
3 files changed, 114 insertions(+), 1 deletions(-)
create mode 100644 meta/recipes-devtools/rpm/rpm/rpmatch.patch
create mode 100644 meta/recipes-devtools/rpm/rpm/uclibc-support.patch
diff --git a/meta/recipes-devtools/rpm/rpm/rpmatch.patch b/meta/recipes-devtools/rpm/rpm/rpmatch.patch
new file mode 100644
index 0000000..8ea3490
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpmatch.patch
@@ -0,0 +1,42 @@
+Add configure check for rpmatch() and
+creates a compatable macro if it is not provided by the C library.
+
+This is needed for uclibc since it does not have the above function
+implemented.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: rpm-5.4.0/configure.ac
+===================================================================
+--- rpm-5.4.0.orig/configure.ac 2012-05-31 15:40:05.985990822 -0700
++++ rpm-5.4.0/configure.ac 2012-05-31 15:41:15.601995311 -0700
+@@ -800,7 +800,7 @@
+ ftok getaddrinfo getattrlist getcwd getdelim getline getmode getnameinfo dnl
+ getpassphrase getxattr getwd iconv inet_aton lchflags lchmod lchown dnl
+ lgetxattr lsetxattr lutimes madvise mempcpy mkdtemp mkstemp mtrace dnl
+- posix_fadvise posix_fallocate putenv realpath regcomp __secure_getenv dnl
++ posix_fadvise posix_fallocate putenv realpath regcomp rpmatch __secure_getenv dnl
+ setattrlist setenv setlocale setmode setxattr dnl
+ sigaddset sigdelset sigemptyset sighold sigrelse sigpause dnl
+ sigprocmask sigsuspend sigaction dnl
+Index: rpm-5.4.0/system.h
+===================================================================
+--- rpm-5.4.0.orig/system.h 2012-05-31 15:40:05.997991504 -0700
++++ rpm-5.4.0/system.h 2012-05-31 15:42:04.941997731 -0700
+@@ -410,6 +410,14 @@
+ #endif /* defined(__GNUC__) */
+ #endif /* HAVE_MCHECK_H */
+
++#ifndef HAVE_RPMATCH
++#define rpmatch(line) \
++ ( (line == NULL)? -1 : \
++ (*line == 'y' || *line == 'Y')? 1 : \
++ (*line == 'n' || *line == 'N')? 0 : \
++ -1 )
++#endif
++
+ /* Retrofit glibc __progname */
+ #if defined __GLIBC__ && __GLIBC__ >= 2
+ #if __GLIBC_MINOR__ >= 1
diff --git a/meta/recipes-devtools/rpm/rpm/uclibc-support.patch b/meta/recipes-devtools/rpm/rpm/uclibc-support.patch
new file mode 100644
index 0000000..f863669
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/uclibc-support.patch
@@ -0,0 +1,69 @@
+Define the x* wrappers for uclibc as well
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: rpm-5.4.0/rpmio/rpmio.h
+===================================================================
+--- rpm-5.4.0.orig/rpmio/rpmio.h 2010-09-29 07:54:30.000000000 -0700
++++ rpm-5.4.0/rpmio/rpmio.h 2012-05-31 16:05:26.042065540 -0700
+@@ -23,7 +23,8 @@
+ */
+ /*@{*/
+ #if !defined(__LCLINT__) && !defined(__UCLIBC__) && defined(__GLIBC__) && \
+- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2))
++ (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && \
++ !defined(__UCLIBC__)
+ #define USE_COOKIE_SEEK_POINTER 1
+ typedef _IO_off64_t _libio_off_t;
+ typedef _libio_off_t * _libio_pos_t;
+Index: rpm-5.4.0/system.h
+===================================================================
+--- rpm-5.4.0.orig/system.h 2010-09-27 14:24:39.000000000 -0700
++++ rpm-5.4.0/system.h 2012-05-31 16:08:07.334073348 -0700
+@@ -402,12 +402,12 @@
+ #endif /* defined(__LCLINT__) */
+
+ /* Memory allocation via macro defs to get meaningful locations from mtrace() */
+-#if defined(__GNUC__)
++#if defined(__GNUC__) || defined(__UCLIBC__)
+ #define xmalloc(_size) (malloc(_size) ? : vmefail(_size))
+ #define xcalloc(_nmemb, _size) (calloc((_nmemb), (_size)) ? : vmefail(_size))
+ #define xrealloc(_ptr, _size) (realloc((_ptr), (_size)) ? : vmefail(_size))
+ #define xstrdup(_str) (strcpy((malloc(strlen(_str)+1) ? : vmefail(strlen(_str)+1)), (_str)))
+-#endif /* defined(__GNUC__) */
++#endif /* defined(__GNUC__) */
+ #endif /* HAVE_MCHECK_H */
+
+ /* Retrofit glibc __progname */
+Index: rpm-5.4.0/lib/librpm.vers
+===================================================================
+--- rpm-5.4.0.orig/lib/librpm.vers 2010-09-27 16:12:48.000000000 -0700
++++ rpm-5.4.0/lib/librpm.vers 2012-05-31 16:05:26.042065540 -0700
+@@ -405,6 +405,10 @@
+ specedit;
+ strict_erasures;
+ XrpmtsiInit;
++ xmalloc;
++ xrealloc;
++ xcalloc;
++ xstrdup;
+ local:
+ *;
+ };
+Index: rpm-5.4.0/rpmio/librpmio.vers
+===================================================================
+--- rpm-5.4.0.orig/rpmio/librpmio.vers 2012-05-31 16:13:34.034089141 -0700
++++ rpm-5.4.0/rpmio/librpmio.vers 2012-05-31 16:13:56.542090245 -0700
+@@ -881,6 +881,10 @@
+ mongo_simple_int_command;
+ mongo_simple_str_command;
+ mongo_update;
++ xmalloc;
++ xrealloc;
++ xcalloc;
++ xstrdup;
+ local:
+ *;
+ };
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.0.bb b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
index 43999e5..f4938fd 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.0.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
@@ -45,7 +45,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "bzip2 zlib db openssl elfutils expat libpcre attr acl popt ${extrarpmdeps}"
extrarpmdeps = "python perl file"
extrarpmdeps_virtclass-native = "python-native file-native"
-PR = "r38"
+PR = "r39"
# rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed
# in order to extract the distribution SRPM into a format we can extract...
@@ -72,6 +72,8 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;ex
file://rpm-resolvedep.patch \
file://rpm-respect-arch.patch \
file://rpm_fix_for_automake-1.12.patch \
+ file://uclibc-support.patch \
+ file://rpmatch.patch \
"
# file://rpm-autoconf.patch \
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 03/16] pth: Mark incompatible with uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
2012-06-09 16:42 ` [PATCH 01/16] binutils_2.22: Backport to fix bogus textrels Khem Raj
2012-06-09 16:43 ` [PATCH 02/16] rpm: Fix compilation on uclibc Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 04/16] libtool: Let -fstack-protector passed to link step Khem Raj
` (14 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
pth does not work with uclibc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-support/pth/pth_2.0.7.bb | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-support/pth/pth_2.0.7.bb b/meta/recipes-support/pth/pth_2.0.7.bb
index 61865b7..cdd5eaf 100644
--- a/meta/recipes-support/pth/pth_2.0.7.bb
+++ b/meta/recipes-support/pth/pth_2.0.7.bb
@@ -3,9 +3,17 @@ HOMEPAGE = "http://www.gnu.org/software/pth/"
SECTION = "libs"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;beginline=12;endline=15;md5=a48af114a80c222cafd37f24370a77b1"
-PR = "r1"
+PR = "r2"
-SRC_URI = "${GNU_MIRROR}/pth/pth-${PV}.tar.gz"
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc*', d.getVar('TARGET_OS', True)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with uClibc")
+}
+
+SRC_URI = "${GNU_MIRROR}/pth/pth-${PV}.tar.gz \
+ "
SRC_URI[md5sum] = "9cb4a25331a4c4db866a31cbe507c793"
SRC_URI[sha256sum] = "72353660c5a2caafd601b20e12e75d865fd88f6cf1a088b306a3963f0bc77232"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 04/16] libtool: Let -fstack-protector passed to link step
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (2 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 03/16] pth: Mark incompatible with uclibc Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 05/16] rpm: Use link time check for libssp Khem Raj
` (13 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
linker should add -lssp to linker cmdline when
-fstack-protector therefore add this knowledge to libtool
otherwise packages will fail to link
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-devtools/libtool/libtool-2.4.2.inc | 3 +-
.../libtool/libtool/respect-fstack-protector.patch | 53 ++++++++++++++++++++
2 files changed, 55 insertions(+), 1 deletions(-)
create mode 100644 meta/recipes-devtools/libtool/libtool/respect-fstack-protector.patch
diff --git a/meta/recipes-devtools/libtool/libtool-2.4.2.inc b/meta/recipes-devtools/libtool/libtool-2.4.2.inc
index c1ef7c4..05a2e6d 100644
--- a/meta/recipes-devtools/libtool/libtool-2.4.2.inc
+++ b/meta/recipes-devtools/libtool/libtool-2.4.2.inc
@@ -8,7 +8,7 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://libltdl/COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
-INC_PR = "r3"
+INC_PR = "r4"
SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
file://trailingslash.patch \
@@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
file://fix-final-rpath.patch \
file://avoid_absolute_paths_for_general_utils.patch \
file://fix-rpath.patch \
+ file://respect-fstack-protector.patch \
"
SRC_URI[md5sum] = "d2f3b7d4627e69e13514a40e72a24d50"
diff --git a/meta/recipes-devtools/libtool/libtool/respect-fstack-protector.patch b/meta/recipes-devtools/libtool/libtool/respect-fstack-protector.patch
new file mode 100644
index 0000000..a82b2ec
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/respect-fstack-protector.patch
@@ -0,0 +1,53 @@
+Source: http://permalink.gmane.org/gmane.comp.gnu.libtool.bugs/7341
+
+Bug confirmed. When code is compiled with -fstack-protector{,-all},
+GCC "emits extra code to check for buffer overflows, such as stack
+smashing attacks". This extra code uses symbols from libssp, and
+therefore (at least) Cygwin's GCC specs contain:
+
+*link_ssp:
+%{fstack-protector|fstack-protector-all:-lssp_nonshared -lssp}
+
+Therefore, when libtool fails to pass -fstack-protector{,-all} at link
+stage, the link fails.
+
+Patch attached. (Yes, I have a copyright assignment on file.)
+
+Yaakov
+Cygwin/X
+
+From b79f4e117b6f73cc461a2e232063e08481d33300 Mon Sep 17 00:00:00 2001
+From: Yaakov Selkowitz <yselkowitz <at> users.sourceforge.net>
+Date: Tue, 1 Jun 2010 22:18:51 -0500
+Subject: [PATCH] Fix linking with -fstack-protector
+
+* libltdl/config/ltmain.m4sh (func_mode_link): Pass -fstack-protector*
+to the linker as it is required at link time to resolve libssp symbols.
+
+Signed-off-by: Yaakov Selkowitz <yselkowitz <at> users.sourceforge.net>
+---
+ libltdl/config/ltmain.m4sh | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: libtool-2.4.2/libltdl/config/ltmain.m4sh
+===================================================================
+--- libtool-2.4.2.orig/libltdl/config/ltmain.m4sh 2012-06-01 12:35:44.089638130 -0700
++++ libtool-2.4.2/libltdl/config/ltmain.m4sh 2012-06-01 12:37:25.789643055 -0700
+@@ -5067,13 +5067,14 @@
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
++ # -fstack-protector* stack protector flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ # --sysroot=* for sysroot support
+ # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
++ -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 05/16] rpm: Use link time check for libssp
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (3 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 04/16] libtool: Let -fstack-protector passed to link step Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 06/16] sat-solver: Fix build on uclibc Khem Raj
` (12 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
-fstack-protector needs libssp to link with
so when checking for this option support we
need to find if libssp is staged in root file
system
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../rpm/rpm/fstack-protector-configure-check.patch | 13 +++++++++++++
meta/recipes-devtools/rpm/rpm_5.4.0.bb | 1 +
2 files changed, 14 insertions(+), 0 deletions(-)
create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
diff --git a/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
new file mode 100644
index 0000000..84d0430
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
@@ -0,0 +1,13 @@
+Index: rpm-5.4.0/configure.ac
+===================================================================
+--- rpm-5.4.0.orig/configure.ac 2012-06-01 11:41:19.741480143 -0700
++++ rpm-5.4.0/configure.ac 2012-06-01 11:41:51.773481676 -0700
+@@ -193,7 +193,7 @@
+ my_save_cflags="$CFLAGS"
+ CFLAGS=$c
+ AC_MSG_CHECKING([whether GCC supports $c])
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
+ [AC_MSG_RESULT([yes])]
+ [my_cflags=$c],
+ [AC_MSG_RESULT([no])]
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.0.bb b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
index f4938fd..a8bff65 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.0.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
@@ -74,6 +74,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;ex
file://rpm_fix_for_automake-1.12.patch \
file://uclibc-support.patch \
file://rpmatch.patch \
+ file://fstack-protector-configure-check.patch \
"
# file://rpm-autoconf.patch \
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 06/16] sat-solver: Fix build on uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (4 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 05/16] rpm: Use link time check for libssp Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 07/16] libzypp: Fix build with uclibc Khem Raj
` (11 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
futimes is not available on uclibc so use utimes
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../sat-solver/sat-solver/futimes.patch | 32 ++++++++++++++++++++
meta/recipes-extended/sat-solver/sat-solver_git.bb | 7 +++-
2 files changed, 37 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-extended/sat-solver/sat-solver/futimes.patch
diff --git a/meta/recipes-extended/sat-solver/sat-solver/futimes.patch b/meta/recipes-extended/sat-solver/sat-solver/futimes.patch
new file mode 100644
index 0000000..b24d852
--- /dev/null
+++ b/meta/recipes-extended/sat-solver/sat-solver/futimes.patch
@@ -0,0 +1,32 @@
+This patch uses utimes instead of futimes for uclibc
+since futimes is not available
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: git/examples/solv.c
+===================================================================
+--- git.orig/examples/solv.c 2012-06-01 12:06:22.041552848 -0700
++++ git/examples/solv.c 2012-06-01 12:49:17.417677449 -0700
+@@ -1027,7 +1027,8 @@
+ int flags;
+
+ cinfo = repo->appdata;
+- if (!(fp = fopen(calccachepath(repo, repoext), "r")))
++ const char* fname = calccachepath(repo, repoext);
++ if (!(fp = fopen(fname, "r")))
+ return 0;
+ if (fseek(fp, -sizeof(mycookie), SEEK_END) || fread(mycookie, sizeof(mycookie), 1, fp) != 1)
+ {
+@@ -1068,7 +1069,11 @@
+ memcpy(cinfo->extcookie, myextcookie, sizeof(myextcookie));
+ }
+ if (mark)
++#ifdef __UCLIBC__
++ utimes(fname, 0); /* try to set modification time */
++#else
+ futimes(fileno(fp), 0); /* try to set modification time */
++#endif
+ fclose(fp);
+ return 1;
+ }
diff --git a/meta/recipes-extended/sat-solver/sat-solver_git.bb b/meta/recipes-extended/sat-solver/sat-solver_git.bb
index 9d8422f..743c6f8 100644
--- a/meta/recipes-extended/sat-solver/sat-solver_git.bb
+++ b/meta/recipes-extended/sat-solver/sat-solver_git.bb
@@ -8,7 +8,7 @@ DEPENDS = "libcheck rpm zlib expat db"
SRCREV = "0a7378d5f482f477a01cf1690d76871ab8bdcc32"
PV = "0.0-git${SRCPV}"
-PR = "r13"
+PR = "r14"
PARALLEL_MAKE=""
@@ -20,14 +20,17 @@ SRC_URI = "git://github.com/openSUSE/sat-solver.git;protocol=git \
file://sat-solver_core.patch \
file://fix_gcc-4.6.0_compile_issue.patch \
file://0001-sat_xfopen.c-Forward-port-to-zlib-1.2.6-gzFile.patch \
+ file://futimes.patch \
"
S = "${WORKDIR}/git"
-EXTRA_OECMAKE += "-DRPM5=RPM5 -DOE_CORE=OE_CORE"
+EXTRA_OECMAKE += "-DRPM5=RPM5 -DOE_CORE=OE_CORE -DUSE_OWN_QSORT=1"
EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}"
+TUNE_CCARGS += "-DUSE_OWN_QSORT=1"
+
inherit cmake pkgconfig
RDEPENDS_${PN} = "rpm-libs"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 07/16] libzypp: Fix build with uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (5 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 06/16] sat-solver: Fix build on uclibc Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 08/16] augeas: Fix compilation failure Khem Raj
` (10 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
cstdio is included indrectly with eglibc based systems
but not with uclibc based systems and use of functions
like ::eof are then reported as warnings. Therefore
we include cstdio explicitly.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-extended/libzypp/libzypp/cstdio.patch | 49 ++++++++++++++++++++
meta/recipes-extended/libzypp/libzypp_git.bb | 10 +++-
2 files changed, 57 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-extended/libzypp/libzypp/cstdio.patch
diff --git a/meta/recipes-extended/libzypp/libzypp/cstdio.patch b/meta/recipes-extended/libzypp/libzypp/cstdio.patch
new file mode 100644
index 0000000..a021d58
--- /dev/null
+++ b/meta/recipes-extended/libzypp/libzypp/cstdio.patch
@@ -0,0 +1,49 @@
+include cstdio to get definitions of ::xxx functions which
+are now reported by gcc-4.7 as wanrings and warnings are treated
+as errors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: git/zypp/ExternalProgram.cc
+===================================================================
+--- git.orig/zypp/ExternalProgram.cc 2012-06-01 16:25:17.098304709 -0700
++++ git/zypp/ExternalProgram.cc 2012-06-01 16:25:37.254305681 -0700
+@@ -22,6 +22,7 @@
+ #include <cstring> // strsignal
+ #include <iostream>
+ #include <sstream>
++#include <cstdio>
+
+ #include "zypp/base/Logger.h"
+ #include "zypp/base/String.h"
+Index: git/zypp/PluginScript.cc
+===================================================================
+--- git.orig/zypp/PluginScript.cc 2012-06-01 16:21:37.814294089 -0700
++++ git/zypp/PluginScript.cc 2012-06-01 16:24:41.002302961 -0700
+@@ -14,6 +14,7 @@
+
+ #include <iostream>
+ #include <sstream>
++#include <cstdio>
+
+ #include "zypp/base/LogTools.h"
+ #include "zypp/base/DefaultIntegral.h"
+@@ -336,7 +337,7 @@
+ if ( fd == -1 )
+ ZYPP_THROW( PluginScriptException( "Bad file descriptor" ) );
+
+- ::clearerr( filep );
++ std::clearerr( filep );
+ std::string data;
+ {
+ PluginDebugBuffer _debug( data ); // dump receive buffer if PLUGIN_DEBUG
+@@ -370,7 +371,7 @@
+ int retval = select( fd+1, &rfds, NULL, NULL, &tv );
+ if ( retval > 0 ) // FD_ISSET( fd, &rfds ) will be true.
+ {
+- ::clearerr( filep );
++ std::clearerr( filep );
+ }
+ else if ( retval == 0 )
+ {
diff --git a/meta/recipes-extended/libzypp/libzypp_git.bb b/meta/recipes-extended/libzypp/libzypp_git.bb
index 3c3a9f0..0fe6114 100644
--- a/meta/recipes-extended/libzypp/libzypp_git.bb
+++ b/meta/recipes-extended/libzypp/libzypp_git.bb
@@ -11,7 +11,7 @@ DEPENDS = "rpm boost curl libxml2 zlib sat-solver expat openssl udev libproxy"
S = "${WORKDIR}/git"
SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
PV = "0.0-git${SRCPV}"
-PR = "r20"
+PR = "r21"
SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
file://no-doc.patch \
@@ -23,6 +23,7 @@ SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
file://fix_for_compile_wth_gcc-4.6.0.patch \
file://hardcode-lib-fix.patch \
file://close.patch \
+ file://cstdio.patch \
"
SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
@@ -31,7 +32,10 @@ SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
SRC_URI_append_arm = " file://arm-workaround-global-constructor.patch"
# rpmdb2solv from sat-solver is run from libzypp
-RDEPENDS_${PN} = "sat-solver rpm-libs gzip gnupg"
+RDEPENDS_${PN} = "sat-solver rpm-libs gzip ${RDEPGNUPG}"
+
+RDEPGNUPG = "gnupg"
+RDEPGNUPG_libc-uclibc = ""
PACKAGES =+ "${PN}-pkgmgt"
@@ -45,6 +49,8 @@ FILES_${PN}-pkgmgt = "${bindir}/package-manager \
EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}"
+LDFLAGS += "-lpthread"
+
PACKAGE_ARCH = "${MACHINE_ARCH}"
AVOID_CONSTRUCTOR = ""
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 08/16] augeas: Fix compilation failure
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (6 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 07/16] libzypp: Fix build with uclibc Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 09/16] rpm: pass lrt and lpthread to link step explicitly for uclibc Khem Raj
` (9 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
on uclibc we see this failure
too few arguments to function 'escape'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-extended/augeas/augeas.inc | 4 ++-
.../0001-Add-missing-argument-to-escape.patch | 29 ++++++++++++++++++++
meta/recipes-extended/augeas/augeas_0.10.0.bb | 2 +-
3 files changed, 33 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-extended/augeas/augeas/0001-Add-missing-argument-to-escape.patch
diff --git a/meta/recipes-extended/augeas/augeas.inc b/meta/recipes-extended/augeas/augeas.inc
index 9fe864d..479fb97 100644
--- a/meta/recipes-extended/augeas/augeas.inc
+++ b/meta/recipes-extended/augeas/augeas.inc
@@ -5,7 +5,9 @@ BUGTRACKER = "https://fedorahosted.org/augeas/report/1"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbb461211a33b134d42ed5ee802b37ff"
-SRC_URI = "http://augeas.net/download/${BP}.tar.gz"
+SRC_URI = "http://augeas.net/download/${BP}.tar.gz \
+ file://0001-Add-missing-argument-to-escape.patch \
+ "
DEPENDS = "readline libxml2"
diff --git a/meta/recipes-extended/augeas/augeas/0001-Add-missing-argument-to-escape.patch b/meta/recipes-extended/augeas/augeas/0001-Add-missing-argument-to-escape.patch
new file mode 100644
index 0000000..3d0d0e3
--- /dev/null
+++ b/meta/recipes-extended/augeas/augeas/0001-Add-missing-argument-to-escape.patch
@@ -0,0 +1,29 @@
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+From 021ea39f8e400225e2d01b4c62eb9d56404f2ecd Mon Sep 17 00:00:00 2001
+From: Michael Chapman <mike@very.puzzling.org>
+Date: Fri, 16 Dec 2011 21:30:07 +1100
+Subject: [PATCH] Add missing argument to escape()
+
+Fixes ticket #242.
+---
+ src/regexp.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/regexp.c b/src/regexp.c
+index cf0ea5d..811087d 100644
+--- a/src/regexp.c
++++ b/src/regexp.c
+@@ -50,7 +50,7 @@ char *regexp_escape(const struct regexp *r) {
+ ret = fa_restrict_alphabet(r->pattern->str, strlen(r->pattern->str),
+ &nre, &nre_len, 2, 1);
+ if (ret == 0) {
+- pat = escape(nre, nre_len);
++ pat = escape(nre, nre_len, RX_ESCAPES);
+ free(nre);
+ }
+ #endif
+--
+1.7.5.4
+
diff --git a/meta/recipes-extended/augeas/augeas_0.10.0.bb b/meta/recipes-extended/augeas/augeas_0.10.0.bb
index 00921aa..1a08707 100644
--- a/meta/recipes-extended/augeas/augeas_0.10.0.bb
+++ b/meta/recipes-extended/augeas/augeas_0.10.0.bb
@@ -1,6 +1,6 @@
require augeas.inc
-PR = "r1"
+PR = "r2"
SRC_URI[md5sum] = "fe1834e90a066c3208ac0214622c7352"
SRC_URI[sha256sum] = "ec111af06186216930176ebe5ecccdf7bf528528aee9acde1d5d70088484afca"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 09/16] rpm: pass lrt and lpthread to link step explicitly for uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (7 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 08/16] augeas: Fix compilation failure Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 10/16] zypper: Fix build on uclibc Khem Raj
` (8 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
These need to appear in DT_NEEDED for librpmio.so
for uclibc somehow it does not get added to link
cmdline so we do it explicitly.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-devtools/rpm/rpm_5.4.0.bb | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.0.bb b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
index a8bff65..e9d2f35e 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.0.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
@@ -178,6 +178,8 @@ EXTRA_OECONF = "--verbose \
CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY"
+LDFLAGS_append_libc-uclibc = "-lrt -lpthread"
+
PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-staticdev ${PN}-common ${PN}-build python-rpm-dbg python-rpm-staticdev python-rpm perl-module-rpm perl-module-rpm-dev ${PN}-locale"
SOLIBS = "5.4.so"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 10/16] zypper: Fix build on uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (8 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 09/16] rpm: pass lrt and lpthread to link step explicitly for uclibc Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 11/16] cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables Khem Raj
` (7 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
uclibc does not have rpmatch() so we define
it if zypper is being compiled for uclibc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-extended/zypper/zypper/rpmatch.patch | 23 +++++++++++++++++++++
meta/recipes-extended/zypper/zypper_git.bb | 4 ++-
2 files changed, 26 insertions(+), 1 deletions(-)
create mode 100644 meta/recipes-extended/zypper/zypper/rpmatch.patch
diff --git a/meta/recipes-extended/zypper/zypper/rpmatch.patch b/meta/recipes-extended/zypper/zypper/rpmatch.patch
new file mode 100644
index 0000000..a750a3b
--- /dev/null
+++ b/meta/recipes-extended/zypper/zypper/rpmatch.patch
@@ -0,0 +1,23 @@
+rpmatch() is missing in uclibc so we provide a local definition
+in form of a macro
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: git/src/utils/prompt.h
+===================================================================
+--- git.orig/src/utils/prompt.h 2012-06-06 15:51:00.899112775 -0700
++++ git/src/utils/prompt.h 2012-06-06 15:52:17.003116762 -0700
+@@ -172,4 +172,12 @@
+ return errstr;
+ }
+
++#ifdef __UCLIBC__
++#define rpmatch(line) \
++ ( (line == NULL)? -1 : \
++ (*line == 'y' || *line == 'Y')? 1 : \
++ (*line == 'n' || *line == 'N')? 0 : \
++ -1 )
++#endif /* __UCLIBC__ */
++
+ #endif /*ZYPPERPROMPT_H_*/
diff --git a/meta/recipes-extended/zypper/zypper_git.bb b/meta/recipes-extended/zypper/zypper_git.bb
index 56ccc86..c5d7c61 100644
--- a/meta/recipes-extended/zypper/zypper_git.bb
+++ b/meta/recipes-extended/zypper/zypper_git.bb
@@ -5,7 +5,7 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=3201406e350b39e05a82e28b5020f413"
DEPENDS = "libzypp augeas"
-PR = "r2"
+PR = "r3"
SRCREV = "2c5bb6ceb99ecd950ef993e43d77bf0569ea0582"
inherit cmake
@@ -16,6 +16,7 @@ SRC_URI = "git://github.com/openSUSE/zypper.git;protocol=git \
file://dso_linking_change_build_fix.patch \
file://rpm5-flag.patch \
file://gcc-scope.patch \
+ file://rpmatch.patch \
"
S = "${WORKDIR}/git"
@@ -25,3 +26,4 @@ RDEPENDS_${PN} = "rpm-libs"
RRECOMMENDS_${PN} = "procps util-linux-uuidgen"
PACKAGE_ARCH = "${MACHINE_ARCH}"
+OECMAKE_CXX_LINK_FLAGS_libc-uclibc += "-lintl"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 11/16] cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (9 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 10/16] zypper: Fix build on uclibc Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 12/16] libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc Khem Raj
` (6 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
In some cases we need to specify linker flags and right
now we do not have a way to communicate that to cmake
based systems. cmake defines CMAKE_C_LINK_FLAGS and CMAKE_CXX_LINK_FLAGS
for these needs. This patch therefore defines two local variables
namely OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS which
can be altered by recipes to tweak linker flags
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/classes/cmake.bbclass | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
index dcd974a..eda45dd 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -23,6 +23,8 @@ OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS}"
OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} -fpermissive"
OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CPPFLAGS} -DNDEBUG"
OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CXXFLAGS} -DNDEBUG"
+OECMAKE_C_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS} ${LDFLAGS}"
+OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LDFLAGS}"
OECMAKE_RPATH ?= ""
OECMAKE_PERLNATIVE_DIR ??= ""
@@ -40,6 +42,8 @@ set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" )
set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" )
set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "CFLAGS for release" )
set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "CXXFLAGS for release" )
+set( CMAKE_C_LINK_FLAGS "${OECMAKE_C_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
+set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
# only search in the paths provided so cmake doesnt pick
# up libraries and tools from the native build machine
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 12/16] libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (10 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 11/16] cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 13/16] task-self-hosted.bb, task-core-lsb.bb: Conditionalize pth inclusion Khem Raj
` (5 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-extended/libzypp/libzypp_git.bb | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-extended/libzypp/libzypp_git.bb b/meta/recipes-extended/libzypp/libzypp_git.bb
index 0fe6114..ad38751 100644
--- a/meta/recipes-extended/libzypp/libzypp_git.bb
+++ b/meta/recipes-extended/libzypp/libzypp_git.bb
@@ -48,8 +48,7 @@ FILES_${PN}-pkgmgt = "${bindir}/package-manager \
"
EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}"
-
-LDFLAGS += "-lpthread"
+OECMAKE_CXX_LINK_FLAGS_libc-uclibc += "-pthread"
PACKAGE_ARCH = "${MACHINE_ARCH}"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 13/16] task-self-hosted.bb, task-core-lsb.bb: Conditionalize pth inclusion
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (11 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 12/16] libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 14/16] npth: Add recipe Khem Raj
` (4 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
pth is not portable to uclibc therefore we need to exclude it for
uclibc based systems.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-core/tasks/task-self-hosted.bb | 4 +++-
meta/recipes-extended/tasks/task-core-lsb.bb | 6 +++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-core/tasks/task-self-hosted.bb b/meta/recipes-core/tasks/task-self-hosted.bb
index 64e01bb..61d08ed 100644
--- a/meta/recipes-core/tasks/task-self-hosted.bb
+++ b/meta/recipes-core/tasks/task-self-hosted.bb
@@ -137,7 +137,7 @@ RDEPENDS_task-self-hosted-extended = "\
perl-dev \
perl-modules \
perl-pod \
- pth \
+ ${PTH} \
python \
python-compile \
python-compiler \
@@ -199,3 +199,5 @@ RDEPENDS_task-self-hosted-graphics = "\
python-pygtk \
gtk-theme-clearlooks \
"
+PTH = "pth"
+PTH_libc-uclibc = ""
diff --git a/meta/recipes-extended/tasks/task-core-lsb.bb b/meta/recipes-extended/tasks/task-core-lsb.bb
index 4faf4d7..553b89e 100644
--- a/meta/recipes-extended/tasks/task-core-lsb.bb
+++ b/meta/recipes-extended/tasks/task-core-lsb.bb
@@ -70,7 +70,7 @@ RDEPENDS_task-core-sys-extended = "\
minicom \
neon \
parted \
- pth \
+ ${PTH} \
quota \
screen \
setserial \
@@ -197,3 +197,7 @@ RDEPENDS_task-core-lsb-runtime-add = "\
eglibc-pic \
eglibc-utils \
"
+
+PTH = "pth"
+PTH_libc-uclibc = ""
+
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 14/16] npth: Add recipe
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (12 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 13/16] task-self-hosted.bb, task-core-lsb.bb: Conditionalize pth inclusion Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 15/16] gpgme: Depend on npth for uclibc Khem Raj
` (3 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
npth is modern version of pth
gnugp 2.1 will drop pth in favor of npth
npth works with uclibc too whereas pth does not
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-support/npth/npth_0.90.bb | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
create mode 100644 meta/recipes-support/npth/npth_0.90.bb
diff --git a/meta/recipes-support/npth/npth_0.90.bb b/meta/recipes-support/npth/npth_0.90.bb
new file mode 100644
index 0000000..7d39ca8
--- /dev/null
+++ b/meta/recipes-support/npth/npth_0.90.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "New GNU Portable Threads"
+HOMEPAGE = "http://www.gnupg.org/software/pth/"
+SECTION = "libs"
+LICENSE = "LGPLv3+ & GPLv2+"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=751419260aa954499f7abaabaa882bbe\
+ file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6\
+ "
+SRC_URI = "ftp://ftp.gnupg.org/gcrypt/npth/npth-${PV}.tar.bz2 \
+ "
+SRC_URI[md5sum] = "701665669b371385a92817ff1f9215ca"
+SRC_URI[sha256sum] = "e24e99c9e90e7c2c2272fed3a939647fdcd3a7ee0c9efb2983eed553ab2b4568"
+
+inherit autotools binconfig
+
+FILES_${PN} = "${libdir}/libnpth.so.*"
+FILES_${PN}-dev += "${bindir}/npth-config"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 15/16] gpgme: Depend on npth for uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (13 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 14/16] npth: Add recipe Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-09 16:43 ` [PATCH 16/16] gnupg-2.0.19: " Khem Raj
` (2 subsequent siblings)
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-support/gpgme/gpgme_1.3.1.bb | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-support/gpgme/gpgme_1.3.1.bb b/meta/recipes-support/gpgme/gpgme_1.3.1.bb
index 4bcb57a..43d8aad 100644
--- a/meta/recipes-support/gpgme/gpgme_1.3.1.bb
+++ b/meta/recipes-support/gpgme/gpgme_1.3.1.bb
@@ -13,8 +13,11 @@ SRC_URI = "ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-${PV}.tar.bz2 \
SRC_URI[md5sum] = "90afa8436ce2b2683c001c824bd22601"
SRC_URI[sha256sum] = "15ef27a875ae0d79d7446fd931deda11438e724ffbeac74449ed19cba23df4d4"
-DEPENDS = "libgpg-error libassuan pth"
-PR = "r1"
+DEPENDS = "libgpg-error libassuan ${PTH}"
+PTH_libc-uclibc = "npth"
+PTH = "pth"
+
+PR = "r2"
EXTRA_OECONF = "--with-pth=${STAGING_DIR_HOST} --without-pth-test \
--with-gpg=${bindir}/gpg --without-gpgsm"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 16/16] gnupg-2.0.19: Depend on npth for uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (14 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 15/16] gpgme: Depend on npth for uclibc Khem Raj
@ 2012-06-09 16:43 ` Khem Raj
2012-06-10 23:05 ` [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
2012-06-11 13:03 ` Richard Purdie
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-09 16:43 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-support/gnupg/gnupg_2.0.19.bb | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-support/gnupg/gnupg_2.0.19.bb b/meta/recipes-support/gnupg/gnupg_2.0.19.bb
index d014f03..24219a8 100644
--- a/meta/recipes-support/gnupg/gnupg_2.0.19.bb
+++ b/meta/recipes-support/gnupg/gnupg_2.0.19.bb
@@ -4,8 +4,10 @@ LICENSE = "GPLv3 & LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-DEPENDS = "pth libassuan libksba zlib bzip2 readline libgcrypt"
-PR = "r2"
+DEPENDS = "${PTH} libassuan libksba zlib bzip2 readline libgcrypt"
+PTH = "pth"
+PTH_libc-uclibc = "npth"
+PR = "r3"
inherit autotools gettext
--
1.7.5.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (15 preceding siblings ...)
2012-06-09 16:43 ` [PATCH 16/16] gnupg-2.0.19: " Khem Raj
@ 2012-06-10 23:05 ` Khem Raj
2012-06-11 13:03 ` Richard Purdie
17 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-10 23:05 UTC (permalink / raw)
To: openembedded-core
On Sat, Jun 9, 2012 at 9:42 AM, Khem Raj <raj.khem@gmail.com> wrote:
>
> This patch now can compile a uclibc sato image using rpm as packaging backend
> Introduces variables into cmake class to control linker flags which was
> not available
> Adds npth recipe. npth is next gen pth soon gnupg 2.1 will drop pth
> and move on to use npth, right now its only used in uclibc case
> conditionalize use of pth using libc overrides since pth is not
> compatible with uclibc
>
> The following changes since commit 75a973328d50ef3c007edb7a471ea77fb97911ea:
>
> kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)
>
> are available in the git repository at:
> git://git.openembedded.org/openembedded-core-contrib kraj/misc-updates
> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates
I have updated this pull request with two additional changes
1. Upgrade uclibc git recipes to latest tip of master this gets
the eventfd patches which are needed for glib-2.32.x to function
correctly.
2. Include gcc patches to exclude call-convention settings when building
native and nativesdk gcc recipes.
3. Use translated target arch instead of target_arch in gcc.
>
> Khem Raj (16):
> binutils_2.22: Backport to fix bogus textrels
> rpm: Fix compilation on uclibc
> pth: Mark incompatible with uclibc
> libtool: Let -fstack-protector passed to link step
> rpm: Use link time check for libssp
> sat-solver: Fix build on uclibc
> libzypp: Fix build with uclibc
> augeas: Fix compilation failure
> rpm: pass lrt and lpthread to link step explicitly for uclibc
> zypper: Fix build on uclibc
> cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS
> variables
> libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
> task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth inclusion
> npth: Add recipe
> gpgme: Depend on npth for uclibc
> gnupg-2.0.19: Depend on npth for uclibc
>
> meta/classes/cmake.bbclass | 4 +
> meta/recipes-core/tasks/task-self-hosted.bb | 4 +-
> .../binutils/binutils/0001-PR-ld-13470.patch | 82 ++++++++++++++++++++
> meta/recipes-devtools/binutils/binutils_2.22.bb | 3 +-
> meta/recipes-devtools/libtool/libtool-2.4.2.inc | 3 +-
> .../libtool/libtool/respect-fstack-protector.patch | 53 +++++++++++++
> .../rpm/rpm/fstack-protector-configure-check.patch | 13 +++
> meta/recipes-devtools/rpm/rpm/rpmatch.patch | 42 ++++++++++
> meta/recipes-devtools/rpm/rpm/uclibc-support.patch | 69 ++++++++++++++++
> meta/recipes-devtools/rpm/rpm_5.4.0.bb | 7 ++-
> meta/recipes-extended/augeas/augeas.inc | 4 +-
> .../0001-Add-missing-argument-to-escape.patch | 29 +++++++
> meta/recipes-extended/augeas/augeas_0.10.0.bb | 2 +-
> meta/recipes-extended/libzypp/libzypp/cstdio.patch | 49 ++++++++++++
> meta/recipes-extended/libzypp/libzypp_git.bb | 9 ++-
> .../sat-solver/sat-solver/futimes.patch | 32 ++++++++
> meta/recipes-extended/sat-solver/sat-solver_git.bb | 7 +-
> meta/recipes-extended/tasks/task-core-lsb.bb | 6 +-
> meta/recipes-extended/zypper/zypper/rpmatch.patch | 23 ++++++
> meta/recipes-extended/zypper/zypper_git.bb | 4 +-
> meta/recipes-support/gnupg/gnupg_2.0.19.bb | 6 +-
> meta/recipes-support/gpgme/gpgme_1.3.1.bb | 7 +-
> meta/recipes-support/npth/npth_0.90.bb | 17 ++++
> meta/recipes-support/pth/pth_2.0.7.bb | 12 +++-
> 24 files changed, 469 insertions(+), 18 deletions(-)
> create mode 100644 meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
> create mode 100644 meta/recipes-devtools/libtool/libtool/respect-fstack-protector.patch
> create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
> create mode 100644 meta/recipes-devtools/rpm/rpm/rpmatch.patch
> create mode 100644 meta/recipes-devtools/rpm/rpm/uclibc-support.patch
> create mode 100644 meta/recipes-extended/augeas/augeas/0001-Add-missing-argument-to-escape.patch
> create mode 100644 meta/recipes-extended/libzypp/libzypp/cstdio.patch
> create mode 100644 meta/recipes-extended/sat-solver/sat-solver/futimes.patch
> create mode 100644 meta/recipes-extended/zypper/zypper/rpmatch.patch
> create mode 100644 meta/recipes-support/npth/npth_0.90.bb
>
> --
> 1.7.5.4
>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
` (16 preceding siblings ...)
2012-06-10 23:05 ` [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
@ 2012-06-11 13:03 ` Richard Purdie
2012-06-11 14:02 ` Khem Raj
17 siblings, 1 reply; 22+ messages in thread
From: Richard Purdie @ 2012-06-11 13:03 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On Sat, 2012-06-09 at 09:42 -0700, Khem Raj wrote:
> This patch now can compile a uclibc sato image using rpm as packaging backend
> Introduces variables into cmake class to control linker flags which was
> not available
> Adds npth recipe. npth is next gen pth soon gnupg 2.1 will drop pth
> and move on to use npth, right now its only used in uclibc case
> conditionalize use of pth using libc overrides since pth is not
> compatible with uclibc
>
> The following changes since commit 75a973328d50ef3c007edb7a471ea77fb97911ea:
>
> kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)
>
> are available in the git repository at:
> git://git.openembedded.org/openembedded-core-contrib kraj/misc-updates
> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates
>
> Khem Raj (16):
> binutils_2.22: Backport to fix bogus textrels
> pth: Mark incompatible with uclibc
> libtool: Let -fstack-protector passed to link step
> augeas: Fix compilation failure
> cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS
> variables
> task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth inclusion
> npth: Add recipe
> gpgme: Depend on npth for uclibc
> gnupg-2.0.19: Depend on npth for uclibc
I took the above patches.
> rpm: Fix compilation on uclibc
> rpm: Use link time check for libssp
> sat-solver: Fix build on uclibc
> libzypp: Fix build with uclibc
> rpm: pass lrt and lpthread to link step explicitly for uclibc
> zypper: Fix build on uclibc
> libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
I haven't taken these yet as I want to get Mark's rpm update in, then
see where we stand. I also was a little worried about the extra
OECONF/TUNE pieces in the sat-solver patch. There wasn't any mention of
that in the commit message...
Cheers,
Richard
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc
2012-06-11 13:03 ` Richard Purdie
@ 2012-06-11 14:02 ` Khem Raj
2012-06-11 23:53 ` Khem Raj
0 siblings, 1 reply; 22+ messages in thread
From: Khem Raj @ 2012-06-11 14:02 UTC (permalink / raw)
To: openembedded-core
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 6/11/2012 6:03 AM, Richard Purdie wrote:
> On Sat, 2012-06-09 at 09:42 -0700, Khem Raj wrote:
>> This patch now can compile a uclibc sato image using rpm as
>> packaging backend Introduces variables into cmake class to
>> control linker flags which was not available Adds npth recipe.
>> npth is next gen pth soon gnupg 2.1 will drop pth and move on to
>> use npth, right now its only used in uclibc case conditionalize
>> use of pth using libc overrides since pth is not compatible with
>> uclibc
>>
>> The following changes since commit
>> 75a973328d50ef3c007edb7a471ea77fb97911ea:
>>
>> kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)
>>
>> are available in the git repository at:
>> git://git.openembedded.org/openembedded-core-contrib
>> kraj/misc-updates
>> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates
>>
>>
>>
Khem Raj (16):
>> binutils_2.22: Backport to fix bogus textrels pth: Mark
>> incompatible with uclibc libtool: Let -fstack-protector passed to
>> link step augeas: Fix compilation failure cmake.bbclass: Add
>> OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables
>> task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth
>> inclusion npth: Add recipe gpgme: Depend on npth for uclibc
>> gnupg-2.0.19: Depend on npth for uclibc
>
> I took the above patches.
>
>> rpm: Fix compilation on uclibc rpm: Use link time check for
>> libssp sat-solver: Fix build on uclibc libzypp: Fix build with
>> uclibc rpm: pass lrt and lpthread to link step explicitly for
>> uclibc zypper: Fix build on uclibc libzypp: Define
>> OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
>
> I haven't taken these yet as I want to get Mark's rpm update in,
> then see where we stand. I also was a little worried about the
> extra OECONF/TUNE pieces in the sat-solver patch. There wasn't any
> mention of that in the commit message...
Thanks for looking into it. EXTRA_OECMAKE change should not be
required there. however appending to TUNE_CCARGS is needed for uclibc
since it does not have
same qsort expectations that sat-solver wants. I can make it apply
only for uclibc here.
I will redo this patch
>
> Cheers,
>
> Richard
>
>
> _______________________________________________ Openembedded-core
> mailing list Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk/V+nsACgkQuwUzVZGdMxSbgACdG7VHCB6xFFHiyd6rW4/Y7HsL
CxYAnAhHzM7ieDonDCLNsYMYXAT+HAFs
=SOkF
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc
2012-06-11 14:02 ` Khem Raj
@ 2012-06-11 23:53 ` Khem Raj
2012-06-12 14:45 ` Khem Raj
0 siblings, 1 reply; 22+ messages in thread
From: Khem Raj @ 2012-06-11 23:53 UTC (permalink / raw)
To: openembedded-core
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 6/11/2012 7:02 AM, Khem Raj wrote:
> On 6/11/2012 6:03 AM, Richard Purdie wrote:
>> On Sat, 2012-06-09 at 09:42 -0700, Khem Raj wrote:
>>> This patch now can compile a uclibc sato image using rpm as
>>> packaging backend Introduces variables into cmake class to
>>> control linker flags which was not available Adds npth recipe.
>>> npth is next gen pth soon gnupg 2.1 will drop pth and move on
>>> to use npth, right now its only used in uclibc case
>>> conditionalize use of pth using libc overrides since pth is not
>>> compatible with uclibc
>>>
>>> The following changes since commit
>>> 75a973328d50ef3c007edb7a471ea77fb97911ea:
>>>
>>> kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)
>>>
>>> are available in the git repository at:
>>> git://git.openembedded.org/openembedded-core-contrib
>>> kraj/misc-updates
>>> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates
>>>
>>>
>>>
>
>>>
Khem Raj (16):
>>> binutils_2.22: Backport to fix bogus textrels pth: Mark
>>> incompatible with uclibc libtool: Let -fstack-protector passed
>>> to link step augeas: Fix compilation failure cmake.bbclass:
>>> Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables
>>> task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth
>>> inclusion npth: Add recipe gpgme: Depend on npth for uclibc
>>> gnupg-2.0.19: Depend on npth for uclibc
>
>> I took the above patches.
>
>>> rpm: Fix compilation on uclibc rpm: Use link time check for
>>> libssp sat-solver: Fix build on uclibc libzypp: Fix build with
>>> uclibc rpm: pass lrt and lpthread to link step explicitly for
>>> uclibc zypper: Fix build on uclibc libzypp: Define
>>> OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
>
>> I haven't taken these yet as I want to get Mark's rpm update in,
>> then see where we stand. I also was a little worried about the
>> extra OECONF/TUNE pieces in the sat-solver patch. There wasn't
>> any mention of that in the commit message...
>
> Thanks for looking into it. EXTRA_OECMAKE change should not be
> required there. however appending to TUNE_CCARGS is needed for
> uclibc since it does not have same qsort expectations that
> sat-solver wants. I can make it apply only for uclibc here.
>
>
> I will redo this patch
I have redone this patch as said and updated the pull tree. Additionally
I have added a patch to cache guint32/guint64 on x86_64/uclibc otherwise
glib-2.32.x wont build on uclibc for x86_64
>
>
>> Cheers,
>
>> Richard
>
>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk/WhQIACgkQuwUzVZGdMxT/5gCeNR+T0sYctIC6YnevtuZt8MAA
tdUAniQnGkk/tjeSPZsXX8Nwh2CZUzYQ
=Dc0w
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc
2012-06-11 23:53 ` Khem Raj
@ 2012-06-12 14:45 ` Khem Raj
0 siblings, 0 replies; 22+ messages in thread
From: Khem Raj @ 2012-06-12 14:45 UTC (permalink / raw)
To: openembedded-core
On Mon, Jun 11, 2012 at 4:53 PM, Khem Raj <raj.khem@gmail.com> wrote:
> I have redone this patch as said and updated the pull tree. Additionally
> I have added a patch to cache guint32/guint64 on x86_64/uclibc otherwise
> glib-2.32.x wont build on uclibc for x86_64
Richard
I have now rebased the patches in pull tree on top of rpm upgrade.
-Khem
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2012-06-12 14:56 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-09 16:42 [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
2012-06-09 16:42 ` [PATCH 01/16] binutils_2.22: Backport to fix bogus textrels Khem Raj
2012-06-09 16:43 ` [PATCH 02/16] rpm: Fix compilation on uclibc Khem Raj
2012-06-09 16:43 ` [PATCH 03/16] pth: Mark incompatible with uclibc Khem Raj
2012-06-09 16:43 ` [PATCH 04/16] libtool: Let -fstack-protector passed to link step Khem Raj
2012-06-09 16:43 ` [PATCH 05/16] rpm: Use link time check for libssp Khem Raj
2012-06-09 16:43 ` [PATCH 06/16] sat-solver: Fix build on uclibc Khem Raj
2012-06-09 16:43 ` [PATCH 07/16] libzypp: Fix build with uclibc Khem Raj
2012-06-09 16:43 ` [PATCH 08/16] augeas: Fix compilation failure Khem Raj
2012-06-09 16:43 ` [PATCH 09/16] rpm: pass lrt and lpthread to link step explicitly for uclibc Khem Raj
2012-06-09 16:43 ` [PATCH 10/16] zypper: Fix build on uclibc Khem Raj
2012-06-09 16:43 ` [PATCH 11/16] cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables Khem Raj
2012-06-09 16:43 ` [PATCH 12/16] libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc Khem Raj
2012-06-09 16:43 ` [PATCH 13/16] task-self-hosted.bb, task-core-lsb.bb: Conditionalize pth inclusion Khem Raj
2012-06-09 16:43 ` [PATCH 14/16] npth: Add recipe Khem Raj
2012-06-09 16:43 ` [PATCH 15/16] gpgme: Depend on npth for uclibc Khem Raj
2012-06-09 16:43 ` [PATCH 16/16] gnupg-2.0.19: " Khem Raj
2012-06-10 23:05 ` [PATCH 00/16 V2] Prelink/ld bug and rpm compilation on uclibc Khem Raj
2012-06-11 13:03 ` Richard Purdie
2012-06-11 14:02 ` Khem Raj
2012-06-11 23:53 ` Khem Raj
2012-06-12 14:45 ` Khem Raj
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox