uClibc/RPM Updates & Other fixes
Richard,
Been tested on the ab over the weekend, reviewed.
Autobuild turned up a latent dependency issue with mdadm!
Sau!
The following changes since commit 63d1ae1c2828cda03828b4c3fdde037d7a23f1e4:
directfb: added missing Upstream-status (2012-06-15 15:41:11 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stage
Bruce Ashfield (1):
meta-skeleton: add linux-yocto-custom reference recipe
Kang Kai (4):
cleanup-workdir: update the way to check obsolete dirs
cleanup-workdir: replace commands with subprocess
cleanup-workdir: only deal dirs related to current arch
cleanup-workdir: update help text
Khem Raj (9):
uclibc_0.9.33.bb: Upgrade to latest git site/x86_64-linux-uclibc: Cache definitions of guint32/guint64
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
Laurentiu Palcu (2):
core-image-gtk-directfb, qt4e-demo-image: Remove module-init-tools
from IMAGE_INSTALL list
puzzles: upgrade to r9561
Mark Hatle (1):
busybox: Fix syslog configuration file
Robert Yang (1):
gcc-cross: argument list too long when do_install
Saul Wold (3):
directfb: fix Upstream-status -> Upstream-Status
curl: Use gnutls for target and openssl for native
mdadm: add binutils to DEPENDS
Xiaofeng Yan (2):
multilib.conf: Add the support of multilib for lsbinitscripts
lsbinitscripts: Add the header for functions.patch
.../recipes-kernel/linux/linux-yocto-custom.bb | 46 +++++++
.../0001-linux-version-tweak.patch | 26 ++++
.../linux/linux-yocto-custom/feature.scc | 1 +
.../linux/linux-yocto-custom/smp.cfg | 1 +
meta/conf/multilib.conf | 1 +
meta/recipes-core/busybox/busybox.inc | 1 +
meta/recipes-core/busybox/busybox_1.19.4.bb | 2 +-
meta/recipes-core/uclibc/uclibc_0.9.33.bb | 4 +-
meta/recipes-devtools/gcc/gcc-4.6.inc | 1 +
.../gcc/gcc-4.6/gcc-argument-list-too-long.patch | 33 +++++
meta/recipes-devtools/gcc/gcc-4.7.inc | 1 +
.../gcc/gcc-4.7/gcc-argument-list-too-long.patch | 33 +++++
.../rpm/rpm/fstack-protector-configure-check.patch | 21 +++
meta/recipes-devtools/rpm/rpm/rpmatch.patch | 42 +++++++
meta/recipes-devtools/rpm/rpm/uclibc-support.patch | 63 ++++++++++
meta/recipes-devtools/rpm/rpm_5.4.9.bb | 7 +-
meta/recipes-extended/libzypp/libzypp/cstdio.patch | 49 ++++++++
meta/recipes-extended/libzypp/libzypp_git.bb | 9 +-
.../lsb/lsbinitscripts/functions.patch | 3 +
meta/recipes-extended/mdadm/mdadm_3.2.5.bb | 1 +
.../sat-solver/sat-solver/futimes.patch | 32 +++++
meta/recipes-extended/sat-solver/sat-solver_git.bb | 3 +
meta/recipes-extended/zypper/zypper/rpmatch.patch | 23 ++++
meta/recipes-extended/zypper/zypper_git.bb | 2 +
...ibdirect-remove-include-of-linux-config.h.patch | 2 +-
.../images/core-image-gtk-directfb.bb | 3 +-
meta/recipes-qt/images/qt4e-demo-image.bb | 3 +-
.../puzzles/{puzzles_r9375.bb => puzzles_r9561.bb} | 6 +-
meta/recipes-support/curl/curl_7.24.0.bb | 13 +-
meta/site/x86_64-linux-uclibc | 3 +
scripts/cleanup-workdir | 128 +++++++++++++-------
31 files changed, 496 insertions(+), 67 deletions(-)
create mode 100644 meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
create mode 100644 meta-skeleton/recipes-kernel/linux/linux-yocto-custom/0001-linux-version-tweak.patch
create mode 100644 meta-skeleton/recipes-kernel/linux/linux-yocto-custom/feature.scc
create mode 100644 meta-skeleton/recipes-kernel/linux/linux-yocto-custom/smp.cfg
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/gcc-argument-list-too-long.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/gcc-argument-list-too-long.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/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
rename meta/recipes-sato/puzzles/{puzzles_r9375.bb => puzzles_r9561.bb} (88%)Signature · 1 line
1.7.7.6
[Consolidated Pull 01/23] gcc-cross: argument list too long when do_install
From: Robert Yang <[email protected]>
There would be an "Argument list too long" error when the length of tmpdir is longer than 190, this is caused by:
headers=echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u
The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle it, use the $(sort list) of GNU make which can handle the too long list would fix the problem, the header would be short enough after sorted. The "tr ' ' '\012'" was used for translating the space to "\n", the $(sort list) doesn't need this.
This doesn't impact the output, so it doesn't need the PR bump.
[YOCTO #2591]
--- meta/recipes-devtools/gcc/gcc-4.6.inc | 1 + .../gcc/gcc-4.6/gcc-argument-list-too-long.patch | 33 ++++++++++++++++++++ meta/recipes-devtools/gcc/gcc-4.7.inc | 1 + .../gcc/gcc-4.7/gcc-argument-list-too-long.patch | 33 ++++++++++++++++++++ 4 files changed, 68 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/gcc-argument-list-too-long.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/gcc-argument-list-too-long.patch
meta/recipes-devtools/gcc/gcc-4.6.inc +1 -0
@@ -75,6 +75,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \ file://fortran-cross-compile-hack.patch \ file://cpp-honour-sysroot.patch \ file://mips64-default-n64.patch \ + file://gcc-argument-list-too-long.patch \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
meta/recipes-devtools/gcc/gcc-4.6/gcc-argument-list-too-long.patch new file +33 -0
@@ -0,0 +1,33 @@ +There would be an "Argument list too long" error when the +build directory is longer than 200, this is caused by: + +headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u` + +The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle +it, use the $(sort list) of GNU make which can handle the too long list +would fix the problem, the header would be short enough after sorted. +The "tr ' ' '\012'" was used for translating the space to "\n", the +$(sort list) doesn't need this. + +Signed-off-by: Robert Yang <[email protected]> + +Upstream-Status: Pending +--- + gcc/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -4553,7 +4553,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype + # We keep the directory structure for files in config or c-family and .def + # files. All other files are flattened to a single directory. + $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) +- headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`; \ ++ headers="$(sort $(PLUGIN_HEADERS))"; \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ + for file in $$headers; do \ + if [ -f $$file ] ; then \ +-- +1.7.10.2 +
meta/recipes-devtools/gcc/gcc-4.7.inc +1 -0
@@ -66,6 +66,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \ file://cpp-honor-sysroot.patch \ file://mips64-default-n64.patch \ file://arm-hard-float-loader.patch \ + file://gcc-argument-list-too-long.patch \ " S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
meta/recipes-devtools/gcc/gcc-4.7/gcc-argument-list-too-long.patch new file +33 -0
@@ -0,0 +1,33 @@ +There would be an "Argument list too long" error when the +build directory is longer than 200, this is caused by: + +headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u` + +The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle +it, use the $(sort list) of GNU make which can handle the too long list +would fix the problem, the header would be short enough after sorted. +The "tr ' ' '\012'" was used for translating the space to "\n", the +$(sort list) doesn't need this. + +Signed-off-by: Robert Yang <[email protected]> + +Upstream-Status: Pending +--- + gcc/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -4553,7 +4553,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype + # We keep the directory structure for files in config or c-family and .def + # files. All other files are flattened to a single directory. + $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) +- headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`; \ ++ headers="$(sort $(PLUGIN_HEADERS))"; \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ + for file in $$headers; do \ + if [ -f $$file ] ; then \ +-- +1.7.10.2 +
Signature · 1 line
1.7.7.6
[Consolidated Pull 02/23] core-image-gtk-directfb, qt4e-demo-image: Remove module-init-tools from IMAGE_INSTALL list
In reply to Saul WoldFrom: Laurentiu Palcu <[email protected]>
As module-init-tools package does not exist anymore there's no reason to have it in the IMAGE_INSTALL package list. If RPM package manager is used, build will fail with:
Unable to find package module-init-tools (module-init-tools)!
[Yocto #2580]
--- .../images/core-image-gtk-directfb.bb | 3 +-- meta/recipes-qt/images/qt4e-demo-image.bb | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-)
meta/recipes-graphics/images/core-image-gtk-directfb.bb +1 -2
@@ -1,5 +1,5 @@ LICENSE = "MIT" -PR="r0" +PR="r1" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
@@ -17,7 +17,6 @@ inherit core-image IMAGE_INSTALL += "\ ${CORE_IMAGE_BASE_INSTALL} \ task-core-basic \ - module-init-tools \ task-core-gtk-directfb-base \ "
meta/recipes-qt/images/qt4e-demo-image.bb +1 -2
@@ -1,6 +1,6 @@ DESCRIPTION = "Version 1.0-r1 of the qtr3-demo-image." LICENSE = "MIT" -PR="r1" +PR="r2" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -13,7 +13,6 @@ RDEPENDS_${PN} += " \ IMAGE_INSTALL += "\ ${CORE_IMAGE_BASE_INSTALL} \ - module-init-tools \ task-qt4e-base \ "
Signature · 1 line
1.7.7.6
[Consolidated Pull 03/23] busybox: Fix syslog configuration file
In reply to Saul WoldFrom: Mark Hatle <[email protected]>
When update alternatives was modified, the syslog configuration file alternative was incorrectly defined to be "busybox". Fix this by enabling the proper target file.
[YOCTO #2557]
--- meta/recipes-core/busybox/busybox.inc | 1 + meta/recipes-core/busybox/busybox_1.19.4.bb | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-core/busybox/busybox.inc +1 -0
@@ -214,6 +214,7 @@ ALTERNATIVE_LINK_NAME[syslog-init] = "${sysconfdir}/init.d/syslog" ALTERNATIVE_LINK_NAME[syslog-startup-conf] = "${sysconfdir}/syslog-startup.conf" ALTERNATIVE_TARGET = "/bin/busybox" +ALTERNATIVE_TARGET[syslog-startup-conf] = "${sysconfdir}/syslog-startup.conf.${BPN}" python do_package_prepend () { # We need to load the full set of busybox provides from the /etc/busybox.links
meta/recipes-core/busybox/busybox_1.19.4.bb +1 -1
@@ -1,5 +1,5 @@ require busybox.inc -PR = "r6" +PR = "r7" SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://B921600.patch \
Signature · 1 line
1.7.7.6
[Consolidated Pull 04/23] uclibc_0.9.33.bb: Upgrade to latest git
In reply to Saul WoldFrom: Khem Raj <[email protected]>
This is needed otherwise glib-2.0 wont run
correctly
--- meta/recipes-core/uclibc/uclibc_0.9.33.bb | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-core/uclibc/uclibc_0.9.33.bb +2 -2
@@ -1,8 +1,8 @@ -SRCREV="f7c18471f1ff8f3e54e462df0e96e19739869c78" +SRCREV="7810e4f8027b5c4c8ceec6fefec4eb779362ebb5" require uclibc.inc -PR = "${INC_PR}.1" +PR = "${INC_PR}.2" PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc" SRC_URI = "git://uclibc.org/uClibc.git;branch=${PV};protocol=git \
Signature · 1 line
1.7.7.6
[Consolidated Pull 07/23] rpm: Use link time check for libssp
In reply to Saul WoldFrom: Khem Raj <[email protected]>
-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
--- .../rpm/rpm/fstack-protector-configure-check.patch | 21 ++++++++++++++++++++ meta/recipes-devtools/rpm/rpm_5.4.9.bb | 1 + 2 files changed, 22 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch new file +21 -0
@@ -0,0 +1,21 @@ +Some options checked in this loop are needing linking to find out +if the option can be used or not e.g. -fstack-protector which needs +libssp to be staged and available for compiler to link against +Therefore we change the compile only check to compile and link check + +Signed-off-by: Khem Raj <[email protected]> +Upstream-Status: Pending + +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])]
meta/recipes-devtools/rpm/rpm_5.4.9.bb +1 -0
@@ -74,6 +74,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex file://rpm-pkgconfigdeps.patch \ file://uclibc-support.patch \ file://rpmatch.patch \ + file://fstack-protector-configure-check.patch \ " SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
Signature · 1 line
1.7.7.6
[Consolidated Pull 05/23] site/x86_64-linux-uclibc: Cache definitions of guint32/guint64
In reply to Saul WoldFrom: Khem Raj <[email protected]>
Without this glib 2.32.x wont build.
--- meta/site/x86_64-linux-uclibc | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
meta/site/x86_64-linux-uclibc +3 -0
@@ -60,6 +60,9 @@ am_cv_func_working_getline=${am_cv_func_working_getline=yes} # glib-2.0 glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes} +ac_cv_alignof_guint32=4 +ac_cv_alignof_guint64=8 +ac_cv_alignof_unsigned_long=8 # libidl libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
Signature · 1 line
1.7.7.6
[Consolidated Pull 06/23] rpm: Fix compilation on uclibc
In reply to Saul WoldFrom: Khem Raj <[email protected]>
rpmatch is not there in uclibc therefore add logic to configure to detect it.
x* wrappers need to be defined for uclibc as well.
--- meta/recipes-devtools/rpm/rpm/rpmatch.patch | 42 +++++++++++++ meta/recipes-devtools/rpm/rpm/uclibc-support.patch | 63 ++++++++++++++++++++ meta/recipes-devtools/rpm/rpm_5.4.9.bb | 4 +- 3 files changed, 108 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-devtools/rpm/rpm/rpmatch.patch create mode 100644 meta/recipes-devtools/rpm/rpm/uclibc-support.patch
meta/recipes-devtools/rpm/rpm/rpmatch.patch new file +42 -0
@@ -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 <[email protected]> + +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
meta/recipes-devtools/rpm/rpm/uclibc-support.patch new file +63 -0
63 lines not on this page · raw message
meta/recipes-devtools/rpm/rpm_5.4.9.bb +3 -1
@@ -43,7 +43,7 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "libpcre attr acl popt ossp-uuid file" -PR = "r43" +PR = "r44" # 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.9-0.20120508.src.rpm;ex file://rpm-ossp-uuid.patch \ file://rpm-packageorigin.patch \ file://rpm-pkgconfigdeps.patch \ + file://uclibc-support.patch \ + file://rpmatch.patch \ " SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
Signature · 1 line
1.7.7.6
[Consolidated Pull 11/23] zypper: Fix build on uclibc
In reply to Saul WoldFrom: Khem Raj <[email protected]>
uclibc does not have rpmatch() so we define
it if zypper is being compiled for uclibc
--- meta/recipes-extended/zypper/zypper/rpmatch.patch | 23 +++++++++++++++++++++ meta/recipes-extended/zypper/zypper_git.bb | 2 + 2 files changed, 25 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-extended/zypper/zypper/rpmatch.patch
meta/recipes-extended/zypper/zypper/rpmatch.patch new file +23 -0
@@ -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 <[email protected]> +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_*/
meta/recipes-extended/zypper/zypper_git.bb +2 -0
@@ -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"
Signature · 1 line
1.7.7.6
[Consolidated Pull 09/23] libzypp: Fix build with uclibc
In reply to Saul WoldFrom: Khem Raj <[email protected]>
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.
--- 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
meta/recipes-extended/libzypp/libzypp/cstdio.patch new file +49 -0
@@ -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 <[email protected]> +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 ) + {
meta/recipes-extended/libzypp/libzypp_git.bb +8 -2
@@ -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 = "r22" +PR = "r23" SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \ file://no-doc.patch \
@@ -24,6 +24,7 @@ SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \ file://hardcode-lib-fix.patch \ file://close.patch \ file://libzypp-rpm549.patch \ + file://cstdio.patch \ " SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
@@ -32,7 +33,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"
@@ -46,6 +50,8 @@ FILES_${PN}-pkgmgt = "${bindir}/package-manager \ EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}" +LDFLAGS += "-lpthread" + PACKAGE_ARCH = "${MACHINE_ARCH}" AVOID_CONSTRUCTOR = ""
Signature · 1 line
1.7.7.6
[Consolidated Pull 12/23] libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
In reply to Saul WoldFrom: Khem Raj <[email protected]>
--- meta/recipes-extended/libzypp/libzypp_git.bb | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
meta/recipes-extended/libzypp/libzypp_git.bb +1 -2
@@ -49,8 +49,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}"
Signature · 1 line
1.7.7.6
[Consolidated Pull 13/23] puzzles: upgrade to r9561
In reply to Saul WoldFrom: Laurentiu Palcu <[email protected]>
Minor change in LICENCE file:
-This software is copyright (c) 2004-2010 Simon Tatham. +This software is copyright (c) 2004-2012 Simon Tatham.
---
.../puzzles/{puzzles_r9375.bb => puzzles_r9561.bb} | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
rename meta/recipes-sato/puzzles/{puzzles_r9375.bb => puzzles_r9561.bb} (88%)meta/recipes-sato/puzzles/puzzles_r9561.bb renamed from meta/recipes-sato/puzzles/puzzles_r9375.bb +3 -3
@@ -6,13 +6,13 @@ PR = "r0" MOD_PV = "${@d.getVar('PV',1)[1:]}" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=9928b60f3b78be315b7ab699c1b03ff5" +LIC_FILES_CHKSUM = "file://LICENCE;md5=453de74d749439762ef4814f7bee1fec" # Upstream updates puzzles.tar.gz for the new release, so checksums seem to be changing regularly right now #SRC_URI = "svn://ixion.tartarus.org/main;module=puzzles;rev=${MOD_PV}" SRC_URI = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.tar.gz" -SRC_URI[md5sum] = "25f2349611cdd8fb35d27b24f5b937a8" -SRC_URI[sha256sum] = "bddf4e52c328c98b9d95bd7daf6b9098f25e8272a7c1059ba69809eb619124a2" +SRC_URI[md5sum] = "c86695aebfc95efe1d6241863849101b" +SRC_URI[sha256sum] = "2c20a45189387e3de8804a58bdb4e47ac4bb0f890001a509dfbdc015b5a84b95" S = "${WORKDIR}/${BPN}-${PV}"
Signature · 1 line
1.7.7.6
[Consolidated Pull 14/23] multilib.conf: Add the support of multilib for lsbinitscripts
In reply to Saul WoldFrom: Xiaofeng Yan <[email protected]>
Add the multilib support for this package to multilib.conf because error will appear when building an lib32-core-image-lsb without this patch.
[YOCTO #2571]
--- meta/conf/multilib.conf | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
meta/conf/multilib.conf +1 -0
@@ -420,6 +420,7 @@ BBCLASSEXTEND_append_pn-lrzsz = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-lsb = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-lsbsetup = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-lsbtest = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-lsbinitscripts = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-lsof = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-ltp = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-lttng-control = " ${MULTILIBS}"
Signature · 1 line
1.7.7.6
[Consolidated Pull 10/23] rpm: pass lrt and lpthread to link step explicitly for uclibc
In reply to Saul WoldFrom: Khem Raj <[email protected]>
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.
--- meta/recipes-devtools/rpm/rpm_5.4.9.bb | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
meta/recipes-devtools/rpm/rpm_5.4.9.bb +2 -0
@@ -182,6 +182,8 @@ EXTRA_OECONF += "--verbose \ CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE" +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"
Signature · 1 line
1.7.7.6
[Consolidated Pull 08/23] sat-solver: Fix build on uclibc
In reply to Saul WoldFrom: Khem Raj <[email protected]>
futimes is not available on uclibc so use utimes qsort is also not as expected by sat-solver therefore for uclibc we resort to using internal version of qsort
--- .../sat-solver/sat-solver/futimes.patch | 32 ++++++++++++++++++++ meta/recipes-extended/sat-solver/sat-solver_git.bb | 3 ++ 2 files changed, 35 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-extended/sat-solver/sat-solver/futimes.patch
meta/recipes-extended/sat-solver/sat-solver/futimes.patch new file +32 -0
@@ -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 <[email protected]> + +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; + }
meta/recipes-extended/sat-solver/sat-solver_git.bb +3 -0
@@ -20,6 +20,7 @@ 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"
@@ -28,6 +29,8 @@ EXTRA_OECMAKE += "-DRPM5=RPM5 -DOE_CORE=OE_CORE" EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}" +TUNE_CCARGS_append_libc-uclibc = " -DUSE_OWN_QSORT=1 " + inherit cmake pkgconfig RDEPENDS_${PN} = "rpm-libs"
Signature · 1 line
1.7.7.6
[Consolidated Pull 18/23] cleanup-workdir: replace commands with subprocess
In reply to Saul WoldFrom: Kang Kai <[email protected]>
Use modules subprocess to run command instead of module commands.
--- scripts/cleanup-workdir | 22 ++++++++++++---------- 1 files changed, 12 insertions(+), 10 deletions(-)
scripts/cleanup-workdir +12 -10
@@ -19,7 +19,7 @@ import os import sys import optparse import re -import commands +import subprocess import shutil pkg_cur_dirs = []
@@ -39,6 +39,14 @@ def parse_version(verstr): else: return epoch + '_' + elems[1] +def run_command(cmd): + pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) + output = pipe.communicate()[0] + if pipe.returncode != 0: + print "Execute command '%s' failed." % cmd + sys.exit(1) + return output + def main(): global parser parser = optparse.OptionParser(
@@ -49,7 +57,7 @@ This script must be ran under BUILDDIR after source file \"oe-init-build-env\"." options, args = parser.parse_args(sys.argv) - builddir = commands.getoutput('echo $BUILDDIR') + builddir = run_command('echo $BUILDDIR').strip() if len(builddir) == 0: err_quit("Please source file \"oe-init-build-env\" first.\n")
@@ -58,10 +66,7 @@ This script must be ran under BUILDDIR after source file \"oe-init-build-env\"." print 'Updating bitbake caches...' cmd = "bitbake -s" - (ret, output) = commands.getstatusoutput(cmd) - if ret != 0: - print "Execute 'bitbake -s' failed. Can't get packages' versions." - return 1 + output = run_command(cmd) output = output.split('\n') index = 0
@@ -83,10 +88,7 @@ This script must be ran under BUILDDIR after source file \"oe-init-build-env\"." pkg_cur_dirs.append(elems[0] + '-' + version) cmd = "bitbake -e | grep ^TMPDIR" - (ret, output) = commands.getstatusoutput(cmd) - if ret != 0: - print "Execute 'bitbke -e' failed. Can't get TMPDIR." - return 1 + output = run_command(cmd) tmpdir = output.split('"')[1] workdir = os.path.join(tmpdir, 'work')
Signature · 1 line
1.7.7.6
[Consolidated Pull 15/23] lsbinitscripts: Add the header for functions.patch
In reply to Saul WoldFrom: Xiaofeng Yan <[email protected]>
Add upstream-status and signed-off-by to functions.patch
--- .../lsb/lsbinitscripts/functions.patch | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
meta/recipes-extended/lsb/lsbinitscripts/functions.patch +3 -0
@@ -1,3 +1,6 @@ +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Xiaofeng Yan <[email protected]> --- a/rc.d/init.d/functions 2009-12-10 05:24:11.000000000 +0800 +++ b/rc.d/init.d/functions.new 2012-06-01 16:57:12.651229387 +0800 @@ -16,7 +16,7 @@
Signature · 1 line
1.7.7.6
[Consolidated Pull 17/23] cleanup-workdir: update the way to check obsolete dirs
In reply to Saul WoldFrom: Kang Kai <[email protected]>
Update the way to check obsolete directories.
According to package and its version construct a list of all packages' current build directory. If any directory under $WORKDIR/*/ is not in the list will be removed.
At same time, all the files(vs. directory) under $WORKDIR and $WORKDIR/*/ will be removed because they are not created by poky.
--- scripts/cleanup-workdir | 59 ++++++++++++++++++---------------------------- 1 files changed, 23 insertions(+), 36 deletions(-)
scripts/cleanup-workdir +23 -36
@@ -22,7 +22,7 @@ import re import commands import shutil -versions = {} +pkg_cur_dirs = [] obsolete_dirs = [] parser = None
@@ -39,15 +39,6 @@ def parse_version(verstr): else: return epoch + '_' + elems[1] -def parse_dir(match, pkgabsdir): - pkg_name = match.group(1) - pkg_version = match.group(2) - if pkg_name in versions: - if pkg_version != versions[pkg_name]: - obsolete_dirs.append(pkgabsdir) - return True - return False - def main(): global parser parser = optparse.OptionParser(
@@ -89,7 +80,7 @@ This script must be ran under BUILDDIR after source file \"oe-init-build-env\"." version = parse_version(elems[1]) else: version = parse_version(elems[2]) - versions[elems[0]] = version + pkg_cur_dirs.append(elems[0] + '-' + version) cmd = "bitbake -e | grep ^TMPDIR" (ret, output) = commands.getstatusoutput(cmd)
@@ -103,31 +94,27 @@ This script must be ran under BUILDDIR after source file \"oe-init-build-env\"." print "WORKDIR %s does NOT exist. Quit." % workdir return 1 - for archdir in os.listdir(workdir): - archdir = os.path.join(workdir, archdir) - if not os.path.isdir(archdir): - pass - - for pkgdir in sorted(os.listdir(archdir)): - pkgabsdir = os.path.join(archdir, pkgdir) - if not os.path.isdir(pkgabsdir): - pass - - # parse the package directory names - # parse native/nativesdk packages first - match = re.match('(.*?-native.*?)-(.*)', pkgdir) - if match and parse_dir(match, pkgabsdir): - continue - - # parse package names which ends with numbers such as 'glib-2.0' - match = re.match('(.*?-[\.\d]+)-(\d.*)', pkgdir) - if match and parse_dir(match, pkgabsdir): - continue - - # other packages - match = re.match('(.*?)-(\d.*)', pkgdir) - if match and parse_dir(match, pkgabsdir): - continue + for workroot, dirs, files in os.walk(workdir): + # For the files, they should NOT exist in WORKDIR. Romve them. + for f in files: + obsolete_dirs.append(os.path.join(workroot, f)) + + for d in dirs: + for pkgroot, pkgdirs, filenames in os.walk(os.path.join(workroot, d)): + for f in filenames: + obsolete_dirs.append(os.path.join(pkgroot, f)) + + for pkgdir in sorted(pkgdirs): + if pkgdir not in pkg_cur_dirs: + obsolete_dirs.append(os.path.join(pkgroot, pkgdir)) + + # just process the top dir of every package under tmp/work/*/, + # then jump out of the above os.walk() + break + + # it is convenient to use os.walk() to get dirs and files at same time + # both of them have been dealed in the loop, so jump out + break for d in obsolete_dirs: print "Deleleting %s" % d
Signature · 1 line
1.7.7.6
[Consolidated Pull 16/23] meta-skeleton: add linux-yocto-custom reference recipe
In reply to Saul WoldFrom: Bruce Ashfield <[email protected]>
Adding a skeleton/refrence recipe for using a subset of the yocto kernel tools against kernel git repositories.
Sample/reference configuration fragments, features and a patch are provided and documented in the recipe.
From the recipe itself:
Provides an example/minimal kernel recipe that uses the linux-yocto and oe-core kernel classes to apply a subset of yocto kernel management to git managed kernel repositories.
Notes:
kconfig(s): the kernel must be configured with a defconfig, or via
configuration fragment(s). Either of these can be added via bbappend.
patches: patches can be merged into to the source git tree itself, added
using standard bbappend syntax or controlled via .scc feature descriptions (also via bbappends)
example configuration addition:
SRC_URI += "file://smp.cfg"
example patch addition (for kernel v3.4 only):
SRC_URI += "file://0001-linux-version-tweak.patch
example feature addition (for kernel v3.4 only):
SRC_URI += "file://feature.scc"Warning:
Building the sample kernel tree (kernel.org) without providing any configuration will result in build or boot errors. This is not a bug it is a required element for creating a valid kernel.
[YOCTO #2397]
--- .../recipes-kernel/linux/linux-yocto-custom.bb | 46 ++++++++++++++++++++ .../0001-linux-version-tweak.patch | 26 +++++++++++ .../linux/linux-yocto-custom/feature.scc | 1 + .../linux/linux-yocto-custom/smp.cfg | 1 + 4 files changed, 74 insertions(+), 0 deletions(-) create mode 100644 meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb create mode 100644 meta-skeleton/recipes-kernel/linux/linux-yocto-custom/0001-linux-version-tweak.patch create mode 100644 meta-skeleton/recipes-kernel/linux/linux-yocto-custom/feature.scc create mode 100644 meta-skeleton/recipes-kernel/linux/linux-yocto-custom/smp.cfg
meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb new file +46 -0
@@ -0,0 +1,46 @@ +# linux-yocto-custom.bb: +# +# Provides an example/minimal kernel recipe that uses the linux-yocto +# and oe-core kernel classes to apply a subset of yocto kernel +# management to git managed kernel repositories. +# +# Notes: +# +# kconfig(s): the kernel must be configured with a defconfig, or via +# configuration fragment(s). Either of these can be added +# via bbappend. +# patches: patches can be merged into to the source git tree itself, added +# using standard bbappend syntax or controlled via .scc feature +# descriptions (also via bbappends) +# +# example configuration addition: +# SRC_URI += "file://smp.cfg" +# example patch addition (for kernel v3.4 only): +# SRC_URI += "file://0001-linux-version-tweak.patch +# example feature addition (for kernel v3.4 only): +# SRC_URI += "file://feature.scc" +# +# Warning: +# +# Building the sample kernel tree (kernel.org) without providing any +# configuration will result in build or boot errors. This is not a bug +# it is a required element for creating a valid kernel. +# + +inherit kernel +require recipes-kernel/linux/linux-yocto.inc + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;nocheckout=1" + +LINUX_VERSION ?= "3.4" +LINUX_VERSION_EXTENSION ?= "-custom" + +# tag: v3.4 76e10d158efb6d4516018846f60c2ab5501900bc +SRCREV="76e10d158efb6d4516018846f60c2ab5501900bc" + +PR = "r0" +PV = "${LINUX_VERSION}+git${SRCPV}" + +COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)" + +require recipes-kernel/linux/linux-tools.inc
meta-skeleton/recipes-kernel/linux/linux-yocto-custom/0001-linux-version-tweak.patch new file +26 -0
@@ -0,0 +1,26 @@ +From 5a55943a6bbb10a79994a0b18071b2427dffb15f Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <[email protected]> +Date: Mon, 11 Jun 2012 15:31:42 -0400 +Subject: [PATCH] linux: version tweak + +Signed-off-by: Bruce Ashfield <[email protected]> +--- + Makefile | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/Makefile b/Makefile +index a687963..f5b1ac3 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,7 +2,7 @@ VERSION = 3 + PATCHLEVEL = 4 + SUBLEVEL = 0 + EXTRAVERSION = +-NAME = Saber-toothed Squirrel ++NAME = Saber-toothed Squirrel-custom + + # *DOCUMENTATION* + # To see a list of typical targets execute "make help" +-- +1.7.5.4 +
meta-skeleton/recipes-kernel/linux/linux-yocto-custom/feature.scc new file +1 -0
@@ -0,0 +1 @@ +patch 0001-linux-version-tweak.patch
meta-skeleton/recipes-kernel/linux/linux-yocto-custom/smp.cfg new file +1 -0
@@ -0,0 +1 @@ +# CONFIG_SMP is not set
Signature · 1 line
1.7.7.6
[Consolidated Pull 21/23] directfb: fix Upstream-status -> Upstream-Status
In reply to Saul Wold--- ...ibdirect-remove-include-of-linux-config.h.patch | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-graphics/directfb/directfb/libdirect-remove-include-of-linux-config.h.patch +1 -1
@@ -1,4 +1,4 @@ -Upstream-status: backport from 1.6.0-pre1 +Upstream-Status: backport from 1.6.0-pre1 From cd575a84f10d90759e069f5f2e6092251a1b84bd Mon Sep 17 00:00:00 2001 From: Sven Neumann <[email protected]>
Signature · 1 line
1.7.7.6
[Consolidated Pull 19/23] cleanup-workdir: only deal dirs related to current arch
In reply to Saul WoldFrom: Kang Kai <[email protected]>
Some users may build for different archs under same workdir, so they don't want to clean the dirs not related to current arch.
Run command 'bitbake -e' with selected packages to get the dirs related to current arch then clean them.
Update the way to get the WORKDIR by parsing the IMAGE_ROOTFS by the way.
--- scripts/cleanup-workdir | 54 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 49 insertions(+), 5 deletions(-)
scripts/cleanup-workdir +49 -5
@@ -47,6 +47,19 @@ def run_command(cmd): sys.exit(1) return output +def get_cur_arch_dirs(workdir, arch_dirs): + pattern = workdir + '/(.*?)/' + + # select thest 5 packages to get the dirs of current arch + pkgs = ['hicolor-icon-theme', 'base-files', 'acl-native', 'binutils-crosssdk', 'autoconf-nativesdk'] + + for pkg in pkgs: + cmd = "bitbake -e " + pkg + " | grep ^IMAGE_ROOTFS=" + output = run_command(cmd) + output = output.split('"')[1] + m = re.match(pattern, output) + arch_dirs.append(m.group(1)) + def main(): global parser parser = optparse.OptionParser(
@@ -87,21 +100,52 @@ This script must be ran under BUILDDIR after source file \"oe-init-build-env\"." version = parse_version(elems[2]) pkg_cur_dirs.append(elems[0] + '-' + version) - cmd = "bitbake -e | grep ^TMPDIR" + cmd = "bitbake -e" output = run_command(cmd) - tmpdir = output.split('"')[1] - workdir = os.path.join(tmpdir, 'work') - if not os.path.exists(workdir): - print "WORKDIR %s does NOT exist. Quit." % workdir + tmpdir = None + image_rootfs = None + output = output.split('\n') + for line in output: + if tmpdir and image_rootfs: + break + + if not tmpdir: + m = re.match('TMPDIR="(.*)"', line) + if m: + tmpdir = m.group(1) + + if not image_rootfs: + m = re.match('IMAGE_ROOTFS="(.*)"', line) + if m: + image_rootfs = m.group(1) + + # won't fail just in case + if not tmpdir or not image_rootfs: + print "Can't get TMPDIR or IMAGE_ROOTFS." + return 1 + + pattern = tmpdir + '/(.*?)/(.*?)/' + m = re.match(pattern, image_rootfs) + if not m: + print "Can't get WORKDIR." return 1 + workdir = os.path.join(tmpdir, m.group(1)) + + # we only deal the dirs of current arch, total numbers of dirs are 6 + cur_arch_dirs = [m.group(2)] + get_cur_arch_dirs(workdir, cur_arch_dirs) + for workroot, dirs, files in os.walk(workdir): # For the files, they should NOT exist in WORKDIR. Romve them. for f in files: obsolete_dirs.append(os.path.join(workroot, f)) for d in dirs: + if d not in cur_arch_dirs: + continue + for pkgroot, pkgdirs, filenames in os.walk(os.path.join(workroot, d)): for f in filenames: obsolete_dirs.append(os.path.join(pkgroot, f))
Signature · 1 line
1.7.7.6
[Consolidated Pull 20/23] cleanup-workdir: update help text
In reply to Saul WoldFrom: Kang Kai <[email protected]>
Update the help text to tell user that the files and dirs under WORKDIR which are not created by Yocto will be deleted.
--- scripts/cleanup-workdir | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
scripts/cleanup-workdir +5 -2
@@ -65,8 +65,11 @@ def main(): parser = optparse.OptionParser( usage = """%prog -Remove the obsolete packages' build directories in WORKDIR. -This script must be ran under BUILDDIR after source file \"oe-init-build-env\".""") +%prog removes the obsolete packages' build directories in WORKDIR. +This script must be ran under BUILDDIR after source file \"oe-init-build-env\". + +Any file or directory under WORKDIR which is not created by Yocto +will be deleted. Be CAUTIOUS.""") options, args = parser.parse_args(sys.argv)
Signature · 1 line
1.7.7.6
[Consolidated Pull 22/23] curl: Use gnutls for target and openssl for native
In reply to Saul WoldSince gnutls is available on the target use it, but we do not build gnutls for the native side as it adds too many dependecies, so use openssl.
--- meta/recipes-support/curl/curl_7.24.0.bb | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-)
meta/recipes-support/curl/curl_7.24.0.bb +6 -7
@@ -5,10 +5,10 @@ SECTION = "console/network" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;beginline=7;md5=3a34942f4ae3fbf1a303160714e664ac" -DEPENDS = "zlib gnutls openssl" +DEPENDS = "zlib gnutls" DEPENDS_virtclass-native = "zlib-native openssl-native" -DEPENDS_virtclass-nativesdk = "zlib-nativesdk openssl-nativesdk" -PR = "r1" +DEPENDS_virtclass-nativesdk = "zlib-nativesdk" +PR = "r2" SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ file://noldlibpath.patch \
@@ -20,7 +20,6 @@ SRC_URI[sha256sum] = "ebdb111088ff8b0e05b1d1b075e9f1608285e8105cc51e21caacf33d01 inherit autotools pkgconfig binconfig EXTRA_OECONF = "--with-zlib=${STAGING_LIBDIR}/../ \ - --with-ssl \ --without-libssh2 \ --with-random=/dev/urandom \ --without-libidn \
@@ -28,9 +27,9 @@ EXTRA_OECONF = "--with-zlib=${STAGING_LIBDIR}/../ \ ${CURLGNUTLS} \ " -CURLGNUTLS = " --with-gnutls=${STAGING_LIBDIR}/../" -CURLGNUTLS_virtclass-native = "--without-gnutls" -CURLGNUTLS_virtclass-nativesdk = "--without-gnutls" +CURLGNUTLS = " --with-gnutls=${STAGING_LIBDIR}/../ --without-ssl" +CURLGNUTLS_virtclass-native = "--without-gnutls --with-ssl" +CURLGNUTLS_virtclass-nativesdk = "--without-gnutls --without-ssl" do_configure_prepend() { sed -i s:OPT_GNUTLS/bin:OPT_GNUTLS:g configure.ac
Signature · 1 line
1.7.7.6
[Consolidated Pull 23/23] mdadm: add binutils to DEPENDS
In reply to Saul Woldmdadm requires ansidecl.h and therefore binutils needs to be completely installed before this compile can complete, so add the DEPENDS.
--- meta/recipes-extended/mdadm/mdadm_3.2.5.bb | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
meta/recipes-extended/mdadm/mdadm_3.2.5.bb +1 -0
@@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161" PR = "r0" +DEPENDS = "binutils" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.bz2 \ file://mdadm-3.2.2_fix_for_x32.patch \
Signature · 1 line
1.7.7.6
Re: [Consolidated Pull 23/23] mdadm: add binutils to DEPENDS
Quoted 13 lines · Saul Wold
mdadm requires
ansidecl.hand therefore binutils needs to be completely installed before this compile can complete, so add the DEPENDS.Signed-off-by Saul Wold <[email protected]>--- meta/recipes-extended/mdadm/mdadm_3.2.5.bb | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)meta/recipes-extended/mdadm/mdadm_3.2.5.bb +0
-0
meta/recipes-extended/mdadm/mdadm_3.2.5.bb LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ · line 15
Quoted 7 lines
meta/recipes-extended/mdadm/mdadm_3.2.5.bb +1
-0@@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161" PR = "r0" +DEPENDS = "binutils" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.bz2 \ file://mdadm-3.2.2_fix_for_x32.patch \
I think we can likely just remove the use of the header:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=37cf162998b13d7d594c7ed68c47d440a3033ed5
Cheers,
Richard
Re: [Consolidated Pull 23/23] mdadm: add binutils to DEPENDS
Quoted 19 lines · Richard Purdie
Quoted 18 lines · Saul Wold
mdadm requires
ansidecl.hand therefore binutils needs to be completely installed before this compile can complete, so add the DEPENDS.Signed-off-by Saul Wold<[email protected]>--- meta/recipes-extended/mdadm/mdadm_3.2.5.bb | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)meta/recipes-extended/mdadm/mdadm_3.2.5.bb +1
-0@@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161" PR = "r0" +DEPENDS = "binutils"
Quoted 7 lines
meta/recipes-extended/mdadm/mdadm_3.2.5.bb LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ · line 15
Quoted 2 lines
meta/recipes-extended/mdadm/mdadm_3.2.5.bb +0
-0SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.bz2 \ file://mdadm-3.2.2_fix_for_x32.patch \I think we can likely just remove the use of the header:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=37cf162998b13d7d594c7ed68c47d440a3033ed5
Fixed in the branch oe-contrib/sgw/stage branch as suggested.
Sau!
Quoted 12 lines
Cheers,
Richard
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Richard Purdie
AppliedQuoted 47 lines · Saul Wold
Richard,
Been tested on the ab over the weekend, reviewed.
Autobuild turned up a latent dependency issue with mdadm!
Sau!
The following changes since commit
63d1ae1c2828cda03828b4c3fdde037d7a23f1e4:directfb: added missing Upstream-status (2012-06-15 15:41:11 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribsgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stageBruce Ashfield (1):
meta-skeleton: add linux-yocto-custom reference recipeKang Kai (4):
cleanup-workdir: update the way to check obsolete dirs
cleanup-workdir: replace commands with subprocess
cleanup-workdir: only deal dirs related to current arch
cleanup-workdir: update help textKhem Raj (9):
uclibc_0.9.33.bb: Upgrade to latest git site/x86_64-linux-uclibc: Cache definitions of guint32/guint64
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: DefineOECMAKE_CXX_LINK_FLAGSwhen compiling for uclibcLaurentiu Palcu (2):
core-image-gtk-directfb, qt4e-demo-image: Remove module-init-tools
fromIMAGE_INSTALLlist
puzzles: upgrade to r9561Mark Hatle (1):
busybox: Fix syslog configuration fileRobert Yang (1):
gcc-cross: argument list too long whendo_install
Quoted 8 lines
Saul Wold (3):
directfb: fix Upstream-status -> Upstream-Status
curl: Use gnutls for target and openssl for native
mdadm: add binutils to DEPENDSXiaofeng Yan (2):
multilib.conf: Add the support of multilib for lsbinitscripts
lsbinitscripts: Add the header for functions.patch
Merged to master, thanks.
(Including updated version of the mdadm patch)
Richard