summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2014-03-04 15:22:15 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-07 14:49:33 +0000
commitfcbb05c248e13726cd8c2c2cf6771ca704309f45 (patch)
tree45b85ae44142f5d9ef1712b73a2693ca788b3e81 /meta/recipes-core
parent229bcde8e445344bd6906cc8fab0088123ba6add (diff)
downloadpoky-fcbb05c248e13726cd8c2c2cf6771ca704309f45.tar.gz
Upgrade to systemd-stable v208
Additional changes in ptest code since now we have directories and not only bunch of files under test/ dir so a simple install does not work anymore we have to cp the files (From OE-Core rev: e201f291b269c70d732778b34de01529aca387b5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r--meta/recipes-core/systemd/systemd/0001-Use-bin-mkdir-instead-of-host-mkdir-path.patch31
-rw-r--r--meta/recipes-core/systemd/systemd/journal-Add-missing-byte-order-conversions.patch60
-rw-r--r--meta/recipes-core/systemd/systemd/journal-file-protect-against-alloca-0.patch23
-rw-r--r--meta/recipes-core/systemd/systemd/journal-when-appending-to-journal-file-allocate-larg.patch83
-rw-r--r--meta/recipes-core/systemd/systemd/journald-add-missing-error-check.patch16
-rw-r--r--meta/recipes-core/systemd/systemd/journald-fix-minor-memory-leak.patch16
-rw-r--r--meta/recipes-core/systemd/systemd/systemd-pam-fix-fallocate.patch24
-rw-r--r--meta/recipes-core/systemd/systemd_208.bb25
8 files changed, 24 insertions, 254 deletions
diff --git a/meta/recipes-core/systemd/systemd/0001-Use-bin-mkdir-instead-of-host-mkdir-path.patch b/meta/recipes-core/systemd/systemd/0001-Use-bin-mkdir-instead-of-host-mkdir-path.patch
deleted file mode 100644
index 25988fc5a5..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-Use-bin-mkdir-instead-of-host-mkdir-path.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 5599ab4ae3fe74cdd9699f2874badf241f0148fe Mon Sep 17 00:00:00 2001
2From: Jonathan Liu <net147@gmail.com>
3Date: Wed, 28 Aug 2013 19:09:49 -0700
4Subject: [PATCH] Use /bin/mkdir instead of host mkdir path
5
6If the host system has /usr/bin/mkdir, autoconf would set MKDIR_P to
7/usr/bin/mkdir when it should be /bin/mkdir. As a result, the
8kmod-static-nodes service fails to start on the target because
9/usr/bin/mkdir doesn't exist. This has been observed when building
10systemd on Arch Linux host.
11
12Upstream-Status: Inappropriate [embedded specific]
13Signed-off-by: Jonathan Liu <net147@gmail.com>
14---
15 units/kmod-static-nodes.service.in | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in
19index d8a8420..1daed5f 100644
20--- a/units/kmod-static-nodes.service.in
21+++ b/units/kmod-static-nodes.service.in
22@@ -14,5 +14,5 @@ ConditionCapability=CAP_MKNOD
23 [Service]
24 Type=oneshot
25 RemainAfterExit=yes
26-ExecStartPre=@MKDIR_P@ /run/tmpfiles.d
27+ExecStartPre=/bin/mkdir -p /run/tmpfiles.d
28 ExecStart=@KMOD@ static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf
29--
301.8.3.4
31
diff --git a/meta/recipes-core/systemd/systemd/journal-Add-missing-byte-order-conversions.patch b/meta/recipes-core/systemd/systemd/journal-Add-missing-byte-order-conversions.patch
deleted file mode 100644
index 21ea0f9502..0000000000
--- a/meta/recipes-core/systemd/systemd/journal-Add-missing-byte-order-conversions.patch
+++ /dev/null
@@ -1,60 +0,0 @@
1From 43539d6b60ef0db3e98d00bef0024614c8c1807a Mon Sep 17 00:00:00 2001
2From: George McCollister <george.mccollister@gmail.com>
3Date: Tue, 31 Dec 2013 14:37:32 -0600
4Subject: [PATCH] journal: Add missing byte order conversions
5
6Convert entry_array.items[0] to host byte order prior to passing it to
7chain_cache_put().
8
9[zj: also use le64toh in journal-verify.c]
10
11https://bugs.freedesktop.org/show_bug.cgi?id=73194
12
13Upstream-Status: Backport [Fedora]
14---
15 src/journal/journal-file.c | 4 ++--
16 src/journal/journal-verify.c | 6 +++---
17 2 files changed, 5 insertions(+), 5 deletions(-)
18
19Index: systemd-208/src/journal/journal-file.c
20===================================================================
21--- systemd-208.orig/src/journal/journal-file.c 2014-02-07 22:51:44.000000000 -0800
22+++ systemd-208/src/journal/journal-file.c 2014-02-07 22:58:40.665062951 -0800
23@@ -1447,7 +1447,7 @@
24
25 found:
26 /* Let's cache this item for the next invocation */
27- chain_cache_put(f->chain_cache, ci, first, a, o->entry_array.items[0], t);
28+ chain_cache_put(f->chain_cache, ci, first, a, le64toh(o->entry_array.items[0]), t);
29
30 r = journal_file_move_to_object(f, OBJECT_ENTRY, p, &o);
31 if (r < 0)
32@@ -1624,7 +1624,7 @@
33 return 0;
34
35 /* Let's cache this item for the next invocation */
36- chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t);
37+ chain_cache_put(f->chain_cache, ci, first, a, le64toh(array->entry_array.items[0]), t);
38
39 if (subtract_one && i == 0)
40 p = last_p;
41Index: systemd-208/src/journal/journal-verify.c
42===================================================================
43--- systemd-208.orig/src/journal/journal-verify.c 2013-08-13 13:02:46.000000000 -0700
44+++ systemd-208/src/journal/journal-verify.c 2014-02-07 22:57:14.849308409 -0800
45@@ -249,12 +249,12 @@
46 }
47
48 for (i = 0; i < journal_file_entry_array_n_items(o); i++)
49- if (o->entry_array.items[i] != 0 &&
50- !VALID64(o->entry_array.items[i])) {
51+ if (le64toh(o->entry_array.items[i]) != 0 &&
52+ !VALID64(le64toh(o->entry_array.items[i]))) {
53 log_error(OFSfmt": invalid object entry array item (%"PRIu64"/%"PRIu64"): "OFSfmt,
54 offset,
55 i, journal_file_entry_array_n_items(o),
56- o->entry_array.items[i]);
57+ le64toh(o->entry_array.items[i]));
58 return -EBADMSG;
59 }
60
diff --git a/meta/recipes-core/systemd/systemd/journal-file-protect-against-alloca-0.patch b/meta/recipes-core/systemd/systemd/journal-file-protect-against-alloca-0.patch
deleted file mode 100644
index 953373ee49..0000000000
--- a/meta/recipes-core/systemd/systemd/journal-file-protect-against-alloca-0.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1From a25fd0d4bd3cf652e55c24e7dc873fe530fa111a Mon Sep 17 00:00:00 2001
2From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
3Date: Mon, 16 Dec 2013 23:35:30 +0100
4Subject: [PATCH] journal-file: protect against alloca(0)
5
6---
7 src/journal/journal-file.c | 3 ++-
8 1 file changed, 2 insertions(+), 1 deletion(-)
9
10diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
11index 090cf97..8ea258b 100644
12--- a/src/journal/journal-file.c
13+++ b/src/journal/journal-file.c
14@@ -2737,7 +2737,8 @@ int journal_file_copy_entry(JournalFile *from, JournalFile *to, Object *o, uint6
15 ts.realtime = le64toh(o->entry.realtime);
16
17 n = journal_file_entry_n_items(o);
18- items = alloca(sizeof(EntryItem) * n);
19+ /* alloca() can't take 0, hence let's allocate at least one */
20+ items = alloca(sizeof(EntryItem) * MAX(1u, n));
21
22 for (i = 0; i < n; i++) {
23 uint64_t l, h;
diff --git a/meta/recipes-core/systemd/systemd/journal-when-appending-to-journal-file-allocate-larg.patch b/meta/recipes-core/systemd/systemd/journal-when-appending-to-journal-file-allocate-larg.patch
deleted file mode 100644
index 89573bbaf9..0000000000
--- a/meta/recipes-core/systemd/systemd/journal-when-appending-to-journal-file-allocate-larg.patch
+++ /dev/null
@@ -1,83 +0,0 @@
1From c0658e1948c301177b1527227be0c18932cd7cce Mon Sep 17 00:00:00 2001
2From: Lennart Poettering <lennart@poettering.net>
3Date: Tue, 26 Nov 2013 18:39:42 +0100
4Subject: [PATCH] journal: when appending to journal file, allocate larger
5 blocks at once
6
7(cherry picked from commit a676e66535e12458ea6d366a653f8dd60f982504)
8
9Conflicts:
10 src/journal/journal-file.c
11---
12 src/journal/journal-file.c | 26 +++++++++++++++++---------
13 1 file changed, 17 insertions(+), 9 deletions(-)
14
15Upstream-Status: Backport
16
17Index: systemd-208/src/journal/journal-file.c
18===================================================================
19--- systemd-208.orig/src/journal/journal-file.c 2014-02-07 22:37:06.013722798 -0800
20+++ systemd-208/src/journal/journal-file.c 2014-02-07 22:44:51.563341090 -0800
21@@ -68,6 +68,9 @@
22 /* How many entries to keep in the entry array chain cache at max */
23 #define CHAIN_CACHE_MAX 20
24
25+/* How much to increase the journal file size at once each time we allocate something new. */
26+#define FILE_SIZE_INCREASE (8ULL*1024ULL*1024ULL) /* 8MB */
27+
28 int journal_file_set_online(JournalFile *f) {
29 assert(f);
30
31@@ -218,8 +221,7 @@
32 journal_file_set_online(f);
33
34 /* Sync the online state to disk */
35- msync(f->header, PAGE_ALIGN(sizeof(Header)), MS_SYNC);
36- fdatasync(f->fd);
37+ fsync(f->fd);
38
39 return 0;
40 }
41@@ -313,7 +315,7 @@
42 }
43
44 static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) {
45- uint64_t old_size, new_size;
46+ uint64_t old_size, new_size, file_size;
47 int r;
48
49 assert(f);
50@@ -333,12 +335,10 @@
51 if (new_size <= old_size)
52 return 0;
53
54- if (f->metrics.max_size > 0 &&
55- new_size > f->metrics.max_size)
56+ if (f->metrics.max_size > 0 && new_size > f->metrics.max_size)
57 return -E2BIG;
58
59- if (new_size > f->metrics.min_size &&
60- f->metrics.keep_free > 0) {
61+ if (new_size > f->metrics.min_size && f->metrics.keep_free > 0) {
62 struct statvfs svfs;
63
64 if (fstatvfs(f->fd, &svfs) >= 0) {
65@@ -363,8 +363,16 @@
66 if (r != 0)
67 return -r;
68
69- if (fstat(f->fd, &f->last_stat) < 0)
70- return -errno;
71+ /* Increase the file size a bit further than this, so that we
72+ * we can create larger memory maps to cache */
73+ file_size = ((new_size+FILE_SIZE_INCREASE-1) / FILE_SIZE_INCREASE) * FILE_SIZE_INCREASE;
74+ if (file_size > (uint64_t) f->last_stat.st_size) {
75+ if (file_size > new_size)
76+ ftruncate(f->fd, file_size);
77+
78+ if (fstat(f->fd, &f->last_stat) < 0)
79+ return -errno;
80+ }
81
82 f->header->arena_size = htole64(new_size - le64toh(f->header->header_size));
83
diff --git a/meta/recipes-core/systemd/systemd/journald-add-missing-error-check.patch b/meta/recipes-core/systemd/systemd/journald-add-missing-error-check.patch
deleted file mode 100644
index 10590e142c..0000000000
--- a/meta/recipes-core/systemd/systemd/journald-add-missing-error-check.patch
+++ /dev/null
@@ -1,16 +0,0 @@
1Upstream-Status: Backport [Fedora]
2
3Index: systemd-208/src/journal/journal-file.c
4===================================================================
5--- systemd-208.orig/src/journal/journal-file.c 2013-08-13 13:02:46.397707086 -0700
6+++ systemd-208/src/journal/journal-file.c 2014-02-07 22:29:01.398794277 -0800
7@@ -907,7 +907,8 @@
8
9 osize = offsetof(Object, field.payload) + size;
10 r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p);
11-
12+ if (r < 0)
13+ return r;
14 o->field.hash = htole64(hash);
15 memcpy(o->field.payload, field, size);
16
diff --git a/meta/recipes-core/systemd/systemd/journald-fix-minor-memory-leak.patch b/meta/recipes-core/systemd/systemd/journald-fix-minor-memory-leak.patch
deleted file mode 100644
index 9b90ed2688..0000000000
--- a/meta/recipes-core/systemd/systemd/journald-fix-minor-memory-leak.patch
+++ /dev/null
@@ -1,16 +0,0 @@
1Fix minor memory leak
2
3Upstream-Status: Backport [Fedora]
4
5Index: systemd-208/src/journal/journal-vacuum.c
6===================================================================
7--- systemd-208.orig/src/journal/journal-vacuum.c 2013-09-12 05:51:57.258256643 -0700
8+++ systemd-208/src/journal/journal-vacuum.c 2014-02-07 22:35:55.695747001 -0800
9@@ -277,6 +277,7 @@
10 freed += size;
11 } else if (errno != ENOENT)
12 log_warning("Failed to delete %s/%s: %m", directory, p);
13+ free(p);
14
15 continue;
16 }
diff --git a/meta/recipes-core/systemd/systemd/systemd-pam-fix-fallocate.patch b/meta/recipes-core/systemd/systemd/systemd-pam-fix-fallocate.patch
index d1740efc5c..05223d3d6e 100644
--- a/meta/recipes-core/systemd/systemd/systemd-pam-fix-fallocate.patch
+++ b/meta/recipes-core/systemd/systemd/systemd-pam-fix-fallocate.patch
@@ -1,10 +1,10 @@
1Upstream-Status: Denied [no desire for uclibc support] 1Upstream-Status: Denied [no desire for uclibc support]
2Signed-off-by: Khem Raj <raj.khem@gmail.com> 2Signed-off-by: Khem Raj <raj.khem@gmail.com>
3 3
4Index: systemd-208/src/journal/journal-file.c 4Index: git/src/journal/journal-file.c
5=================================================================== 5===================================================================
6--- systemd-208.orig/src/journal/journal-file.c 2014-02-14 00:05:05.000000000 -0800 6--- git.orig/src/journal/journal-file.c 2014-03-02 16:25:38.000000000 -0800
7+++ systemd-208/src/journal/journal-file.c 2014-02-14 00:08:41.338821677 -0800 7+++ git/src/journal/journal-file.c 2014-03-02 16:27:24.151238740 -0800
8@@ -38,6 +38,8 @@ 8@@ -38,6 +38,8 @@
9 #include "compress.h" 9 #include "compress.h"
10 #include "fsprg.h" 10 #include "fsprg.h"
@@ -17,13 +17,13 @@ Index: systemd-208/src/journal/journal-file.c
17@@ -316,7 +318,7 @@ 17@@ -316,7 +318,7 @@
18 18
19 static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) { 19 static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) {
20 uint64_t old_size, new_size, file_size; 20 uint64_t old_size, new_size;
21- int r; 21- int r;
22+ int r = 0; 22+ int r = 0;
23 23
24 assert(f); 24 assert(f);
25 25
26@@ -359,9 +361,24 @@ 26@@ -364,9 +366,24 @@
27 /* Note that the glibc fallocate() fallback is very 27 /* Note that the glibc fallocate() fallback is very
28 inefficient, hence we try to minimize the allocation area 28 inefficient, hence we try to minimize the allocation area
29 as we can. */ 29 as we can. */
@@ -46,13 +46,13 @@ Index: systemd-208/src/journal/journal-file.c
46+ return -errno; 46+ return -errno;
47+#endif /* HAVE_POSIX_FALLOCATE */ 47+#endif /* HAVE_POSIX_FALLOCATE */
48 48
49 /* Increase the file size a bit further than this, so that we 49 if (fstat(f->fd, &f->last_stat) < 0)
50 * we can create larger memory maps to cache */ 50 return -errno;
51Index: systemd-208/src/journal/journald-kmsg.c 51Index: git/src/journal/journald-kmsg.c
52=================================================================== 52===================================================================
53--- systemd-208.orig/src/journal/journald-kmsg.c 2014-02-14 00:05:05.000000000 -0800 53--- git.orig/src/journal/journald-kmsg.c 2014-03-02 16:25:38.000000000 -0800
54+++ systemd-208/src/journal/journald-kmsg.c 2014-02-14 00:05:47.498823000 -0800 54+++ git/src/journal/journald-kmsg.c 2014-03-02 16:26:35.419237826 -0800
55@@ -407,6 +407,7 @@ 55@@ -408,6 +408,7 @@
56 56
57 int server_open_kernel_seqnum(Server *s) { 57 int server_open_kernel_seqnum(Server *s) {
58 int fd; 58 int fd;
@@ -60,7 +60,7 @@ Index: systemd-208/src/journal/journald-kmsg.c
60 uint64_t *p; 60 uint64_t *p;
61 61
62 assert(s); 62 assert(s);
63@@ -420,8 +421,19 @@ 63@@ -421,8 +422,19 @@
64 log_error("Failed to open /run/systemd/journal/kernel-seqnum, ignoring: %m"); 64 log_error("Failed to open /run/systemd/journal/kernel-seqnum, ignoring: %m");
65 return 0; 65 return 0;
66 } 66 }
diff --git a/meta/recipes-core/systemd/systemd_208.bb b/meta/recipes-core/systemd/systemd_208.bb
index 1bcedaa28a..98da15c434 100644
--- a/meta/recipes-core/systemd/systemd_208.bb
+++ b/meta/recipes-core/systemd/systemd_208.bb
@@ -17,22 +17,20 @@ SECTION = "base/shell"
17 17
18inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest 18inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest
19 19
20SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \ 20SRCREV = "255eb046a7bcb90e60a3a54302bc1250c1aed26a"
21 file://0001-Use-bin-mkdir-instead-of-host-mkdir-path.patch \ 21
22PV = "208+git${SRCPV}"
23
24SRC_URI = "git://anongit.freedesktop.org/systemd/systemd-stable;branch=v208-stable;protocol=git \
22 file://binfmt-install.patch \ 25 file://binfmt-install.patch \
23 file://journald-add-missing-error-check.patch \
24 file://journald-fix-minor-memory-leak.patch \
25 file://journal-when-appending-to-journal-file-allocate-larg.patch \
26 file://journal-file-protect-against-alloca-0.patch \
27 file://journal-Add-missing-byte-order-conversions.patch \
28 file://touchscreen.rules \ 26 file://touchscreen.rules \
29 ${UCLIBCPATCHES} \ 27 ${UCLIBCPATCHES} \
30 file://00-create-volatile.conf \ 28 file://00-create-volatile.conf \
31 file://init \ 29 file://init \
32 file://run-ptest \ 30 file://run-ptest \
33 " 31 "
34SRC_URI[md5sum] = "df64550d92afbffb4f67a434193ee165" 32
35SRC_URI[sha256sum] = "aa64fa864466fd5727005c55d61c092828b94b4f857272c0b503695022146390" 33S = "${WORKDIR}/git"
36 34
37UCLIBCPATCHES = "" 35UCLIBCPATCHES = ""
38UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \ 36UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \
@@ -76,7 +74,6 @@ EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
76 --disable-manpages \ 74 --disable-manpages \
77 --disable-coredump \ 75 --disable-coredump \
78 --disable-introspection \ 76 --disable-introspection \
79 --disable-tcpwrap \
80 --enable-split-usr \ 77 --enable-split-usr \
81 --without-python \ 78 --without-python \
82 --with-sysvrcnd-path=${sysconfdir} \ 79 --with-sysvrcnd-path=${sysconfdir} \
@@ -104,8 +101,8 @@ do_install() {
104 rm ${D}${systemd_unitdir}/system/serial-getty* -f 101 rm ${D}${systemd_unitdir}/system/serial-getty* -f
105 102
106 # Provide support for initramfs 103 # Provide support for initramfs
107 ln -s ${rootlibexecdir}/systemd/systemd ${D}/init 104 [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init
108 ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd 105 [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd
109 106
110 # Create machine-id 107 # Create machine-id
111 # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable 108 # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable
@@ -127,7 +124,7 @@ do_install() {
127 124
128do_install_ptest () { 125do_install_ptest () {
129 install -d ${D}${PTEST_PATH}/test 126 install -d ${D}${PTEST_PATH}/test
130 install ${S}/test/* ${D}${PTEST_PATH}/test 127 cp -rf ${S}/test/* ${D}${PTEST_PATH}/test
131 install -m 0755 ${B}/test-udev ${D}${PTEST_PATH}/ 128 install -m 0755 ${B}/test-udev ${D}${PTEST_PATH}/
132 install -d ${D}${PTEST_PATH}/build-aux 129 install -d ${D}${PTEST_PATH}/build-aux
133 cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ 130 cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
@@ -166,6 +163,8 @@ RDEPENDS_${PN}-initramfs = "${PN}"
166RDEPENDS_${PN}-ptest += "perl bash" 163RDEPENDS_${PN}-ptest += "perl bash"
167FILES_${PN}-ptest += "${libdir}/udev/rules.d" 164FILES_${PN}-ptest += "${libdir}/udev/rules.d"
168 165
166FILES_${PN}-dbg += "${libdir}/systemd/ptest/.debug"
167
169FILES_${PN}-gui = "${bindir}/systemadm" 168FILES_${PN}-gui = "${bindir}/systemadm"
170 169
171FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \ 170FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \