Git-Url:
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=26d73e7ffc324f6f9a5a2a46db2048f5d720aeec
commit 26d73e7ffc324f6f9a5a2a46db2048f5d720aeec
Author: Miklos Vajna
Date: Tue Sep 27 20:43:26 2011 +0200
systemd-36-1-i686
- add patch to make systemctl enable/disable/is-enabled work for sysv
services (not yet submitted upstream)
diff --git a/source/base/systemd/FrugalBuild b/source/base/systemd/FrugalBuild
index 23ded3f..c33c75f 100644
--- a/source/base/systemd/FrugalBuild
+++ b/source/base/systemd/FrugalBuild
@@ -20,8 +20,10 @@ makedepends=('vala' 'docbook-xsl>=1.73.0-2' 'docbook-xml'
'intltool' 'gperf')
options=('scriptlet')
up2date="Flasttar http://www.freedesktop.org/software/$pkgname";
source=(http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.bz2 \
+ chkconfig.patch \
console.conf)
sha1sums=('ebe4a0eb5c2e17e43418a6657d15470cb84d2f25' \
+ '458606a298a8e2eb200a74432a0606dccd61d451' \
'abaa5c83d5adf2c5be188ce0de488bfa2b5a4505')
if Fuse $USE_CRYPTSETUP; then
diff --git a/source/base/systemd/chkconfig.patch
b/source/base/systemd/chkconfig.patch
new file mode 100644
index 000..4714270
--- /dev/null
+++ b/source/base/systemd/chkconfig.patch
@@ -0,0 +1,65 @@
+diff --git a/src/systemctl.c b/src/systemctl.c
+index 7caeb6d..9e6aad7 100644
+--- a/src/systemctl.c
b/src/systemctl.c
+@@ -3438,7 +3438,7 @@ finish:
+ static int enable_sysv_units(char **args) {
+ int r = 0;
+
+-#if defined (HAVE_SYSV_COMPAT) && (defined(TARGET_FEDORA) ||
defined(TARGET_MANDRIVA) || defined(TARGET_SUSE) || defined(TARGET_MEEGO) ||
defined(TARGET_ALTLINUX))
++#if defined (HAVE_SYSV_COMPAT) && (defined(TARGET_FEDORA) ||
defined(TARGET_MANDRIVA) || defined(TARGET_SUSE) || defined(TARGET_MEEGO) ||
defined(TARGET_ALTLINUX) || defined(TARGET_FRUGALWARE))
+ const char *verb = args[0];
+ unsigned f = 1, t = 1;
+ LookupPaths paths;
+@@ -3466,7 +3466,7 @@ static int enable_sysv_units(char **args) {
+ char *p;
+ bool found_native = false, found_sysv;
+ unsigned c = 1;
+-const char *argv[6] = { "/sbin/chkconfig", NULL, NULL, NULL,
NULL };
++const char *argv[6] = { "/usr/sbin/chkconfig", NULL, NULL,
NULL, NULL };
+ char **k, *l, *q = NULL;
+ int j;
+ pid_t pid;
+@@ -3484,9 +3484,9 @@ static int enable_sysv_units(char **args) {
+ p = NULL;
+
+ if (!isempty(arg_root))
+-asprintf(&p, "%s/%s/%s", arg_root, *k, name);
++asprintf(&p, "%s/%s/rc.%s", arg_root, *k,
name);
+ else
+-asprintf(&p, "%s/%s", *k, name);
++asprintf(&p, "%s/rc.%s", *k, name);
+
+ if (!p) {
+ log_error("No memory");
+@@ -3506,9 +3506,9 @@ static int enable_sysv_units(char **args) {
+
+ p = NULL;
+ if (!isempty(arg_root))
+-asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s",
arg_root, name);
++asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/rc.%s",
arg_root, name);
+ else
+-asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name);
++asprintf(&p, SYSTEM_SYSVINIT_PATH "/rc.%s", name);
+ if (!p) {
+ log_error("No memory");
+ r = -ENOMEM;
+@@ -3526,15 +3526,14 @@ static int enable_sysv_units(char **args) {
+ /* Mark this entry, so that we don't try enabling it as
native unit */
+ args[f] = (char*) "";
+
+-log_info("%s is not a native service, redirecting to
/sbin/chkconfig.", name);
++log_info("%s is not a native service, redirecting to
/usr/sbin/chkconfig.", name);
+
+ if (!isempty(arg_root))
+ argv[c++] = q = strappend("--root=", arg_root);
+
++ if (streq(verb, "enable") || streq(verb, "disable"))
++ argv[c++] = streq(verb, "enable") ? "--add" : "--del";
+ argv[c++] = file_name_from_path(p);
+-argv[c++] =
+-streq(verb, "enable") ? "on" :
+-streq(verb, "disable") ? "off" : "--level=5";
+ argv[c] = NULL;
+
+ l = strv_join((char**)argv, " ");
___
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git