Hello community, here is the log from the commit of package insserv for openSUSE:Factory checked in at 2012-11-22 16:13:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/insserv (Old) and /work/SRC/openSUSE:Factory/.insserv.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "insserv", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/insserv/insserv.changes 2012-11-17 07:24:42.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.insserv.new/insserv.changes 2012-11-22 16:13:52.000000000 +0100 @@ -1,0 +2,10 @@ +Wed Nov 21 09:34:36 UTC 2012 - [email protected] + +- Oops ... latest systemd now lives below /usr/lib/systemd + +------------------------------------------------------------------- +Tue Nov 20 16:03:43 UTC 2012 - [email protected] + +- Don not be fooled by an old errno (bnc#790424) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ insserv-1.16.0.dif ++++++ --- /var/tmp/diff_new_pack.CTZcHi/_old 2012-11-22 16:13:53.000000000 +0100 +++ /var/tmp/diff_new_pack.CTZcHi/_new 2012-11-22 16:13:53.000000000 +0100 @@ -1,5 +1,5 @@ --- insserv.c -+++ insserv.c 2012-11-16 14:46:39.606344797 +0000 ++++ insserv.c 2012-11-21 09:04:31.182344863 +0000 @@ -1,10 +1,10 @@ /* * insserv(.c) @@ -53,7 +53,7 @@ continue; warn("FATAL: service %s has to be enabled to use service %s\n", -@@ -2376,9 +2370,11 @@ static void import_systemd_facilities(vo +@@ -2376,11 +2370,14 @@ static void import_systemd_facilities(vo /* * Here the systemd servies are imported as services */ @@ -65,8 +65,11 @@ + list_for_each(ptr, &sdservs) { sdserv_t *sdserv = list_entry(ptr, sdserv_t, s_list); ++ service_t * service; const char *this; -@@ -2388,6 +2384,9 @@ static void import_systemd_services(void + list_t *aptr; + int n; +@@ -2388,6 +2385,9 @@ static void import_systemd_services(void if (*sdserv->name == '$') continue; @@ -76,25 +79,60 @@ this = sdserv->name; for (n = 0; n < (int)(sizeof(sdmap)/sizeof(sdmap[0])); n += 2) { if (strcmp(sdmap[n], this) == 0) { -@@ -2418,6 +2417,7 @@ static void import_systemd_services(void - service->attr.flags |= SERV_SYSTEMD; +@@ -2395,10 +2395,11 @@ static void import_systemd_services(void + break; + } + } ++ service = addservice(this); ++ service->attr.flags |= SERV_SYSTEMD; + + np_list_for_each(aptr, &sdserv->a_list) { + ally_t *ally = list_entry(aptr, ally_t, a_list); +- service_t * service; + const char *token; + + if (ally->flags & SDREL_CONFLICTS) +@@ -2413,11 +2414,10 @@ static void import_systemd_services(void + break; + } + } +- service = addservice(this); + rememberreq(service, (ally->flags & SDREL_WANTS) ? REQ_SHLD : REQ_MUST, token); +- service->attr.flags |= SERV_SYSTEMD; } } + return reload; } static void expand_faci(list_t *restrict rlist, list_t *restrict head, -@@ -2617,7 +2617,8 @@ out: +@@ -2617,20 +2617,27 @@ out: /* * Systemd integration */ -static boolean is_overridden_by_systemd(const char *service) { +- char *p; +static boolean is_overridden_by_systemd(const char *service) +{ - char *p; ++ char path[sizeof(SYSTEMD_SERVICE_PATH)+NAME_MAX] = SYSTEMD_SERVICE_PATH; ++ const size_t plen = strlen(path); boolean ret = false; - -@@ -2630,7 +2631,8 @@ static boolean is_overridden_by_systemd( +- +- if (asprintf(&p, SYSTEMD_SERVICE_PATH "/%s.service", service) < 0) +- error("asprintf(): %s\n", strerror(errno)); +- +- if (access(p, F_OK) >= 0) ++ int done; ++ done = snprintf(&path[plen], NAME_MAX+1, "/%s.service", service); ++ if (done < 0 || done >= NAME_MAX+1) { ++ if (done >= NAME_MAX+1) ++ errno = ENAMETOOLONG; ++ error("snprintf(): %m\n"); ++ } ++ if (access(path, F_OK) >= 0) ++ ret = true; ++ if (access(path+4, F_OK) >= 0) + ret = true; +- free(p); return ret; } @@ -104,7 +142,7 @@ const char *name; if (initscript == NULL) -@@ -2648,10 +2650,7 @@ static void forward_to_systemd (const ch +@@ -2648,10 +2655,7 @@ static void forward_to_systemd (const ch if (alternative_root && root) err = asprintf (&p, "/bin/systemctl --quiet --no-reload --root %s %s %s.service", root, verb, name); else { @@ -116,7 +154,15 @@ err = asprintf (&p, "/bin/systemctl --quiet %s %s.service", verb, name); else err = asprintf (&p, "/bin/systemctl --quiet --no-reload %s %s.service", verb, name); -@@ -2921,14 +2920,28 @@ int main (int argc, char *argv[]) +@@ -2898,6 +2902,7 @@ int main (int argc, char *argv[]) + if (stat(argv[c], &st_script) < 0) { + if (errno != ENOENT) + error("%s: %s\n", argv[c], strerror(errno)); ++ errno = 0; + pushd(path); + if (stat(argv[c], &st_script) < 0) + error("%s: %s\n", argv[c], strerror(errno)); +@@ -2921,15 +2926,31 @@ int main (int argc, char *argv[]) /* * Systemd support */ @@ -141,6 +187,7 @@ + systemd = true; + } + } ++ errno = 0; + } - (void)systemd_get_tree(sbus); @@ -149,9 +196,11 @@ + for (c = 0; c < argc; c++) + forward_to_systemd (argv[c], del ? "disable": "enable", alternative_root, native); } ++ errno = 0; /* -@@ -2942,39 +2955,21 @@ int main (int argc, char *argv[]) + * Scan and set our configuration for virtual services. +@@ -2942,39 +2963,21 @@ int main (int argc, char *argv[]) if (systemd) import_systemd_facilities(); @@ -197,7 +246,7 @@ } /* -@@ -4222,6 +4217,14 @@ int main (int argc, char *argv[]) +@@ -4222,6 +4225,14 @@ int main (int argc, char *argv[]) #endif /* !DEBUG */ /* @@ -391,13 +440,13 @@ { if (bus) { --- systemd.h -+++ systemd.h 2012-11-16 14:44:43.702344315 +0000 ++++ systemd.h 2012-11-21 08:22:25.422344455 +0000 @@ -20,8 +20,12 @@ */ #include <dbus/dbus.h> -extern int systemd_get_tree(DBusConnection *bus); -+#define SYSTEMD_SERVICE_PATH "/lib/systemd/system" ++#define SYSTEMD_SERVICE_PATH "/usr/lib/systemd/system" +#define SYSTEMD_BINARY_PATH "/bin/systemd" + +extern boolean systemd_get_tree(DBusConnection *bus); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
