Skip to contentSkip to conversation

systemd upgrade, distribute->setuptools and clang fixes

PATCH In review Khem Raj 3 participants 31 messages Aug 24, 2015 – Sep 9, 2015 exec and binfmt

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

cover systemd upgrade, distribute->setuptools and clang fixes

This is a cumulative series containing

first three and then patch 11 and 12 patches are for systemd upgrade to 224 last two patches deal with distribute to setuptools change
Rest of them improve the recipes in way so they work with clang compiler

Khem Raj (17):
systemd: Upgrade 219 -> 224
core-image-minimal: Add 4M extra space when using systemd
systemd: Cache/define tool paths for target
kernel-arch: Force BFD kernel when using gcc for linking
sysvinit: Fix makefile bug found with clang
alsa-lib: Lift the limitation to use gcc only cross compiler
json-c: Include math_compat.c for NAN/INF values
libvorbis: Update libvorbis_1.3.4.bb -> libvorbis_1.3.5.bb
psplash: Turn psplash_fb_plot_pixel() into static inline
mdadm: Upgrade mdadm_3.3.2.bb -> mdadm_3.3.4.bb bitbake.conf: Define fallback DISTRO_NAME
systemd: Remove exporting special CPP
diffstat: Add TOOLCHAIN_OPTIONS to Linker calls
liburcu: Fix atomic function parameter types in calls
busybox: Use CC instead of bare LD to be the Linker python-distribute,python-setuptools: Migrate to good old
python-setuptools
classes,conf: Remove python-distribute refrences

 meta/classes/kernel-arch.bbclass                   |   2 +-
 meta/classes/setuptools.bbclass                    |   2 +-
 meta/conf/bitbake.conf                             |  20 +--
 meta/conf/distro/include/distro_alias.inc          |   2 -
 meta/conf/distro/include/package_regex.inc         |   4 -
 ...-linking-instead-of-LD-and-use-CFLAGS-and.patch | 121 ++++++++++++++
 .../busybox/0002-Passthrough-r-to-linker.patch     |  32 ++++
 meta/recipes-core/busybox/busybox_1.23.2.bb        |   2 +
 meta/recipes-core/images/core-image-minimal.bb     |   2 +-
 ...Convert-psplash_fb_plot_pixel-to-a-static.patch |  53 ++++++
 meta/recipes-core/psplash/psplash_git.bb           |   1 +
 ...-mount-add-dependencies-to-dynamically-mo.patch |  36 ----
 ...ed-missing.h-fall-back-to-insecure-getenv.patch |  25 ---
 ...t-install-dependency-links-at-install-tim.patch |  35 ++--
 ...heck-for-additional-features-that-uclibc-.patch |  23 ++-
 ...wn-Use-execvpe-only-when-libc-supports-it.patch |  37 ++---
 ...til-Use-mkostemp-only-if-libc-supports-it.patch |   8 +-
 ...-unimplemented-_SC_PHYS_PAGES-system-conf.patch |   8 +-
 ...0-Make-root-s-home-directory-configurable.patch | 136 ++++++++-------
 ...files.c-Honor-ordering-within-files-as-th.patch | 185 ---------------------
 ...-remove-userspace-firmware-loading-suppor.patch |  99 ++++++-----
 .../systemd/systemd/tmpfiles-pam.patch             |  30 ----
 .../systemd/{systemd_219.bb => systemd_224.bb}     |  38 +++--
 ...an-issue-that-clang-reports-about-mutlipl.patch |  52 ++++++
 meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb     |   1 +
 meta/recipes-devtools/diffstat/diffstat_1.60.bb    |   2 +
 .../0001-json_tokener-requires-INF-and-NAN.patch   |  37 +++++
 meta/recipes-devtools/json-c/json-c_0.12.bb        |   6 +-
 .../python/python-distribute_0.6.32.bb             |  63 -------
 .../python/python-setuptools_18.2.bb               |  46 +++++
 ...tuptools_15.2.bb => python3-setuptools_18.2.bb} |   0
 meta/recipes-extended/mdadm/files/inline.patch     |  39 -----
 .../mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch   |  23 ++-
 .../mdadm/{mdadm_3.3.2.bb => mdadm_3.3.4.bb}       |   6 +-
 ...build-Do-not-try-to-detect-cross-compiler.patch |  45 +++++
 meta/recipes-multimedia/alsa/alsa-lib_1.0.29.bb    |   1 +
 .../{libvorbis_1.3.4.bb => libvorbis_1.3.5.bb}     |   7 +-
 ...cify-complete-types-for-atomic-function-c.patch | 158 ++++++++++++++++++
 meta/recipes-support/liburcu/liburcu_0.8.7.bb      |   1 +
 39 files changed, 769 insertions(+), 619 deletions(-)
 create mode 100644 meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch
 create mode 100644 meta/recipes-core/busybox/busybox/0002-Passthrough-r-to-linker.patch
 create mode 100644 meta/recipes-core/psplash/files/0001-psplash-fb-Convert-psplash_fb_plot_pixel-to-a-static.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/0002-shared-missing.h-fall-back-to-insecure-getenv.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/tmpfiles-pam.patch
 rename meta/recipes-core/systemd/{systemd_219.bb => systemd_224.bb} (94%)
 create mode 100644 meta/recipes-core/sysvinit/sysvinit/0001-This-fixes-an-issue-that-clang-reports-about-mutlipl.patch
 create mode 100644 meta/recipes-devtools/json-c/json-c/0001-json_tokener-requires-INF-and-NAN.patch
 delete mode 100644 meta/recipes-devtools/python/python-distribute_0.6.32.bb
 create mode 100644 meta/recipes-devtools/python/python-setuptools_18.2.bb
 rename meta/recipes-devtools/python/{python3-setuptools_15.2.bb => python3-setuptools_18.2.bb} (100%)
 delete mode 100644 meta/recipes-extended/mdadm/files/inline.patch
 rename meta/recipes-extended/mdadm/{mdadm_3.3.2.bb => mdadm_3.3.4.bb} (92%)
 create mode 100644 meta/recipes-multimedia/alsa/alsa-lib/0001-build-Do-not-try-to-detect-cross-compiler.patch
 rename meta/recipes-multimedia/libvorbis/{libvorbis_1.3.4.bb => libvorbis_1.3.5.bb} (78%)
 create mode 100644 meta/recipes-support/liburcu/liburcu/0001-uatomic-Specify-complete-types-for-atomic-function-c.patch
Signature · 1 line
2.1.4
author
#1 lore raw

PATCH 1/17 systemd: Upgrade 219 -> 224

Drop patches that were straight backports from upstream

MIT licence was unused and dropped from systemd sources for more details see
https://github.com/systemd/systemd/commit/8f1e0c5f38cdf7e401ab4d2bb93ad816d08e7715

Drop gtkdoc dependency since libudev API documentation has been converted from gtkdoc into man pages Remove packaging gudev as it has moved to separate repository outside
systemd

For more details see
https://github.com/systemd/systemd/commit/2375607039517c88df51ef16ddbb624ec1c10654

package newly added script for xorg to be usable with systemd --user intance
For more details see
https://github.com/systemd/systemd/commit/1401ec2d34bcde406ced531a72dc46ebaf332594

For complete differences between two releases run
git log --oneline v219..v224
in systemd git clone

Change-Id I998e652382950a3c74c4839f3767ef8bef23d88f
---
 ...-mount-add-dependencies-to-dynamically-mo.patch |  36 ----
 ...ed-missing.h-fall-back-to-insecure-getenv.patch |  25 ---
 ...t-install-dependency-links-at-install-tim.patch |  35 ++--
 ...heck-for-additional-features-that-uclibc-.patch |  23 ++-
 ...wn-Use-execvpe-only-when-libc-supports-it.patch |  37 ++---
 ...til-Use-mkostemp-only-if-libc-supports-it.patch |   8 +-
 ...-unimplemented-_SC_PHYS_PAGES-system-conf.patch |   8 +-
 ...0-Make-root-s-home-directory-configurable.patch | 136 ++++++++-------
 ...files.c-Honor-ordering-within-files-as-th.patch | 185 ---------------------
 ...-remove-userspace-firmware-loading-suppor.patch |  99 ++++++-----
 .../systemd/systemd/tmpfiles-pam.patch             |  30 ----
 .../systemd/{systemd_219.bb => systemd_224.bb}     |  25 +--
 12 files changed, 174 insertions(+), 473 deletions(-)
 delete mode 100644 meta/recipes-core/systemd/systemd/0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/0002-shared-missing.h-fall-back-to-insecure-getenv.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/tmpfiles-pam.patch
 rename meta/recipes-core/systemd/{systemd_219.bb => systemd_224.bb} (95%)
meta/recipes-core/systemd/systemd/0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch deleted +0 -36
deleted file mode 100644
index d69cfe0..0000000
@@ -1,36 +0,0 @@
-From eb7a760052667c5a35637901de9359c377263804 Mon Sep 17 00:00:00 2001
-From: Colin Walters <[email protected]>
-Date: Tue, 24 Feb 2015 10:12:28 -0500
-Subject: [PATCH] Revert "core/mount: add dependencies to dynamically mounted
- mounts too"
-
-This reverts commit 06e97888883e2cc12eb6514e80c7f0014295f59b.
-
-This patch was imported from Fedora (http://pkgs.fedoraproject.org/cgit/systemd.git/commit/?h=f22&id=9bbe0e92dc59d5a42258c729b105a7d9901eb35e).
-
-It fixes an issue where mount points not listed in fstab are immediately
-unmounted after a call to mount.
-
-Upstream-Status: Inappropriate [fixed upstream]
-
-Signed-off-by: Joshua Lock <[email protected]>
----
- src/core/mount.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/mount.c b/src/core/mount.c
-index 40037e7..cddb5e2 100644
---- a/src/core/mount.c
-+++ b/src/core/mount.c
-@@ -295,7 +295,7 @@ static int mount_add_device_links(Mount *m) {
- 
-         assert(m);
- 
--        p = get_mount_parameters(m);
-+        p = get_mount_parameters_fragment(m);
-         if (!p)
-                 return 0;
- 
--- 
-1.8.3.1
-
meta/recipes-core/systemd/systemd/0002-shared-missing.h-fall-back-to-insecure-getenv.patch deleted +0 -25
deleted file mode 100644
index 1cf7840..0000000
@@ -1,25 +0,0 @@
-From 03baade6db2cf83b44a157818ba827d725449bb0 Mon Sep 17 00:00:00 2001
-From: Emil Renner Berthing <[email protected]>
-Date: Thu, 18 Sep 2014 15:24:47 +0200
-Subject: [PATCH 02/11] shared/missing.h: fall back to insecure getenv
-
----
- src/shared/missing.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/shared/missing.h b/src/shared/missing.h
-index b33a70c..11cca04 100644
---- a/src/shared/missing.h
-+++ b/src/shared/missing.h
-@@ -366,7 +366,7 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle
- #  ifdef HAVE___SECURE_GETENV
- #    define secure_getenv __secure_getenv
- #  else
--#    error "neither secure_getenv nor __secure_getenv are available"
-+#    define secure_getenv getenv
- #  endif
- #endif
- 
--- 
-2.1.4
-
meta/recipes-core/systemd/systemd/0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch +16 -19
index c14cc6f..0e20fd0 100644
@@ -23,11 +23,11 @@ Signed-off-by: Khem Raj <[email protected]>
  units/systemd-binfmt.service.in         | 5 +++++
  3 files changed, 8 insertions(+), 4 deletions(-)
 
-diff --git a/Makefile.am b/Makefile.am
-index ba63f68..0fb3f9f 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -4838,10 +4838,6 @@ INSTALL_DIRS += \
+Index: git/Makefile.am
+===================================================================
+--- git.orig/Makefile.am
++++ git/Makefile.am
+@@ -4271,10 +4271,6 @@ INSTALL_DIRS += \
  	$(prefix)/lib/binfmt.d \
  	$(sysconfdir)/binfmt.d
  
@@ -38,10 +38,10 @@ index ba63f68..0fb3f9f 100644
  endif
  
  EXTRA_DIST += \
-diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
-index 6be3893..709adef 100644
---- a/units/proc-sys-fs-binfmt_misc.automount
-+++ b/units/proc-sys-fs-binfmt_misc.automount
+Index: git/units/proc-sys-fs-binfmt_misc.automount
+===================================================================
+--- git.orig/units/proc-sys-fs-binfmt_misc.automount
++++ git/units/proc-sys-fs-binfmt_misc.automount
 @@ -16,3 +16,6 @@ ConditionPathIsReadWrite=/proc/sys/
  
  [Automount]
@@ -49,11 +49,11 @@ index 6be3893..709adef 100644
 +
 +[Install]
 +WantedBy=sysinit.target
-diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in
-index 34a5d52..617462b 100644
---- a/units/systemd-binfmt.service.in
-+++ b/units/systemd-binfmt.service.in
-@@ -11,6 +11,8 @@ Documentation=man:systemd-binfmt.service(8) man:binfmt.d(5)
+Index: git/units/systemd-binfmt.service.in
+===================================================================
+--- git.orig/units/systemd-binfmt.service.in
++++ git/units/systemd-binfmt.service.in
+@@ -11,6 +11,8 @@ Documentation=man:systemd-binfmt.service
  Documentation=https://www.kernel.org/doc/Documentation/binfmt_misc.txt
  DefaultDependencies=no
  Conflicts=shutdown.target
@@ -62,13 +62,10 @@ index 34a5d52..617462b 100644
  After=proc-sys-fs-binfmt_misc.automount
  Before=sysinit.target shutdown.target
  ConditionPathIsReadWrite=/proc/sys/
-@@ -24,3 +26,6 @@ ConditionDirectoryNotEmpty=|/run/binfmt.d
- Type=oneshot
+@@ -25,3 +27,6 @@ Type=oneshot
  RemainAfterExit=yes
  ExecStart=@rootlibexecdir@/systemd-binfmt
+ TimeoutSec=90s
 +
 +[Install]
 +WantedBy=sysinit.target
--- 
-2.1.4
-
meta/recipes-core/systemd/systemd/0004-configure-Check-for-additional-features-that-uclibc-.patch +10 -13
index dddb7da..8078da9 100644
@@ -14,13 +14,13 @@ Signed-off-by: Khem Raj <[email protected]>
  configure.ac | 18 ++++++++++++++++++
  1 file changed, 18 insertions(+)
 
-diff --git a/configure.ac b/configure.ac
-index 9a2235b..a5b2e6e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -103,6 +103,24 @@ AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't s
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -110,6 +110,24 @@ AC_PATH_PROG([UMOUNT_PATH], [umount], [/
  
- M4_DEFINES=
+ AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])])
  
 +# check for few functions not implemented in uClibc
 +
@@ -31,7 +31,7 @@ index 9a2235b..a5b2e6e 100644
 +AC_MSG_CHECKING([whether %ms format is supported by *scanf])
 +
 +AC_LINK_IFELSE(
-+	[AC_LANG_PROGRAM([ 
++	[AC_LANG_PROGRAM([
 +	 #include <stdio.h>
 +	 ],[
 +	    char *buf1, *buf2, *buf3, str="1 2.3 abcde" ;
@@ -40,9 +40,6 @@ index 9a2235b..a5b2e6e 100644
 +	[AC_DEFINE([HAVE_MSFORMAT], [1], [Define if %ms format is supported by *scanf.])],
 +	[AC_MSG_RESULT([no])])
 +
- # gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line
- m4_ifdef([GTK_DOC_CHECK], [
- GTK_DOC_CHECK([1.18],[--flavour no-tmpl])],
--- 
-2.1.4
-
+ M4_DEFINES=
+ 
+ AC_CHECK_TOOL(OBJCOPY, objcopy)
meta/recipes-core/systemd/systemd/0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch +17 -20
index 85279d6..55a0088 100644
@@ -10,32 +10,29 @@ Signed-off-by: Khem Raj <[email protected]>
  src/nspawn/nspawn.c | 7 +++++++
  1 file changed, 7 insertions(+)
 
-diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 0d8d199..b597edb 100644
---- a/src/nspawn/nspawn.c
-+++ b/src/nspawn/nspawn.c
-@@ -129,6 +129,8 @@ typedef enum Volatile {
-         VOLATILE_STATE,
- } Volatile;
+Index: git/src/nspawn/nspawn.c
+===================================================================
+--- git.orig/src/nspawn/nspawn.c
++++ git/src/nspawn/nspawn.c
+@@ -143,6 +143,8 @@ typedef struct CustomMount {
+         char **lower;
+ } CustomMount;
  
 +#include "config.h"
 +
  static char *arg_directory = NULL;
  static char *arg_template = NULL;
  static char *arg_user = NULL;
-@@ -4257,7 +4259,12 @@ int main(int argc, char *argv[]) {
-                                 a[0] = (char*) "/sbin/init";
-                                 execve(a[0], a, env_use);
-                         } else if (argc > optind)
+@@ -4238,7 +4240,12 @@ static int inner_child(
+                 a[0] = (char*) "/sbin/init";
+                 execve(a[0], a, env_use);
+         } else if (argc > optind)
 +#ifdef HAVE_EXECVPE
-                                 execvpe(argv[optind], argv + optind, env_use);
+                 execvpe(argv[optind], argv + optind, env_use);
 +#else
-+                                environ = env_use;
-+                                execvp(argv[optind], argv + optind);
++                environ = env_use;
++                execvp(argv[optind], argv + optind);
 +#endif /* HAVE_EXECVPE */
-                         else {
-                                 chdir(home ? home : "/root");
-                                 execle("/bin/bash", "-bash", NULL, env_use);
--- 
-2.1.4
-
+         else {
+                 chdir(home ? home : "/root");
+                 execle("/bin/bash", "-bash", NULL, env_use);
meta/recipes-core/systemd/systemd/0007-util-Use-mkostemp-only-if-libc-supports-it.patch +4 -4
index 29c20c0..b8ab7c4 100644
@@ -7,13 +7,13 @@ Upstream-Status: Denied [no desire for uclibc support]
 
 Signed-off-by: Khem Raj <[email protected]>
 ---
- src/shared/util.c | 8 ++++++++
+ src/basic/util.c | 8 ++++++++
  1 file changed, 8 insertions(+)
 
-diff --git a/src/shared/util.c b/src/shared/util.c
+diff --git a/src/basic/util.c b/src/basic/util.c
 index dc65280..72f4665 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
+--- a/src/basic/util.c
++++ b/src/basic/util.c
 @@ -97,6 +97,8 @@
  #include "def.h"
  #include "sparse-endian.h"
meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch +4 -4
index 5297625..3f4d4de 100644
@@ -8,13 +8,13 @@ Upstream-Status: Inappropriate [uclibc-specific]
 
 Signed-off-by: Khem Raj <[email protected]>
 ---
- src/shared/util.c | 15 +++++++++++++++
+ src/basic/util.c | 15 +++++++++++++++
  1 file changed, 15 insertions(+)
 
-diff --git a/src/shared/util.c b/src/shared/util.c
+diff --git a/src/basic/util.c b/src/basic/util.c
 index 72f4665..cbbe3b1 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
+--- a/src/basic/util.c
++++ b/src/basic/util.c
 @@ -6793,10 +6793,25 @@ uint64_t physical_memory(void) {
          /* We return this as uint64_t in case we are running as 32bit
           * process on a 64bit kernel with huge amounts of memory */
meta/recipes-core/systemd/systemd/0010-Make-root-s-home-directory-configurable.patch +66 -70

215 lines not on this page · raw message

meta/recipes-core/systemd/systemd/0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch deleted +0 -185

185 lines not on this page · raw message

meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch +48 -51

177 lines not on this page · raw message

meta/recipes-core/systemd/systemd/tmpfiles-pam.patch deleted +0 -30
deleted file mode 100644
index a40b1b9..0000000
@@ -1,30 +0,0 @@
-Upstream-Status: Submitted
-Signed-off-by: Ross Burton <[email protected]>
-
-From 0802aaaa9784813d318d045c79533a044eedf542 Mon Sep 17 00:00:00 2001
-From: Ross Burton <[email protected]>
-Date: Tue, 3 Mar 2015 11:32:29 +0000
-Subject: [PATCH] tmpfiles.d: only copy /etc/pam.d if PAM is present
-
-If HAVE_PAM isn't set then don't attempt to copy /etc/pam.d from the factory, as
-it doesn't get installed.
-
-Signed-off-by: Ross Burton <[email protected]>
----
- tmpfiles.d/etc.conf.m4 |    2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4
-index 9b0e080..ab5cd16 100644
---- a/tmpfiles.d/etc.conf.m4
-+++ b/tmpfiles.d/etc.conf.m4
-@@ -14,4 +14,6 @@ m4_ifdef(`ENABLE_RESOLVED',
- L /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf
- )m4_dnl
- C /etc/nsswitch.conf - - - -
-+m4_ifdef(`HAVE_PAM',
- C /etc/pam.d - - - -
-+)m4_dnl
--- 
-1.7.10.4
-
meta/recipes-core/systemd/systemd_224.bb renamed from meta/recipes-core/systemd/systemd_219.bb +9 -16
similarity index 95%
rename from meta/recipes-core/systemd/systemd_219.bb
rename to meta/recipes-core/systemd/systemd_224.bb
index e187cea..16eb497 100644
@@ -10,10 +10,9 @@ state, maintains mount and automount points and implements an \
 elaborate transactional dependency-based service control logic. It can \
 work as a drop-in replacement for sysvinit."
 
-LICENSE = "GPLv2 & LGPLv2.1 & MIT"
+LICENSE = "GPLv2 & LGPLv2.1"
 LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
-                    file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c \
-                    file://LICENSE.MIT;md5=544799d0b492f119fa04641d1b8868ed"
+                    file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
 
 PROVIDES = "udev"
 
@@ -23,14 +22,13 @@ DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl rea
 
 SECTION = "base/shell"
 
-inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext
+inherit useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext
 
-SRCREV = "85a6fabdd3e43cfab0fc6359e9f2a9e368d4a3ed"
+SRCREV = "b2a0ac5e5b29c73ca7c0da23369a4769d5a91ddd"
 
-PV = "219-stable+git${SRCPV}"
+PV = "224+git${SRCPV}"
 
-SRC_URI = "git://github.com/systemd/systemd-stable;branch=v219-stable;protocol=git \
-           file://0002-shared-missing.h-fall-back-to-insecure-getenv.patch \
+SRC_URI = "git://github.com/systemd/systemd.git;protocol=git \
            file://0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
            file://0004-configure-Check-for-additional-features-that-uclibc-.patch \
            file://0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch \
@@ -40,11 +38,8 @@ SRC_URI = "git://github.com/systemd/systemd-stable;branch=v219-stable;protocol=g
            file://0009-sysv-generator-add-support-for-executing-scripts-und.patch \
            file://0010-Make-root-s-home-directory-configurable.patch \
            file://0011-systemd-user-avoid-using-system-auth.patch \
-           file://0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch \
            file://0014-Revert-rules-remove-firmware-loading-rules.patch \
            file://0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch \
-           file://tmpfiles-pam.patch \
-           file://0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch \
            file://touchscreen.rules \
            file://00-create-volatile.conf \
            file://init \
@@ -108,8 +103,6 @@ EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
                  --with-rootlibdir=${rootlibdir} \
                  --with-roothomedir=${ROOT_HOME} \
                  --disable-coredump \
-                 --disable-introspection \
-                 --disable-kdbus \
                  --enable-split-usr \
                  --without-python \
                  --with-sysvrcnd-path=${sysconfdir} \
@@ -210,7 +203,7 @@ python populate_packages_prepend (){
 PACKAGES_DYNAMIC += "^lib(udev|systemd).*"
 
 PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install \
-             ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh libgudev"
+             ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh ${PN}-xorg-xinitrc"
 
 SYSTEMD_PACKAGES = "${PN}-binfmt"
 SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
@@ -224,8 +217,6 @@ FILES_${PN}-analyze = "${bindir}/systemd-analyze"
 FILES_${PN}-initramfs = "/init"
 RDEPENDS_${PN}-initramfs = "${PN}"
 
-FILES_libgudev = "${libdir}/libgudev*${SOLIBS}"
-
 RDEPENDS_${PN}-ptest += "perl python bash"
 FILES_${PN}-ptest += "${libdir}/udev/rules.d"
 
@@ -245,6 +236,8 @@ FILES_${PN}-kernel-install = "${bindir}/kernel-install \
 FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
                          "
 
+FILES_${PN}-xorg-xinitrc = "${sysconfdir}/X11/xinit/xinitrc.d/*"
+
 FILES_${PN}-zsh = "${datadir}/zsh/site-functions"
 
 FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
Signature · 1 line
2.1.4
author
#2 lore raw

PATCH 2/17 core-image-minimal: Add 4M extra space when using systemd

qemu images fail to rebuild the hwdb due to no space letf on device

systemd-hwdb-update.service - Rebuild Hardware Database
Loaded: loaded (/lib/systemd/system/systemd-hwdb-update.service; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2015-08-15 21:39:28 UTC; 28s ago
Docs: man:hwdb(7)
man:systemd-hwdb(8)
Process: 92 ExecStart=/bin/systemd-hwdb update (code=exited, status=1/FAILURE)
Main PID: 92 (code=exited, status=1/FAILURE)

Aug 15 21:39:28 qemux86 systemd-hwdb[92]:
Failure writing database //etc/udev/hwdb.bin:
No space left on device
Aug 15 21:39:28 qemux86 systemd[1]:
systemd-hwdb-update.service: Main process exited, code=exited, status=1/FAILURE Aug 15 21:39:28 qemux86 systemd[1]: Failed to start Rebuild Hardware Database.

---
 meta/recipes-core/images/core-image-minimal.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/images/core-image-minimal.bb +1 -1
index 9716274..8dd77b3 100644
@@ -9,4 +9,4 @@ LICENSE = "MIT"
 inherit core-image
 
 IMAGE_ROOTFS_SIZE ?= "8192"
-
+IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "" ,d)}"
Signature · 1 line
2.1.4
author
#3 lore raw

PATCH 3/17 systemd: Cache/define tool paths for target

In reply to Khem Raj

Recently, systemd has added a patch

f00929ad622c978f8ad83590a15a765b4beecac9

where it now pokes at the system to find
out the path of mount/umount tools, this caused the builds to fail because it ended up with identifying these programs from native sysroot but they were actually meant for target, this lead to boot failures due to none of mount worked because the paths are encoded into systemd binaries during build time.

Correct few others while here, these are not yet detected wrongly in my build, because those binaries are not found in my native sysroot but if some one staged the native providers of these packages they will fail too.

---
 meta/recipes-core/systemd/systemd_224.bb | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
meta/recipes-core/systemd/systemd_224.bb +11 -1
index 16eb497..97d5d22 100644
@@ -98,7 +98,17 @@ rootprefix ?= "${base_prefix}"
 rootlibdir ?= "${base_libdir}"
 rootlibexecdir = "${rootprefix}/lib"
 
-# The gtk+ tools should get built as a separate recipe e.g. systemd-tools
+CACHED_CONFIGUREVARS_class-target = "\
+                         ac_cv_path_MOUNT_PATH=${base_bindir}/mount \
+                         ac_cv_path_UMOUNT_PATH=${base_bindir}/umount \
+                         ac_cv_path_KMOD=${base_bindir}/kmod \
+                         ac_cv_path_KILL=${base_bindir}/kill \
+                         ac_cv_path_SULOGIN=${base_sbindir}/sulogin \
+                         ac_cv_path_KEXEC=${sbindir}/kexec \
+                         ac_cv_path_QUOTACHECK=${sbindir}/quotacheck \
+                         ac_cv_path_QUOTAON=${sbindir}/quotaon \
+			 "
+
 EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
                  --with-rootlibdir=${rootlibdir} \
                  --with-roothomedir=${ROOT_HOME} \
Signature · 1 line
2.1.4
author
#4 lore raw

PATCH 4/17 kernel-arch: Force BFD kernel when using gcc for linking

In reply to Khem Raj

We redefine LD to point to ld.bfd when building kernel, which works in most cases since kbuild system calls out for bare LD most of the time, however some of newer kernels e.g. 4.1+ have some code added which can call gcc directly to do the linking job e.g. arm vdso code

This causes build failures when we have configured the default cross toolchain to use gold linker as default. Errors like

BFD: arch/arm/vdso/vdso.so: Not enough room for program headers, try linking with -N
| arm-angstrom-linux-gnueabi-objcopy:arch/arm/vdso/vdso.so[.hash]: Bad value

start happening.

With this patch we force gcc to choose bfd linker as well

---
 meta/classes/kernel-arch.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/kernel-arch.bbclass +1 -1
index 6650870..211b72b 100644
@@ -53,7 +53,7 @@ HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
 TARGET_AR_KERNEL_ARCH ?= ""
 HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}"
 
-KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH}"
+KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH} -fuse-ld=bfd"
 KERNEL_LD = "${CCACHE}${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}"
 KERNEL_AR = "${CCACHE}${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}"
 
Signature · 1 line
2.1.4
author
#5 lore raw

PATCH 5/17 sysvinit: Fix makefile bug found with clang

In reply to Khem Raj

This is due to specifying .h files on linker cmdline clang driver is picky about it, and its not entirely correct either

---
 ...an-issue-that-clang-reports-about-mutlipl.patch | 52 ++++++++++++++++++++++
 meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb     |  1 +
 2 files changed, 53 insertions(+)
 create mode 100644 meta/recipes-core/sysvinit/sysvinit/0001-This-fixes-an-issue-that-clang-reports-about-mutlipl.patch
meta/recipes-core/sysvinit/sysvinit/0001-This-fixes-an-issue-that-clang-reports-about-mutlipl.patch new file +52 -0
new file mode 100644
index 0000000..f35c15c
@@ -0,0 +1,52 @@
+From 36ac97bfe51797458442a6035219a504a42e703a Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Fri, 21 Aug 2015 10:56:40 -0700
+Subject: [PATCH] This fixes an issue that clang reports about mutliple output
+ files
+
+Issue is that we are passing .h file to link step as seen below.
+
+| arm-oe-linux-gnueabi-clang  -march=armv7-a -mthumb  -mfloat-abi=hard
+-mfpu=neon-vfpv4 -mtune=cortex-a7 -D__extern_always_inline=inline
+-no-integrated-as
+--sysroot=/mnt/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-glibc/sysroots/raspberrypi2
+-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed  halt.o ifdown.o hddown.o
+utmp.o reboot.h   -o halt
+| clang-3.7: error: cannot specify -o when generating multiple output
+files
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ src/Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index e77ed5f..a6f9f40 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -103,9 +103,9 @@ all:		$(BIN) $(SBIN) $(USRBIN)
+ init:		LDLIBS += $(INITLIBS) $(STATIC)
+ init:		init.o init_utmp.o
+ 
+-halt:		halt.o ifdown.o hddown.o utmp.o reboot.h
++halt:		halt.o ifdown.o hddown.o utmp.o
+ 
+-last:		last.o oldutmp.h
++last:		last.o
+ 
+ mesg:		mesg.o
+ 
+@@ -120,7 +120,7 @@ sulogin:	sulogin.o
+ 
+ wall:		dowall.o wall.o
+ 
+-shutdown:	dowall.o shutdown.o utmp.o reboot.h
++shutdown:	dowall.o shutdown.o utmp.o
+ 
+ bootlogd:	LDLIBS += -lutil
+ bootlogd:	bootlogd.o
+-- 
+2.1.4
+
meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb +1 -0
index 6709a9b..5dfe39e 100644
@@ -13,6 +13,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/sysvinit/sysvinit-${PV}.tar.bz2 \
            file://install.patch \
            file://crypt-lib.patch \
            file://pidof-add-m-option.patch \
+           file://0001-This-fixes-an-issue-that-clang-reports-about-mutlipl.patch \
            file://rcS-default \
            file://rc \
            file://rcS \
Signature · 1 line
2.1.4
author
#6 lore raw

PATCH 6/17 alsa-lib: Lift the limitation to use gcc only cross compiler

In reply to Khem Raj

alsa-lib configure tries to see that if CC variabled doesnt contain 'gcc' then it tries to guess and redefine CC to be something gcc, which doesnt work with OE since we define CC to have sysroot and options attached to it. So all tests fail when configure constructs the CC for cross compiler like this. This portion is not needed at all

---
 ...build-Do-not-try-to-detect-cross-compiler.patch | 45 ++++++++++++++++++++++
 meta/recipes-multimedia/alsa/alsa-lib_1.0.29.bb    |  1 +
 2 files changed, 46 insertions(+)
 create mode 100644 meta/recipes-multimedia/alsa/alsa-lib/0001-build-Do-not-try-to-detect-cross-compiler.patch
meta/recipes-multimedia/alsa/alsa-lib/0001-build-Do-not-try-to-detect-cross-compiler.patch new file +45 -0
new file mode 100644
index 0000000..583bc3d
@@ -0,0 +1,45 @@
+From 17aeb3565f411e7796cabe403f92d15948a8ca95 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Fri, 21 Aug 2015 14:42:45 -0700
+Subject: [PATCH] build: Do not try to detect cross-compiler
+
+cross compilers are passed via path may not be a gcc based cross
+compiler in such cases this check fails and try's to force gcc based
+cross compiler detection, This code is a convenience that limits the
+build system
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Pending
+
+ configure.ac | 14 --------------
+ 1 file changed, 14 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3022cf8..9d77440 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,20 +27,6 @@ AC_PREFIX_DEFAULT(/usr)
+ 
+ dnl Checks for programs.
+ 
+-dnl try to gues cross-compiler if not set
+-if test "x$host" != "x$build" -a -z "`echo $CC | grep -e '-gcc'`";
+-then
+-  AC_MSG_CHECKING(for cross-compiler)
+-
+-  which ${program_prefix}gcc >/dev/null 2>&1 && CC=${program_prefix}gcc
+-  which ${host_cpu}-${host_os}-gcc >/dev/null 2>&1 \
+-  && CC=${host_cpu}-${host_os}-gcc
+-  which ${host_cpu}-${host_vendor}-${host_os}-gcc >/dev/null 2>&1 \
+-  && CC=${host_cpu}-${host_vendor}-${host_os}-gcc
+-
+-  AC_MSG_RESULT($CC)
+-fi
+-	    
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+ 
+ 
+-- 
+2.1.4
+
meta/recipes-multimedia/alsa/alsa-lib_1.0.29.bb +1 -0
index fc6ba69..730f427 100644
@@ -16,6 +16,7 @@ ARM_INSTRUCTION_SET = "arm"
 
 SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/${BP}.tar.bz2 \
            file://Check-if-wordexp-function-is-supported.patch \
+           file://0001-build-Do-not-try-to-detect-cross-compiler.patch \
 "
 SRC_URI[md5sum] = "de67e0eca72474d6b1121037dafe1024"
 SRC_URI[sha256sum] = "73043c35eb9636be0f4af6a240235c213f12a25feb1f04aeeac8cb7e30fcbdd0"
Signature · 1 line
2.1.4
author
#7 lore raw

PATCH 7/17 json-c: Include math_compat.c for NAN/INF values

In reply to Khem Raj

The backport patch also fixes the warning which was being work arounded by disabling unused-but-set-variable

---
 .../0001-json_tokener-requires-INF-and-NAN.patch   | 37 ++++++++++++++++++++++
 meta/recipes-devtools/json-c/json-c_0.12.bb        |  6 ++--
 2 files changed, 40 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-devtools/json-c/json-c/0001-json_tokener-requires-INF-and-NAN.patch
meta/recipes-devtools/json-c/json-c/0001-json_tokener-requires-INF-and-NAN.patch new file +37 -0
new file mode 100644
index 0000000..d29d911
@@ -0,0 +1,37 @@
+From 9be71700eb580c815688584a64621a38867c3fdd Mon Sep 17 00:00:00 2001
+From: James Myatt <[email protected]>
+Date: Thu, 5 Feb 2015 15:57:14 +0000
+Subject: [PATCH] json_tokener requires INF and NAN
+
+---
+Upstream-Status: Backport
+
+ json_tokener.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+Index: json-c-0.12/json_tokener.c
+===================================================================
+--- json-c-0.12.orig/json_tokener.c
++++ json-c-0.12/json_tokener.c
+@@ -16,6 +16,7 @@
+ #include "config.h"
+ 
+ #include <math.h>
++#include "math_compat.h"
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <stddef.h>
+@@ -352,12 +353,10 @@ struct json_object* json_tokener_parse_e
+ 
+     case json_tokener_state_inf: /* aka starts with 'i' */
+       {
+-	int size;
+-	int size_inf;
++	size_t size_inf;
+ 	int is_negative = 0;
+ 
+ 	printbuf_memappend_fast(tok->pb, &c, 1);
+-	size = json_min(tok->st_pos+1, json_null_str_len);
+ 	size_inf = json_min(tok->st_pos+1, json_inf_str_len);
+ 	char *infbuf = tok->pb->buf;
+ 	if (*infbuf == '-')
meta/recipes-devtools/json-c/json-c_0.12.bb +3 -3
index e9c5b31..cfef03d 100644
@@ -4,7 +4,9 @@ HOMEPAGE = "https://github.com/json-c/json-c/wiki"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
 
-SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz"
+SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
+           file://0001-json_tokener-requires-INF-and-NAN.patch \
+          "
 
 SRC_URI[md5sum] = "3ca4bbb881dfc4017e8021b5e0a8c491"
 SRC_URI[sha256sum] = "000c01b2b3f82dcb4261751eb71f1b084404fb7d6a282f06074d3c17078b9f3f"
@@ -17,5 +19,3 @@ do_configure_prepend() {
     # Clean up autoconf cruft that should not be in the tarball
     rm -f ${S}/config.status
 }
-
-CFLAGS += "-Wno-error=unused-but-set-variable"
Signature · 1 line
2.1.4
author
#8 lore raw

PATCH 8/17 libvorbis: Update libvorbis_1.3.4.bb -> libvorbis_1.3.5.bb

In reply to Khem Raj

Licence years have changes causing checksum changes

-Copyright (c) 2002-2008 Xiph.org Foundation
+Copyright (c) 2002-2015 Xiph.org Foundation

---
 .../libvorbis/{libvorbis_1.3.4.bb => libvorbis_1.3.5.bb}           | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
 rename meta/recipes-multimedia/libvorbis/{libvorbis_1.3.4.bb => libvorbis_1.3.5.bb} (78%)
meta/recipes-multimedia/libvorbis/libvorbis_1.3.5.bb renamed from meta/recipes-multimedia/libvorbis/libvorbis_1.3.4.bb +3 -4
similarity index 78%
rename from meta/recipes-multimedia/libvorbis/libvorbis_1.3.4.bb
rename to meta/recipes-multimedia/libvorbis/libvorbis_1.3.5.bb
index 0788c94..b7a0667 100644
@@ -6,14 +6,13 @@ HOMEPAGE = "http://www.vorbis.com/"
 BUGTRACKER = "https://trac.xiph.org"
 SECTION = "libs"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ca77c6c3ea4d29cb68dce8ef5ab0d897 \
+LIC_FILES_CHKSUM = "file://COPYING;md5=7d2c487d2fc7dd3e3c7c465a5b7f6217 \
                     file://include/vorbis/vorbisenc.h;beginline=1;endline=11;md5=d1c1d138863d6315131193d4046d81cb"
 DEPENDS = "libogg"
 
 SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "55f2288055e44754275a17c9a2497391"
-SRC_URI[sha256sum] = "2f05497d29195dc23ee952a24ee3973a74e6277569c4c2eca0ec5968e541f372"
+SRC_URI[md5sum] = "28cb28097c07a735d6af56e598e1c90f"
+SRC_URI[sha256sum] = "54f94a9527ff0a88477be0a71c0bab09a4c3febe0ed878b24824906cd4b0e1d1"
 
 inherit autotools pkgconfig
 
Signature · 1 line
2.1.4
author
#9 lore raw

PATCH 9/17 psplash: Turn psplash_fb_plot_pixel() into static inline

In reply to Khem Raj

This function is not used anywhere except psplash-fb.c so make it static inline function which is portable across compilers

Fixes issues like
psplash-fb.o: In function `psplash_fb_draw_rect':
| /mnt/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-glibc/work/i586-oe-linux/psplash/0.1+gitAUTOINC+14c8f7b705-r15/git/psplash-fb.c:363:
undefined reference to `psplash_fb_plot_pixel'

---
 ...Convert-psplash_fb_plot_pixel-to-a-static.patch | 53 ++++++++++++++++++++++
 meta/recipes-core/psplash/psplash_git.bb           |  1 +
 2 files changed, 54 insertions(+)
 create mode 100644 meta/recipes-core/psplash/files/0001-psplash-fb-Convert-psplash_fb_plot_pixel-to-a-static.patch
meta/recipes-core/psplash/files/0001-psplash-fb-Convert-psplash_fb_plot_pixel-to-a-static.patch new file +53 -0
new file mode 100644
index 0000000..93b3c6b
@@ -0,0 +1,53 @@
+From 8f5de12cc75bfaa8400adf32f30c015d8f813540 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 22 Aug 2015 07:12:20 -0700
+Subject: [PATCH] psplash-fb: Convert psplash_fb_plot_pixel() to a static
+ inline
+
+This function is not used outside psplash-fb.c and by making it
+static inline we keep the performance and also make it portable across
+multiple compilers and gcc versions
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Pending
+
+ psplash-fb.c | 2 +-
+ psplash-fb.h | 8 --------
+ 2 files changed, 1 insertion(+), 9 deletions(-)
+
+diff --git a/psplash-fb.c b/psplash-fb.c
+index bd9cd9d..6d235db 100644
+--- a/psplash-fb.c
++++ b/psplash-fb.c
+@@ -260,7 +260,7 @@ psplash_fb_new (int angle)
+ 
+ #define OFFSET(fb,x,y) (((y) * (fb)->stride) + ((x) * ((fb)->bpp >> 3)))
+ 
+-inline void
++static inline void
+ psplash_fb_plot_pixel (PSplashFB    *fb,
+ 		       int          x,
+ 		       int          y,
+diff --git a/psplash-fb.h b/psplash-fb.h
+index 42592ed..c6c3144 100644
+--- a/psplash-fb.h
++++ b/psplash-fb.h
+@@ -57,14 +57,6 @@ psplash_fb_destroy (PSplashFB *fb);
+ PSplashFB*
+ psplash_fb_new (int angle);
+ 
+-inline void
+-psplash_fb_plot_pixel (PSplashFB    *fb, 
+-		       int          x, 
+-		       int          y, 
+-		       uint8        red,
+-		       uint8        green,
+-		       uint8        blue);
+-
+ void
+ psplash_fb_draw_rect (PSplashFB    *fb, 
+ 		      int          x, 
+-- 
+2.1.4
+
meta/recipes-core/psplash/psplash_git.bb +1 -0
index 7f0dc78..b3b6479 100644
@@ -10,6 +10,7 @@ PV = "0.1+git${SRCPV}"
 PR = "r15"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN} \
+           file://0001-psplash-fb-Convert-psplash_fb_plot_pixel-to-a-static.patch \
            file://psplash-init \
            ${SPLASH_IMAGES}"
 
Signature · 1 line
2.1.4
author
#10 lore raw

PATCH 10/17 mdadm: Upgrade mdadm_3.3.2.bb -> mdadm_3.3.4.bb

In reply to Khem Raj

Drop upstreamed patch for gcc5 compatibility
Forward port x32 patch

---
 meta/recipes-extended/mdadm/files/inline.patch     | 39 ----------------------
 .../mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch   | 23 ++++++-------
 .../mdadm/{mdadm_3.3.2.bb => mdadm_3.3.4.bb}       |  6 ++--
 3 files changed, 13 insertions(+), 55 deletions(-)
 delete mode 100644 meta/recipes-extended/mdadm/files/inline.patch
 rename meta/recipes-extended/mdadm/{mdadm_3.3.2.bb => mdadm_3.3.4.bb} (92%)
meta/recipes-extended/mdadm/files/inline.patch deleted +0 -39
deleted file mode 100644
index 9009f06..0000000
@@ -1,39 +0,0 @@
-with gnu11 turning on a default with gcc-5 we have to abide by new inline semantics
-using 'inline' and using is in same translation unit means an external definition has to exist
-same like "external inline" in gnu89, we simply make the functions static inline since they
-are just meant to be used in this file
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <[email protected]>
-
-Index: mdadm-3.3.2/bitmap.c
-===================================================================
---- mdadm-3.3.2.orig/bitmap.c
-+++ mdadm-3.3.2/bitmap.c
-@@ -20,7 +20,7 @@
- 
- #include "mdadm.h"
- 
--inline void sb_le_to_cpu(bitmap_super_t *sb)
-+static inline void sb_le_to_cpu(bitmap_super_t *sb)
- {
- 	sb->magic = __le32_to_cpu(sb->magic);
- 	sb->version = __le32_to_cpu(sb->version);
-@@ -34,7 +34,7 @@ inline void sb_le_to_cpu(bitmap_super_t
- 	sb->write_behind = __le32_to_cpu(sb->write_behind);
- }
- 
--inline void sb_cpu_to_le(bitmap_super_t *sb)
-+static inline void sb_cpu_to_le(bitmap_super_t *sb)
- {
- 	sb_le_to_cpu(sb); /* these are really the same thing */
- }
-@@ -74,7 +74,7 @@ typedef struct bitmap_info_s {
- } bitmap_info_t;
- 
- /* count the dirty bits in the first num_bits of byte */
--inline int count_dirty_bits_byte(char byte, int num_bits)
-+static inline int count_dirty_bits_byte(char byte, int num_bits)
- {
- 	int num = 0;
- 
meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch +11 -12
index 143a8d9..c656d07 100644
@@ -5,22 +5,21 @@ Upstream-Status: Pending
 
 Signed-off-by: Aníbal Limón <[email protected]>
 
-diff --git a/monitor.c b/monitor.c
-index f81e707..19ea041 100644
---- a/monitor.c
-+++ b/monitor.c
-@@ -260,8 +260,13 @@ static int read_and_act(struct active_array *a)
+Index: mdadm-3.3.4/monitor.c
+===================================================================
+--- mdadm-3.3.4.orig/monitor.c
++++ mdadm-3.3.4/monitor.c
+@@ -257,9 +257,12 @@ static int read_and_act(struct active_ar
+ 			mdi->curr_state = read_dev_state(mdi->state_fd);
+ 		}
  	}
- 
+-
  	gettimeofday(&tv, NULL);
 +#if defined(__x86_64__) && defined(__ILP32__)
-+	dprintf("%s(%d): %lld.%06lld state:%s prev:%s action:%s prev: %s start:%llu\n",
++	dprintf("(%d): %lld.%06lld state:%s prev:%s action:%s prev: %s start:%llu\n",
 +#else
- 	dprintf("%s(%d): %ld.%06ld state:%s prev:%s action:%s prev: %s start:%llu\n",
--		__func__, a->info.container_member,
+ 	dprintf("(%d): %ld.%06ld state:%s prev:%s action:%s prev: %s start:%llu\n",
 +#endif
-+		__func__,
-+		a->info.container_member,
+ 		a->info.container_member,
  		tv.tv_sec, tv.tv_usec,
  		array_states[a->curr_state],
- 		array_states[a->prev_state],
meta/recipes-extended/mdadm/mdadm_3.3.4.bb renamed from meta/recipes-extended/mdadm/mdadm_3.3.2.bb +2 -4
similarity index 92%
rename from meta/recipes-extended/mdadm/mdadm_3.3.2.bb
rename to meta/recipes-extended/mdadm/mdadm_3.3.4.bb
index b2fbe4a..460a430 100644
@@ -12,12 +12,10 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
            file://mdadm-3.2.2_fix_for_x32.patch \
            file://gcc-4.9.patch \
            file://mdadm-3.3.2_x32_abi_time_t.patch \
-           file://inline.patch \
            file://run-ptest \
 	  "
-
-SRC_URI[md5sum] = "44698d351501cac6a89072dc877eb220"
-SRC_URI[sha256sum] = "0f3a7e1a76b13892b79f9fceaf99ecb23513260389a768ac644ffa3ae06e5b8c"
+SRC_URI[md5sum] = "7ca8b114710f98f53f20c5787b674a09"
+SRC_URI[sha256sum] = "8ae5f45306b873190e91f410709b00e51997b633c072b33f8efd9f7df022ca68"
 
 CFLAGS += "-fno-strict-aliasing"
 
Signature · 1 line
2.1.4
author
#11 lore raw

PATCH 11/17 bitbake.conf: Define fallback DISTRO_NAME

In reply to Khem Raj

When using OE-Core only we miss this define and its now used in recipes like os-release, which goes undefined and when booting we see messages like

Welcome to ${DISTRO_NAME} nodistro.0!

This would change to
Welcome to OpenEmbedded nodistro.0!

Remove all trailing whitespaces while touching this file

---
 meta/conf/bitbake.conf | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
meta/conf/bitbake.conf +10 -10
index 21f1698..c382c58 100644
@@ -2,7 +2,7 @@
 # Standard target filesystem paths.
 ##################################################################
 #
-# If changing these values, beware that native/cross/nativesdk bbclass 
+# If changing these values, beware that native/cross/nativesdk bbclass
 # files may also need changes to keep in sync.
 #
 
@@ -161,7 +161,7 @@ DATETIME = "${DATE}${TIME}"
 # Openembedded Software Prerequisites.
 ##################################################################
 
-# python-native should be here but python relies on building 
+# python-native should be here but python relies on building
 # its own in staging
 ASSUME_PROVIDED = "\
     bzip2-native \
@@ -417,7 +417,7 @@ IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}"
 # This option allows for a percentage overage of the actual image size rather than a
 # fixed extra space, this is space needed for initial startup and basic operations.
 IMAGE_OVERHEAD_FACTOR ?= "1.3"
-# This option allows for adding additional space in K above and beyond what the 
+# This option allows for adding additional space in K above and beyond what the
 # IMAGE_OVERHEAD_FACTOR might add. This space is for additional packages, user data, ...
 # To set a fixed size then overriding IMAGE_ROOTFS_SIZE with the max size one wants
 # should do the trick
@@ -646,18 +646,18 @@ export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"
 ### Config file processing
 ###
 
-# An empty distro leads to :: entries in OVERRIDES and FILEOVERRIDES which 
+# An empty distro leads to :: entries in OVERRIDES and FILEOVERRIDES which
 # is a bad idea. Setting a dummy value is better than a ton of anonymous python.
 DISTRO ??= "nodistro"
-
+DISTRO_NAME ??= "OpenEmbedded"
 # Overrides are processed left to right, so the ones that are named later take precedence.
 # You generally want them to go from least to most specific.
-# 
+#
 # This means that an envionment variable named '<foo>_arm' overrides an
 # environment variable '<foo>' (when ${TARGET_ARCH} is arm).
 # An environment variable '<foo>_qemuarm' overrides '<foo>' and overrides
-# '<foo>_arm' when ${MACHINE} is 'qemuarm'. 
-# If you use combination ie '<foo>_qemuarm_arm', then '<foo>_qemuarm_arm' will override 
+# '<foo>_arm' when ${MACHINE} is 'qemuarm'.
+# If you use combination ie '<foo>_qemuarm_arm', then '<foo>_qemuarm_arm' will override
 # '<foo>_qemuarm' and then '<foo>' will be overriden with that value from '<foo>_qemuarm'.
 # And finally '<foo>_forcevariable' overrides any standard variable, with the highest priority.
 #
@@ -706,7 +706,7 @@ MACHINE_TASK_PROVIDER ?= "${DEFAULT_TASK_PROVIDER}"
 # and no effect if less than it.
 IMAGE_ROOTFS_SIZE ??= "65536"
 
-# Forcefully set CACHE now so future changes to things like 
+# Forcefully set CACHE now so future changes to things like
 # MACHINE don't change the path to the cache
 CACHE := "${CACHE}"
 
@@ -755,7 +755,7 @@ BAD_RECOMMENDATIONS ?= ""
 MACHINE[unexport] = "1"
 
 # Make sure TARGET_ARCH isn't exported
-# (breaks Makefiles using implicit rules, e.g. quilt, as GNU make has this 
+# (breaks Makefiles using implicit rules, e.g. quilt, as GNU make has this
 # in them, undocumented)
 TARGET_ARCH[unexport] = "1"
 
Signature · 1 line
2.1.4
author
#12 lore raw

PATCH 12/17 systemd: Remove exporting special CPP

In reply to Khem Raj

This is no more needed.
it was done long ago while systemd lived in meta-openembedded
http://lists.openembedded.org/pipermail/openembedded-commits/2012-August/141061.html
The accompanying patch has been applied to systemd already so we were not needing to set CPP for sometime now.

as a nice side effect it helps compiling systemd with clang

---
 meta/recipes-core/systemd/systemd_224.bb | 1 -
 1 file changed, 1 deletion(-)
meta/recipes-core/systemd/systemd_224.bb +0 -1
index 97d5d22..98efe7a 100644
@@ -122,7 +122,6 @@ EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
 EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname "
 
 do_configure_prepend() {
-	export CPP="${HOST_PREFIX}cpp ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
 	export NM="${HOST_PREFIX}gcc-nm"
 	export AR="${HOST_PREFIX}gcc-ar"
 	export RANLIB="${HOST_PREFIX}gcc-ranlib"
Signature · 1 line
2.1.4
author
#13 lore raw

PATCH 13/17 diffstat: Add TOOLCHAIN_OPTIONS to Linker calls

In reply to Khem Raj

configure in this case does a novel thing where it drops all additional compiler options from CC variable into CFLAGS which in OE's case include the options added by TOOLCHAIN_OPTIONS and then it does exactly same for LD as well, the problem starts when we miss the --sysroot options and ABI options which are part of CC variables usually in OE, in the end it assigns LD = CC but doesnt add newly separated CFLAGS to LDFLAGS hence the compile still works since all those needed options are getting into compiler cmdline but link step fails especially when using gold, since it does not find --sysroot option on cmdline it starts to complain about missing libraries and paths

This shows up with clang more so because clang does not have implicit sysroot that it silently passes down to linker like gcc does when confgured with sysroot

We see errors like

arm-angstrom-linux-gnueabi-clang -c -I. -I/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/diffstat/1.60-r0/diffstat-1.60
-DHAVE_CONFIG_H -D__extern_always_inline=inline -D_GNU_SOURCE -O2
-pipe -g -feliminate-unused-debug-types -march=armv7-a -mthumb
-mfloat-abi=hard -mfpu=neon -no-integrated-as --sysroot=/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2 /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/diffstat/1.60-r0/diffstat-1.60/diffstat.c
NOTE: make -j 16
arm-angstrom-linux-gnueabi-clang -Wl,-O1 -Wl,--hash-style=gnu
-Wl,--as-needed -o diffstat diffstat.o /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: cannot open crt1.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: cannot open crti.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: cannot open crtbegin.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: cannot open crtend.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: cannot open crtn.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: cannot find -lgcc /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: cannot find -lgcc /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: cannot find -lgcc /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: cannot find -lgcc

---
 meta/recipes-devtools/diffstat/diffstat_1.60.bb | 2 ++
 1 file changed, 2 insertions(+)
meta/recipes-devtools/diffstat/diffstat_1.60.bb +2 -0
index 29c32a8..25ba4da 100644
@@ -18,6 +18,8 @@ S = "${WORKDIR}/diffstat-${PV}"
 
 inherit autotools gettext ptest
 
+LDFLAGS += "${TOOLCHAIN_OPTIONS}"
+
 do_configure () {
 	if [ ! -e ${S}/acinclude.m4 ]; then
 		mv ${S}/aclocal.m4 ${S}/acinclude.m4
Signature · 1 line
2.1.4
author
#14 lore raw

PATCH 14/17 liburcu: Fix atomic function parameter types in calls

In reply to Khem Raj

__sync_val_compare_and_swap family specifically asks for proper types of pointer type parameters, gcc does not notice it but clang does and sends out errors calling it out.

---
 ...cify-complete-types-for-atomic-function-c.patch | 158 +++++++++++++++++++++
 meta/recipes-support/liburcu/liburcu_0.8.7.bb      |   1 +
 2 files changed, 159 insertions(+)
 create mode 100644 meta/recipes-support/liburcu/liburcu/0001-uatomic-Specify-complete-types-for-atomic-function-c.patch
meta/recipes-support/liburcu/liburcu/0001-uatomic-Specify-complete-types-for-atomic-function-c.patch new file +158 -0
new file mode 100644
index 0000000..5ad0bbd
@@ -0,0 +1,158 @@
+From 6af790818d074c103c4797f1ce764896f183e028 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 22 Aug 2015 21:35:03 -0700
+Subject: [PATCH] uatomic: Specify complete types for atomic function calls
+
+This was unearthed by clang compiler where it complained about parameter
+mismatch, gcc doesnt notice this
+
+urcu/uatomic/generic.h:190:10: error: address argument to atomic builtin
+must be a pointer to integer or pointer ('void *' invalid)
+                return __sync_add_and_fetch_4(addr, val);
+
+Fixed all instances thusly
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Submitted
+
+ urcu/uatomic/generic.h | 40 ++++++++++++++++++++--------------------
+ 1 file changed, 20 insertions(+), 20 deletions(-)
+
+diff --git a/urcu/uatomic/generic.h b/urcu/uatomic/generic.h
+index 37f59cc..0046ffd 100644
+--- a/urcu/uatomic/generic.h
++++ b/urcu/uatomic/generic.h
+@@ -65,17 +65,17 @@ unsigned long _uatomic_cmpxchg(void *addr, unsigned long old,
+ 	switch (len) {
+ #ifdef UATOMIC_HAS_ATOMIC_BYTE
+ 	case 1:
+-		return __sync_val_compare_and_swap_1(addr, old, _new);
++		return __sync_val_compare_and_swap_1((unsigned char *)addr, old, _new);
+ #endif
+ #ifdef UATOMIC_HAS_ATOMIC_SHORT
+ 	case 2:
+-		return __sync_val_compare_and_swap_2(addr, old, _new);
++		return __sync_val_compare_and_swap_2((unsigned short int *)addr, old, _new);
+ #endif
+ 	case 4:
+-		return __sync_val_compare_and_swap_4(addr, old, _new);
++		return __sync_val_compare_and_swap_4((unsigned int *)addr, old, _new);
+ #if (CAA_BITS_PER_LONG == 64)
+ 	case 8:
+-		return __sync_val_compare_and_swap_8(addr, old, _new);
++		return __sync_val_compare_and_swap_8((unsigned long *)addr, old, _new);
+ #endif
+ 	}
+ 	_uatomic_link_error();
+@@ -100,20 +100,20 @@ void _uatomic_and(void *addr, unsigned long val,
+ 	switch (len) {
+ #ifdef UATOMIC_HAS_ATOMIC_BYTE
+ 	case 1:
+-		__sync_and_and_fetch_1(addr, val);
++		__sync_and_and_fetch_1((unsigned char *)addr, val);
+ 		return;
+ #endif
+ #ifdef UATOMIC_HAS_ATOMIC_SHORT
+ 	case 2:
+-		__sync_and_and_fetch_2(addr, val);
++		__sync_and_and_fetch_2((unsigned short int *)addr, val);
+ 		return;
+ #endif
+ 	case 4:
+-		__sync_and_and_fetch_4(addr, val);
++		__sync_and_and_fetch_4((unsigned int *)addr, val);
+ 		return;
+ #if (CAA_BITS_PER_LONG == 64)
+ 	case 8:
+-		__sync_and_and_fetch_8(addr, val);
++		__sync_and_and_fetch_8((unsigned long *)addr, val);
+ 		return;
+ #endif
+ 	}
+@@ -139,20 +139,20 @@ void _uatomic_or(void *addr, unsigned long val,
+ 	switch (len) {
+ #ifdef UATOMIC_HAS_ATOMIC_BYTE
+ 	case 1:
+-		__sync_or_and_fetch_1(addr, val);
++		__sync_or_and_fetch_1((unsigned char *)addr, val);
+ 		return;
+ #endif
+ #ifdef UATOMIC_HAS_ATOMIC_SHORT
+ 	case 2:
+-		__sync_or_and_fetch_2(addr, val);
++		__sync_or_and_fetch_2((unsigned short int *)addr, val);
+ 		return;
+ #endif
+ 	case 4:
+-		__sync_or_and_fetch_4(addr, val);
++		__sync_or_and_fetch_4((unsigned int *)addr, val);
+ 		return;
+ #if (CAA_BITS_PER_LONG == 64)
+ 	case 8:
+-		__sync_or_and_fetch_8(addr, val);
++		__sync_or_and_fetch_8((unsigned long *)addr, val);
+ 		return;
+ #endif
+ 	}
+@@ -180,17 +180,17 @@ unsigned long _uatomic_add_return(void *addr, unsigned long val,
+ 	switch (len) {
+ #ifdef UATOMIC_HAS_ATOMIC_BYTE
+ 	case 1:
+-		return __sync_add_and_fetch_1(addr, val);
++		return __sync_add_and_fetch_1((unsigned char *)addr, val);
+ #endif
+ #ifdef UATOMIC_HAS_ATOMIC_SHORT
+ 	case 2:
+-		return __sync_add_and_fetch_2(addr, val);
++		return __sync_add_and_fetch_2((unsigned short int *)addr, val);
+ #endif
+ 	case 4:
+-		return __sync_add_and_fetch_4(addr, val);
++		return __sync_add_and_fetch_4((unsigned int *)addr, val);
+ #if (CAA_BITS_PER_LONG == 64)
+ 	case 8:
+-		return __sync_add_and_fetch_8(addr, val);
++		return __sync_add_and_fetch_8((unsigned long *)addr, val);
+ #endif
+ 	}
+ 	_uatomic_link_error();
+@@ -218,7 +218,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len)
+ 
+ 		do {
+ 			old = uatomic_read((unsigned char *)addr);
+-		} while (!__sync_bool_compare_and_swap_1(addr, old, val));
++		} while (!__sync_bool_compare_and_swap_1((unsigned char *)addr, old, val));
+ 
+ 		return old;
+ 	}
+@@ -230,7 +230,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len)
+ 
+ 		do {
+ 			old = uatomic_read((unsigned short *)addr);
+-		} while (!__sync_bool_compare_and_swap_2(addr, old, val));
++		} while (!__sync_bool_compare_and_swap_2((unsigned short int *)addr, old, val));
+ 
+ 		return old;
+ 	}
+@@ -241,7 +241,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len)
+ 
+ 		do {
+ 			old = uatomic_read((unsigned int *)addr);
+-		} while (!__sync_bool_compare_and_swap_4(addr, old, val));
++		} while (!__sync_bool_compare_and_swap_4((unsigned int *)addr, old, val));
+ 
+ 		return old;
+ 	}
+@@ -252,7 +252,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len)
+ 
+ 		do {
+ 			old = uatomic_read((unsigned long *)addr);
+-		} while (!__sync_bool_compare_and_swap_8(addr, old, val));
++		} while (!__sync_bool_compare_and_swap_8((unsigned long *)addr, old, val));
+ 
+ 		return old;
+ 	}
+-- 
+2.1.4
+
meta/recipes-support/liburcu/liburcu_0.8.7.bb +1 -0
index 71cb149..a7f4f51 100644
@@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0f060c30a27922ce9c0d557a639b4fa3 \
 SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \
            file://Revert-Blacklist-ARM-gcc-4.8.0-4.8.1-4.8.2.patch \
            file://aarch64.patch \
+           file://0001-uatomic-Specify-complete-types-for-atomic-function-c.patch \
           "
 
 SRC_URI[md5sum] = "7a6ee17871d31226db3f618e28351d22"
Signature · 1 line
2.1.4
author
#15 lore raw

PATCH 15/17 busybox: Use CC instead of bare LD to be the Linker

In reply to Khem Raj

This patch was on mailing list, another patch to make sure -r is not passed directly but via -Wl switch is added.

This was exposed when using clang and gold linker, clang does not have -r switch to do relocatable objects and problem happens specific to OE becuase we use LD = CC

now what happens is that busybox assumes that linker will be called directly, and hence sprinkles linkers options in its kbuild system which aggregate into LDFLAGS, some of these options are happily ignored by gcc as well but it passes -r options rightly to linker so it all works, however when using clang, this falls apart since -r is not known option for clang so it drops this option and all obects which should be partially linked becomes ET_EXEC and when they are added to final link then gold starts to get confused

/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: applets/built-in.o: unsupported ELF file type 2
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)

---
 ...-linking-instead-of-LD-and-use-CFLAGS-and.patch | 121 +++++++++++++++++++++
 .../busybox/0002-Passthrough-r-to-linker.patch     |  32 ++++++
 meta/recipes-core/busybox/busybox_1.23.2.bb        |   2 +
 3 files changed, 155 insertions(+)
 create mode 100644 meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch
 create mode 100644 meta/recipes-core/busybox/busybox/0002-Passthrough-r-to-linker.patch
meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch new file +121 -0
new file mode 100644
index 0000000..f07d7eb
@@ -0,0 +1,121 @@
+From a9333eb6a7b8dbda735947cd5bc981ff9352a2c9 Mon Sep 17 00:00:00 2001
+From: Nathan Phillip Brink <[email protected]>
+Date: Thu, 10 Mar 2011 00:27:08 -0500
+Subject: [PATCH 1/2] Use $(CC) when linking instead of $(LD) and use $(CFLAGS)
+ and $(EXTRA_CFLAGS) when linking.
+
+This fixes the issue where LDFLAGS escaped with -Wl are ignored during
+compilation. It also simplifies using CFLAGS or EXTRA_CFLAGS (such as
+-m32 on x86_64 or -flto) which apply to both compilation and linking
+situations.
+
+Signed-off-by: Nathan Phillip Brink <[email protected]>
+---
+Upstream-Status: Pending
+
+ Makefile               |  7 ++++---
+ scripts/Makefile.build |  8 ++++----
+ scripts/Makefile.lib   | 13 +++----------
+ 3 files changed, 11 insertions(+), 17 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 65b2642..9da02cb 100644
+--- a/Makefile
++++ b/Makefile
+@@ -309,7 +309,8 @@ CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise $(C
+ MODFLAGS	= -DMODULE
+ CFLAGS_MODULE   = $(MODFLAGS)
+ AFLAGS_MODULE   = $(MODFLAGS)
+-LDFLAGS_MODULE  = -r
++LDFLAGS_RELOCATABLE = -r -nostdlib
++LDFLAGS_MODULE  = $(LDFLAGS_RELOCATABLE)
+ CFLAGS_KERNEL	=
+ AFLAGS_KERNEL	=
+ 
+@@ -331,7 +332,7 @@ KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
+ export	VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \
+ 	ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
+ 	CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
+-	HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
++	HOSTCXX HOSTCXXFLAGS LDFLAGS_RELOCATABLE LDFLAGS_MODULE CHECK CHECKFLAGS
+ 
+ export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
+ export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
+@@ -606,7 +607,7 @@ quiet_cmd_busybox__ ?= LINK    $@
+       cmd_busybox__ ?= $(srctree)/scripts/trylink \
+       "$@" \
+       "$(CC)" \
+-      "$(CFLAGS) $(CFLAGS_busybox)" \
++      "$(CFLAGS) $(CFLAGS_busybox) $(EXTRA_CFLAGS)" \
+       "$(LDFLAGS) $(EXTRA_LDFLAGS)" \
+       "$(core-y)" \
+       "$(libs-y)" \
+diff --git a/scripts/Makefile.build b/scripts/Makefile.build
+index 5eac45f..a003c63 100644
+--- a/scripts/Makefile.build
++++ b/scripts/Makefile.build
+@@ -174,7 +174,7 @@ cmd_modversions =							\
+ 		| $(GENKSYMS) -a $(ARCH)				\
+ 		> $(@D)/.tmp_$(@F:.o=.ver);				\
+ 									\
+-		$(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) 		\
++               $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) $(LDFLAGS_RELOCATABLE) -o $@ $(@D)/.tmp_$(@F)        \
+ 			-T $(@D)/.tmp_$(@F:.o=.ver);			\
+ 		rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver);	\
+ 	else								\
+@@ -257,7 +257,7 @@ quiet_cmd_link_o_target = LD      $@
+ # If the list of objects to link is empty, just create an empty built-in.o
+ # -nostdlib is added to make "make LD=gcc ..." work (some people use that)
+ cmd_link_o_target = $(if $(strip $(obj-y)),\
+-		$(LD) -nostdlib $(ld_flags) -r -o $@ $(filter $(obj-y), $^),\
++		$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(ld_flags) $(LDFLAGS_RELOCATABLE) -o $@ $(filter $(obj-y), $^),\
+ 		rm -f $@; $(AR) rcs $@)
+ 
+ $(builtin-target): $(obj-y) FORCE
+@@ -292,10 +292,10 @@ $($(subst $(obj)/,,$(@:.o=-objs)))    \
+ $($(subst $(obj)/,,$(@:.o=-y)))), $^)
+ 
+ quiet_cmd_link_multi-y = LD      $@
+-cmd_link_multi-y = $(LD) $(ld_flags) -r -o $@ $(link_multi_deps)
++cmd_link_multi-y = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(ld_flags) $(LDFLAGS_RELOCATABLE) -o $@ $(link_multi_deps)
+ 
+ quiet_cmd_link_multi-m = LD [M]  $@
+-cmd_link_multi-m = $(LD) $(ld_flags) $(LDFLAGS_MODULE) -o $@ $(link_multi_deps)
++cmd_link_multi-m = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(ld_flags) $(LDFLAGS_MODULE) -o $@ $(link_multi_deps)
+ 
+ # We would rather have a list of rules like
+ # 	foo.o: $(foo-objs)
+diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
+index 3e54ea7..879b918 100644
+--- a/scripts/Makefile.lib
++++ b/scripts/Makefile.lib
+@@ -117,12 +117,7 @@ a_flags        = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(CPPFLAGS) \
+ 
+ cpp_flags      = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(__cpp_flags)
+ 
+-# Seems to be a wrong thing to do. LDFLAGS contains gcc's flags,
+-# yet ld_flags is fed to ld.
+-#ld_flags       = $(LDFLAGS) $(EXTRA_LDFLAGS)
+-# Remove the -Wl, prefix from linker options normally passed through gcc
+-ld_flags       = $(filter-out -Wl$(comma)%,$(LDFLAGS) $(EXTRA_LDFLAGS))
+-
++ld_flags       = $(LDFLAGS) $(EXTRA_LDFLAGS)
+ 
+ # Finds the multi-part object the current object will be linked into
+ modname-multi = $(sort $(foreach m,$(multi-used),\
+@@ -151,10 +146,8 @@ $(obj)/%:: $(src)/%_shipped
+ # Linking
+ # ---------------------------------------------------------------------------
+ 
+-# TODO: LDFLAGS usually is supposed to contain gcc's flags, not ld's.
+-# but here we feed them to ld!
+-quiet_cmd_ld = LD      $@
+-cmd_ld = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$(@F)) \
++quiet_cmd_ld = CCLD    $@
++cmd_ld = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(ld_flags) $(LDFLAGS_$(@F)) \
+ 	       $(filter-out FORCE,$^) -o $@
+ 
+ # Objcopy
+-- 
+2.1.4
+
meta/recipes-core/busybox/busybox/0002-Passthrough-r-to-linker.patch new file +32 -0
new file mode 100644
index 0000000..de286fb
@@ -0,0 +1,32 @@
+From df2cc76cdebc4773361477f3db203790f6986e3b Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 22 Aug 2015 23:42:40 -0700
+Subject: [PATCH 2/2] Passthrough -r to linker
+
+clang does not have -r switch and it does not pass it down to linker
+either, LDFLAGS_RELOCATABLE is used when CC is used for LD, so this
+should not cause side effects
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Pending
+
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 9da02cb..10dd4a9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -309,7 +309,7 @@ CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise $(C
+ MODFLAGS	= -DMODULE
+ CFLAGS_MODULE   = $(MODFLAGS)
+ AFLAGS_MODULE   = $(MODFLAGS)
+-LDFLAGS_RELOCATABLE = -r -nostdlib
++LDFLAGS_RELOCATABLE = -Xlinker -r -nostdlib
+ LDFLAGS_MODULE  = $(LDFLAGS_RELOCATABLE)
+ CFLAGS_KERNEL	=
+ AFLAGS_KERNEL	=
+-- 
+2.1.4
+
meta/recipes-core/busybox/busybox_1.23.2.bb +2 -0
index 8a4bae6..51eaea8 100644
@@ -32,6 +32,8 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://busybox-cross-menuconfig.patch \
            file://0001-ifconfig-fix-double-free-fatal-error-in-INET_sprint.patch \
            file://0001-chown-fix-help-text.patch \
+           file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \
+           file://0002-Passthrough-r-to-linker.patch \
            file://mount-via-label.cfg \
            file://sha1sum.cfg \
            file://sha256sum.cfg \
Signature · 1 line
2.1.4
author
#19 lore raw

PATCH 16/17 python-distribute, python-setuptools: Migrate to good old python-setuptools

In reply to Khem Raj

setuptools the old king is ruling again, distribute fork has been merged into setuptools starting 0.7x, so lets move to use it as well

Fixes [YOCTO #8201]

---
 .../python/python-distribute_0.6.32.bb             | 63 ----------------------
 .../python/python-setuptools_18.2.bb               | 46 ++++++++++++++++
 ...tuptools_15.2.bb => python3-setuptools_18.2.bb} |  0
 3 files changed, 46 insertions(+), 63 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python-distribute_0.6.32.bb
 create mode 100644 meta/recipes-devtools/python/python-setuptools_18.2.bb
 rename meta/recipes-devtools/python/{python3-setuptools_15.2.bb => python3-setuptools_18.2.bb} (100%)
meta/recipes-devtools/python/python-distribute_0.6.32.bb deleted +0 -63
deleted file mode 100644
index aa07633..0000000
@@ -1,63 +0,0 @@
-SUMMARY = "Download, build, install, upgrade, and uninstall Python packages"
-HOMEPAGE = "http://packages.python.org/distribute"
-SECTION = "devel/python"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=234;endline=234;md5=26f6b02022b737126d3c88838782dddb"
-
-SRCNAME = "distribute"
-PR = "ml5"
-DEPENDS += "python"
-DEPENDS_class-native += "python-native"
-
-SRC_URI = " \
-  http://pypi.python.org/packages/source/d/distribute/${SRCNAME}-${PV}.tar.gz \
-"
-SRC_URI[md5sum] = "acb7a2da81e3612bfb1608abe4f0e568"
-SRC_URI[sha256sum] = "8970cd1e148b5d1fea9430584aea66c45ea22d80e0933393ec49ebc388f718df"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-#  http://python-distribute.org/distribute_setup.py 
-
-# force the selection of python3
-#PYTHON_BASEVERSION = "3.3"
-#PYTHON_MAJMIN = "3.3"
-
-inherit distutils
-
-DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${libdir}/${PYTHON_DIR}/site-packages"
-
-do_install_prepend() {
-    install -d ${D}/${libdir}/${PYTHON_DIR}/site-packages
-}
-
-#
-#  The installer puts the wrong path in the setuptools.pth file.  Correct it.
-#
-do_install_append() {
-    rm ${D}${PYTHON_SITEPACKAGES_DIR}/setuptools.pth
-    echo "./${SRCNAME}-${PV}-py${PYTHON_BASEVERSION}.egg" > ${D}${PYTHON_SITEPACKAGES_DIR}/setuptools.pth
-}
-
-do_install_append_class-nativesdk() {
-	sed -i -e '1s|^#!.*|#!/usr/bin/env python|' ${D}${PYTHON_SITEPACKAGES_DIR}/distribute-${PV}-py${PYTHON_BASEVERSION}.egg/setuptools/tests/test_resources.py
-	sed -i -e '1s|^#!.*|#!/usr/bin/env python|' ${D}${bindir}/easy_install
-	sed -i -e '1s|^#!.*|#!/usr/bin/env python|' ${D}${bindir}/easy_install-${PYTHON_BASEVERSION}
-}
-
-RDEPENDS_${PN} = "\
-  python-distutils \
-  python-compression \
-"
-
-RDEPENDS_${PN}_class-target = "\
-  python-distutils \
-  python-compression \
-  python-netclient \
-  python-email \
-  python-shell \
-"
-
-RPROVIDES_${PN} += "python-setuptools"
-
-BBCLASSEXTEND = "native nativesdk"
meta/recipes-devtools/python/python-setuptools_18.2.bb new file +46 -0

46 lines not on this page · raw message

meta/recipes-devtools/python/python3-setuptools_18.2.bb renamed from meta/recipes-devtools/python/python3-setuptools_15.2.bb +0 -0
similarity index 100%
rename from meta/recipes-devtools/python/python3-setuptools_15.2.bb
rename to meta/recipes-devtools/python/python3-setuptools_18.2.bb
Signature · 1 line
2.1.4
author
#27 lore raw

PATCH 17/17 classes, conf: Remove python-distribute refrences

In reply to Khem Raj

We have removed python-distribute so these references should go as well

Fixes [YOCTO #8201]

---
 meta/classes/setuptools.bbclass            | 2 +-
 meta/conf/distro/include/distro_alias.inc  | 2 --
 meta/conf/distro/include/package_regex.inc | 4 ----
 3 files changed, 1 insertion(+), 7 deletions(-)
meta/classes/setuptools.bbclass +1 -1
index 56343b1..157ef63 100644
@@ -1,6 +1,6 @@
 inherit distutils
 
-DEPENDS += "python-distribute-native"
+DEPENDS += "python-setuptools-native"
 
 DISTUTILS_INSTALL_ARGS = "--root=${D} \
     --prefix=${prefix} \
meta/conf/distro/include/distro_alias.inc +0 -2
index ec8570d..fb5f531 100644
@@ -385,11 +385,9 @@ DISTRO_PN_ALIAS_pn-psplash = "OpenedHand"
 DISTRO_PN_ALIAS_pn-ptest-runner = "OE-Core"
 DISTRO_PN_ALIAS_pn-puzzles = "Debian=sgt-puzzles Fedora=puzzles"
 DISTRO_PN_ALIAS_pn-python3 = "Fedora=python3 Debian=python3.2"
-DISTRO_PN_ALIAS_pn-python3-distribute = "Debian=python3-setuptools Fedora=python3-setuptools"
 DISTRO_PN_ALIAS_pn-python-ZSI = "OE-Core"
 DISTRO_PN_ALIAS_pn-python-argparse = "Fedora=python-argparse OpenSuSE=python-argparse"
 DISTRO_PN_ALIAS_pn-python-dbus = "Ubuntu=python-dbus Debian=python-dbus Mandriva=python-dbus"
-DISTRO_PN_ALIAS_pn-python-distribute = "Opensuse=python-setuptools Fedora=python-setuptools"
 DISTRO_PN_ALIAS_pn-python-git = "Debian=python-git Fedora=GitPython"
 DISTRO_PN_ALIAS_pn-python-mako = "Fedora=python-mako Opensuse=python-Mako"
 DISTRO_PN_ALIAS_pn-python-pycairo = "Meego=pycairo Fedora=pycairo Ubuntu=pycairo Debian=pycairo"
meta/conf/distro/include/package_regex.inc +0 -4
index 0c29ade..1e85c35 100644
@@ -120,10 +120,6 @@ REGEX_pn-qt4-native = "(?P<pver>\d+(\.\d+)+)/"
 # PyPI sites
 REGEX_URI_pn-python-nose = "https://pypi.python.org/pypi/nose/"
 REGEX_pn-python-nose = "/nose/${COMMON_REGEX}"
-# python-distribute 0.7.x is a simple compatibility layer that installs Setuptools 0.7+.
-# so we stick to 0.6.x series
-REGEX_URI_pn-python-distribute = "https://pypi.python.org/pypi/distribute/"
-REGEX_pn-python-distribute = "/distribute/(?P<pver>\d+.6.\d+)"
 REGEX_URI_pn-python-gitdb = "https://pypi.python.org/pypi/gitdb/"
 REGEX_URI_pn-python-async = "https://pypi.python.org/pypi/async/"
 REGEX_URI_pn-python-smmap = "https://pypi.python.org/pypi/smmap/"
Signature · 1 line
2.1.4
#20 lore raw

Re: [PATCH 16/17] python-distribute, python-setuptools: Migrate to good old python-setuptools

In reply to Khem Raj
Quoted 3 lines · Khem Raj

setuptools the old king is ruling again, distribute fork has been merged into setuptools starting 0.7x, so lets move to use it as well

This fails dramatically on the autobuilder with the core error being:

ERROR: Nothing PROVIDES 'python-setuptools-native' (but virtual:nativesdk:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm64/build/meta/recipes-devtools/python/ python-git_1.0.1.bb DEPENDS on or otherwise requires it). Close matches:
python3-setuptools-native
python3-setuptools
python-scons-native

Ross

author
#21 lore raw

Re: [PATCH 16/17] python-distribute, python-setuptools: Migrate to good old python-setuptools

Quoted 7 lines · Ross

On 24 August 2015 at 21:03, Khem Raj <[email protected] <mailto:[email protected]>> wrote:
setuptools the old king is ruling again, distribute fork has been merged
into setuptools starting 0.7x, so lets move to use it as well

Quoted 6 lines

This fails dramatically on the autobuilder with the core error being:

ERROR: Nothing PROVIDES 'python-setuptools-native' (but virtual:nativesdk:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm64/build/meta/recipes-devtools/python/python-git_1.0.1.bb <http://python-git_1.0.1.bb/> DEPENDS on or otherwise requires it). Close matches:
python3-setuptools-native
python3-setuptools
python-scons-native

New recipe has bbclassextend for native so I wonder why it did not find it. I will try to reproduce it. meanwhile you can exclude the two setuptools related commits.

Quoted 2 lines

Ross

author
#22 lore raw

Re: [PATCH 16/17] python-distribute, python-setuptools: Migrate to good old python-setuptools

In reply to Burton, Ross
Quoted 7 lines · Ross

On 24 August 2015 at 21:03, Khem Raj <[email protected] <mailto:[email protected]>> wrote:
setuptools the old king is ruling again, distribute fork has been merged
into setuptools starting 0.7x, so lets move to use it as well

Quoted 7 lines

This fails dramatically on the autobuilder with the core error being:

ERROR: Nothing PROVIDES 'python-setuptools-native' (but virtual:nativesdk:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm64/build/meta/recipes-devtools/python/python-git_1.0.1.bb <http://python-git_1.0.1.bb/> DEPENDS on or otherwise requires it). Close matches:
python3-setuptools-native
python3-setuptools
python-scons-native

sdks build shows this probably. Pull out those two setuptools related commits for now.

Quoted 1 line

Ross

author
#23 lore raw

Re: [PATCH 16/17] python-distribute, python-setuptools: Migrate to good old python-setuptools

In reply to Burton, Ross
Quoted 7 lines · Ross

On 24 August 2015 at 21:03, Khem Raj <[email protected] <mailto:[email protected]>> wrote:
setuptools the old king is ruling again, distribute fork has been merged
into setuptools starting 0.7x, so lets move to use it as well

Quoted 7 lines

This fails dramatically on the autobuilder with the core error being:

ERROR: Nothing PROVIDES 'python-setuptools-native' (but virtual:nativesdk:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm64/build/meta/recipes-devtools/python/python-git_1.0.1.bb <http://python-git_1.0.1.bb/> DEPENDS on or otherwise requires it). Close matches:
python3-setuptools-native
python3-setuptools
python-scons-native

I can not reproduce it. I did bitbake nativesdk-python-git
from scratch and all worked fine. I used qemux86 but I guess its target independent problem. How do you reproduce it.

#24 lore raw

Re: [PATCH 16/17] python-distribute, python-setuptools: Migrate to good old python-setuptools

Quoted 21 lines · Khem Raj
Quoted 11 lines

On Aug 25, 2015, at 9:26 AM, Burton, Ross <[email protected]> wrote:

On 24 August 2015 at 21:03, Khem Raj <[email protected]> wrote:
setuptools the old king is ruling again, distribute fork has been merged
into setuptools starting 0.7x, so lets move to use it as well

Quoted 8 lines

This fails dramatically on the autobuilder with the core error being:

ERROR: Nothing PROVIDES 'python-setuptools-native' (but virtual:nativesdk:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm64/build/meta/recipes-devtools/python/python-git_1.0.1.bb DEPENDS on or otherwise requires it). Close matches:
python3-setuptools-native
python3-setuptools
python-scons-native

Quoted 3 lines

I can not reproduce it. I did bitbake nativesdk-python-git from scratch and all worked fine. I used qemux86 but I guess its target independent problem. How do you reproduce it.

"bitbake buildtools-tarball" seemed to reproduce issues, as did a "bitbake world -c fetch" on the autobuilder so I'd try those.

Cheers,

Richard

author
#25 lore raw

Re: [PATCH 16/17] python-distribute, python-setuptools: Migrate to good old python-setuptools

Quoted 11 lines · Richard Purdie
Quoted 5 lines

I can not reproduce it. I did bitbake nativesdk-python-git from scratch and all worked fine. I used qemux86 but I guess its target independent problem. How do you reproduce it.

"bitbake buildtools-tarball" seemed to reproduce issues, as did a "bitbake world -c fetch" on the autobuilder so I'd try those.

both targets worked fine. lib notify issue is already having a fix in flight. Are there any checks on it ignoring a recipe if its license did not comply ? since I see a warning in OE-Core build

WARNING: python-setuptools-native: No generic license file exists for: ZPL in any provider

I have fixed it. and pushed a patch here

https://github.com/kraj/openembedded-core/commit/8551755e9f968d4eee8ad58a4e33cc04e90db0a4

here are detailed logs

ubuntu@khem-dvm-001:~BUILDDIR/ > MACHINE=qemuarm64 bitbake buildtools-tarball
Loading cache: 100% |###########################################################################################################################################################################################################################################| ETA: 00:00:00 Loaded 1306 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies

Build Configuration:

BB_VERSION        = "1.27.1"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-14.04"
TARGET_SYS        = "aarch64-oe-linux"
MACHINE           = "qemuarm64"
DISTRO            = "nodistro"
DISTRO_VERSION    = "nodistro.0"
TUNE_FEATURES     = "aarch64"
TARGET_FPU        = ""
meta              = "kraj/master:ae43461eec8e0bbdc4699e99eeb58e3a562b6cd3"

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: python-setuptools-native: No generic license file exists for: ZPL in any provider
NOTE: Tasks Summary: Attempted 1311 tasks of which 562 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.
ubuntu@khem-dvm-001:~BUILDDIR/ >
ubuntu@khem-dvm-001:~BUILDDIR/ >
ubuntu@khem-dvm-001:~BUILDDIR/ >
ubuntu@khem-dvm-001:~BUILDDIR/ > MACHINE=qemuarm64 bitbake world -c fetch
Loading cache: 100% |###########################################################################################################################################################################################################################################| ETA: 00:00:00 Loaded 1306 entries from dependency cache.
Parsing recipes: 100% |#########################################################################################################################################################################################################################################| Time: 00:00:00 Parsing of 885 .bb files complete (883 cached, 2 parsed). 1305 targets, 61 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:

BB_VERSION        = "1.27.1"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-14.04"
TARGET_SYS        = "aarch64-oe-linux"
MACHINE           = "qemuarm64"
DISTRO            = "nodistro"
DISTRO_VERSION    = "nodistro.0"
TUNE_FEATURES     = "aarch64"
TARGET_FPU        = ""
meta              = "kraj/master:8551755e9f968d4eee8ad58a4e33cc04e90db0a4"

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: Failed to fetch URL http://www.apache.org/dist/subversion/subversion-1.8.13.tar.bz2, attempting MIRRORS if available
WARNING: Failed to fetch URL http://www.directfb.org/downloads/Extras/DirectFB-examples-1.7.0.tar.gz, attempting MIRRORS if available
WARNING: Failed to fetch URL http://www.directfb.org/downloads/Core/DirectFB-1.7/DirectFB-1.7.7.tar.gz, attempting MIRRORS if available
WARNING: Failed to fetch URL http://ftp.gnome.org/pub/GNOME/sources/libnotify/0.6/libnotify-0.6.0.tar.xz;name=archive, attempting MIRRORS if available
ERROR: Fetcher failure: Fetch command failed with exit code 8, output:
http://ftp.gnome.org/pub/GNOME/sources/libnotify/0.6/libnotify-0.6.0.tar.xz:

2015-08-25 21:25:26 ERROR 404: Not Found.

ERROR: Function failed: Fetcher failure for URL: 'http://ftp.gnome.org/pub/GNOME/sources/libnotify/0.6/libnotify-0.6.0.tar.xz;name=archive'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/ubuntu/work/oe/build/tmp-glibc/work/aarch64-oe-linux/libnotify/0.6.0-r1/temp/log.do_fetch.30991
ERROR: Task 349 (/home/ubuntu/work/oe/meta/recipes-gnome/libnotify/libnotify_0.6.0.bb, do_fetch) failed with exit code '1'
NOTE: Tasks Summary: Attempted 475 tasks of which 133 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:

Summary: 1 task failed:
/home/ubuntu/work/oe/meta/recipes-gnome/libnotify/libnotify_0.6.0.bb, do_fetch
Summary: There were 4 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

author
#26 lore raw

Re: [PATCH 16/17] python-distribute, python-setuptools: Migrate to good old python-setuptools

In reply to Burton, Ross
Quoted 7 lines · Ross

On 24 August 2015 at 21:03, Khem Raj <[email protected] <mailto:[email protected]>> wrote:
setuptools the old king is ruling again, distribute fork has been merged
into setuptools starting 0.7x, so lets move to use it as well

Quoted 7 lines

This fails dramatically on the autobuilder with the core error being:

ERROR: Nothing PROVIDES 'python-setuptools-native' (but virtual:nativesdk:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm64/build/meta/recipes-devtools/python/python-git_1.0.1.bb <http://python-git_1.0.1.bb/> DEPENDS on or otherwise requires it). Close matches:
python3-setuptools-native
python3-setuptools
python-scons-native

I sent a V2 for this

1. Fixes licenses
2. Fixes SRC_URI checksum for python3-setuptools

Hopefully that fixes it.

#28 lore raw

Re: [PATCH 01/17] systemd: Upgrade 219 -> 224

In reply to Khem Raj
Quoted 13 lines · Khem Raj

Drop patches that were straight backports from upstream

MIT licence was unused and dropped from systemd sources for more details see
https://github.com/systemd/systemd/commit/8f1e0c5f38cdf7e401ab4d2bb93ad816d08e7715

Drop gtkdoc dependency since libudev API documentation has been converted from gtkdoc into man pages Remove packaging gudev as it has moved to separate repository outside
systemd

For more details see
https://github.com/systemd/systemd/commit/2375607039517c88df51ef16ddbb624ec1c10654

Quoted 8 lines

package newly added script for xorg to be usable with systemd --user intance
For more details see
https://github.com/systemd/systemd/commit/1401ec2d34bcde406ced531a72dc46ebaf332594

For complete differences between two releases run
git log --oneline v219..v224
in systemd git clone

This patch seems to cause the build failures in:

https://autobuilder.yoctoproject.org/main/builders/nightly-qa-systemd/builds/466

(two different sanity test failures)

Cheers,

Richard

#16 lore raw

Re: [PATCH 15/17] busybox: Use CC instead of bare LD to be the Linker

In reply to Khem Raj
Quoted 16 lines · Khem Raj

This patch was on mailing list, another patch to make sure -r is not passed directly but via -Wl switch is added.

This was exposed when using clang and gold linker, clang does not have -r switch to do relocatable objects and problem happens specific to OE becuase we use LD = CC

now what happens is that busybox assumes that linker will be called directly, and hence sprinkles linkers options in its kbuild system which aggregate into LDFLAGS, some of these options are happily ignored by gcc as well but it passes -r options rightly to linker so it all works, however when using clang, this falls apart since -r is not known option for clang so it drops this option and all obects which should be partially linked becomes ET_EXEC and when they are added to final link then gold starts to get confused

Quoted 3 lines

/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: applets/built-in.o: unsupported ELF file type 2
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)

This breaks DISTRO=poky-lsb:

http://errors.yoctoproject.org/Errors/Details/15705/

(searching for busybox shows many other versions of this too)

Cheers,

Richard

author
#29 lore raw

Re: [PATCH 01/17] systemd: Upgrade 219 -> 224

In reply to Richard Purdie
Quoted 26 lines · Richard Purdie
Quoted 13 lines · Khem Raj

Drop patches that were straight backports from upstream

MIT licence was unused and dropped from systemd sources for more details see
https://github.com/systemd/systemd/commit/8f1e0c5f38cdf7e401ab4d2bb93ad816d08e7715

Drop gtkdoc dependency since libudev API documentation has been converted from gtkdoc into man pages Remove packaging gudev as it has moved to separate repository outside
systemd

For more details see
https://github.com/systemd/systemd/commit/2375607039517c88df51ef16ddbb624ec1c10654

Quoted 8 lines

package newly added script for xorg to be usable with systemd --user intance
For more details see
https://github.com/systemd/systemd/commit/1401ec2d34bcde406ced531a72dc46ebaf332594

For complete differences between two releases run
git log --oneline v219..v224
in systemd git clone

Quoted 5 lines

This patch seems to cause the build failures in:

https://autobuilder.yoctoproject.org/main/builders/nightly-qa-systemd/builds/466

(two different sanity test failures)

thanks for the info. Looking at the two tests.

setting up date using date -s seems to be assuming that Automatic time synchronization is not enabled that test could be improved for systemd by using systemd utils.

timedatectl set-time "yyyy-MM-dd hh:mm:ss”

and I don’t believe its passing with systemd-219 since locally I executed same commands on my minnow board running 219 and it failed.

Second test failure is a good one when mixing sysvinit scripts with systemd which is what systemctl disable avahi-daemon.service is doing

CHANGES WITH 221:

* Support for chkconfig (--enable-chkconfig) was removed in favour of calling an abstraction /lib/systemd/systemd-sysv-install. This needs to be implemented for your distribution. See "SYSV INIT.D SCRIPTS" in README for details.

This needs implementing /lib/systemd/systemd-sysv-install for OE and I will update the patch to fix this one.

Quoted 5 lines

Cheers,

Richard

author
#17 lore raw

Re: [PATCH 15/17] busybox: Use CC instead of bare LD to be the Linker

In reply to Richard Purdie
Quoted 7 lines · Richard Purdie
Quoted 4 lines

/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: applets/built-in.o: unsupported ELF file type 2
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)

Quoted 6 lines

This breaks DISTRO=poky-lsb:

http://errors.yoctoproject.org/Errors/Details/15705/

(searching for busybox shows many other versions of this too)

OK I think we add -fpie to poky-lsb. is that right ?
now instead of calling ld directly we are calling gcc to do linking so we now also get the baggage of CFLAGS since LDFLAG = CFLAGS which is actually correct but in this case we are trying to do partial linking so -pie is useless at this stage of linking. So what we need is to ignore -pie ( add -fno-pie) in LDFLAGS when doing partial linking. I will send a reworked patch.

#30 lore raw

Re: [PATCH 01/17] systemd: Upgrade 219 -> 224

In reply to Khem Raj
Quoted 34 lines · Khem Raj
Quoted 25 lines · Richard Purdie
Quoted 13 lines · Khem Raj

Drop patches that were straight backports from upstream

MIT licence was unused and dropped from systemd sources for more details see
https://github.com/systemd/systemd/commit/8f1e0c5f38cdf7e401ab4d2bb93ad816d08e7715

Drop gtkdoc dependency since libudev API documentation has been converted from gtkdoc into man pages Remove packaging gudev as it has moved to separate repository outside
systemd

For more details see
https://github.com/systemd/systemd/commit/2375607039517c88df51ef16ddbb624ec1c10654

Quoted 8 lines

package newly added script for xorg to be usable with systemd --user intance
For more details see
https://github.com/systemd/systemd/commit/1401ec2d34bcde406ced531a72dc46ebaf332594

For complete differences between two releases run
git log --oneline v219..v224
in systemd git clone

Quoted 5 lines

This patch seems to cause the build failures in:

https://autobuilder.yoctoproject.org/main/builders/nightly-qa-systemd/builds/466

(two different sanity test failures)

thanks for the info. Looking at the two tests.

Quoted 7 lines

setting up date using date -s seems to be assuming that Automatic time synchronization is not enabled that test could be improved for systemd by using systemd utils.

timedatectl set-time "yyyy-MM-dd hh:mm:ss”

and I don’t believe its passing with systemd-219 since locally I executed same commands on my minnow board running 219 and it failed.

I believe it passes with 219 (master) and is a regression:

https://autobuilder.yoctoproject.org/main/builders/nightly-qa-systemd/builds/471

(green build with master which contains 219).

Quoted 10 lines

Second test failure is a good one when mixing sysvinit scripts with systemd which is what systemctl disable avahi-daemon.service is doing

CHANGES WITH 221:

* Support for chkconfig (--enable-chkconfig) was removed in favour of calling an abstraction /lib/systemd/systemd-sysv-install. This needs to be implemented for your distribution. See "SYSV INIT.D SCRIPTS" in README for details.

This needs implementing /lib/systemd/systemd-sysv-install for OE and I will update the patch to fix this one.

Thanks!

Richard

author
#18 lore raw

Re: [PATCH 15/17] busybox: Use CC instead of bare LD to be the Linker

In reply to Khem Raj
Quoted 14 lines · Khem Raj
Quoted 12 lines · Richard Purdie
Quoted 4 lines

/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld:
error: applets/built-in.o: unsupported ELF file type 2
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)

This breaks DISTRO=poky-lsb:

http://errors.yoctoproject.org/Errors/Details/15705/

Quoted 7 lines
Quoted 2 lines

(searching for busybox shows many other versions of this too)

OK I think we add -fpie to poky-lsb. is that right ?
now instead of calling ld directly we are calling gcc to do linking so we now also get the baggage of CFLAGS since LDFLAG = CFLAGS which is actually correct but in this case we are trying to do partial linking so -pie is useless at this stage of linking. So what we need is to ignore -pie ( add -fno-pie) in LDFLAGS when doing partial linking. I will send a reworked patch.

I have sent out a v2 addressing this issue.

http://lists.openembedded.org/pipermail/openembedded-core/2015-September/110245.html