* [PATCH 0/1] Upgrade systemd to 199
@ 2013-03-28 7:48 Khem Raj
2013-03-28 7:48 ` [PATCH 1/1] systemd: Upgrade " Khem Raj
0 siblings, 1 reply; 20+ messages in thread
From: Khem Raj @ 2013-03-28 7:48 UTC (permalink / raw)
To: openembedded-core
Hi
This patch upgrades to systemd 199. Additionally fix packaging issues seen due to
move of udevadm from usr/bin to /bin upstream
adds missing udev-journald system group
Build and run tested on qemuppc with eglibc/uclibc
qemuimage-testlib: Capture stderror in the logs as well as stdout (2013-03-27 13:54:06 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib kraj/systemd-199
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/systemd-199
Khem Raj (1):
systemd: Upgrade to 199
.../0002-readahead-chunk-on-spinning-media.patch | 142 ++++++++++++++++++++
.../systemd/systemd/0003-readahead-cleanups.patch | 86 ++++++++++++
...ctl-Handle-missing-etc-sysctl.conf-proper.patch | 33 +++++
.../systemd/{systemd_198.bb => systemd_199.bb} | 11 +-
4 files changed, 268 insertions(+), 4 deletions(-)
create mode 100644 meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
create mode 100644 meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
create mode 100644 meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
rename meta/recipes-core/systemd/{systemd_198.bb => systemd_199.bb} (95%)
--
1.7.9.5
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/1] systemd: Upgrade to 199
2013-03-28 7:48 [PATCH 0/1] Upgrade systemd to 199 Khem Raj
@ 2013-03-28 7:48 ` Khem Raj
2013-03-28 12:21 ` Martin Jansa
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: Khem Raj @ 2013-03-28 7:48 UTC (permalink / raw)
To: openembedded-core
udevadm is now moved from /usr/bin to /bin so account for that
bash completions for udevadm should be packages with udev-utils
since thats where udevadm itself is, they were in systemd package
which is not correct location for it
Backport patches for readahead fixes on spinning disks
and to tackle error reported on missing /etc/sysctl.conf
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../0002-readahead-chunk-on-spinning-media.patch | 142 ++++++++++++++++++++
.../systemd/systemd/0003-readahead-cleanups.patch | 86 ++++++++++++
...ctl-Handle-missing-etc-sysctl.conf-proper.patch | 33 +++++
.../systemd/{systemd_198.bb => systemd_199.bb} | 11 +-
4 files changed, 268 insertions(+), 4 deletions(-)
create mode 100644 meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
create mode 100644 meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
create mode 100644 meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
rename meta/recipes-core/systemd/{systemd_198.bb => systemd_199.bb} (95%)
diff --git a/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
new file mode 100644
index 0000000..d57a01c
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
@@ -0,0 +1,142 @@
+Upstream-Status: Backport
+
+-Khem 2013/03/28
+
+From 94243ef299425d6c7089a7a05c48c9bb8f6cf3da Mon Sep 17 00:00:00 2001
+From: Auke Kok <auke-jan.h.kok@intel.com>
+Date: Fri, 22 Mar 2013 15:09:45 -0700
+Subject: [PATCH 02/17] readahead: chunk on spinning media
+
+Readahead has all sorts of bad side effects depending on your
+storage media. On rotating disks, it may be degrading startup
+performance if enough requests are queued spanning linearly
+over all blocks early at boot, and mount, blkid and friends
+want to insert reads to the start of these block devices after.
+
+The end result is that on spinning disks with ext3/4 that udev
+and mounts take a very long time, and nothing really happens until
+readahead is completely finished.
+
+This has the net effect that the CPU is almost entirely idle
+for the entire period that readahead is working. We could have
+finished starting up quite a lot of services in this time if
+we were smarter at how we do readahead.
+
+This patch sorts all requests into 2 second "chunks" and sub-sorts
+each chunk by block. This adds a single cross-drive seek per "chunk"
+but has the benefit that we will have a lot of the blocks we need
+early on in the boot sequence loaded into memory faster.
+
+For a comparison of how before/after bootcharts look (ext4 on a
+mobile 5400rpm 250GB drive) please look at:
+
+ http://foo-projects.org/~sofar/blocked-tests/
+
+There are bootcharts in the "before" and "after" folders where you
+should be able to see that many low-level services finish 5-7
+seconds earlier with the patch applied (after).
+---
+ Makefile.am | 2 +-
+ src/readahead/readahead-collect.c | 28 +++++++++++++++++++++++++---
+ 2 files changed, 26 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 37c1cc2..5861976 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
+ systemd_readahead_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-daemon.la \
+- libudev.la
++ libudev.la -lm
+
+ dist_doc_DATA += \
+ src/readahead/sd-readahead.c \
+diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
+index 5d07f47..5d22949 100644
+--- a/src/readahead/readahead-collect.c
++++ b/src/readahead/readahead-collect.c
+@@ -42,6 +42,7 @@
+ #include <sys/vfs.h>
+ #include <getopt.h>
+ #include <sys/inotify.h>
++#include <math.h>
+
+ #ifdef HAVE_FANOTIFY_INIT
+ #include <sys/fanotify.h>
+@@ -67,6 +68,7 @@
+ */
+
+ static ReadaheadShared *shared = NULL;
++static struct timespec starttime;
+
+ /* Avoid collisions with the NULL pointer */
+ #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
+@@ -205,6 +207,7 @@ static unsigned long fd_first_block(int fd) {
+ struct item {
+ const char *path;
+ unsigned long block;
++ unsigned long bin;
+ };
+
+ static int qsort_compare(const void *a, const void *b) {
+@@ -213,6 +216,13 @@ static int qsort_compare(const void *a, const void *b) {
+ i = a;
+ j = b;
+
++ /* sort by bin first */
++ if (i->bin < j->bin)
++ return -1;
++ if (i->bin > j->bin)
++ return 1;
++
++ /* then sort by sector */
+ if (i->block < j->block)
+ return -1;
+ if (i->block > j->block)
+@@ -250,6 +260,8 @@ static int collect(const char *root) {
+ goto finish;
+ }
+
++ clock_gettime(CLOCK_MONOTONIC, &starttime);
++
+ /* If there's no pack file yet we lower the kernel readahead
+ * so that mincore() is accurate. If there is a pack file
+ * already we assume it is accurate enough so that kernel
+@@ -447,10 +459,21 @@ static int collect(const char *root) {
+ free(p);
+ else {
+ unsigned long ul;
++ struct timespec ts;
++ struct item *entry;
++
++ entry = new0(struct item, 1);
+
+ ul = fd_first_block(m->fd);
+
+- if ((k = hashmap_put(files, p, SECTOR_TO_PTR(ul))) < 0) {
++ clock_gettime(CLOCK_MONOTONIC, &ts);
++
++ entry->block = ul;
++ entry->path = strdup(p);
++ entry->bin = round((ts.tv_sec - starttime.tv_sec +
++ ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
++
++ if ((k = hashmap_put(files, p, entry)) < 0) {
+ log_warning("set_put() failed: %s", strerror(-k));
+ free(p);
+ }
+@@ -518,8 +541,7 @@ done:
+
+ j = ordered;
+ HASHMAP_FOREACH_KEY(q, p, files, i) {
+- j->path = p;
+- j->block = PTR_TO_SECTOR(q);
++ memcpy(j, q, sizeof(struct item));
+ j++;
+ }
+
+--
+1.7.9.5
+
diff --git a/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
new file mode 100644
index 0000000..e0b68df
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
@@ -0,0 +1,86 @@
+Upstream-Status: Backport
+
+-Khem 2013/03/28
+
+From b0640287f784a320661f7206c9ade07b99003fd5 Mon Sep 17 00:00:00 2001
+From: Auke Kok <auke-jan.h.kok@intel.com>
+Date: Tue, 26 Mar 2013 11:13:47 -0700
+Subject: [PATCH 03/17] readahead: cleanups
+
+- check for OOM
+- no need to use floats and round()
+---
+ Makefile.am | 2 +-
+ src/readahead/readahead-collect.c | 20 ++++++++++++++------
+ 2 files changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 5861976..37c1cc2 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
+ systemd_readahead_LDADD = \
+ libsystemd-shared.la \
+ libsystemd-daemon.la \
+- libudev.la -lm
++ libudev.la
+
+ dist_doc_DATA += \
+ src/readahead/sd-readahead.c \
+diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
+index 5d22949..e2fd8df 100644
+--- a/src/readahead/readahead-collect.c
++++ b/src/readahead/readahead-collect.c
+@@ -68,7 +68,7 @@
+ */
+
+ static ReadaheadShared *shared = NULL;
+-static struct timespec starttime;
++static usec_t starttime;
+
+ /* Avoid collisions with the NULL pointer */
+ #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
+@@ -260,7 +260,7 @@ static int collect(const char *root) {
+ goto finish;
+ }
+
+- clock_gettime(CLOCK_MONOTONIC, &starttime);
++ starttime = now(CLOCK_MONOTONIC);
+
+ /* If there's no pack file yet we lower the kernel readahead
+ * so that mincore() is accurate. If there is a pack file
+@@ -459,19 +459,27 @@ static int collect(const char *root) {
+ free(p);
+ else {
+ unsigned long ul;
+- struct timespec ts;
++ usec_t entrytime;
+ struct item *entry;
+
+ entry = new0(struct item, 1);
++ if (!entry) {
++ r = log_oom();
++ goto finish;
++ }
+
+ ul = fd_first_block(m->fd);
+
+- clock_gettime(CLOCK_MONOTONIC, &ts);
++ entrytime = now(CLOCK_MONOTONIC);
+
+ entry->block = ul;
+ entry->path = strdup(p);
+- entry->bin = round((ts.tv_sec - starttime.tv_sec +
+- ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
++ if (!entry->path) {
++ free(entry);
++ r = log_oom();
++ goto finish;
++ }
++ entry->bin = (entrytime - starttime) / 2000000;
+
+ if ((k = hashmap_put(files, p, entry)) < 0) {
+ log_warning("set_put() failed: %s", strerror(-k));
+--
+1.7.9.5
+
diff --git a/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
new file mode 100644
index 0000000..f2c8e02
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
@@ -0,0 +1,33 @@
+Upstream-Status: Backport
+
+-Khem 2013/03/28
+
+From 6f6fad96addf6b00b55c98cc0d0d8026b0c1e7ca Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Wed, 27 Mar 2013 13:41:59 +0100
+Subject: [PATCH 13/17] systemd-sysctl: Handle missing /etc/sysctl.conf
+ properly
+
+Since fabe5c0e5fce730aa66e10a9c4f9fdd443d7aeda, systemd-sysctl returns
+a non-zero exit code if /etc/sysctl.conf does not exist, due to a
+broken ENOENT check.
+---
+ src/sysctl/sysctl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
+index 2d43660..79f3f77 100644
+--- a/src/sysctl/sysctl.c
++++ b/src/sysctl/sysctl.c
+@@ -125,7 +125,7 @@ static int parse_file(Hashmap *sysctl_options, const char *path, bool ignore_eno
+
+ r = search_and_fopen_nulstr(path, "re", conf_file_dirs, &f);
+ if (r < 0) {
+- if (ignore_enoent && errno == -ENOENT)
++ if (ignore_enoent && r == -ENOENT)
+ return 0;
+
+ log_error("Failed to open file '%s', ignoring: %s", path, strerror(-r));
+--
+1.7.9.5
+
diff --git a/meta/recipes-core/systemd/systemd_198.bb b/meta/recipes-core/systemd/systemd_199.bb
similarity index 95%
rename from meta/recipes-core/systemd/systemd_198.bb
rename to meta/recipes-core/systemd/systemd_199.bb
index 6a8db51..74b14af 100644
--- a/meta/recipes-core/systemd/systemd_198.bb
+++ b/meta/recipes-core/systemd/systemd_199.bb
@@ -23,10 +23,13 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
file://var-run.conf \
${UCLIBCPATCHES} \
file://00-create-volatile.conf \
+ file://0002-readahead-chunk-on-spinning-media.patch \
+ file://0003-readahead-cleanups.patch \
+ file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
file://init \
"
-SRC_URI[md5sum] = "26a75e2a310f8c1c1ea9ec26ddb171c5"
-SRC_URI[sha256sum] = "444492355e5ff0ad99e0691ecaff1081ee8d45901580f47ba8b74e56107c71bf"
+SRC_URI[md5sum] = "4bb13f84ce211e93f0141774a90a2322"
+SRC_URI[sha256sum] = "8c4462a04f3ecf7f083782e5e0687913b1d33c6444bf20fa2f31df9222965fed"
UCLIBCPATCHES = ""
UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \
@@ -114,7 +117,7 @@ PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze"
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-r lock"
+GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
@@ -224,7 +227,7 @@ FILES_udev += "${base_sbindir}/udevd \
FILES_udev-consolekit += "/lib/ConsoleKit"
RDEPENDS_udev-consolekit += "${@base_contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
-FILES_udev-utils = "${bindir}/udevadm"
+FILES_udev-utils = "${base_bindir}/udevadm ${datadir}/bash-completion/completions/udevadm"
FILES_udev-hwdb = "${base_libdir}/udev/hwdb.d"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-28 7:48 ` [PATCH 1/1] systemd: Upgrade " Khem Raj
@ 2013-03-28 12:21 ` Martin Jansa
2013-03-29 5:28 ` Khem Raj
2013-03-28 13:24 ` Richard Purdie
2013-04-02 10:58 ` Erik Botö
2 siblings, 1 reply; 20+ messages in thread
From: Martin Jansa @ 2013-03-28 12:21 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 15683 bytes --]
On Thu, Mar 28, 2013 at 12:48:29AM -0700, Khem Raj wrote:
> udevadm is now moved from /usr/bin to /bin so account for that
> bash completions for udevadm should be packages with udev-utils
> since thats where udevadm itself is, they were in systemd package
> which is not correct location for it
>
> Backport patches for readahead fixes on spinning disks
> and to tackle error reported on missing /etc/sysctl.conf
Looks like it creates few new (empty) directories:
WARNING: QA Issue: systemd: Files/directories were installed but not
shipped
/etc/kernel
/etc/kernel/install.d
/usr/lib/kernel
/usr/lib/kernel/install.d
Doesn't look very useful for our use-case, maybe whole kernel-install
should be in separate package.
http://www.freedesktop.org/software/systemd/man/kernel-install.html
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../0002-readahead-chunk-on-spinning-media.patch | 142 ++++++++++++++++++++
> .../systemd/systemd/0003-readahead-cleanups.patch | 86 ++++++++++++
> ...ctl-Handle-missing-etc-sysctl.conf-proper.patch | 33 +++++
> .../systemd/{systemd_198.bb => systemd_199.bb} | 11 +-
> 4 files changed, 268 insertions(+), 4 deletions(-)
> create mode 100644 meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
> create mode 100644 meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
> create mode 100644 meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
> rename meta/recipes-core/systemd/{systemd_198.bb => systemd_199.bb} (95%)
>
> diff --git a/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
> new file mode 100644
> index 0000000..d57a01c
> --- /dev/null
> +++ b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
> @@ -0,0 +1,142 @@
> +Upstream-Status: Backport
> +
> +-Khem 2013/03/28
> +
> +From 94243ef299425d6c7089a7a05c48c9bb8f6cf3da Mon Sep 17 00:00:00 2001
> +From: Auke Kok <auke-jan.h.kok@intel.com>
> +Date: Fri, 22 Mar 2013 15:09:45 -0700
> +Subject: [PATCH 02/17] readahead: chunk on spinning media
> +
> +Readahead has all sorts of bad side effects depending on your
> +storage media. On rotating disks, it may be degrading startup
> +performance if enough requests are queued spanning linearly
> +over all blocks early at boot, and mount, blkid and friends
> +want to insert reads to the start of these block devices after.
> +
> +The end result is that on spinning disks with ext3/4 that udev
> +and mounts take a very long time, and nothing really happens until
> +readahead is completely finished.
> +
> +This has the net effect that the CPU is almost entirely idle
> +for the entire period that readahead is working. We could have
> +finished starting up quite a lot of services in this time if
> +we were smarter at how we do readahead.
> +
> +This patch sorts all requests into 2 second "chunks" and sub-sorts
> +each chunk by block. This adds a single cross-drive seek per "chunk"
> +but has the benefit that we will have a lot of the blocks we need
> +early on in the boot sequence loaded into memory faster.
> +
> +For a comparison of how before/after bootcharts look (ext4 on a
> +mobile 5400rpm 250GB drive) please look at:
> +
> + http://foo-projects.org/~sofar/blocked-tests/
> +
> +There are bootcharts in the "before" and "after" folders where you
> +should be able to see that many low-level services finish 5-7
> +seconds earlier with the patch applied (after).
> +---
> + Makefile.am | 2 +-
> + src/readahead/readahead-collect.c | 28 +++++++++++++++++++++++++---
> + 2 files changed, 26 insertions(+), 4 deletions(-)
> +
> +diff --git a/Makefile.am b/Makefile.am
> +index 37c1cc2..5861976 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
> +@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
> + systemd_readahead_LDADD = \
> + libsystemd-shared.la \
> + libsystemd-daemon.la \
> +- libudev.la
> ++ libudev.la -lm
> +
> + dist_doc_DATA += \
> + src/readahead/sd-readahead.c \
> +diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
> +index 5d07f47..5d22949 100644
> +--- a/src/readahead/readahead-collect.c
> ++++ b/src/readahead/readahead-collect.c
> +@@ -42,6 +42,7 @@
> + #include <sys/vfs.h>
> + #include <getopt.h>
> + #include <sys/inotify.h>
> ++#include <math.h>
> +
> + #ifdef HAVE_FANOTIFY_INIT
> + #include <sys/fanotify.h>
> +@@ -67,6 +68,7 @@
> + */
> +
> + static ReadaheadShared *shared = NULL;
> ++static struct timespec starttime;
> +
> + /* Avoid collisions with the NULL pointer */
> + #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
> +@@ -205,6 +207,7 @@ static unsigned long fd_first_block(int fd) {
> + struct item {
> + const char *path;
> + unsigned long block;
> ++ unsigned long bin;
> + };
> +
> + static int qsort_compare(const void *a, const void *b) {
> +@@ -213,6 +216,13 @@ static int qsort_compare(const void *a, const void *b) {
> + i = a;
> + j = b;
> +
> ++ /* sort by bin first */
> ++ if (i->bin < j->bin)
> ++ return -1;
> ++ if (i->bin > j->bin)
> ++ return 1;
> ++
> ++ /* then sort by sector */
> + if (i->block < j->block)
> + return -1;
> + if (i->block > j->block)
> +@@ -250,6 +260,8 @@ static int collect(const char *root) {
> + goto finish;
> + }
> +
> ++ clock_gettime(CLOCK_MONOTONIC, &starttime);
> ++
> + /* If there's no pack file yet we lower the kernel readahead
> + * so that mincore() is accurate. If there is a pack file
> + * already we assume it is accurate enough so that kernel
> +@@ -447,10 +459,21 @@ static int collect(const char *root) {
> + free(p);
> + else {
> + unsigned long ul;
> ++ struct timespec ts;
> ++ struct item *entry;
> ++
> ++ entry = new0(struct item, 1);
> +
> + ul = fd_first_block(m->fd);
> +
> +- if ((k = hashmap_put(files, p, SECTOR_TO_PTR(ul))) < 0) {
> ++ clock_gettime(CLOCK_MONOTONIC, &ts);
> ++
> ++ entry->block = ul;
> ++ entry->path = strdup(p);
> ++ entry->bin = round((ts.tv_sec - starttime.tv_sec +
> ++ ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
> ++
> ++ if ((k = hashmap_put(files, p, entry)) < 0) {
> + log_warning("set_put() failed: %s", strerror(-k));
> + free(p);
> + }
> +@@ -518,8 +541,7 @@ done:
> +
> + j = ordered;
> + HASHMAP_FOREACH_KEY(q, p, files, i) {
> +- j->path = p;
> +- j->block = PTR_TO_SECTOR(q);
> ++ memcpy(j, q, sizeof(struct item));
> + j++;
> + }
> +
> +--
> +1.7.9.5
> +
> diff --git a/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
> new file mode 100644
> index 0000000..e0b68df
> --- /dev/null
> +++ b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
> @@ -0,0 +1,86 @@
> +Upstream-Status: Backport
> +
> +-Khem 2013/03/28
> +
> +From b0640287f784a320661f7206c9ade07b99003fd5 Mon Sep 17 00:00:00 2001
> +From: Auke Kok <auke-jan.h.kok@intel.com>
> +Date: Tue, 26 Mar 2013 11:13:47 -0700
> +Subject: [PATCH 03/17] readahead: cleanups
> +
> +- check for OOM
> +- no need to use floats and round()
> +---
> + Makefile.am | 2 +-
> + src/readahead/readahead-collect.c | 20 ++++++++++++++------
> + 2 files changed, 15 insertions(+), 7 deletions(-)
> +
> +diff --git a/Makefile.am b/Makefile.am
> +index 5861976..37c1cc2 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
> +@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
> + systemd_readahead_LDADD = \
> + libsystemd-shared.la \
> + libsystemd-daemon.la \
> +- libudev.la -lm
> ++ libudev.la
> +
> + dist_doc_DATA += \
> + src/readahead/sd-readahead.c \
> +diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
> +index 5d22949..e2fd8df 100644
> +--- a/src/readahead/readahead-collect.c
> ++++ b/src/readahead/readahead-collect.c
> +@@ -68,7 +68,7 @@
> + */
> +
> + static ReadaheadShared *shared = NULL;
> +-static struct timespec starttime;
> ++static usec_t starttime;
> +
> + /* Avoid collisions with the NULL pointer */
> + #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
> +@@ -260,7 +260,7 @@ static int collect(const char *root) {
> + goto finish;
> + }
> +
> +- clock_gettime(CLOCK_MONOTONIC, &starttime);
> ++ starttime = now(CLOCK_MONOTONIC);
> +
> + /* If there's no pack file yet we lower the kernel readahead
> + * so that mincore() is accurate. If there is a pack file
> +@@ -459,19 +459,27 @@ static int collect(const char *root) {
> + free(p);
> + else {
> + unsigned long ul;
> +- struct timespec ts;
> ++ usec_t entrytime;
> + struct item *entry;
> +
> + entry = new0(struct item, 1);
> ++ if (!entry) {
> ++ r = log_oom();
> ++ goto finish;
> ++ }
> +
> + ul = fd_first_block(m->fd);
> +
> +- clock_gettime(CLOCK_MONOTONIC, &ts);
> ++ entrytime = now(CLOCK_MONOTONIC);
> +
> + entry->block = ul;
> + entry->path = strdup(p);
> +- entry->bin = round((ts.tv_sec - starttime.tv_sec +
> +- ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
> ++ if (!entry->path) {
> ++ free(entry);
> ++ r = log_oom();
> ++ goto finish;
> ++ }
> ++ entry->bin = (entrytime - starttime) / 2000000;
> +
> + if ((k = hashmap_put(files, p, entry)) < 0) {
> + log_warning("set_put() failed: %s", strerror(-k));
> +--
> +1.7.9.5
> +
> diff --git a/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
> new file mode 100644
> index 0000000..f2c8e02
> --- /dev/null
> +++ b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
> @@ -0,0 +1,33 @@
> +Upstream-Status: Backport
> +
> +-Khem 2013/03/28
> +
> +From 6f6fad96addf6b00b55c98cc0d0d8026b0c1e7ca Mon Sep 17 00:00:00 2001
> +From: Eelco Dolstra <eelco.dolstra@logicblox.com>
> +Date: Wed, 27 Mar 2013 13:41:59 +0100
> +Subject: [PATCH 13/17] systemd-sysctl: Handle missing /etc/sysctl.conf
> + properly
> +
> +Since fabe5c0e5fce730aa66e10a9c4f9fdd443d7aeda, systemd-sysctl returns
> +a non-zero exit code if /etc/sysctl.conf does not exist, due to a
> +broken ENOENT check.
> +---
> + src/sysctl/sysctl.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
> +index 2d43660..79f3f77 100644
> +--- a/src/sysctl/sysctl.c
> ++++ b/src/sysctl/sysctl.c
> +@@ -125,7 +125,7 @@ static int parse_file(Hashmap *sysctl_options, const char *path, bool ignore_eno
> +
> + r = search_and_fopen_nulstr(path, "re", conf_file_dirs, &f);
> + if (r < 0) {
> +- if (ignore_enoent && errno == -ENOENT)
> ++ if (ignore_enoent && r == -ENOENT)
> + return 0;
> +
> + log_error("Failed to open file '%s', ignoring: %s", path, strerror(-r));
> +--
> +1.7.9.5
> +
> diff --git a/meta/recipes-core/systemd/systemd_198.bb b/meta/recipes-core/systemd/systemd_199.bb
> similarity index 95%
> rename from meta/recipes-core/systemd/systemd_198.bb
> rename to meta/recipes-core/systemd/systemd_199.bb
> index 6a8db51..74b14af 100644
> --- a/meta/recipes-core/systemd/systemd_198.bb
> +++ b/meta/recipes-core/systemd/systemd_199.bb
> @@ -23,10 +23,13 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
> file://var-run.conf \
> ${UCLIBCPATCHES} \
> file://00-create-volatile.conf \
> + file://0002-readahead-chunk-on-spinning-media.patch \
> + file://0003-readahead-cleanups.patch \
> + file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
> file://init \
> "
> -SRC_URI[md5sum] = "26a75e2a310f8c1c1ea9ec26ddb171c5"
> -SRC_URI[sha256sum] = "444492355e5ff0ad99e0691ecaff1081ee8d45901580f47ba8b74e56107c71bf"
> +SRC_URI[md5sum] = "4bb13f84ce211e93f0141774a90a2322"
> +SRC_URI[sha256sum] = "8c4462a04f3ecf7f083782e5e0687913b1d33c6444bf20fa2f31df9222965fed"
>
> UCLIBCPATCHES = ""
> UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \
> @@ -114,7 +117,7 @@ PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
> PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze"
>
> USERADD_PACKAGES = "${PN}"
> -GROUPADD_PARAM_${PN} = "-r lock"
> +GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
>
> FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
>
> @@ -224,7 +227,7 @@ FILES_udev += "${base_sbindir}/udevd \
> FILES_udev-consolekit += "/lib/ConsoleKit"
> RDEPENDS_udev-consolekit += "${@base_contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
>
> -FILES_udev-utils = "${bindir}/udevadm"
> +FILES_udev-utils = "${base_bindir}/udevadm ${datadir}/bash-completion/completions/udevadm"
>
> FILES_udev-hwdb = "${base_libdir}/udev/hwdb.d"
>
> --
> 1.7.9.5
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-28 7:48 ` [PATCH 1/1] systemd: Upgrade " Khem Raj
2013-03-28 12:21 ` Martin Jansa
@ 2013-03-28 13:24 ` Richard Purdie
2013-03-28 13:32 ` Koen Kooi
2013-04-02 10:58 ` Erik Botö
2 siblings, 1 reply; 20+ messages in thread
From: Richard Purdie @ 2013-03-28 13:24 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
On Thu, 2013-03-28 at 00:48 -0700, Khem Raj wrote:
> udevadm is now moved from /usr/bin to /bin
This is setting off alarm bells. Are there any scripts that are going to
break?
Cheers,
Richard
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-28 13:24 ` Richard Purdie
@ 2013-03-28 13:32 ` Koen Kooi
0 siblings, 0 replies; 20+ messages in thread
From: Koen Kooi @ 2013-03-28 13:32 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
Op 28 mrt. 2013, om 14:24 heeft Richard Purdie <richard.purdie@linuxfoundation.org> het volgende geschreven:
> On Thu, 2013-03-28 at 00:48 -0700, Khem Raj wrote:
>> udevadm is now moved from /usr/bin to /bin
>
> This is setting off alarm bells. Are there any scripts that are going to
> break?
Only udev internal scripts are supposed to reference it, so this change should be safe.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-28 12:21 ` Martin Jansa
@ 2013-03-29 5:28 ` Khem Raj
2013-03-29 8:12 ` Koen Kooi
0 siblings, 1 reply; 20+ messages in thread
From: Khem Raj @ 2013-03-29 5:28 UTC (permalink / raw)
To: Martin Jansa; +Cc: openembedded-core
On Mar 28, 2013, at 5:21 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Thu, Mar 28, 2013 at 12:48:29AM -0700, Khem Raj wrote:
>> udevadm is now moved from /usr/bin to /bin so account for that
>> bash completions for udevadm should be packages with udev-utils
>> since thats where udevadm itself is, they were in systemd package
>> which is not correct location for it
>>
>> Backport patches for readahead fixes on spinning disks
>> and to tackle error reported on missing /etc/sysctl.conf
>
> Looks like it creates few new (empty) directories:
>
> WARNING: QA Issue: systemd: Files/directories were installed but not
> shipped
> /etc/kernel
> /etc/kernel/install.d
> /usr/lib/kernel
> /usr/lib/kernel/install.d
OK I have created a new package called systems-kernel-install and these dirs along with
kernel-install binary are moved into the new package and updated the pull request.
>
> Doesn't look very useful for our use-case, maybe whole kernel-install
> should be in separate package.
> http://www.freedesktop.org/software/systemd/man/kernel-install.html
>
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>> .../0002-readahead-chunk-on-spinning-media.patch | 142 ++++++++++++++++++++
>> .../systemd/systemd/0003-readahead-cleanups.patch | 86 ++++++++++++
>> ...ctl-Handle-missing-etc-sysctl.conf-proper.patch | 33 +++++
>> .../systemd/{systemd_198.bb => systemd_199.bb} | 11 +-
>> 4 files changed, 268 insertions(+), 4 deletions(-)
>> create mode 100644 meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
>> create mode 100644 meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
>> create mode 100644 meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
>> rename meta/recipes-core/systemd/{systemd_198.bb => systemd_199.bb} (95%)
>>
>> diff --git a/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
>> new file mode 100644
>> index 0000000..d57a01c
>> --- /dev/null
>> +++ b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
>> @@ -0,0 +1,142 @@
>> +Upstream-Status: Backport
>> +
>> +-Khem 2013/03/28
>> +
>> +From 94243ef299425d6c7089a7a05c48c9bb8f6cf3da Mon Sep 17 00:00:00 2001
>> +From: Auke Kok <auke-jan.h.kok@intel.com>
>> +Date: Fri, 22 Mar 2013 15:09:45 -0700
>> +Subject: [PATCH 02/17] readahead: chunk on spinning media
>> +
>> +Readahead has all sorts of bad side effects depending on your
>> +storage media. On rotating disks, it may be degrading startup
>> +performance if enough requests are queued spanning linearly
>> +over all blocks early at boot, and mount, blkid and friends
>> +want to insert reads to the start of these block devices after.
>> +
>> +The end result is that on spinning disks with ext3/4 that udev
>> +and mounts take a very long time, and nothing really happens until
>> +readahead is completely finished.
>> +
>> +This has the net effect that the CPU is almost entirely idle
>> +for the entire period that readahead is working. We could have
>> +finished starting up quite a lot of services in this time if
>> +we were smarter at how we do readahead.
>> +
>> +This patch sorts all requests into 2 second "chunks" and sub-sorts
>> +each chunk by block. This adds a single cross-drive seek per "chunk"
>> +but has the benefit that we will have a lot of the blocks we need
>> +early on in the boot sequence loaded into memory faster.
>> +
>> +For a comparison of how before/after bootcharts look (ext4 on a
>> +mobile 5400rpm 250GB drive) please look at:
>> +
>> + http://foo-projects.org/~sofar/blocked-tests/
>> +
>> +There are bootcharts in the "before" and "after" folders where you
>> +should be able to see that many low-level services finish 5-7
>> +seconds earlier with the patch applied (after).
>> +---
>> + Makefile.am | 2 +-
>> + src/readahead/readahead-collect.c | 28 +++++++++++++++++++++++++---
>> + 2 files changed, 26 insertions(+), 4 deletions(-)
>> +
>> +diff --git a/Makefile.am b/Makefile.am
>> +index 37c1cc2..5861976 100644
>> +--- a/Makefile.am
>> ++++ b/Makefile.am
>> +@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
>> + systemd_readahead_LDADD = \
>> + libsystemd-shared.la \
>> + libsystemd-daemon.la \
>> +- libudev.la
>> ++ libudev.la -lm
>> +
>> + dist_doc_DATA += \
>> + src/readahead/sd-readahead.c \
>> +diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
>> +index 5d07f47..5d22949 100644
>> +--- a/src/readahead/readahead-collect.c
>> ++++ b/src/readahead/readahead-collect.c
>> +@@ -42,6 +42,7 @@
>> + #include <sys/vfs.h>
>> + #include <getopt.h>
>> + #include <sys/inotify.h>
>> ++#include <math.h>
>> +
>> + #ifdef HAVE_FANOTIFY_INIT
>> + #include <sys/fanotify.h>
>> +@@ -67,6 +68,7 @@
>> + */
>> +
>> + static ReadaheadShared *shared = NULL;
>> ++static struct timespec starttime;
>> +
>> + /* Avoid collisions with the NULL pointer */
>> + #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
>> +@@ -205,6 +207,7 @@ static unsigned long fd_first_block(int fd) {
>> + struct item {
>> + const char *path;
>> + unsigned long block;
>> ++ unsigned long bin;
>> + };
>> +
>> + static int qsort_compare(const void *a, const void *b) {
>> +@@ -213,6 +216,13 @@ static int qsort_compare(const void *a, const void *b) {
>> + i = a;
>> + j = b;
>> +
>> ++ /* sort by bin first */
>> ++ if (i->bin < j->bin)
>> ++ return -1;
>> ++ if (i->bin > j->bin)
>> ++ return 1;
>> ++
>> ++ /* then sort by sector */
>> + if (i->block < j->block)
>> + return -1;
>> + if (i->block > j->block)
>> +@@ -250,6 +260,8 @@ static int collect(const char *root) {
>> + goto finish;
>> + }
>> +
>> ++ clock_gettime(CLOCK_MONOTONIC, &starttime);
>> ++
>> + /* If there's no pack file yet we lower the kernel readahead
>> + * so that mincore() is accurate. If there is a pack file
>> + * already we assume it is accurate enough so that kernel
>> +@@ -447,10 +459,21 @@ static int collect(const char *root) {
>> + free(p);
>> + else {
>> + unsigned long ul;
>> ++ struct timespec ts;
>> ++ struct item *entry;
>> ++
>> ++ entry = new0(struct item, 1);
>> +
>> + ul = fd_first_block(m->fd);
>> +
>> +- if ((k = hashmap_put(files, p, SECTOR_TO_PTR(ul))) < 0) {
>> ++ clock_gettime(CLOCK_MONOTONIC, &ts);
>> ++
>> ++ entry->block = ul;
>> ++ entry->path = strdup(p);
>> ++ entry->bin = round((ts.tv_sec - starttime.tv_sec +
>> ++ ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
>> ++
>> ++ if ((k = hashmap_put(files, p, entry)) < 0) {
>> + log_warning("set_put() failed: %s", strerror(-k));
>> + free(p);
>> + }
>> +@@ -518,8 +541,7 @@ done:
>> +
>> + j = ordered;
>> + HASHMAP_FOREACH_KEY(q, p, files, i) {
>> +- j->path = p;
>> +- j->block = PTR_TO_SECTOR(q);
>> ++ memcpy(j, q, sizeof(struct item));
>> + j++;
>> + }
>> +
>> +--
>> +1.7.9.5
>> +
>> diff --git a/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
>> new file mode 100644
>> index 0000000..e0b68df
>> --- /dev/null
>> +++ b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
>> @@ -0,0 +1,86 @@
>> +Upstream-Status: Backport
>> +
>> +-Khem 2013/03/28
>> +
>> +From b0640287f784a320661f7206c9ade07b99003fd5 Mon Sep 17 00:00:00 2001
>> +From: Auke Kok <auke-jan.h.kok@intel.com>
>> +Date: Tue, 26 Mar 2013 11:13:47 -0700
>> +Subject: [PATCH 03/17] readahead: cleanups
>> +
>> +- check for OOM
>> +- no need to use floats and round()
>> +---
>> + Makefile.am | 2 +-
>> + src/readahead/readahead-collect.c | 20 ++++++++++++++------
>> + 2 files changed, 15 insertions(+), 7 deletions(-)
>> +
>> +diff --git a/Makefile.am b/Makefile.am
>> +index 5861976..37c1cc2 100644
>> +--- a/Makefile.am
>> ++++ b/Makefile.am
>> +@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
>> + systemd_readahead_LDADD = \
>> + libsystemd-shared.la \
>> + libsystemd-daemon.la \
>> +- libudev.la -lm
>> ++ libudev.la
>> +
>> + dist_doc_DATA += \
>> + src/readahead/sd-readahead.c \
>> +diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
>> +index 5d22949..e2fd8df 100644
>> +--- a/src/readahead/readahead-collect.c
>> ++++ b/src/readahead/readahead-collect.c
>> +@@ -68,7 +68,7 @@
>> + */
>> +
>> + static ReadaheadShared *shared = NULL;
>> +-static struct timespec starttime;
>> ++static usec_t starttime;
>> +
>> + /* Avoid collisions with the NULL pointer */
>> + #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
>> +@@ -260,7 +260,7 @@ static int collect(const char *root) {
>> + goto finish;
>> + }
>> +
>> +- clock_gettime(CLOCK_MONOTONIC, &starttime);
>> ++ starttime = now(CLOCK_MONOTONIC);
>> +
>> + /* If there's no pack file yet we lower the kernel readahead
>> + * so that mincore() is accurate. If there is a pack file
>> +@@ -459,19 +459,27 @@ static int collect(const char *root) {
>> + free(p);
>> + else {
>> + unsigned long ul;
>> +- struct timespec ts;
>> ++ usec_t entrytime;
>> + struct item *entry;
>> +
>> + entry = new0(struct item, 1);
>> ++ if (!entry) {
>> ++ r = log_oom();
>> ++ goto finish;
>> ++ }
>> +
>> + ul = fd_first_block(m->fd);
>> +
>> +- clock_gettime(CLOCK_MONOTONIC, &ts);
>> ++ entrytime = now(CLOCK_MONOTONIC);
>> +
>> + entry->block = ul;
>> + entry->path = strdup(p);
>> +- entry->bin = round((ts.tv_sec - starttime.tv_sec +
>> +- ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
>> ++ if (!entry->path) {
>> ++ free(entry);
>> ++ r = log_oom();
>> ++ goto finish;
>> ++ }
>> ++ entry->bin = (entrytime - starttime) / 2000000;
>> +
>> + if ((k = hashmap_put(files, p, entry)) < 0) {
>> + log_warning("set_put() failed: %s", strerror(-k));
>> +--
>> +1.7.9.5
>> +
>> diff --git a/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
>> new file mode 100644
>> index 0000000..f2c8e02
>> --- /dev/null
>> +++ b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
>> @@ -0,0 +1,33 @@
>> +Upstream-Status: Backport
>> +
>> +-Khem 2013/03/28
>> +
>> +From 6f6fad96addf6b00b55c98cc0d0d8026b0c1e7ca Mon Sep 17 00:00:00 2001
>> +From: Eelco Dolstra <eelco.dolstra@logicblox.com>
>> +Date: Wed, 27 Mar 2013 13:41:59 +0100
>> +Subject: [PATCH 13/17] systemd-sysctl: Handle missing /etc/sysctl.conf
>> + properly
>> +
>> +Since fabe5c0e5fce730aa66e10a9c4f9fdd443d7aeda, systemd-sysctl returns
>> +a non-zero exit code if /etc/sysctl.conf does not exist, due to a
>> +broken ENOENT check.
>> +---
>> + src/sysctl/sysctl.c | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
>> +index 2d43660..79f3f77 100644
>> +--- a/src/sysctl/sysctl.c
>> ++++ b/src/sysctl/sysctl.c
>> +@@ -125,7 +125,7 @@ static int parse_file(Hashmap *sysctl_options, const char *path, bool ignore_eno
>> +
>> + r = search_and_fopen_nulstr(path, "re", conf_file_dirs, &f);
>> + if (r < 0) {
>> +- if (ignore_enoent && errno == -ENOENT)
>> ++ if (ignore_enoent && r == -ENOENT)
>> + return 0;
>> +
>> + log_error("Failed to open file '%s', ignoring: %s", path, strerror(-r));
>> +--
>> +1.7.9.5
>> +
>> diff --git a/meta/recipes-core/systemd/systemd_198.bb b/meta/recipes-core/systemd/systemd_199.bb
>> similarity index 95%
>> rename from meta/recipes-core/systemd/systemd_198.bb
>> rename to meta/recipes-core/systemd/systemd_199.bb
>> index 6a8db51..74b14af 100644
>> --- a/meta/recipes-core/systemd/systemd_198.bb
>> +++ b/meta/recipes-core/systemd/systemd_199.bb
>> @@ -23,10 +23,13 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
>> file://var-run.conf \
>> ${UCLIBCPATCHES} \
>> file://00-create-volatile.conf \
>> + file://0002-readahead-chunk-on-spinning-media.patch \
>> + file://0003-readahead-cleanups.patch \
>> + file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
>> file://init \
>> "
>> -SRC_URI[md5sum] = "26a75e2a310f8c1c1ea9ec26ddb171c5"
>> -SRC_URI[sha256sum] = "444492355e5ff0ad99e0691ecaff1081ee8d45901580f47ba8b74e56107c71bf"
>> +SRC_URI[md5sum] = "4bb13f84ce211e93f0141774a90a2322"
>> +SRC_URI[sha256sum] = "8c4462a04f3ecf7f083782e5e0687913b1d33c6444bf20fa2f31df9222965fed"
>>
>> UCLIBCPATCHES = ""
>> UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \
>> @@ -114,7 +117,7 @@ PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
>> PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze"
>>
>> USERADD_PACKAGES = "${PN}"
>> -GROUPADD_PARAM_${PN} = "-r lock"
>> +GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
>>
>> FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
>>
>> @@ -224,7 +227,7 @@ FILES_udev += "${base_sbindir}/udevd \
>> FILES_udev-consolekit += "/lib/ConsoleKit"
>> RDEPENDS_udev-consolekit += "${@base_contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
>>
>> -FILES_udev-utils = "${bindir}/udevadm"
>> +FILES_udev-utils = "${base_bindir}/udevadm ${datadir}/bash-completion/completions/udevadm"
>>
>> FILES_udev-hwdb = "${base_libdir}/udev/hwdb.d"
>>
>> --
>> 1.7.9.5
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-29 5:28 ` Khem Raj
@ 2013-03-29 8:12 ` Koen Kooi
2013-03-29 8:18 ` Khem Raj
2013-03-29 16:07 ` Khem Raj
0 siblings, 2 replies; 20+ messages in thread
From: Koen Kooi @ 2013-03-29 8:12 UTC (permalink / raw)
To: Khem Raj; +Cc: Martin Jansa, openembedded-core
Op 29 mrt. 2013, om 06:28 heeft Khem Raj <raj.khem@gmail.com> het volgende geschreven:
>
> On Mar 28, 2013, at 5:21 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>
>> On Thu, Mar 28, 2013 at 12:48:29AM -0700, Khem Raj wrote:
>>> udevadm is now moved from /usr/bin to /bin so account for that
>>> bash completions for udevadm should be packages with udev-utils
>>> since thats where udevadm itself is, they were in systemd package
>>> which is not correct location for it
>>>
>>> Backport patches for readahead fixes on spinning disks
>>> and to tackle error reported on missing /etc/sysctl.conf
>>
>> Looks like it creates few new (empty) directories:
>>
>> WARNING: QA Issue: systemd: Files/directories were installed but not
>> shipped
>> /etc/kernel
>> /etc/kernel/install.d
>> /usr/lib/kernel
>> /usr/lib/kernel/install.d
>
>
> OK I have created a new package called systems-kernel-install and these dirs along with
> kernel-install binary are moved into the new package and updated the pull request.
There's a new releases, 200, mostly bugfixes and some hwdp and keymap updates. Your 199 patch has the most important fixes, so I'm not sure if it's worth to respin to 200 or get this in and update to 200 (or 201) later.
>
>
>>
>> Doesn't look very useful for our use-case, maybe whole kernel-install
>> should be in separate package.
>> http://www.freedesktop.org/software/systemd/man/kernel-install.html
>>
>>>
>>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> ---
>>> .../0002-readahead-chunk-on-spinning-media.patch | 142 ++++++++++++++++++++
>>> .../systemd/systemd/0003-readahead-cleanups.patch | 86 ++++++++++++
>>> ...ctl-Handle-missing-etc-sysctl.conf-proper.patch | 33 +++++
>>> .../systemd/{systemd_198.bb => systemd_199.bb} | 11 +-
>>> 4 files changed, 268 insertions(+), 4 deletions(-)
>>> create mode 100644 meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
>>> create mode 100644 meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
>>> create mode 100644 meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
>>> rename meta/recipes-core/systemd/{systemd_198.bb => systemd_199.bb} (95%)
>>>
>>> diff --git a/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
>>> new file mode 100644
>>> index 0000000..d57a01c
>>> --- /dev/null
>>> +++ b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
>>> @@ -0,0 +1,142 @@
>>> +Upstream-Status: Backport
>>> +
>>> +-Khem 2013/03/28
>>> +
>>> +From 94243ef299425d6c7089a7a05c48c9bb8f6cf3da Mon Sep 17 00:00:00 2001
>>> +From: Auke Kok <auke-jan.h.kok@intel.com>
>>> +Date: Fri, 22 Mar 2013 15:09:45 -0700
>>> +Subject: [PATCH 02/17] readahead: chunk on spinning media
>>> +
>>> +Readahead has all sorts of bad side effects depending on your
>>> +storage media. On rotating disks, it may be degrading startup
>>> +performance if enough requests are queued spanning linearly
>>> +over all blocks early at boot, and mount, blkid and friends
>>> +want to insert reads to the start of these block devices after.
>>> +
>>> +The end result is that on spinning disks with ext3/4 that udev
>>> +and mounts take a very long time, and nothing really happens until
>>> +readahead is completely finished.
>>> +
>>> +This has the net effect that the CPU is almost entirely idle
>>> +for the entire period that readahead is working. We could have
>>> +finished starting up quite a lot of services in this time if
>>> +we were smarter at how we do readahead.
>>> +
>>> +This patch sorts all requests into 2 second "chunks" and sub-sorts
>>> +each chunk by block. This adds a single cross-drive seek per "chunk"
>>> +but has the benefit that we will have a lot of the blocks we need
>>> +early on in the boot sequence loaded into memory faster.
>>> +
>>> +For a comparison of how before/after bootcharts look (ext4 on a
>>> +mobile 5400rpm 250GB drive) please look at:
>>> +
>>> + http://foo-projects.org/~sofar/blocked-tests/
>>> +
>>> +There are bootcharts in the "before" and "after" folders where you
>>> +should be able to see that many low-level services finish 5-7
>>> +seconds earlier with the patch applied (after).
>>> +---
>>> + Makefile.am | 2 +-
>>> + src/readahead/readahead-collect.c | 28 +++++++++++++++++++++++++---
>>> + 2 files changed, 26 insertions(+), 4 deletions(-)
>>> +
>>> +diff --git a/Makefile.am b/Makefile.am
>>> +index 37c1cc2..5861976 100644
>>> +--- a/Makefile.am
>>> ++++ b/Makefile.am
>>> +@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
>>> + systemd_readahead_LDADD = \
>>> + libsystemd-shared.la \
>>> + libsystemd-daemon.la \
>>> +- libudev.la
>>> ++ libudev.la -lm
>>> +
>>> + dist_doc_DATA += \
>>> + src/readahead/sd-readahead.c \
>>> +diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
>>> +index 5d07f47..5d22949 100644
>>> +--- a/src/readahead/readahead-collect.c
>>> ++++ b/src/readahead/readahead-collect.c
>>> +@@ -42,6 +42,7 @@
>>> + #include <sys/vfs.h>
>>> + #include <getopt.h>
>>> + #include <sys/inotify.h>
>>> ++#include <math.h>
>>> +
>>> + #ifdef HAVE_FANOTIFY_INIT
>>> + #include <sys/fanotify.h>
>>> +@@ -67,6 +68,7 @@
>>> + */
>>> +
>>> + static ReadaheadShared *shared = NULL;
>>> ++static struct timespec starttime;
>>> +
>>> + /* Avoid collisions with the NULL pointer */
>>> + #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
>>> +@@ -205,6 +207,7 @@ static unsigned long fd_first_block(int fd) {
>>> + struct item {
>>> + const char *path;
>>> + unsigned long block;
>>> ++ unsigned long bin;
>>> + };
>>> +
>>> + static int qsort_compare(const void *a, const void *b) {
>>> +@@ -213,6 +216,13 @@ static int qsort_compare(const void *a, const void *b) {
>>> + i = a;
>>> + j = b;
>>> +
>>> ++ /* sort by bin first */
>>> ++ if (i->bin < j->bin)
>>> ++ return -1;
>>> ++ if (i->bin > j->bin)
>>> ++ return 1;
>>> ++
>>> ++ /* then sort by sector */
>>> + if (i->block < j->block)
>>> + return -1;
>>> + if (i->block > j->block)
>>> +@@ -250,6 +260,8 @@ static int collect(const char *root) {
>>> + goto finish;
>>> + }
>>> +
>>> ++ clock_gettime(CLOCK_MONOTONIC, &starttime);
>>> ++
>>> + /* If there's no pack file yet we lower the kernel readahead
>>> + * so that mincore() is accurate. If there is a pack file
>>> + * already we assume it is accurate enough so that kernel
>>> +@@ -447,10 +459,21 @@ static int collect(const char *root) {
>>> + free(p);
>>> + else {
>>> + unsigned long ul;
>>> ++ struct timespec ts;
>>> ++ struct item *entry;
>>> ++
>>> ++ entry = new0(struct item, 1);
>>> +
>>> + ul = fd_first_block(m->fd);
>>> +
>>> +- if ((k = hashmap_put(files, p, SECTOR_TO_PTR(ul))) < 0) {
>>> ++ clock_gettime(CLOCK_MONOTONIC, &ts);
>>> ++
>>> ++ entry->block = ul;
>>> ++ entry->path = strdup(p);
>>> ++ entry->bin = round((ts.tv_sec - starttime.tv_sec +
>>> ++ ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
>>> ++
>>> ++ if ((k = hashmap_put(files, p, entry)) < 0) {
>>> + log_warning("set_put() failed: %s", strerror(-k));
>>> + free(p);
>>> + }
>>> +@@ -518,8 +541,7 @@ done:
>>> +
>>> + j = ordered;
>>> + HASHMAP_FOREACH_KEY(q, p, files, i) {
>>> +- j->path = p;
>>> +- j->block = PTR_TO_SECTOR(q);
>>> ++ memcpy(j, q, sizeof(struct item));
>>> + j++;
>>> + }
>>> +
>>> +--
>>> +1.7.9.5
>>> +
>>> diff --git a/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
>>> new file mode 100644
>>> index 0000000..e0b68df
>>> --- /dev/null
>>> +++ b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
>>> @@ -0,0 +1,86 @@
>>> +Upstream-Status: Backport
>>> +
>>> +-Khem 2013/03/28
>>> +
>>> +From b0640287f784a320661f7206c9ade07b99003fd5 Mon Sep 17 00:00:00 2001
>>> +From: Auke Kok <auke-jan.h.kok@intel.com>
>>> +Date: Tue, 26 Mar 2013 11:13:47 -0700
>>> +Subject: [PATCH 03/17] readahead: cleanups
>>> +
>>> +- check for OOM
>>> +- no need to use floats and round()
>>> +---
>>> + Makefile.am | 2 +-
>>> + src/readahead/readahead-collect.c | 20 ++++++++++++++------
>>> + 2 files changed, 15 insertions(+), 7 deletions(-)
>>> +
>>> +diff --git a/Makefile.am b/Makefile.am
>>> +index 5861976..37c1cc2 100644
>>> +--- a/Makefile.am
>>> ++++ b/Makefile.am
>>> +@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
>>> + systemd_readahead_LDADD = \
>>> + libsystemd-shared.la \
>>> + libsystemd-daemon.la \
>>> +- libudev.la -lm
>>> ++ libudev.la
>>> +
>>> + dist_doc_DATA += \
>>> + src/readahead/sd-readahead.c \
>>> +diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
>>> +index 5d22949..e2fd8df 100644
>>> +--- a/src/readahead/readahead-collect.c
>>> ++++ b/src/readahead/readahead-collect.c
>>> +@@ -68,7 +68,7 @@
>>> + */
>>> +
>>> + static ReadaheadShared *shared = NULL;
>>> +-static struct timespec starttime;
>>> ++static usec_t starttime;
>>> +
>>> + /* Avoid collisions with the NULL pointer */
>>> + #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
>>> +@@ -260,7 +260,7 @@ static int collect(const char *root) {
>>> + goto finish;
>>> + }
>>> +
>>> +- clock_gettime(CLOCK_MONOTONIC, &starttime);
>>> ++ starttime = now(CLOCK_MONOTONIC);
>>> +
>>> + /* If there's no pack file yet we lower the kernel readahead
>>> + * so that mincore() is accurate. If there is a pack file
>>> +@@ -459,19 +459,27 @@ static int collect(const char *root) {
>>> + free(p);
>>> + else {
>>> + unsigned long ul;
>>> +- struct timespec ts;
>>> ++ usec_t entrytime;
>>> + struct item *entry;
>>> +
>>> + entry = new0(struct item, 1);
>>> ++ if (!entry) {
>>> ++ r = log_oom();
>>> ++ goto finish;
>>> ++ }
>>> +
>>> + ul = fd_first_block(m->fd);
>>> +
>>> +- clock_gettime(CLOCK_MONOTONIC, &ts);
>>> ++ entrytime = now(CLOCK_MONOTONIC);
>>> +
>>> + entry->block = ul;
>>> + entry->path = strdup(p);
>>> +- entry->bin = round((ts.tv_sec - starttime.tv_sec +
>>> +- ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
>>> ++ if (!entry->path) {
>>> ++ free(entry);
>>> ++ r = log_oom();
>>> ++ goto finish;
>>> ++ }
>>> ++ entry->bin = (entrytime - starttime) / 2000000;
>>> +
>>> + if ((k = hashmap_put(files, p, entry)) < 0) {
>>> + log_warning("set_put() failed: %s", strerror(-k));
>>> +--
>>> +1.7.9.5
>>> +
>>> diff --git a/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
>>> new file mode 100644
>>> index 0000000..f2c8e02
>>> --- /dev/null
>>> +++ b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
>>> @@ -0,0 +1,33 @@
>>> +Upstream-Status: Backport
>>> +
>>> +-Khem 2013/03/28
>>> +
>>> +From 6f6fad96addf6b00b55c98cc0d0d8026b0c1e7ca Mon Sep 17 00:00:00 2001
>>> +From: Eelco Dolstra <eelco.dolstra@logicblox.com>
>>> +Date: Wed, 27 Mar 2013 13:41:59 +0100
>>> +Subject: [PATCH 13/17] systemd-sysctl: Handle missing /etc/sysctl.conf
>>> + properly
>>> +
>>> +Since fabe5c0e5fce730aa66e10a9c4f9fdd443d7aeda, systemd-sysctl returns
>>> +a non-zero exit code if /etc/sysctl.conf does not exist, due to a
>>> +broken ENOENT check.
>>> +---
>>> + src/sysctl/sysctl.c | 2 +-
>>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>>> +
>>> +diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
>>> +index 2d43660..79f3f77 100644
>>> +--- a/src/sysctl/sysctl.c
>>> ++++ b/src/sysctl/sysctl.c
>>> +@@ -125,7 +125,7 @@ static int parse_file(Hashmap *sysctl_options, const char *path, bool ignore_eno
>>> +
>>> + r = search_and_fopen_nulstr(path, "re", conf_file_dirs, &f);
>>> + if (r < 0) {
>>> +- if (ignore_enoent && errno == -ENOENT)
>>> ++ if (ignore_enoent && r == -ENOENT)
>>> + return 0;
>>> +
>>> + log_error("Failed to open file '%s', ignoring: %s", path, strerror(-r));
>>> +--
>>> +1.7.9.5
>>> +
>>> diff --git a/meta/recipes-core/systemd/systemd_198.bb b/meta/recipes-core/systemd/systemd_199.bb
>>> similarity index 95%
>>> rename from meta/recipes-core/systemd/systemd_198.bb
>>> rename to meta/recipes-core/systemd/systemd_199.bb
>>> index 6a8db51..74b14af 100644
>>> --- a/meta/recipes-core/systemd/systemd_198.bb
>>> +++ b/meta/recipes-core/systemd/systemd_199.bb
>>> @@ -23,10 +23,13 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
>>> file://var-run.conf \
>>> ${UCLIBCPATCHES} \
>>> file://00-create-volatile.conf \
>>> + file://0002-readahead-chunk-on-spinning-media.patch \
>>> + file://0003-readahead-cleanups.patch \
>>> + file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
>>> file://init \
>>> "
>>> -SRC_URI[md5sum] = "26a75e2a310f8c1c1ea9ec26ddb171c5"
>>> -SRC_URI[sha256sum] = "444492355e5ff0ad99e0691ecaff1081ee8d45901580f47ba8b74e56107c71bf"
>>> +SRC_URI[md5sum] = "4bb13f84ce211e93f0141774a90a2322"
>>> +SRC_URI[sha256sum] = "8c4462a04f3ecf7f083782e5e0687913b1d33c6444bf20fa2f31df9222965fed"
>>>
>>> UCLIBCPATCHES = ""
>>> UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \
>>> @@ -114,7 +117,7 @@ PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
>>> PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze"
>>>
>>> USERADD_PACKAGES = "${PN}"
>>> -GROUPADD_PARAM_${PN} = "-r lock"
>>> +GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
>>>
>>> FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
>>>
>>> @@ -224,7 +227,7 @@ FILES_udev += "${base_sbindir}/udevd \
>>> FILES_udev-consolekit += "/lib/ConsoleKit"
>>> RDEPENDS_udev-consolekit += "${@base_contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
>>>
>>> -FILES_udev-utils = "${bindir}/udevadm"
>>> +FILES_udev-utils = "${base_bindir}/udevadm ${datadir}/bash-completion/completions/udevadm"
>>>
>>> FILES_udev-hwdb = "${base_libdir}/udev/hwdb.d"
>>>
>>> --
>>> 1.7.9.5
>>>
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>> --
>> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-29 8:12 ` Koen Kooi
@ 2013-03-29 8:18 ` Khem Raj
2013-03-29 12:50 ` Andreas Müller
2013-03-29 16:07 ` Khem Raj
1 sibling, 1 reply; 20+ messages in thread
From: Khem Raj @ 2013-03-29 8:18 UTC (permalink / raw)
To: Koen Kooi; +Cc: Martin Jansa, openembedded-core
On Mar 29, 2013, at 1:12 AM, Koen Kooi <koen@dominion.thruhere.net> wrote:
>
> Op 29 mrt. 2013, om 06:28 heeft Khem Raj <raj.khem@gmail.com> het volgende geschreven:
>
>>
>> On Mar 28, 2013, at 5:21 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>>
>>> On Thu, Mar 28, 2013 at 12:48:29AM -0700, Khem Raj wrote:
>>>> udevadm is now moved from /usr/bin to /bin so account for that
>>>> bash completions for udevadm should be packages with udev-utils
>>>> since thats where udevadm itself is, they were in systemd package
>>>> which is not correct location for it
>>>>
>>>> Backport patches for readahead fixes on spinning disks
>>>> and to tackle error reported on missing /etc/sysctl.conf
>>>
>>> Looks like it creates few new (empty) directories:
>>>
>>> WARNING: QA Issue: systemd: Files/directories were installed but not
>>> shipped
>>> /etc/kernel
>>> /etc/kernel/install.d
>>> /usr/lib/kernel
>>> /usr/lib/kernel/install.d
>>
>>
>> OK I have created a new package called systems-kernel-install and these dirs along with
>> kernel-install binary are moved into the new package and updated the pull request.
>
> There's a new releases, 200, mostly bugfixes and some hwdp and keymap updates. Your 199 patch has the most important fixes, so I'm not sure if it's worth to respin to 200 or get this in and update to 200 (or 201) later.
yeah lets stay at 199 for some time and cherry pick fixes we need.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-29 8:18 ` Khem Raj
@ 2013-03-29 12:50 ` Andreas Müller
2013-03-29 12:56 ` Andreas Müller
2013-04-01 13:54 ` Colin Walters
0 siblings, 2 replies; 20+ messages in thread
From: Andreas Müller @ 2013-03-29 12:50 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
On Fri, Mar 29, 2013 at 9:18 AM, Khem Raj <raj.khem@gmail.com> wrote:
>
> On Mar 29, 2013, at 1:12 AM, Koen Kooi <koen@dominion.thruhere.net> wrote:
>
>>
>> Op 29 mrt. 2013, om 06:28 heeft Khem Raj <raj.khem@gmail.com> het volgende geschreven:
>>
>>>
>>> On Mar 28, 2013, at 5:21 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>>>
>>>> On Thu, Mar 28, 2013 at 12:48:29AM -0700, Khem Raj wrote:
>>>>> udevadm is now moved from /usr/bin to /bin so account for that
>>>>> bash completions for udevadm should be packages with udev-utils
>>>>> since thats where udevadm itself is, they were in systemd package
>>>>> which is not correct location for it
>>>>>
>>>>> Backport patches for readahead fixes on spinning disks
>>>>> and to tackle error reported on missing /etc/sysctl.conf
>>>>
>>>> Looks like it creates few new (empty) directories:
>>>>
>>>> WARNING: QA Issue: systemd: Files/directories were installed but not
>>>> shipped
>>>> /etc/kernel
>>>> /etc/kernel/install.d
>>>> /usr/lib/kernel
>>>> /usr/lib/kernel/install.d
>>>
>>>
>>> OK I have created a new package called systems-kernel-install and these dirs along with
>>> kernel-install binary are moved into the new package and updated the pull request.
>>
>> There's a new releases, 200, mostly bugfixes and some hwdp and keymap updates. Your 199 patch has the most important fixes, so I'm not sure if it's worth to respin to 200 or get this in and update to 200 (or 201) later.
>
>
> yeah lets stay at 199 for some time and cherry pick fixes we need.
>
>
Anybody an idea why I get this when building from scratch:
| /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
'systemd': No such file
| make[2]: *** [org.freedesktop.systemd1.Manager.xml] Error 1
| make[2]: *** Waiting for unfinished jobs....
| /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
'systemd': No such file
| make[2]: *** [org.freedesktop.systemd1.Unit.xml] Error 1
| /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
'systemd': No such file
| make[2]: *** [org.freedesktop.systemd1.Service.xml] Error 1
| /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
'systemd': No such file
| make[2]: *** [org.freedesktop.systemd1.Job.xml] Error 1
| /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
/home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
'systemd': No such file
| 'systemd': No such file
| make[2]: *** [org.freedesktop.systemd1.Socket.xml] Error 1
| make[2]: *** [org.freedesktop.systemd1.Timer.xml] Error 1
| /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
'systemd': No such file
| make[2]: *** [org.freedesktop.systemd1.Target.xml] Error 1
Andreas
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-29 12:50 ` Andreas Müller
@ 2013-03-29 12:56 ` Andreas Müller
2013-04-01 13:54 ` Colin Walters
1 sibling, 0 replies; 20+ messages in thread
From: Andreas Müller @ 2013-03-29 12:56 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
On Fri, Mar 29, 2013 at 1:50 PM, Andreas Müller
<schnitzeltony@googlemail.com> wrote:
> On Fri, Mar 29, 2013 at 9:18 AM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> On Mar 29, 2013, at 1:12 AM, Koen Kooi <koen@dominion.thruhere.net> wrote:
>>
>>>
>>> Op 29 mrt. 2013, om 06:28 heeft Khem Raj <raj.khem@gmail.com> het volgende geschreven:
>>>
>>>>
>>>> On Mar 28, 2013, at 5:21 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>>>>
>>>>> On Thu, Mar 28, 2013 at 12:48:29AM -0700, Khem Raj wrote:
>>>>>> udevadm is now moved from /usr/bin to /bin so account for that
>>>>>> bash completions for udevadm should be packages with udev-utils
>>>>>> since thats where udevadm itself is, they were in systemd package
>>>>>> which is not correct location for it
>>>>>>
>>>>>> Backport patches for readahead fixes on spinning disks
>>>>>> and to tackle error reported on missing /etc/sysctl.conf
>>>>>
>>>>> Looks like it creates few new (empty) directories:
>>>>>
>>>>> WARNING: QA Issue: systemd: Files/directories were installed but not
>>>>> shipped
>>>>> /etc/kernel
>>>>> /etc/kernel/install.d
>>>>> /usr/lib/kernel
>>>>> /usr/lib/kernel/install.d
>>>>
>>>>
>>>> OK I have created a new package called systems-kernel-install and these dirs along with
>>>> kernel-install binary are moved into the new package and updated the pull request.
>>>
>>> There's a new releases, 200, mostly bugfixes and some hwdp and keymap updates. Your 199 patch has the most important fixes, so I'm not sure if it's worth to respin to 200 or get this in and update to 200 (or 201) later.
>>
>>
>> yeah lets stay at 199 for some time and cherry pick fixes we need.
>>
>>
> Anybody an idea why I get this when building from scratch:
>
> | /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
> 'systemd': No such file
> | make[2]: *** [org.freedesktop.systemd1.Manager.xml] Error 1
> | make[2]: *** Waiting for unfinished jobs....
> | /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
> 'systemd': No such file
> | make[2]: *** [org.freedesktop.systemd1.Unit.xml] Error 1
> | /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
> 'systemd': No such file
> | make[2]: *** [org.freedesktop.systemd1.Service.xml] Error 1
> | /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
> 'systemd': No such file
> | make[2]: *** [org.freedesktop.systemd1.Job.xml] Error 1
> | /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
> /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
> 'systemd': No such file
> | 'systemd': No such file
> | make[2]: *** [org.freedesktop.systemd1.Socket.xml] Error 1
> | make[2]: *** [org.freedesktop.systemd1.Timer.xml] Error 1
> | /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
> 'systemd': No such file
> | make[2]: *** [org.freedesktop.systemd1.Target.xml] Error 1
>
FYI: Last building version is 197
Andreas
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-29 8:12 ` Koen Kooi
2013-03-29 8:18 ` Khem Raj
@ 2013-03-29 16:07 ` Khem Raj
1 sibling, 0 replies; 20+ messages in thread
From: Khem Raj @ 2013-03-29 16:07 UTC (permalink / raw)
To: Koen Kooi, Richard Purdie; +Cc: Martin Jansa, openembedded-core
Hi Richard
There was a followup patch to this and you took the old one. Thats ok. I have refreshed the pull tree again
and the follow up patch is there. Please pull
-Khem
On Mar 29, 2013, at 1:12 AM, Koen Kooi <koen@dominion.thruhere.net> wrote:
>
> Op 29 mrt. 2013, om 06:28 heeft Khem Raj <raj.khem@gmail.com> het volgende geschreven:
>
>>
>> On Mar 28, 2013, at 5:21 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>>
>>> On Thu, Mar 28, 2013 at 12:48:29AM -0700, Khem Raj wrote:
>>>> udevadm is now moved from /usr/bin to /bin so account for that
>>>> bash completions for udevadm should be packages with udev-utils
>>>> since thats where udevadm itself is, they were in systemd package
>>>> which is not correct location for it
>>>>
>>>> Backport patches for readahead fixes on spinning disks
>>>> and to tackle error reported on missing /etc/sysctl.conf
>>>
>>> Looks like it creates few new (empty) directories:
>>>
>>> WARNING: QA Issue: systemd: Files/directories were installed but not
>>> shipped
>>> /etc/kernel
>>> /etc/kernel/install.d
>>> /usr/lib/kernel
>>> /usr/lib/kernel/install.d
>>
>>
>> OK I have created a new package called systems-kernel-install and these dirs along with
>> kernel-install binary are moved into the new package and updated the pull request.
>
> There's a new releases, 200, mostly bugfixes and some hwdp and keymap updates. Your 199 patch has the most important fixes, so I'm not sure if it's worth to respin to 200 or get this in and update to 200 (or 201) later.
>
>>
>>
>>>
>>> Doesn't look very useful for our use-case, maybe whole kernel-install
>>> should be in separate package.
>>> http://www.freedesktop.org/software/systemd/man/kernel-install.html
>>>
>>>>
>>>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>> ---
>>>> .../0002-readahead-chunk-on-spinning-media.patch | 142 ++++++++++++++++++++
>>>> .../systemd/systemd/0003-readahead-cleanups.patch | 86 ++++++++++++
>>>> ...ctl-Handle-missing-etc-sysctl.conf-proper.patch | 33 +++++
>>>> .../systemd/{systemd_198.bb => systemd_199.bb} | 11 +-
>>>> 4 files changed, 268 insertions(+), 4 deletions(-)
>>>> create mode 100644 meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
>>>> create mode 100644 meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
>>>> create mode 100644 meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
>>>> rename meta/recipes-core/systemd/{systemd_198.bb => systemd_199.bb} (95%)
>>>>
>>>> diff --git a/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
>>>> new file mode 100644
>>>> index 0000000..d57a01c
>>>> --- /dev/null
>>>> +++ b/meta/recipes-core/systemd/systemd/0002-readahead-chunk-on-spinning-media.patch
>>>> @@ -0,0 +1,142 @@
>>>> +Upstream-Status: Backport
>>>> +
>>>> +-Khem 2013/03/28
>>>> +
>>>> +From 94243ef299425d6c7089a7a05c48c9bb8f6cf3da Mon Sep 17 00:00:00 2001
>>>> +From: Auke Kok <auke-jan.h.kok@intel.com>
>>>> +Date: Fri, 22 Mar 2013 15:09:45 -0700
>>>> +Subject: [PATCH 02/17] readahead: chunk on spinning media
>>>> +
>>>> +Readahead has all sorts of bad side effects depending on your
>>>> +storage media. On rotating disks, it may be degrading startup
>>>> +performance if enough requests are queued spanning linearly
>>>> +over all blocks early at boot, and mount, blkid and friends
>>>> +want to insert reads to the start of these block devices after.
>>>> +
>>>> +The end result is that on spinning disks with ext3/4 that udev
>>>> +and mounts take a very long time, and nothing really happens until
>>>> +readahead is completely finished.
>>>> +
>>>> +This has the net effect that the CPU is almost entirely idle
>>>> +for the entire period that readahead is working. We could have
>>>> +finished starting up quite a lot of services in this time if
>>>> +we were smarter at how we do readahead.
>>>> +
>>>> +This patch sorts all requests into 2 second "chunks" and sub-sorts
>>>> +each chunk by block. This adds a single cross-drive seek per "chunk"
>>>> +but has the benefit that we will have a lot of the blocks we need
>>>> +early on in the boot sequence loaded into memory faster.
>>>> +
>>>> +For a comparison of how before/after bootcharts look (ext4 on a
>>>> +mobile 5400rpm 250GB drive) please look at:
>>>> +
>>>> + http://foo-projects.org/~sofar/blocked-tests/
>>>> +
>>>> +There are bootcharts in the "before" and "after" folders where you
>>>> +should be able to see that many low-level services finish 5-7
>>>> +seconds earlier with the patch applied (after).
>>>> +---
>>>> + Makefile.am | 2 +-
>>>> + src/readahead/readahead-collect.c | 28 +++++++++++++++++++++++++---
>>>> + 2 files changed, 26 insertions(+), 4 deletions(-)
>>>> +
>>>> +diff --git a/Makefile.am b/Makefile.am
>>>> +index 37c1cc2..5861976 100644
>>>> +--- a/Makefile.am
>>>> ++++ b/Makefile.am
>>>> +@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
>>>> + systemd_readahead_LDADD = \
>>>> + libsystemd-shared.la \
>>>> + libsystemd-daemon.la \
>>>> +- libudev.la
>>>> ++ libudev.la -lm
>>>> +
>>>> + dist_doc_DATA += \
>>>> + src/readahead/sd-readahead.c \
>>>> +diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
>>>> +index 5d07f47..5d22949 100644
>>>> +--- a/src/readahead/readahead-collect.c
>>>> ++++ b/src/readahead/readahead-collect.c
>>>> +@@ -42,6 +42,7 @@
>>>> + #include <sys/vfs.h>
>>>> + #include <getopt.h>
>>>> + #include <sys/inotify.h>
>>>> ++#include <math.h>
>>>> +
>>>> + #ifdef HAVE_FANOTIFY_INIT
>>>> + #include <sys/fanotify.h>
>>>> +@@ -67,6 +68,7 @@
>>>> + */
>>>> +
>>>> + static ReadaheadShared *shared = NULL;
>>>> ++static struct timespec starttime;
>>>> +
>>>> + /* Avoid collisions with the NULL pointer */
>>>> + #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
>>>> +@@ -205,6 +207,7 @@ static unsigned long fd_first_block(int fd) {
>>>> + struct item {
>>>> + const char *path;
>>>> + unsigned long block;
>>>> ++ unsigned long bin;
>>>> + };
>>>> +
>>>> + static int qsort_compare(const void *a, const void *b) {
>>>> +@@ -213,6 +216,13 @@ static int qsort_compare(const void *a, const void *b) {
>>>> + i = a;
>>>> + j = b;
>>>> +
>>>> ++ /* sort by bin first */
>>>> ++ if (i->bin < j->bin)
>>>> ++ return -1;
>>>> ++ if (i->bin > j->bin)
>>>> ++ return 1;
>>>> ++
>>>> ++ /* then sort by sector */
>>>> + if (i->block < j->block)
>>>> + return -1;
>>>> + if (i->block > j->block)
>>>> +@@ -250,6 +260,8 @@ static int collect(const char *root) {
>>>> + goto finish;
>>>> + }
>>>> +
>>>> ++ clock_gettime(CLOCK_MONOTONIC, &starttime);
>>>> ++
>>>> + /* If there's no pack file yet we lower the kernel readahead
>>>> + * so that mincore() is accurate. If there is a pack file
>>>> + * already we assume it is accurate enough so that kernel
>>>> +@@ -447,10 +459,21 @@ static int collect(const char *root) {
>>>> + free(p);
>>>> + else {
>>>> + unsigned long ul;
>>>> ++ struct timespec ts;
>>>> ++ struct item *entry;
>>>> ++
>>>> ++ entry = new0(struct item, 1);
>>>> +
>>>> + ul = fd_first_block(m->fd);
>>>> +
>>>> +- if ((k = hashmap_put(files, p, SECTOR_TO_PTR(ul))) < 0) {
>>>> ++ clock_gettime(CLOCK_MONOTONIC, &ts);
>>>> ++
>>>> ++ entry->block = ul;
>>>> ++ entry->path = strdup(p);
>>>> ++ entry->bin = round((ts.tv_sec - starttime.tv_sec +
>>>> ++ ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
>>>> ++
>>>> ++ if ((k = hashmap_put(files, p, entry)) < 0) {
>>>> + log_warning("set_put() failed: %s", strerror(-k));
>>>> + free(p);
>>>> + }
>>>> +@@ -518,8 +541,7 @@ done:
>>>> +
>>>> + j = ordered;
>>>> + HASHMAP_FOREACH_KEY(q, p, files, i) {
>>>> +- j->path = p;
>>>> +- j->block = PTR_TO_SECTOR(q);
>>>> ++ memcpy(j, q, sizeof(struct item));
>>>> + j++;
>>>> + }
>>>> +
>>>> +--
>>>> +1.7.9.5
>>>> +
>>>> diff --git a/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
>>>> new file mode 100644
>>>> index 0000000..e0b68df
>>>> --- /dev/null
>>>> +++ b/meta/recipes-core/systemd/systemd/0003-readahead-cleanups.patch
>>>> @@ -0,0 +1,86 @@
>>>> +Upstream-Status: Backport
>>>> +
>>>> +-Khem 2013/03/28
>>>> +
>>>> +From b0640287f784a320661f7206c9ade07b99003fd5 Mon Sep 17 00:00:00 2001
>>>> +From: Auke Kok <auke-jan.h.kok@intel.com>
>>>> +Date: Tue, 26 Mar 2013 11:13:47 -0700
>>>> +Subject: [PATCH 03/17] readahead: cleanups
>>>> +
>>>> +- check for OOM
>>>> +- no need to use floats and round()
>>>> +---
>>>> + Makefile.am | 2 +-
>>>> + src/readahead/readahead-collect.c | 20 ++++++++++++++------
>>>> + 2 files changed, 15 insertions(+), 7 deletions(-)
>>>> +
>>>> +diff --git a/Makefile.am b/Makefile.am
>>>> +index 5861976..37c1cc2 100644
>>>> +--- a/Makefile.am
>>>> ++++ b/Makefile.am
>>>> +@@ -2956,7 +2956,7 @@ systemd_readahead_SOURCES = \
>>>> + systemd_readahead_LDADD = \
>>>> + libsystemd-shared.la \
>>>> + libsystemd-daemon.la \
>>>> +- libudev.la -lm
>>>> ++ libudev.la
>>>> +
>>>> + dist_doc_DATA += \
>>>> + src/readahead/sd-readahead.c \
>>>> +diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
>>>> +index 5d22949..e2fd8df 100644
>>>> +--- a/src/readahead/readahead-collect.c
>>>> ++++ b/src/readahead/readahead-collect.c
>>>> +@@ -68,7 +68,7 @@
>>>> + */
>>>> +
>>>> + static ReadaheadShared *shared = NULL;
>>>> +-static struct timespec starttime;
>>>> ++static usec_t starttime;
>>>> +
>>>> + /* Avoid collisions with the NULL pointer */
>>>> + #define SECTOR_TO_PTR(s) ULONG_TO_PTR((s)+1)
>>>> +@@ -260,7 +260,7 @@ static int collect(const char *root) {
>>>> + goto finish;
>>>> + }
>>>> +
>>>> +- clock_gettime(CLOCK_MONOTONIC, &starttime);
>>>> ++ starttime = now(CLOCK_MONOTONIC);
>>>> +
>>>> + /* If there's no pack file yet we lower the kernel readahead
>>>> + * so that mincore() is accurate. If there is a pack file
>>>> +@@ -459,19 +459,27 @@ static int collect(const char *root) {
>>>> + free(p);
>>>> + else {
>>>> + unsigned long ul;
>>>> +- struct timespec ts;
>>>> ++ usec_t entrytime;
>>>> + struct item *entry;
>>>> +
>>>> + entry = new0(struct item, 1);
>>>> ++ if (!entry) {
>>>> ++ r = log_oom();
>>>> ++ goto finish;
>>>> ++ }
>>>> +
>>>> + ul = fd_first_block(m->fd);
>>>> +
>>>> +- clock_gettime(CLOCK_MONOTONIC, &ts);
>>>> ++ entrytime = now(CLOCK_MONOTONIC);
>>>> +
>>>> + entry->block = ul;
>>>> + entry->path = strdup(p);
>>>> +- entry->bin = round((ts.tv_sec - starttime.tv_sec +
>>>> +- ((ts.tv_nsec - starttime.tv_nsec) / 1000000000.0)) / 2.0);
>>>> ++ if (!entry->path) {
>>>> ++ free(entry);
>>>> ++ r = log_oom();
>>>> ++ goto finish;
>>>> ++ }
>>>> ++ entry->bin = (entrytime - starttime) / 2000000;
>>>> +
>>>> + if ((k = hashmap_put(files, p, entry)) < 0) {
>>>> + log_warning("set_put() failed: %s", strerror(-k));
>>>> +--
>>>> +1.7.9.5
>>>> +
>>>> diff --git a/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
>>>> new file mode 100644
>>>> index 0000000..f2c8e02
>>>> --- /dev/null
>>>> +++ b/meta/recipes-core/systemd/systemd/0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch
>>>> @@ -0,0 +1,33 @@
>>>> +Upstream-Status: Backport
>>>> +
>>>> +-Khem 2013/03/28
>>>> +
>>>> +From 6f6fad96addf6b00b55c98cc0d0d8026b0c1e7ca Mon Sep 17 00:00:00 2001
>>>> +From: Eelco Dolstra <eelco.dolstra@logicblox.com>
>>>> +Date: Wed, 27 Mar 2013 13:41:59 +0100
>>>> +Subject: [PATCH 13/17] systemd-sysctl: Handle missing /etc/sysctl.conf
>>>> + properly
>>>> +
>>>> +Since fabe5c0e5fce730aa66e10a9c4f9fdd443d7aeda, systemd-sysctl returns
>>>> +a non-zero exit code if /etc/sysctl.conf does not exist, due to a
>>>> +broken ENOENT check.
>>>> +---
>>>> + src/sysctl/sysctl.c | 2 +-
>>>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>>>> +
>>>> +diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
>>>> +index 2d43660..79f3f77 100644
>>>> +--- a/src/sysctl/sysctl.c
>>>> ++++ b/src/sysctl/sysctl.c
>>>> +@@ -125,7 +125,7 @@ static int parse_file(Hashmap *sysctl_options, const char *path, bool ignore_eno
>>>> +
>>>> + r = search_and_fopen_nulstr(path, "re", conf_file_dirs, &f);
>>>> + if (r < 0) {
>>>> +- if (ignore_enoent && errno == -ENOENT)
>>>> ++ if (ignore_enoent && r == -ENOENT)
>>>> + return 0;
>>>> +
>>>> + log_error("Failed to open file '%s', ignoring: %s", path, strerror(-r));
>>>> +--
>>>> +1.7.9.5
>>>> +
>>>> diff --git a/meta/recipes-core/systemd/systemd_198.bb b/meta/recipes-core/systemd/systemd_199.bb
>>>> similarity index 95%
>>>> rename from meta/recipes-core/systemd/systemd_198.bb
>>>> rename to meta/recipes-core/systemd/systemd_199.bb
>>>> index 6a8db51..74b14af 100644
>>>> --- a/meta/recipes-core/systemd/systemd_198.bb
>>>> +++ b/meta/recipes-core/systemd/systemd_199.bb
>>>> @@ -23,10 +23,13 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
>>>> file://var-run.conf \
>>>> ${UCLIBCPATCHES} \
>>>> file://00-create-volatile.conf \
>>>> + file://0002-readahead-chunk-on-spinning-media.patch \
>>>> + file://0003-readahead-cleanups.patch \
>>>> + file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
>>>> file://init \
>>>> "
>>>> -SRC_URI[md5sum] = "26a75e2a310f8c1c1ea9ec26ddb171c5"
>>>> -SRC_URI[sha256sum] = "444492355e5ff0ad99e0691ecaff1081ee8d45901580f47ba8b74e56107c71bf"
>>>> +SRC_URI[md5sum] = "4bb13f84ce211e93f0141774a90a2322"
>>>> +SRC_URI[sha256sum] = "8c4462a04f3ecf7f083782e5e0687913b1d33c6444bf20fa2f31df9222965fed"
>>>>
>>>> UCLIBCPATCHES = ""
>>>> UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \
>>>> @@ -114,7 +117,7 @@ PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
>>>> PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze"
>>>>
>>>> USERADD_PACKAGES = "${PN}"
>>>> -GROUPADD_PARAM_${PN} = "-r lock"
>>>> +GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
>>>>
>>>> FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
>>>>
>>>> @@ -224,7 +227,7 @@ FILES_udev += "${base_sbindir}/udevd \
>>>> FILES_udev-consolekit += "/lib/ConsoleKit"
>>>> RDEPENDS_udev-consolekit += "${@base_contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
>>>>
>>>> -FILES_udev-utils = "${bindir}/udevadm"
>>>> +FILES_udev-utils = "${base_bindir}/udevadm ${datadir}/bash-completion/completions/udevadm"
>>>>
>>>> FILES_udev-hwdb = "${base_libdir}/udev/hwdb.d"
>>>>
>>>> --
>>>> 1.7.9.5
>>>>
>>>>
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>
>>> --
>>> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-29 12:50 ` Andreas Müller
2013-03-29 12:56 ` Andreas Müller
@ 2013-04-01 13:54 ` Colin Walters
2013-04-11 23:11 ` Andreas Müller
1 sibling, 1 reply; 20+ messages in thread
From: Colin Walters @ 2013-04-01 13:54 UTC (permalink / raw)
To: Andreas Müller; +Cc: openembedded-core
On Fri, 2013-03-29 at 13:50 +0100, Andreas Müller wrote:
> Anybody an idea why I get this when building from scratch:
>
> | /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
> 'systemd': No such file
> | make[2]: *** [org.freedesktop.systemd1.Manager.xml] Error 1
> | make[2]: *** Waiting for unfinished jobs....
http://lists.freedesktop.org/archives/systemd-devel/2013-February/008751.html
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-03-28 7:48 ` [PATCH 1/1] systemd: Upgrade " Khem Raj
2013-03-28 12:21 ` Martin Jansa
2013-03-28 13:24 ` Richard Purdie
@ 2013-04-02 10:58 ` Erik Botö
2013-04-02 14:08 ` Khem Raj
2 siblings, 1 reply; 20+ messages in thread
From: Erik Botö @ 2013-04-02 10:58 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
Hi,
On Thu, Mar 28, 2013 at 8:48 AM, Khem Raj <raj.khem@gmail.com> wrote:
> udevadm is now moved from /usr/bin to /bin so account for that
> bash completions for udevadm should be packages with udev-utils
> since thats where udevadm itself is, they were in systemd package
> which is not correct location for it
It looks like systemd-analyze installs into /usr/bin and therefore
isn't picked up in PACKAGE systemd-analyze. This should fix it:
diff --git a/meta/recipes-core/systemd/systemd_199.bb
b/meta/recipes-core/systemd/systemd_199.bb
index ba1d133..f896187 100644
--- a/meta/recipes-core/systemd/systemd_199.bb
+++ b/meta/recipes-core/systemd/systemd_199.bb
@@ -119,7 +119,7 @@ PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup
${PN}-initramfs ${PN}-analyze ${PN}-
USERADD_PACKAGES = "${PN}"
GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
-FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
+FILES_${PN}-analyze = "${bindir}/systemd-analyze"
FILES_${PN}-initramfs = "/init"
RDEPENDS_${PN}-initramfs = "${PN}"
Cheers,
Erik
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-04-02 10:58 ` Erik Botö
@ 2013-04-02 14:08 ` Khem Raj
0 siblings, 0 replies; 20+ messages in thread
From: Khem Raj @ 2013-04-02 14:08 UTC (permalink / raw)
To: Erik Botö; +Cc: openembedded-core
Erik
Thanks, Yes this should fix it.
On Apr 2, 2013, at 3:58 AM, Erik Botö <erik.boto@pelagicore.com> wrote:
> Hi,
>
> On Thu, Mar 28, 2013 at 8:48 AM, Khem Raj <raj.khem@gmail.com> wrote:
>> udevadm is now moved from /usr/bin to /bin so account for that
>> bash completions for udevadm should be packages with udev-utils
>> since thats where udevadm itself is, they were in systemd package
>> which is not correct location for it
>
> It looks like systemd-analyze installs into /usr/bin and therefore
> isn't picked up in PACKAGE systemd-analyze. This should fix it:
>
> diff --git a/meta/recipes-core/systemd/systemd_199.bb
> b/meta/recipes-core/systemd/systemd_199.bb
> index ba1d133..f896187 100644
> --- a/meta/recipes-core/systemd/systemd_199.bb
> +++ b/meta/recipes-core/systemd/systemd_199.bb
> @@ -119,7 +119,7 @@ PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup
> ${PN}-initramfs ${PN}-analyze ${PN}-
> USERADD_PACKAGES = "${PN}"
> GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
>
> -FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
> +FILES_${PN}-analyze = "${bindir}/systemd-analyze"
>
> FILES_${PN}-initramfs = "/init"
> RDEPENDS_${PN}-initramfs = "${PN}"
>
> Cheers,
> Erik
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-04-01 13:54 ` Colin Walters
@ 2013-04-11 23:11 ` Andreas Müller
2013-04-12 10:06 ` Burton, Ross
0 siblings, 1 reply; 20+ messages in thread
From: Andreas Müller @ 2013-04-11 23:11 UTC (permalink / raw)
To: Colin Walters; +Cc: openembedded-core
On Mon, Apr 1, 2013 at 3:54 PM, Colin Walters <walters@verbum.org> wrote:
> On Fri, 2013-03-29 at 13:50 +0100, Andreas Müller wrote:
>
>> Anybody an idea why I get this when building from scratch:
>>
>> | /home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-objcopy:
>> 'systemd': No such file
>> | make[2]: *** [org.freedesktop.systemd1.Manager.xml] Error 1
>> | make[2]: *** Waiting for unfinished jobs....
>
> http://lists.freedesktop.org/archives/systemd-devel/2013-February/008751.html
>
>
Had no make-native so did manually build it and now systemd compiles fine now.
Is there a reason why we don't build make-native - If remember correct
there were fixes also for webkit-gtk parallel-make issues (ok - these
are wiped away for me by retry loop).
Andreas
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-04-11 23:11 ` Andreas Müller
@ 2013-04-12 10:06 ` Burton, Ross
[not found] ` <CALbNGRRCFyiD+6eY1xMe6o8dqtpuyf6YAEa7xKZ=f8wBv262uA@mail.gmail.com>
0 siblings, 1 reply; 20+ messages in thread
From: Burton, Ross @ 2013-04-12 10:06 UTC (permalink / raw)
To: Andreas Müller; +Cc: openembedded-core
Hi,
On 12 April 2013 00:11, Andreas Müller <schnitzeltony@googlemail.com> wrote:
> Had no make-native so did manually build it and now systemd compiles fine now.
>
> Is there a reason why we don't build make-native - If remember correct
> there were fixes also for webkit-gtk parallel-make issues (ok - these
> are wiped away for me by retry loop).
We don't build make-native because any real distribution doesn't ship
an un-patched make 3.82 as it can't actually be used to compile pretty
large chunks of a distro. Most distributions have either kept with
3.81 or use 3.82 with patches, and thanks to Colin we have the patches
in our own make-native now.
My hunch is that you're using Debian with make from experimental. The
maintainers appear to be waiting for upstream to release 3.83 instead
of pulling in patches, so my advise is not to use it - 3.82 is
genuinely broken.
Ross
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
[not found] ` <CALbNGRQ+BqGarZWxmtj50S4rJbDtNPGqB=eWvotBVdVAcviedQ@mail.gmail.com>
@ 2013-04-17 7:47 ` Andreas Müller
2013-04-17 8:12 ` Richard Purdie
0 siblings, 1 reply; 20+ messages in thread
From: Andreas Müller @ 2013-04-17 7:47 UTC (permalink / raw)
To: openembedded-core
On Fri, Apr 12, 2013 at 1:01 PM, Andreas Müller
<schnitzeltony@googlemail.com> wrote:
> On Fri, Apr 12, 2013 at 12:53 PM, Burton, Ross <ross.burton@intel.com> wrote:
>> Hi Andreas,
>>
>> On 12 April 2013 11:46, Andreas Müller <schnitzeltony@googlemail.com> wrote:
>>> It is Fedora 14 and I don't have the time to update the machine.
>>
>> Genuinely shocked that they shipped GNU make 3.82 without the patches
>> to make it work.
>>
>>> Since there seems no support for little poor old-fashioned people like
>>> me: Is there a configuration option so I can force to build
>>> make-native on that machine (checked local.conf.sample /
>>> site.conf.sample / yocto reference manual but did not find a hint)?
>>
>> From a quick look, BASEDEPENDS_append = " make-native" might do the trick.
>>
> Thanks
>
This came too early because - before I tested it. I get
NOTE: multiple providers are available for make-native (make-native,
remake-native)
NOTE: consider defining a PREFERRED_PROVIDER entry to match make-native
NOTE: Preparing runqueue
ERROR: Unbuildable tasks were found.
These are usually caused by circular dependencies and any circular
dependency chains found will be printed below. Increase the debug
level to see a list of unbuildable tasks.
Identifying dependency loops (this may take a short while)...
ERROR: An uncaught exception occured in runqueue, please see the failure below:
ERROR: Running idle function
Traceback (most recent call last):
File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
line 300, in find_chains(taskid=175, prev_chain=[14, 15, 19, 20, 16,
17, 174, 178, 179, 175]):
if scan:
> find_chains(revdep, copy.deepcopy(prev_chain))
for dep in explored_deps[revdep]:
File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
line 300, in find_chains(taskid=176, prev_chain=[14, 15, 19, 20, 16,
17, 174, 178, 179, 175, 176]):
if scan:
> find_chains(revdep, copy.deepcopy(prev_chain))
for dep in explored_deps[revdep]:
File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
line 300, in find_chains(taskid=1142, prev_chain=[14, 15, 19, 20, 16,
17, 174, 178, 179, 175, 176, 1142]):
if scan:
> find_chains(revdep, copy.deepcopy(prev_chain))
for dep in explored_deps[revdep]:
File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
line 300, in find_chains(taskid=1143, prev_chain=[14, 15, 19, 20, 16,
17, 174, 178, 179, 175, 176, 1142, 1143]):
if scan:
> find_chains(revdep, copy.deepcopy(prev_chain))
for dep in explored_deps[revdep]:
File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
line 301, in find_chains(taskid=1139, prev_chain=[14, 15, 19, 20, 16,
17, 174, 178, 179, 175, 176, 1142, 1143, 1139]):
find_chains(revdep, copy.deepcopy(prev_chain))
> for dep in explored_deps[revdep]:
if dep not in total_deps:
KeyError: 1140
NOTE: Tasks Summary: Attempted 0 tasks of which 0 didn't need to be
rerun and all succeeded.
Summary: There was 1 WARNING message shown.
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
bitbake make-native works fine.
What other options do I have to force build of make-native. Why I
insist: On both of my machines (Fedora 14 / 15) build of systemd
fails.
Andreas
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-04-17 7:47 ` Andreas Müller
@ 2013-04-17 8:12 ` Richard Purdie
2013-04-17 9:06 ` Andreas Müller
2013-04-17 18:21 ` Khem Raj
0 siblings, 2 replies; 20+ messages in thread
From: Richard Purdie @ 2013-04-17 8:12 UTC (permalink / raw)
To: Andreas Müller; +Cc: openembedded-core
On Wed, 2013-04-17 at 09:47 +0200, Andreas Müller wrote:
> On Fri, Apr 12, 2013 at 1:01 PM, Andreas Müller
> <schnitzeltony@googlemail.com> wrote:
> > On Fri, Apr 12, 2013 at 12:53 PM, Burton, Ross <ross.burton@intel.com> wrote:
> >> Hi Andreas,
> >>
> >> On 12 April 2013 11:46, Andreas Müller <schnitzeltony@googlemail.com> wrote:
> >>> It is Fedora 14 and I don't have the time to update the machine.
> >>
> >> Genuinely shocked that they shipped GNU make 3.82 without the patches
> >> to make it work.
> >>
> >>> Since there seems no support for little poor old-fashioned people like
> >>> me: Is there a configuration option so I can force to build
> >>> make-native on that machine (checked local.conf.sample /
> >>> site.conf.sample / yocto reference manual but did not find a hint)?
> >>
> >> From a quick look, BASEDEPENDS_append = " make-native" might do the trick.
> >>
> > Thanks
> >
> This came too early because - before I tested it. I get
>
> NOTE: multiple providers are available for make-native (make-native,
> remake-native)
> NOTE: consider defining a PREFERRED_PROVIDER entry to match make-native
> NOTE: Preparing runqueue
> ERROR: Unbuildable tasks were found.
> These are usually caused by circular dependencies and any circular
> dependency chains found will be printed below. Increase the debug
> level to see a list of unbuildable tasks.
>
> Identifying dependency loops (this may take a short while)...
>
> ERROR: An uncaught exception occured in runqueue, please see the failure below:
> ERROR: Running idle function
> Traceback (most recent call last):
> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
> line 300, in find_chains(taskid=175, prev_chain=[14, 15, 19, 20, 16,
> 17, 174, 178, 179, 175]):
> if scan:
> > find_chains(revdep, copy.deepcopy(prev_chain))
> for dep in explored_deps[revdep]:
> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
> line 300, in find_chains(taskid=176, prev_chain=[14, 15, 19, 20, 16,
> 17, 174, 178, 179, 175, 176]):
> if scan:
> > find_chains(revdep, copy.deepcopy(prev_chain))
> for dep in explored_deps[revdep]:
> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
> line 300, in find_chains(taskid=1142, prev_chain=[14, 15, 19, 20, 16,
> 17, 174, 178, 179, 175, 176, 1142]):
> if scan:
> > find_chains(revdep, copy.deepcopy(prev_chain))
> for dep in explored_deps[revdep]:
> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
> line 300, in find_chains(taskid=1143, prev_chain=[14, 15, 19, 20, 16,
> 17, 174, 178, 179, 175, 176, 1142, 1143]):
> if scan:
> > find_chains(revdep, copy.deepcopy(prev_chain))
> for dep in explored_deps[revdep]:
> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
> line 301, in find_chains(taskid=1139, prev_chain=[14, 15, 19, 20, 16,
> 17, 174, 178, 179, 175, 176, 1142, 1143, 1139]):
> find_chains(revdep, copy.deepcopy(prev_chain))
> > for dep in explored_deps[revdep]:
> if dep not in total_deps:
> KeyError: 1140
>
> NOTE: Tasks Summary: Attempted 0 tasks of which 0 didn't need to be
> rerun and all succeeded.
>
> Summary: There was 1 WARNING message shown.
> Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
>
>
> bitbake make-native works fine.
>
> What other options do I have to force build of make-native. Why I
> insist: On both of my machines (Fedora 14 / 15) build of systemd
> fails.
In local.conf do something like:
DEPENDS_append_pn-systemd = " make-native"
By adding make-native to the base dependencies you've introduced
circular dependencies and the circular dependency handling code in
bitbake is breaking for unknown reasons. That code is fairly broken at
this point unfortunately (someone should file a bug) but its beyond what
we can fix in 1.4 at this point.
Cheers,
Richard
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-04-17 8:12 ` Richard Purdie
@ 2013-04-17 9:06 ` Andreas Müller
2013-04-17 18:21 ` Khem Raj
1 sibling, 0 replies; 20+ messages in thread
From: Andreas Müller @ 2013-04-17 9:06 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
On Wed, Apr 17, 2013 at 10:12 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>> What other options do I have to force build of make-native. Why I
>> insist: On both of my machines (Fedora 14 / 15) build of systemd
>> fails.
>
> In local.conf do something like:
>
> DEPENDS_append_pn-systemd = " make-native"
to ensure that all recipes get 'parallel-make-safe' (I know of
problems with systemd and webkit-gtk - there might be others) I added
to my local.conf
DEPENDS_append_pn-gettext-native = " make-native"
PREFERRED_PROVIDER_make-native = "make-native"
It is dirty but I can live with it.
>
> By adding make-native to the base dependencies you've introduced
> circular dependencies and the circular dependency handling code in
> bitbake is breaking for unknown reasons. That code is fairly broken at
> this point unfortunately (someone should file a bug) but its beyond what
> we can fix in 1.4 at this point.
hard times - I know :)
>
> Cheers,
>
> Richard
>
Andreas
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/1] systemd: Upgrade to 199
2013-04-17 8:12 ` Richard Purdie
2013-04-17 9:06 ` Andreas Müller
@ 2013-04-17 18:21 ` Khem Raj
1 sibling, 0 replies; 20+ messages in thread
From: Khem Raj @ 2013-04-17 18:21 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
On Apr 17, 2013, at 1:12 AM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
> On Wed, 2013-04-17 at 09:47 +0200, Andreas Müller wrote:
>> On Fri, Apr 12, 2013 at 1:01 PM, Andreas Müller
>> <schnitzeltony@googlemail.com> wrote:
>>> On Fri, Apr 12, 2013 at 12:53 PM, Burton, Ross <ross.burton@intel.com> wrote:
>>>> Hi Andreas,
>>>>
>>>> On 12 April 2013 11:46, Andreas Müller <schnitzeltony@googlemail.com> wrote:
>>>>> It is Fedora 14 and I don't have the time to update the machine.
>>>>
>>>> Genuinely shocked that they shipped GNU make 3.82 without the patches
>>>> to make it work.
>>>>
>>>>> Since there seems no support for little poor old-fashioned people like
>>>>> me: Is there a configuration option so I can force to build
>>>>> make-native on that machine (checked local.conf.sample /
>>>>> site.conf.sample / yocto reference manual but did not find a hint)?
>>>>
>>>> From a quick look, BASEDEPENDS_append = " make-native" might do the trick.
>>>>
>>> Thanks
>>>
>> This came too early because - before I tested it. I get
>>
>> NOTE: multiple providers are available for make-native (make-native,
>> remake-native)
>> NOTE: consider defining a PREFERRED_PROVIDER entry to match make-native
>> NOTE: Preparing runqueue
>> ERROR: Unbuildable tasks were found.
>> These are usually caused by circular dependencies and any circular
>> dependency chains found will be printed below. Increase the debug
>> level to see a list of unbuildable tasks.
>>
>> Identifying dependency loops (this may take a short while)...
>>
>> ERROR: An uncaught exception occured in runqueue, please see the failure below:
>> ERROR: Running idle function
>> Traceback (most recent call last):
>> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
>> line 300, in find_chains(taskid=175, prev_chain=[14, 15, 19, 20, 16,
>> 17, 174, 178, 179, 175]):
>> if scan:
>>> find_chains(revdep, copy.deepcopy(prev_chain))
>> for dep in explored_deps[revdep]:
>> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
>> line 300, in find_chains(taskid=176, prev_chain=[14, 15, 19, 20, 16,
>> 17, 174, 178, 179, 175, 176]):
>> if scan:
>>> find_chains(revdep, copy.deepcopy(prev_chain))
>> for dep in explored_deps[revdep]:
>> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
>> line 300, in find_chains(taskid=1142, prev_chain=[14, 15, 19, 20, 16,
>> 17, 174, 178, 179, 175, 176, 1142]):
>> if scan:
>>> find_chains(revdep, copy.deepcopy(prev_chain))
>> for dep in explored_deps[revdep]:
>> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
>> line 300, in find_chains(taskid=1143, prev_chain=[14, 15, 19, 20, 16,
>> 17, 174, 178, 179, 175, 176, 1142, 1143]):
>> if scan:
>>> find_chains(revdep, copy.deepcopy(prev_chain))
>> for dep in explored_deps[revdep]:
>> File "/home/andreas/oe-core/sources/bitbake/lib/bb/runqueue.py",
>> line 301, in find_chains(taskid=1139, prev_chain=[14, 15, 19, 20, 16,
>> 17, 174, 178, 179, 175, 176, 1142, 1143, 1139]):
>> find_chains(revdep, copy.deepcopy(prev_chain))
>>> for dep in explored_deps[revdep]:
>> if dep not in total_deps:
>> KeyError: 1140
>>
>> NOTE: Tasks Summary: Attempted 0 tasks of which 0 didn't need to be
>> rerun and all succeeded.
>>
>> Summary: There was 1 WARNING message shown.
>> Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
>>
>>
>> bitbake make-native works fine.
>>
>> What other options do I have to force build of make-native. Why I
>> insist: On both of my machines (Fedora 14 / 15) build of systemd
>> fails.
>
> In local.conf do something like:
>
> DEPENDS_append_pn-systemd = " make-native"
this would then suddenly shift the rest of unbuilt packages to use make-native whenever its staged
so we will have weird issues if components own build systems are sensitive to make versions.
so either we recommend a version of make or we don't
>
> By adding make-native to the base dependencies you've introduced
> circular dependencies and the circular dependency handling code in
> bitbake is breaking for unknown reasons. That code is fairly broken at
> this point unfortunately (someone should file a bug) but its beyond what
> we can fix in 1.4 at this point.
>
> Cheers,
>
> Richard
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2013-04-17 18:39 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-28 7:48 [PATCH 0/1] Upgrade systemd to 199 Khem Raj
2013-03-28 7:48 ` [PATCH 1/1] systemd: Upgrade " Khem Raj
2013-03-28 12:21 ` Martin Jansa
2013-03-29 5:28 ` Khem Raj
2013-03-29 8:12 ` Koen Kooi
2013-03-29 8:18 ` Khem Raj
2013-03-29 12:50 ` Andreas Müller
2013-03-29 12:56 ` Andreas Müller
2013-04-01 13:54 ` Colin Walters
2013-04-11 23:11 ` Andreas Müller
2013-04-12 10:06 ` Burton, Ross
[not found] ` <CALbNGRRCFyiD+6eY1xMe6o8dqtpuyf6YAEa7xKZ=f8wBv262uA@mail.gmail.com>
[not found] ` <CAJTo0Ladru_hAgyL32SX8bDet3euSFz9Jf=jiJxBJqiNv8eseQ@mail.gmail.com>
[not found] ` <CALbNGRQ+BqGarZWxmtj50S4rJbDtNPGqB=eWvotBVdVAcviedQ@mail.gmail.com>
2013-04-17 7:47 ` Andreas Müller
2013-04-17 8:12 ` Richard Purdie
2013-04-17 9:06 ` Andreas Müller
2013-04-17 18:21 ` Khem Raj
2013-03-29 16:07 ` Khem Raj
2013-03-28 13:24 ` Richard Purdie
2013-03-28 13:32 ` Koen Kooi
2013-04-02 10:58 ` Erik Botö
2013-04-02 14:08 ` Khem Raj
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox