Patchwork [meta-systemd] systemd: Add patch so we can compile without xz.

login
register
mail settings
Submitter Martin Ertsaas
Date Sept. 14, 2012, 12:54 p.m.
Message ID <1347627258-5952-1-git-send-email-mertsas@cisco.com>
Download mbox | patch
Permalink /patch/36537/
State New, archived
Headers show

Comments

Martin Ertsaas - Sept. 14, 2012, 12:54 p.m.
A compilation bug in systemd is fixed by this patch. journal-verify.c calls uncompress_blob, in
uncompress.c. uncompress.c is, however, not compiled if you don't compile with xz support. To avoid
GPLv3, one have to turn of this support in systemd, which in turn will cause systemd to fail during linking,
as there is no definition of compress_blob.
---
 .../add-HAVE_XZ-check-to-avoid-build-failure.patch |   32 ++++++++++++++++++++
 meta-systemd/recipes-core/systemd/systemd_git.bb   |    1 +
 2 files changed, 33 insertions(+), 0 deletions(-)
 create mode 100644 meta-systemd/recipes-core/systemd/systemd/add-HAVE_XZ-check-to-avoid-build-failure.patch

Patch

diff --git a/meta-systemd/recipes-core/systemd/systemd/add-HAVE_XZ-check-to-avoid-build-failure.patch b/meta-systemd/recipes-core/systemd/systemd/add-HAVE_XZ-check-to-avoid-build-failure.patch
new file mode 100644
index 0000000..8e0bd45
--- /dev/null
+++ b/meta-systemd/recipes-core/systemd/systemd/add-HAVE_XZ-check-to-avoid-build-failure.patch
@@ -0,0 +1,32 @@ 
+commit 70f09301d5d47577cfa4fe70c7b3cba336529cdf
+Author: Yin Kangkai <kangkai.yin@intel.com>
+Date:   Fri Aug 24 16:52:58 2012 +0800
+
+    journal: add HAVE_XZ check to avoid build failure
+    
+    Without this, build fail with --disable-xz or xz not installed.
+
+    status: Applied upstream
+
+diff --git a/src/journal/journal-verify.c b/src/journal/journal-verify.c
+index 2401293..5d134bd 100644
+--- a/src/journal/journal-verify.c
++++ b/src/journal/journal-verify.c
+@@ -63,6 +63,7 @@ static int journal_file_object_verify(JournalFile *f, Object *o) {
+                 h1 = le64toh(o->data.hash);
+ 
+                 if (o->object.flags & OBJECT_COMPRESSED) {
++#ifdef HAVE_XZ
+                         void *b = NULL;
+                         uint64_t alloc = 0, b_size;
+ 
+@@ -73,6 +74,9 @@ static int journal_file_object_verify(JournalFile *f, Object *o) {
+ 
+                         h2 = hash64(b, b_size);
+                         free(b);
++#else
++                        return -EPROTONOSUPPORT;
++#endif
+                 } else
+                         h2 = hash64(o->data.payload, le64toh(o->object.size) - offsetof(Object, data.payload));
+ 
diff --git a/meta-systemd/recipes-core/systemd/systemd_git.bb b/meta-systemd/recipes-core/systemd/systemd_git.bb
index 09bc635..95f4eee 100644
--- a/meta-systemd/recipes-core/systemd/systemd_git.bb
+++ b/meta-systemd/recipes-core/systemd/systemd_git.bb
@@ -27,6 +27,7 @@  SRCREV = "38a60d7112d33ffd596b23e8df53d75a7c09e71b"
 
 SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;protocol=git \
            file://use-rootlibdir.patch \
+           file://add-HAVE_XZ-check-to-avoid-build-failure.patch \
            file://gtk-doc.make \
            file://touchscreen.rules \
            file://modprobe.rules \