Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=openjava.git;a=commitdiff;h=187664269dd95aa257defe5c5c65968513007678
commit 187664269dd95aa257defe5c5c65968513007678 Author: James Buren <[email protected]> Date: Mon Aug 20 13:39:54 2012 -0500 systemd-188-3-x86_64 * backport patches from upstream diff --git a/source/base/systemd/0001-shutdown-recursively-mark-root-as-private-before-piv.patch b/source/base/systemd/0001-shutdown-recursively-mark-root-as-private-before-piv.patch new file mode 100644 index 0000000..6048d04 --- /dev/null +++ b/source/base/systemd/0001-shutdown-recursively-mark-root-as-private-before-piv.patch @@ -0,0 +1,30 @@ +From 4bfa638d43c05e8db052cd55818765bb3575a405 Mon Sep 17 00:00:00 2001 +From: Dave Reisner <[email protected]> +Date: Fri, 10 Aug 2012 11:02:03 -0400 +Subject: [PATCH] shutdown: recursively mark root as private before pivot + +Because root is now recursively marked as shared on bootup, we need to +recursively mark root as private. This prevents a pivot_root failure on +shutdown: + + Cannot finalize remaining file systems and devices, giving up. + pivot failed: Invalid argument +--- + src/core/shutdown.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/shutdown.c b/src/core/shutdown.c +index 105a604..0b7cbd8 100644 +--- a/src/core/shutdown.c ++++ b/src/core/shutdown.c +@@ -109,7 +109,7 @@ static int pivot_to_new_root(void) { + It works for pivot_root, but the ref count for the root device + is not decreasing :-/ + */ +- if (mount(NULL, "/", NULL, MS_PRIVATE, NULL) < 0) { ++ if (mount(NULL, "/", NULL, MS_REC|MS_PRIVATE, NULL) < 0) { + log_error("Failed to make \"/\" private mount %m"); + return -errno; + } +-- +1.7.11.4 diff --git a/source/base/systemd/0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch b/source/base/systemd/0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch new file mode 100644 index 0000000..adecc66 --- /dev/null +++ b/source/base/systemd/0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch @@ -0,0 +1,72 @@ +From c516c8d17f77a1c761447f4c40c8dfffeda2e06d Mon Sep 17 00:00:00 2001 +From: Simon Peeters <[email protected]> +Date: Fri, 10 Aug 2012 17:32:19 +0200 +Subject: [PATCH] systemctl: fix issue with systemctl daemon-reexec + +--- + src/shared/dbus-common.c | 3 ++- + src/systemctl/systemctl.c | 11 ++++++++--- + 2 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/src/shared/dbus-common.c b/src/shared/dbus-common.c +index 7f0dce5..da2dc2e 100644 +--- a/src/shared/dbus-common.c ++++ b/src/shared/dbus-common.c +@@ -1287,7 +1287,8 @@ int bus_method_call_with_reply(DBusConnection *bus, + reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error); + dbus_message_unref(m); + if (!reply) { +- log_error("Failed to issue method call: %s", bus_error_message(&error)); ++ if (!return_error) ++ log_error("Failed to issue method call: %s", bus_error_message(&error)); + if (bus_error_is_no_service(&error)) + r = -ENOENT; + else if (dbus_error_has_name(&error, DBUS_ERROR_ACCESS_DENIED)) +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index 2e0aaaa..13e0f91 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -1537,11 +1537,12 @@ static int start_unit_one( + DBUS_TYPE_INVALID); + free(n); + if (r) { +- if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL ) { ++ if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL ) + /* There's always a fallback possible for + * legacy actions. */ + r = -EADDRNOTAVAIL; +- } ++ else ++ log_error("Failed to issue method call: %s", bus_error_message(error)); + goto finish; + } + +@@ -3143,6 +3144,7 @@ finish: + static int daemon_reload(DBusConnection *bus, char **args) { + int r; + const char *method; ++ DBusError error; + + if (arg_action == ACTION_RELOAD) + method = "Reload"; +@@ -3171,7 +3173,7 @@ static int daemon_reload(DBusConnection *bus, char **args) { + "org.freedesktop.systemd1.Manager", + method, + NULL, +- NULL, ++ &error, + DBUS_TYPE_INVALID); + + if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL) +@@ -3182,6 +3184,9 @@ static int daemon_reload(DBusConnection *bus, char **args) { + /* On reexecution, we expect a disconnect, not + * a reply */ + r = 0; ++ else if (r) ++ log_error("Failed to issue method call: %s", bus_error_message(&error)); ++ dbus_error_free(&error); + + return r; + } +-- +1.7.11.4 diff --git a/source/base/systemd/FrugalBuild b/source/base/systemd/FrugalBuild index b871a4f..7e7c18a 100644 --- a/source/base/systemd/FrugalBuild +++ b/source/base/systemd/FrugalBuild @@ -6,7 +6,7 @@ USE_SYSV_COMPAT=${USE_SYSV_COMPAT:-"y"} pkgname=systemd pkgver=188 -pkgrel=2 +pkgrel=3 pkgdesc="A System and Service Manager" url="http://www.freedesktop.org/wiki/Software/systemd" depends=('dbus' 'kmod>=7' 'pam' 'coreutils' 'libcap' 'sysvinit-initscripts' 'sysvinit-tools' 'xfsprogs-acl' 'pciutils' 'usbutils') @@ -14,14 +14,18 @@ makedepends=('vala' 'docbook-xsl>=1.73.0-2' 'docbook-xml' 'intltool' 'gperf' 'gt options=('scriptlet' 'force') up2date="Flasttar http://www.freedesktop.org/software/$pkgname" source=(http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz \ - console.conf 65-permissions.rules blacklist media.mount var-lock.mount var-run.mount) + console.conf 65-permissions.rules blacklist media.mount var-lock.mount var-run.mount \ + 0001-shutdown-recursively-mark-root-as-private-before-piv.patch \ + 0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch) sha1sums=('1874a67d699ccb605ff23e8d8512eefb10a63882' \ 'abaa5c83d5adf2c5be188ce0de488bfa2b5a4505' \ '439e2be7278ecedb4a4f090241bb484a7a25a9c3' \ '4657cbad76a3d5c8aade4dba166b3f8704c7b07f' \ 'f896279eca1bcd02db36b215470593734fd894ee' \ 'b784cca7ac15405edc2e5c4c1851d712bb6bcc38' \ - '31b8d2530e0c8a70358ad5a6c7d8a0fbf43d1bca') + '31b8d2530e0c8a70358ad5a6c7d8a0fbf43d1bca' \ + '7455646d7127de63e4737f165b07d9c42b61df1e' \ + 'f4609b0b03723ab9fee5de8cbb7571a3580a5d42') if Fuse $USE_CRYPTSETUP; then depends=("${depends[@]}" 'cryptsetup-luks') _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
