Hello community,
here is the log from the commit of package insserv for openSUSE:Factory
checked in at Thu Jul 23 18:35:43 CEST 2009.
--------
--- insserv/insserv.changes 2009-07-02 10:50:52.000000000 +0200
+++ insserv/insserv.changes 2009-07-23 11:30:40.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Jul 23 11:28:08 CEST 2009 - werner@suse.de
+
+- Fix expansion of the system facilties
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ insserv.spec ++++++
--- /var/tmp/diff_new_pack.Hro5MA/_old 2009-07-23 18:35:07.000000000 +0200
+++ /var/tmp/diff_new_pack.Hro5MA/_new 2009-07-23 18:35:07.000000000 +0200
@@ -24,7 +24,7 @@
Provides: aaa_base:/sbin/insserv
AutoReqProv: on
Version: 1.12.0
-Release: 28
+Release: 29
Summary: A Program to Arrange Initialization Scripts
Source0: insserv-%{version}.tar.bz2
Source1: insserv.conf
++++++ insserv-1.12.0.dif ++++++
--- /var/tmp/diff_new_pack.Hro5MA/_old 2009-07-23 18:35:07.000000000 +0200
+++ /var/tmp/diff_new_pack.Hro5MA/_new 2009-07-23 18:35:07.000000000 +0200
@@ -73,7 +73,7 @@
.SH EXIT CODES
The exit codes have the following conditions:
--- insserv.c
-+++ insserv.c 2009-06-29 14:21:42.117901702 +0200
++++ insserv.c 2009-07-23 10:55:54.245901384 +0200
@@ -38,6 +38,9 @@
# include
# include
@@ -215,7 +215,54 @@
}
if (name)
-@@ -2114,6 +2144,7 @@ static inline char * scan_for(DIR *const
+@@ -2028,33 +2058,26 @@ static void expand_faci(list_t *restrict
+ goto out;
+ }
+
+- if ((*deep)++ > 10) {
+- warn("The nested level of the system facilities in the insserv.conf file(s) is to large\n");
+- goto out;
+- }
+-
+ list_for_each_safe(tmp, safe, ptr) {
+ repl_t * rnxt = getrepl(tmp);
+ if (*rnxt->r[0].name == '$') {
+- expand_faci(tmp, head, deep);
+- } else {
+- if (*deep == 1) {
+- if (--(*rent->r[0].ref) <= 0)
+- free(rent->r[0].ref);
+- rent->r[0] = rnxt->r[0];
+- ++(*rent->r[0].ref);
+- } else {
+- repl_t *restrict subst;
+- if (posix_memalign((void*)&subst, sizeof(void*), alignof(repl_t)) != 0)
+- error("%s", strerror(errno));
+- insert(&subst->r_list, head);
+- subst->r[0] = rnxt->r[0];
+- ++(*subst->r[0].ref);
++ if (*deep > 10) {
++ warn("The nested level of the system facilities in the insserv.conf file(s) is to large\n");
++ goto out;
+ }
++ (*deep)++;
++ expand_faci(tmp, head, deep);
++ (*deep)--;
++ } else if (*deep > 0) {
++ repl_t *restrict subst;
++ if (posix_memalign((void*)&subst, sizeof(void*), alignof(repl_t)) != 0)
++ error("%s", strerror(errno));
++ insert(&subst->r_list, head->prev);
++ subst->r[0] = rnxt->r[0];
++ (*subst->r[0].ref) = 1;
+ }
+ }
+ out:
+- (*deep)--;
+ return;
+ }
+
+@@ -2114,6 +2137,7 @@ static inline char * scan_for(DIR *const
static inline boolean underrpm(void)
{
boolean ret = false;
@@ -223,7 +270,7 @@
const pid_t pp = getppid();
char buf[PATH_MAX], *argv[3], *ptr;
# if defined(USE_RPMLIB) && (USE_RPMLIB > 0)
-@@ -2123,8 +2154,15 @@ static inline boolean underrpm(void)
+@@ -2123,8 +2147,15 @@ static inline boolean underrpm(void)
ssize_t len;
snprintf(buf, sizeof(buf)-1, "/proc/%lu/cmdline", (unsigned long)pp);
@@ -241,7 +288,7 @@
memset(buf, '\0', sizeof(buf));
if ((len = read(fd , buf, sizeof(buf)-1)) < 0)
-@@ -2185,6 +2223,8 @@ static inline boolean underrpm(void)
+@@ -2185,6 +2216,8 @@ static inline boolean underrpm(void)
out:
if (fd >= 0)
close(fd);
@@ -250,7 +297,7 @@
return ret;
}
-@@ -2238,6 +2278,7 @@ int main (int argc, char *argv[])
+@@ -2238,6 +2271,7 @@ int main (int argc, char *argv[])
boolean del = false;
boolean defaults = false;
boolean ignore = false;
@@ -258,7 +305,7 @@
myname = basename(*argv);
-@@ -2305,7 +2346,9 @@ int main (int argc, char *argv[])
+@@ -2305,7 +2339,9 @@ int main (int argc, char *argv[])
argv += optind;
argc -= optind;
@@ -269,7 +316,7 @@
error("usage: %s [[-r] init_script|init_directory]\n", myname);
if (*argv) {
-@@ -2357,7 +2400,19 @@ int main (int argc, char *argv[])
+@@ -2357,7 +2393,19 @@ int main (int argc, char *argv[])
if (strcmp(path, INITDIR) != 0) {
char * tmp;
@@ -290,7 +337,7 @@
if ((tmp = strstr(root, INITDIR))) {
*tmp = '\0';
} else {
-@@ -2490,17 +2545,45 @@ int main (int argc, char *argv[])
+@@ -2490,17 +2538,45 @@ int main (int argc, char *argv[])
/*
* Scan now all scripts found in the init.d/ directory
*/
@@ -338,7 +385,7 @@
if (*d->d_name == '.')
continue;
errno = 0;
-@@ -2807,6 +2890,9 @@ int main (int argc, char *argv[])
+@@ -2807,6 +2883,9 @@ int main (int argc, char *argv[])
if (script_inf.should_stop && script_inf.should_stop != empty) {
rememberreq(service, REQ_SHLD|REQ_KILL, script_inf.should_stop);
}
@@ -348,7 +395,7 @@
}
if (script_inf.start_before && script_inf.start_before != empty) {
-@@ -2985,16 +3071,17 @@ int main (int argc, char *argv[])
+@@ -2985,16 +3064,17 @@ int main (int argc, char *argv[])
char * ptr = argr[curr_argc];
struct _mark {
const char * wrd;
@@ -371,7 +418,7 @@
};
for (c = 0; mark[c].wrd; c++) {
-@@ -3016,6 +3103,14 @@ int main (int argc, char *argv[])
+@@ -3016,6 +3096,14 @@ int main (int argc, char *argv[])
char * ptr = mark[c].order + len - 1;
if (*ptr == ',') *ptr = '\0';
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org