]> git.pld-linux.org Git - packages/chkconfig.git/commitdiff
- updated to 1.15, updated URLs auto/th/chkconfig-1.15-1
authorMarcin Krol <hawk@tld-linux.org>
Tue, 4 May 2021 18:40:09 +0000 (20:40 +0200)
committerMarcin Krol <hawk@tld-linux.org>
Tue, 4 May 2021 18:40:09 +0000 (20:40 +0200)
chkconfig-add.patch
chkconfig-noxinet.patch
chkconfig-optflags.patch
chkconfig-pl.patch
chkconfig-rc.d.patch
chkconfig.spec

index cedbb047352b522e358a6383e269b2b121b731dc..b8249ca5417395cf96f1fb28bd07a68d1ffda6ca 100644 (file)
@@ -1,45 +1,47 @@
---- chkconfig-1.3.58/chkconfig.c~      2012-12-04 15:41:14.000000000 +0200
-+++ chkconfig-1.3.58/chkconfig.c       2012-12-04 15:42:06.080488828 +0200
-@@ -27,6 +27,7 @@
+diff -urNpa chkconfig-1.15.orig/chkconfig.c chkconfig-1.15/chkconfig.c
+--- chkconfig-1.15.orig/chkconfig.c    2021-01-21 09:19:06.000000000 +0100
++++ chkconfig-1.15/chkconfig.c 2021-05-03 16:44:13.175185842 +0200
+@@ -29,6 +29,7 @@
  #include <unistd.h>
  
  static char *progname;
 +extern int addItem;
  
- #define _(String) gettext((String)) 
+ #define _(String) gettext((String))
  
-@@ -243,12 +244,10 @@
-               frobDependencies(&s);
-     else
-     for (i = 0; i < 7; i++) {
--      if (!isConfigured(name, i, NULL, NULL)) {
-           if ((1 << i) & s.levels)
-               doSetService(s, i, 1);
-           else
-               doSetService(s, i, 0);
--      }
-     }
+@@ -347,12 +348,10 @@ static int addService(char *name, int ty
+         rc = frobDependencies(&s);
+     else
+         for (i = 0; i < 7; i++) {
+-            if (!isConfigured(name, i, NULL, NULL)) {
+                 if ((1 << i) & s.levels)
+                     doSetService(s, i, 1);
+                 else
+                     doSetService(s, i, 0);
+-            }
+         }
  
-     return 0;
-@@ -626,7 +626,7 @@
+     return rc;
+@@ -690,7 +689,7 @@ void forwardSystemd(const char *name, in
  }
  
- int main(int argc, const char ** argv) {
--    int listItem = 0, addItem = 0, delItem = 0, overrideItem = 0, noRedirectItem = 0;
-+    int listItem = 0, delItem = 0, overrideItem = 0, noRedirectItem = 0;
+ int main(int argc, const char **argv) {
+-    int listItem = 0, addItem = 0, delItem = 0, overrideItem = 0,
++    int listItem = 0, delItem = 0, overrideItem = 0,
+         noRedirectItem = 0;
      int type = TYPE_ANY;
      int rc, i, x;
-     char * levels = NULL;
---- chkconfig-1.4/leveldb.c~   2015-04-25 12:18:41.000000000 +0300
-+++ chkconfig-1.4/leveldb.c    2015-04-25 12:19:52.959858162 +0300
-@@ -22,6 +22,7 @@
- #include <libintl.h>
- #include <locale.h>
+diff -urNpa chkconfig-1.15.orig/leveldb.c chkconfig-1.15/leveldb.c
+--- chkconfig-1.15.orig/leveldb.c      2021-01-21 09:19:06.000000000 +0100
++++ chkconfig-1.15/leveldb.c   2021-05-03 16:40:14.588185842 +0200
+@@ -28,6 +28,7 @@
+ #include <stdlib.h>
+ #include <string.h>
  #include <sys/mman.h>
 +#include <sys/types.h>
  #include <sys/stat.h>
- #include <stdlib.h>
- #include <stdio.h>
+ #include <unistd.h>
 @@ -41,6 +42,8 @@
  
  #include "leveldb.h"
 +int addItem = 0;
 +
  int selinux_restore(const char *name) {
-         struct selabel_handle *hnd = NULL;
-         struct stat buf;
-@@ -563,6 +567,25 @@
-           serv.provides[1] = NULL;
+     struct selabel_handle *hnd = NULL;
+     struct stat buf;
+@@ -729,6 +732,25 @@ int parseServiceInfo(int fd, char *name,
+         serv.provides[1] = NULL;
      }
  
 +    if (addItem) {
index b6a4fe07fd6e244ab6da6fb22c7abf6d67765f76..83d58ed4f2b6828d16c34a0cfaa6b79d1fe232ef 100644 (file)
@@ -1,6 +1,7 @@
---- chkconfig-1.3.63/chkconfig.8       2014-11-05 18:39:09.000000000 +0200
-+++ chkconfig-1.3.63.no-xinetd/chkconfig.8     2014-11-30 14:54:29.771983174 +0200
-@@ -63,16 +63,6 @@
+diff -urNpa chkconfig-1.15.orig/chkconfig.8 chkconfig-1.15/chkconfig.8
+--- chkconfig-1.15.orig/chkconfig.8    2021-01-21 09:19:06.000000000 +0100
++++ chkconfig-1.15/chkconfig.8 2021-05-03 16:45:40.506185842 +0200
+@@ -63,16 +63,6 @@ or a stop script.  When switching runlev
  an already-started service, and will not re-stop a service that is
  not running.
  
  .SH OPTIONS
  .TP
  \fB-\-level \fIlevels\fR
---- chkconfig-1.4/chkconfig.c~ 2015-04-25 12:27:57.000000000 +0300
-+++ chkconfig-1.4/chkconfig.c  2015-04-25 12:29:08.685346749 +0300
-@@ -102,7 +102,6 @@
-       readServiceError(rc, name);
-       return 1;
+diff -urNpa chkconfig-1.15.orig/chkconfig.c chkconfig-1.15/chkconfig.c
+--- chkconfig-1.15.orig/chkconfig.c    2021-05-03 16:44:13.175185842 +0200
++++ chkconfig-1.15/chkconfig.c 2021-05-03 17:27:19.517139905 +0200
+@@ -117,8 +117,6 @@ static int delService(char *name, int ty
+         readServiceError(rc, name);
+         return 1;
      }
--    if (s.type == TYPE_XINETD) return 0;
+-    if (s.type == TYPE_XINETD)
+-        return 0;
  
      checkRoot();
  
-@@ -298,7 +297,6 @@
-       return 1;
+@@ -333,8 +331,6 @@ static int addService(char *name, int ty
+         return 1;
      }
  
--    if (s.type == TYPE_XINETD) return 0;
+-    if (s.type == TYPE_XINETD)
+-        return 0;
      checkRoot();
  
      if (s.isLSB) {
-@@ -337,8 +335,6 @@
-       return 0;
+@@ -373,9 +369,6 @@ static int overrideService(char *name, i
+         return 0;
      }
  
--    if (s.type == TYPE_XINETD) return 0;
+-    if (s.type == TYPE_XINETD)
+-        return 0;
 -
      checkRoot();
  
-     if ((s.levels == o.levels) &&
-@@ -416,10 +412,6 @@
+     if ((s.levels == o.levels) && (s.kPriority == o.kPriority) &&
+@@ -452,10 +445,6 @@ static int showServiceInfo(struct servic
      }
  
      printf("%-15s", s.name);
 -    if (s.type == TYPE_XINETD) {
--          printf("\t%s\n", s.levels ? _("on") : _("off"));
--          return 0;
+-        printf("\t%s\n", s.levels ? _("on") : _("off"));
+-        return 0;
 -    }
  
      for (i = 0; i < 7; i++) {
-       printf("\t%d:%s", i, isOn(s.name, i) ? _("on") : _("off"));
-@@ -425,7 +425,7 @@
+         printf("\t%d:%s", i, isOn(s.name, i) ? _("on") : _("off"));
+@@ -469,8 +458,7 @@ static int showServiceInfoByName(char *n
      int rc;
      struct service s;
  
--    if (systemdActive() && isOverriddenBySystemd(name) && !(type & TYPE_XINETD)) {
+-    if (systemdActive() && isOverriddenBySystemd(name) &&
+-        !(type & TYPE_XINETD)) {
 +    if (systemdActive() && isOverriddenBySystemd(name)) {
          return forgiving ? 0 : 1;
      }
  
-@@ -448,33 +440,10 @@
+@@ -485,31 +473,10 @@ static int showServiceInfoByName(char *n
      return showServiceInfo(s, forgiving);
  }
  
--
 -static int isXinetdEnabled() {
--      struct service s;
+-    struct service s;
 -
--        if (isOverriddenBySystemd("xinetd") && isEnabledInSystemd("xinetd"))
--                return 1;
+-    if (isOverriddenBySystemd("xinetd") && isEnabledInSystemd("xinetd"))
+-        return 1;
 -
--      if (readServiceInfo("xinetd", TYPE_INIT_D, &s, 0)) {
--              return 0;
--      }
--      if (s.currentLevels)
--              return 1;
--      return 0;
+-    if (readServiceInfo("xinetd", TYPE_INIT_D, &s, 0)) {
+-        return 0;
+-    }
+-    if (s.currentLevels)
+-        return 1;
+-    return 0;
 -}
 -
- static int serviceNameCmp(const void * a, const void * b) {
-   return strcmp(* (char **)a, * (char **)b);
+ static int serviceNameCmp(const void *a, const void *b) {
+     return strcmp(*(char **)a, *(char **)b);
  }
  
--static int xinetdNameCmp(const void * a, const void * b) {
--    const struct service * first = a;
--    const struct service * second = b;
+-static int xinetdNameCmp(const void *a, const void *b) {
+-    const struct service *first = a;
+-    const struct service *second = b;
 -
 -    return strcmp(first->name, second->name);
 -}
 -
--
- static int listService(char * item, int type) {
-     DIR * dir;
-     struct dirent * ent;
-@@ -502,54 +471,6 @@
-           }
+ static int listService(char *item, int type) {
+     DIR *dir;
+     struct dirent *ent;
+@@ -539,55 +506,6 @@ static int listService(char *item, int t
          }
      }
--
 -    if (isXinetdEnabled() && type & TYPE_XINETD) {
--          struct service *s, *t;
--
--          printf("\n");
--          printf(_("xinetd based services:\n"));
--          if (!(dir = opendir(XINETDDIR))) {
--                  fprintf(stderr, _("failed to open directory %s: %s\n"),
--                          XINETDDIR, strerror(err));
--                  return 1;
--          }
--          numServices = 0;
--          numServicesAlloced = 10;
--          s = malloc(sizeof (*s) * numServicesAlloced);
--
--          while ((ent = readdir(dir))) {
--                  const char *dn;
--
--                  /* Skip any file starting with a . */
--                  if (ent->d_name[0] == '.')  continue;
--
--                  /* Skip files with known bad extensions */
--                  if ((dn = strrchr(ent->d_name, '.')) != NULL &&
--                      (!strcmp(dn, ".rpmsave") || !strcmp(dn, ".rpmnew") || !strcmp(dn, ".rpmorig") || !strcmp(dn, ".swp")))
--                    continue;
--
--                  dn = ent->d_name + strlen(ent->d_name) - 1;
--                  if (*dn == '~' || *dn == ',')
--                    continue;
--
--                  if (numServices == numServicesAlloced) {
--                          numServicesAlloced += 10;
--                          s = realloc(s, numServicesAlloced * sizeof (*s));
--                  }
--                  if (readXinetdServiceInfo(ent->d_name, s + numServices) != -1)
--                          numServices ++;
--          }
--
--          qsort(s, numServices, sizeof(*s), xinetdNameCmp);
--          t = s;
--          for (i = 0; i < numServices; i++, s++) {
--                  char *tmp = malloc(strlen(s->name) + 5);
--                  sprintf(tmp,"%s:",s->name);
--                  printf("\t%-15s\t%s\n", tmp,  s->levels ? _("on") : _("off"));
--          }
--          closedir(dir);
--          free(t);
+-        struct service *s, *t;
+-
+-        printf("\n");
+-        printf(_("xinetd based services:\n"));
+-        if (!(dir = opendir(XINETDDIR))) {
+-            fprintf(stderr, _("failed to open directory %s: %s\n"), XINETDDIR,
+-                    strerror(err));
+-            return 1;
+-        }
+-        numServices = 0;
+-        numServicesAlloced = 10;
+-        s = malloc(sizeof(*s) * numServicesAlloced);
+-
+-        while ((ent = readdir(dir))) {
+-            const char *dn;
+-
+-            /* Skip any file starting with a . */
+-            if (ent->d_name[0] == '.')
+-                continue;
+-
+-            /* Skip files with known bad extensions */
+-            if ((dn = strrchr(ent->d_name, '.')) != NULL &&
+-                (!strcmp(dn, ".rpmsave") || !strcmp(dn, ".rpmnew") ||
+-                 !strcmp(dn, ".rpmorig") || !strcmp(dn, ".swp")))
+-                continue;
+-
+-            dn = ent->d_name + strlen(ent->d_name) - 1;
+-            if (*dn == '~' || *dn == ',')
+-                continue;
+-
+-            if (numServices == numServicesAlloced) {
+-                numServicesAlloced += 10;
+-                s = realloc(s, numServicesAlloced * sizeof(*s));
+-            }
+-            if (readXinetdServiceInfo(ent->d_name, s + numServices) != -1)
+-                numServices++;
+-        }
+-
+-        qsort(s, numServices, sizeof(*s), xinetdNameCmp);
+-        t = s;
+-        for (i = 0; i < numServices; i++, s++) {
+-            char *tmp = malloc(strlen(s->name) + 5);
+-            sprintf(tmp, "%s:", s->name);
+-            printf("\t%-15s\t%s\n", tmp, s->levels ? _("on") : _("off"));
+-        }
+-        closedir(dir);
+-        free(t);
 -    }
      return 0;
  }
  
-@@ -610,11 +531,6 @@
-             reloadSystemd();
+@@ -650,11 +568,6 @@ int setService(char *name, int type, int
+         reloadSystemd();
  
-             return rc;
+         return rc;
 -    } else if (s.type == TYPE_XINETD) {
--          if (setXinetdService(s, state)) {
--                  return 1;
--          }
--          system("/sbin/service xinetd reload >/dev/null 2>&1");
+-        if (setXinetdService(s, state)) {
+-            return 1;
+-        }
+-        system("/sbin/service xinetd reload >/dev/null 2>&1");
      }
  
      return 0;
-@@ -622,8 +538,6 @@
+@@ -662,8 +575,6 @@ int setService(char *name, int type, int
  
  void forwardSystemd(const char *name, int type, const char *verb) {
      int socket = 0;
 -        return;
  
      if (!systemdIsInit())
-       return;
-@@ -704,12 +618,10 @@
-     if (help) usage(progname);
+         return;
+@@ -747,12 +658,10 @@ int main(int argc, const char **argv) {
+         usage(progname);
  
      if (typeString) {
--      if (!strcmp(typeString, "xinetd"))
--          type = TYPE_XINETD;
--      else if (!strcmp(typeString, "sysv"))
-+      if (!strcmp(typeString, "sysv"))
-           type = TYPE_INIT_D;
-       else {
--          fprintf(stderr, _("--type must be 'sysv' or 'xinetd'\n"));
-+          fprintf(stderr, _("--type must be 'sysv'\n"));
-           exit(1);
-       }
+-        if (!strcmp(typeString, "xinetd"))
+-            type = TYPE_XINETD;
+-        else if (!strcmp(typeString, "sysv"))
++        if (!strcmp(typeString, "sysv"))
+             type = TYPE_INIT_D;
+         else {
+-            fprintf(stderr, _("--type must be 'sysv' or 'xinetd'\n"));
++            fprintf(stderr, _("--type must be 'sysv'\n"));
+             exit(1);
+         }
      }
-@@ -809,16 +721,9 @@
-           rc = readServiceInfo(name, type, &s, 0);
-           if (rc)
-              return 1;
--          if (s.type == TYPE_XINETD) {
--             if (isOn("xinetd",level))
--                     return !s.levels;
--             else
--                     return 1;
--          } else {
-                if (level == -1)
-                    level = currentRunlevel();
-              return s.currentLevels & (1 << level) ? 0 : 1;
--          }
-       } else if (!strcmp(state, "on")) {
-           if (!noRedirectItem) {
-               forwardSystemd(name, type, "enable");
---- chkconfig-1.4/leveldb.c~   2015-04-25 12:20:58.000000000 +0300
-+++ chkconfig-1.4/leveldb.c    2015-04-25 12:21:39.535385553 +0300
-@@ -154,107 +154,6 @@
-       return 0;
+@@ -877,16 +786,9 @@ int main(int argc, const char **argv) {
+             rc = readServiceInfo(name, type, &s, 0);
+             if (rc)
+                 return 1;
+-            if (s.type == TYPE_XINETD) {
+-                if (isXinetdEnabled())
+-                    return !s.levels;
+-                else
+-                    return 1;
+-            } else {
+                 if (level == -1)
+                     level = currentRunlevel();
+                 return s.currentLevels & (1 << level) ? 0 : 1;
+-            }
+         } else if (!strcmp(state, "on")) {
+             if (!noRedirectItem) {
+                 forwardSystemd(name, type, "enable");
+diff -urNpa chkconfig-1.15.orig/leveldb.c chkconfig-1.15/leveldb.c
+--- chkconfig-1.15.orig/leveldb.c      2021-05-03 16:40:14.588185842 +0200
++++ chkconfig-1.15/leveldb.c   2021-05-03 17:50:29.728139905 +0200
+@@ -204,114 +204,6 @@ int readDescription(char *start, char *b
+     return 0;
  }
  
--int readXinetdServiceInfo(char *name, struct service * service) {
--      char * filename;
--      int fd;
--      struct service serv = {
--                      name: NULL,
--                      levels: -1,
--                      kPriority: 100,
--                      sPriority: -1,
--                      desc: NULL,
--                      startDeps: NULL,
--                      stopDeps: NULL,
--                      softStartDeps: NULL,
--                      softStopDeps: NULL,
--                      provides: NULL,
--                      type: TYPE_XINETD,
--                      isLSB: 0,
--                      enabled: -1
--      };
--      struct stat sb;
--      char * buf = NULL, *ptr;
--      char * eng_desc = NULL, *start;
--
--      asprintf(&filename, XINETDDIR "/%s", name);
--
--      if ((fd = open(filename, O_RDONLY)) < 0) goto out_err;
--      fstat(fd,&sb);
--      if (! S_ISREG(sb.st_mode)) goto out_err;
--      buf = malloc(sb.st_size+1);
--      if (read(fd,buf,sb.st_size)!=sb.st_size) goto out_err;
--      close(fd);
--        serv.name = strdup(name);
--      buf[sb.st_size] = '\0';
--      start = buf;
--      while (buf) {
--              ptr = strchr(buf,'\n');
--              if (*buf == '#') {
--                      buf++;
--                      while (isspace(*buf) && buf < ptr) buf++;
--                      if (!strncmp(buf,"default:", 9)) {
--                              buf+=8;
--                              while(isspace(*buf)) buf++;
--                              if (!strncmp(buf+9,"on",2)) {
--                                      serv.enabled = 1;
--                              } else {
--                                      serv.enabled = 0;
--                              }
--                      } else if (!strncmp(buf,"description:",12)) {
--                              buf+=11;
--                              if (readDescription(buf,start+sb.st_size,
--                                                  &serv.desc,&eng_desc)) {
--                                      if (serv.desc) free(serv.desc);
--                              }
--                              if (!serv.desc) {
--                                      if (eng_desc)
--                                        serv.desc = eng_desc;
--                                        else
--                                          serv.desc = strdup(name);
--                              } else if (eng_desc)
--                                        free (eng_desc);
--                      }
--                      if (ptr) {
--                              *ptr = '\0';
--                              ptr++;
--                      }
--                      buf = ptr;
--                      continue;
--              }
--              while (isspace(*buf) && buf < ptr) buf++;
--              if (!strncmp(buf,"disable", 7)) {
--                      buf = strstr(buf,"=");
--                      if (buf)
--                        do {
--                                buf++;
--                        } while(isspace(*buf));
+-int readXinetdServiceInfo(char *name, struct service *service) {
+-    char *filename;
+-    int fd;
+-    struct service serv = {
+-        name : NULL,
+-        levels : -1,
+-        kPriority : 100,
+-        sPriority : -1,
+-        desc : NULL,
+-        startDeps : NULL,
+-        stopDeps : NULL,
+-        softStartDeps : NULL,
+-        softStopDeps : NULL,
+-        provides : NULL,
+-        type : TYPE_XINETD,
+-        isLSB : 0,
+-        enabled : -1
+-    };
+-    struct stat sb;
+-    char *buf = NULL, *ptr;
+-    char *eng_desc = NULL, *start;
+-
+-    asprintf(&filename, XINETDDIR "/%s", name);
 -
--                      if (buf && strncmp(buf,"yes",3)) {
--                              serv.levels = parseLevels("0123456",0);
--                              if (serv.enabled == -1)
--                                serv.enabled = 1;
--                      } else {
--                              serv.levels = 0;
--                              if (serv.enabled == -1)
--                                serv.enabled = 0;
--                      }
--              }
--              if (ptr) {
--                      *ptr = '\0';
--                      ptr++;
--              }
--              buf = ptr;
--      }
--      *service = serv;
--      return 0;
+-    if ((fd = open(filename, O_RDONLY)) < 0)
+-        goto out_err;
+-    fstat(fd, &sb);
+-    if (!S_ISREG(sb.st_mode))
+-        goto out_err;
+-    buf = malloc(sb.st_size + 1);
+-    if (read(fd, buf, sb.st_size) != sb.st_size)
+-        goto out_err;
+-    close(fd);
+-    serv.name = strdup(name);
+-    buf[sb.st_size] = '\0';
+-    start = buf;
+-    while (buf) {
+-        ptr = strchr(buf, '\n');
+-        if (*buf == '#') {
+-            buf++;
+-            while (isspace(*buf) && buf < ptr)
+-                buf++;
+-            if (!strncmp(buf, "default:", 9)) {
+-                buf += 8;
+-                while (isspace(*buf))
+-                    buf++;
+-                if (!strncmp(buf + 9, "on", 2)) {
+-                    serv.enabled = 1;
+-                } else {
+-                    serv.enabled = 0;
+-                }
+-            } else if (!strncmp(buf, "description:", 12)) {
+-                buf += 11;
+-                if (readDescription(buf, start + sb.st_size, &serv.desc,
+-                                    &eng_desc)) {
+-                    if (serv.desc)
+-                        free(serv.desc);
+-                }
+-                if (!serv.desc) {
+-                    if (eng_desc)
+-                        serv.desc = eng_desc;
+-                    else
+-                        serv.desc = strdup(name);
+-                } else if (eng_desc)
+-                    free(eng_desc);
+-            }
+-            if (ptr) {
+-                *ptr = '\0';
+-                ptr++;
+-            }
+-            buf = ptr;
+-            continue;
+-        }
+-        while (isspace(*buf) && buf < ptr)
+-            buf++;
+-        if (!strncmp(buf, "disable", 7)) {
+-            buf = strstr(buf, "=");
+-            if (buf)
+-                do {
+-                    buf++;
+-                } while (isspace(*buf));
+-
+-            if (buf && strncmp(buf, "yes", 3)) {
+-                serv.levels = parseLevels("0123456", 0);
+-                if (serv.enabled == -1)
+-                    serv.enabled = 1;
+-            } else {
+-                serv.levels = 0;
+-                if (serv.enabled == -1)
+-                    serv.enabled = 0;
+-            }
+-        }
+-        if (ptr) {
+-            *ptr = '\0';
+-            ptr++;
+-        }
+-        buf = ptr;
+-    }
+-    *service = serv;
+-    return 0;
 -out_err:
--        if (fd >= 0)
--            close(fd);
--        free(buf);
--        free(filename);
--        return -1;
+-    if (fd >= 0)
+-        close(fd);
+-    free(buf);
+-    free(filename);
+-    return -1;
 -}
 -
  int readServices(struct service **services) {
-       DIR * dir;
-       struct dirent * ent;
-@@ -304,12 +203,14 @@
+     DIR *dir;
+     struct dirent *ent;
+@@ -365,12 +257,12 @@ int readServiceInfo(char *name, int type
      int parseret;
  
      if (!(type & TYPE_INIT_D))
--      goto try_xinetd;
-+      return -1;
+-        goto try_xinetd;
++        return -1;
  
      asprintf(&filename, RUNLEVELS "/init.d/%s", name);
  
--    if ((fd = open(filename, O_RDONLY)) < 0)
--      goto try_xinetd;
-+    if ((fd = open(filename, O_RDONLY)) < 0) {
-+      free(filename);
-+      return -1;
-+    }
+     if ((fd = open(filename, O_RDONLY)) < 0)
+-        goto try_xinetd;
++        return -1;
  
      free(filename);
      parseret = parseServiceInfo(fd, name, &serv, honorHide, 0);
-@@ -338,12 +239,6 @@
+@@ -410,12 +302,6 @@ int readServiceInfo(char *name, int type
      free(filename);
      *service = serv;
      return 0;
 -try_xinetd:
 -    free(filename);
 -    if (!(type & TYPE_XINETD))
--      return -1;
--    return readXinetdServiceInfo(name,service);
+-        return -1;
+-    return readXinetdServiceInfo(name, service);
  }
  
- int readServiceDifferences(char * name, int type, struct service * service, struct service * service_overrides, int honorHide) {
-@@ -353,12 +248,13 @@
+ int readServiceDifferences(char *name, int type, struct service *service,
+@@ -426,12 +312,12 @@ int readServiceDifferences(char *name, i
      int parseret;
  
      if (!(type & TYPE_INIT_D))
--      goto try_xinetd;
-+      return -1;
+-        goto try_xinetd;
++        return -1;
  
      asprintf(&filename, RUNLEVELS "/init.d/%s", name);
  
      if ((fd = open(filename, O_RDONLY)) < 0) {
--      goto try_xinetd;
-+        free(filename);
-+      return -1;
+-        goto try_xinetd;
++        return -1;
      }
  
      free(filename);
-@@ -382,12 +278,6 @@
+@@ -455,12 +341,6 @@ int readServiceDifferences(char *name, i
      *service = serv;
      *service_overrides = serv_overrides;
      return 0;
 -try_xinetd:
 -    free(filename);
 -    if (!(type & TYPE_XINETD))
--      return -1;
--    return readXinetdServiceInfo(name,service);
+-        return -1;
+-    return readXinetdServiceInfo(name, service);
  }
  
  static struct dep *parseDeps(char *pos, char *end) {
-@@ -682,67 +682,6 @@
+@@ -863,68 +743,6 @@ int whatLevels(char *name) {
      return ret;
  }
  
 -int setXinetdService(struct service s, int on) {
--      int oldfd, newfd;
--      char oldfname[100], newfname[100];
--      char tmpstr[50];
--      char *buf, *ptr, *tmp;
--      struct stat sb;
--        mode_t mode;
--        int r;
--
--      if (on == -1) {
--              on = s.enabled ? 1 : 0;
--      }
--      snprintf(oldfname,100,"%s/%s",XINETDDIR,s.name);
--      if ( (oldfd = open(oldfname,O_RDONLY)) == -1 ) {
--              return -1;
--      }
--      fstat(oldfd,&sb);
--      buf = malloc(sb.st_size+1);
--      if (read(oldfd,buf,sb.st_size)!=sb.st_size) {
--              close(oldfd);
--              free(buf);
--              return -1;
--      }
--      close(oldfd);
--      buf[sb.st_size] = '\0';
--      snprintf(newfname,100,"%s/%s.XXXXXX",XINETDDIR,s.name);
--        mode = umask(S_IRWXG | S_IRWXO);
--      newfd = mkstemp(newfname);
--        umask(mode);
--      if (newfd == -1) {
--              free(buf);
--              return -1;
--      }
--      while (buf) {
--              tmp = buf;
--              ptr = strchr(buf,'\n');
--              if (ptr) {
--                      *ptr = '\0';
--                      ptr++;
--              }
--              while (isspace(*buf)) buf++;
--              if (strncmp(buf,"disable", 7) && strlen(buf)) {
--                      write(newfd,tmp,strlen(tmp));
--                      write(newfd,"\n",1);
--                      if (buf[0] == '{') {
--                              snprintf(tmpstr,50,"\tdisable\t= %s", on ? "no" : "yes");
--                              write(newfd,tmpstr,strlen(tmpstr));
--                              write(newfd,"\n",1);
--                      }
--              }
--              buf = ptr;
--      }
--      close(newfd);
--      unlink(oldfname);
--        r = rename(newfname,oldfname);
--        if (selinux_restore(oldfname) != 0)
--                fprintf(stderr, _("Unable to set selinux context for %s: %s\n"), oldfname,
--              strerror(errno));
--      return(r);
+-    int oldfd, newfd;
+-    char oldfname[100], newfname[100];
+-    char tmpstr[50];
+-    char *buf, *ptr, *tmp;
+-    struct stat sb;
+-    mode_t mode;
+-    int r;
+-
+-    if (on == -1) {
+-        on = s.enabled ? 1 : 0;
+-    }
+-    snprintf(oldfname, 100, "%s/%s", XINETDDIR, s.name);
+-    if ((oldfd = open(oldfname, O_RDONLY)) == -1) {
+-        return -1;
+-    }
+-    fstat(oldfd, &sb);
+-    buf = malloc(sb.st_size + 1);
+-    if (read(oldfd, buf, sb.st_size) != sb.st_size) {
+-        close(oldfd);
+-        free(buf);
+-        return -1;
+-    }
+-    close(oldfd);
+-    buf[sb.st_size] = '\0';
+-    snprintf(newfname, 100, "%s/%s.XXXXXX", XINETDDIR, s.name);
+-    mode = umask(S_IRWXG | S_IRWXO);
+-    newfd = mkstemp(newfname);
+-    umask(mode);
+-    if (newfd == -1) {
+-        free(buf);
+-        return -1;
+-    }
+-    while (buf) {
+-        tmp = buf;
+-        ptr = strchr(buf, '\n');
+-        if (ptr) {
+-            *ptr = '\0';
+-            ptr++;
+-        }
+-        while (isspace(*buf))
+-            buf++;
+-        if (strncmp(buf, "disable", 7) && strlen(buf)) {
+-            write(newfd, tmp, strlen(tmp));
+-            write(newfd, "\n", 1);
+-            if (buf[0] == '{') {
+-                snprintf(tmpstr, 50, "\tdisable\t= %s", on ? "no" : "yes");
+-                write(newfd, tmpstr, strlen(tmpstr));
+-                write(newfd, "\n", 1);
+-            }
+-        }
+-        buf = ptr;
+-    }
+-    close(newfd);
+-    unlink(oldfname);
+-    r = rename(newfname, oldfname);
+-    if (selinux_restore(oldfname) != 0)
+-        fprintf(stderr, _("Unable to set SELinux context for %s: %s\n"),
+-                oldfname, strerror(errno));
+-    return (r);
 -}
 -
  int doSetService(struct service s, int level, int on) {
      int priority = on ? s.sPriority : s.kPriority;
      char linkname[200];
---- chkconfig-1.4/leveldb.h~   2015-04-25 12:20:58.000000000 +0300
-+++ chkconfig-1.4/leveldb.h    2015-04-25 12:22:49.345672830 +0300
+diff -urNpa chkconfig-1.15.orig/leveldb.h chkconfig-1.15/leveldb.h
+--- chkconfig-1.15.orig/leveldb.h      2021-01-21 09:19:06.000000000 +0100
++++ chkconfig-1.15/leveldb.h   2021-05-03 17:47:25.388139905 +0200
 @@ -17,14 +17,12 @@
  #define H_LEVELDB
  
  
  #include <glob.h>
  
- #define TYPE_INIT_D   0x1
--#define TYPE_XINETD   0x2
- #define TYPE_SYSTEMD  0x4
--#define TYPE_ANY      (TYPE_INIT_D | TYPE_XINETD | TYPE_SYSTEMD)
-+#define TYPE_ANY      (TYPE_INIT_D | TYPE_SYSTEMD)
+ #define TYPE_INIT_D 0x1
+-#define TYPE_XINETD 0x2
+ #define TYPE_SYSTEMD 0x4
+-#define TYPE_ANY (TYPE_INIT_D | TYPE_XINETD | TYPE_SYSTEMD)
++#define TYPE_ANY (TYPE_INIT_D | TYPE_SYSTEMD)
  
  #ifndef SYSTEMD_SERVICE_PATH
  #define SYSTEMD_SERVICE_PATH "/lib/systemd/system"
-@@ -67,8 +65,6 @@
- int whatLevels(char * name);
+@@ -71,8 +69,6 @@ int isConfigured(char *name, int level,
+ int whatLevels(char *name);
  int doSetService(struct service s, int level, int on);
- int findServiceEntries(char * name, int level, glob_t * globresptr);
+ int findServiceEntries(char *name, int level, glob_t *globresptr);
 -int readXinetdServiceInfo(char *name, struct service *service);
 -int setXinetdService(struct service s, int on);
  int systemdIsInit();
  int systemdActive();
  int isOverriddenBySystemd(const char *service);
---- chkconfig-1.4/ntsysv.c~    2015-03-26 15:14:53.000000000 +0200
-+++ chkconfig-1.4/ntsysv.c     2015-04-25 12:25:27.840559610 +0300
-@@ -67,17 +67,12 @@
-         if (last != services[i].type) {
-               newtFormAddComponent(subform, newtCompactButton(-1, count,
-                                         services[i].type == TYPE_INIT_D ? "SysV initscripts":
--                                        services[i].type == TYPE_XINETD ? "xinetd services":
-                                         services[i].type == TYPE_SYSTEMD ? "systemd services":
-                                         "Unknown"));
-                 count++;
-                 last = services[i].type;
+diff -urNpa chkconfig-1.15.orig/ntsysv.c chkconfig-1.15/ntsysv.c
+--- chkconfig-1.15.orig/ntsysv.c       2021-01-21 09:19:06.000000000 +0100
++++ chkconfig-1.15/ntsysv.c    2021-05-03 17:45:56.483139905 +0200
+@@ -69,19 +69,13 @@ static int servicesWindow(struct service
+                 newtCompactButton(-1, count,
+                                   services[i].type == TYPE_INIT_D
+                                       ? "SysV initscripts"
+-                                      : services[i].type == TYPE_XINETD
+-                                            ? "xinetd services"
+                                             : services[i].type == TYPE_SYSTEMD
+                                                   ? "systemd services"
+                                                   : "Unknown"));
+             count++;
+             last = services[i].type;
          }
--      if (services[i].type == TYPE_XINETD) {
--              checkboxes[i] = newtCheckbox(-1, count, services[i].name,
--                                   services[i].levels ? '*' : ' ', NULL,
--                                   states + i);
--      } else if (services[i].type == TYPE_SYSTEMD) {
-+      if (services[i].type == TYPE_SYSTEMD) {
-               checkboxes[i] = newtCheckbox(-1, count, services[i].name,
-                                    services[i].enabled ? '*' : ' ', NULL,
-                                    states + i);
-@@ -142,11 +137,7 @@
-     if (!update) return 1;
+-        if (services[i].type == TYPE_XINETD) {
+-            checkboxes[i] =
+-                newtCheckbox(-1, count, services[i].name,
+-                             services[i].levels ? '*' : ' ', NULL, states + i);
+-        } else if (services[i].type == TYPE_SYSTEMD) {
++        if (services[i].type == TYPE_SYSTEMD) {
+             checkboxes[i] =
+                 newtCheckbox(-1, count, services[i].name,
+                              services[i].enabled ? '*' : ' ', NULL, states + i);
+@@ -150,11 +144,7 @@ static int servicesWindow(struct service
+         return 1;
  
      for (i = 0; i < numServices; i++) {
--      if (services[i].type == TYPE_XINETD) {
--        if ((services[i].enabled && states[i] != '*') ||
--          (!services[i].enabled && states[i] == '*'))
--            setXinetdService(services[i], states[i] == '*');
--      } else if (services[i].type == TYPE_SYSTEMD) {
-+        if (services[i].type == TYPE_SYSTEMD) {
-               char *cmd = NULL;
-               int en = 0;
-               if (services[i].enabled && states[i] != '*')
-@@ -347,49 +338,6 @@
+-        if (services[i].type == TYPE_XINETD) {
+-            if ((services[i].enabled && states[i] != '*') ||
+-                (!services[i].enabled && states[i] == '*'))
+-                setXinetdService(services[i], states[i] == '*');
+-        } else if (services[i].type == TYPE_SYSTEMD) {
++        if (services[i].type == TYPE_SYSTEMD) {
+             char *cmd = NULL;
+             int en = 0;
+             if (services[i].enabled && states[i] != '*')
+@@ -368,50 +358,6 @@ static int getServices(struct service **
  
      closedir(dir);
  
--    if (!stat("/usr/sbin/xinetd",&sb)) {
--    if (!(dir = opendir(XINETDDIR))) {
--      fprintf(stderr, "failed to open " XINETDDIR ": %s\n",
--              strerror(errno));
--        return 2;
--    }
--
--    while ((ent = readdir(dir))) {
--      if (strchr(ent->d_name, '~') || strchr(ent->d_name, ',') ||
--          strchr(ent->d_name, '.')) continue;
--
--      sprintf(fn, "%s/%s", XINETDDIR, ent->d_name);
--      if (stat(fn, &sb))
--      {
--              err = errno;
--              continue;
--      }
--      if (!S_ISREG(sb.st_mode)) continue;
--
--      if (numServices == numServicesAlloced) {
--          numServicesAlloced += 10;
--          services = realloc(services,
--                              numServicesAlloced * sizeof(*services));
--      }
--
--      rc = readXinetdServiceInfo(ent->d_name, services + numServices);
--
--      if (rc == -1) {
--          fprintf(stderr, _("error reading info for service %s: %s\n"),
--                      ent->d_name, strerror(errno));
--          closedir(dir);
--          return 2;
--      } else if (!rc)
--          numServices++;
--    }
--
--    if (err) {
--      fprintf(stderr, _("error reading from directory %s: %s\n"),
--              XINETDDIR, strerror(err));
--        return 1;
--    }
+-    if (!stat("/usr/sbin/xinetd", &sb)) {
+-        if (!(dir = opendir(XINETDDIR))) {
+-            fprintf(stderr, "failed to open " XINETDDIR ": %s\n",
+-                    strerror(errno));
+-            return 2;
+-        }
+-
+-        while ((ent = readdir(dir))) {
+-            if (strchr(ent->d_name, '~') || strchr(ent->d_name, ',') ||
+-                strchr(ent->d_name, '.'))
+-                continue;
+-
+-            sprintf(fn, "%s/%s", XINETDDIR, ent->d_name);
+-            if (stat(fn, &sb)) {
+-                err = errno;
+-                continue;
+-            }
+-            if (!S_ISREG(sb.st_mode))
+-                continue;
+-
+-            if (numServices == numServicesAlloced) {
+-                numServicesAlloced += 10;
+-                services =
+-                    realloc(services, numServicesAlloced * sizeof(*services));
+-            }
+-
+-            rc = readXinetdServiceInfo(ent->d_name, services + numServices);
+-
+-            if (rc == -1) {
+-                fprintf(stderr, _("error reading info for service %s: %s\n"),
+-                        ent->d_name, strerror(errno));
+-                closedir(dir);
+-                return 2;
+-            } else if (!rc)
+-                numServices++;
+-        }
+-
+-        if (err) {
+-            fprintf(stderr, _("error reading from directory %s: %s\n"),
+-                    XINETDDIR, strerror(err));
+-            return 1;
+-        }
 -    }
 -
      getSystemdServices(&services, &numServices);
index b7554aee9b519107c1605c1484d33cf00d324ae9..57511dfcfbc6850c36bfa0cb398e946a2dae1937 100644 (file)
@@ -1,46 +1,14 @@
---- chkconfig-1.4/Makefile~    2015-03-26 15:14:53.000000000 +0200
-+++ chkconfig-1.4/Makefile     2015-04-25 12:27:11.812618643 +0300
-@@ -1,8 +1,8 @@
- VERSION=$(shell awk '/Version:/ { print $$2 }' chkconfig.spec)
- TAG = chkconfig-$(VERSION)
--CFLAGS=-g -Wall $(RPM_OPT_FLAGS) -D_GNU_SOURCE
--LDFLAGS+=-g
-+CFLAGS=$(OPTFLAGS) -Wall -D_GNU_SOURCE
-+LDFLAGS+=$(OPTLDFLAGS)
- MAN=chkconfig.8 ntsysv.8 alternatives.8
- PROG=chkconfig
+diff -urNpa chkconfig-1.15.orig/Makefile chkconfig-1.15/Makefile
+--- chkconfig-1.15.orig/Makefile       2021-01-21 09:19:06.000000000 +0100
++++ chkconfig-1.15/Makefile    2021-05-04 10:44:37.807341418 +0200
+@@ -2,8 +2,8 @@ VERSION := $(shell awk '/Version:/ { pri
+ NEXT_VERSION := $(shell awk '/Version:/ { print $$2 + 0.01 }' chkconfig.spec)
+ TAG = $(VERSION)
+-CFLAGS = -g -Wall $(RPM_OPT_FLAGS) -D_GNU_SOURCE
+-LDFLAGS += -g
++CFLAGS = $(OPTFLAGS) -Wall -D_GNU_SOURCE
++LDFLAGS += $(OPTLDFLAGS)
+ MAN = chkconfig.8 ntsysv.8 alternatives.8
+ PROG = chkconfig
  BINDIR = /sbin
-@@ -24,12 +24,12 @@ subdirs:
-       done && test -z "$$fail"
- chkconfig: $(OBJS)
--      $(CC) $(LDFLAGS) -lselinux -lsepol -o chkconfig $(OBJS) -lpopt
-+      $(CC) $(LDFLAGS) -o chkconfig $(OBJS) -lpopt -lselinux -lsepol
- alternatives: alternatives.o
- ntsysv: $(NTOBJS)
--      $(CC) $(LDFLAGS) -lselinux -lsepol -o ntsysv $(NTOBJS) -lnewt -lpopt $(LIBMHACK)
-+      $(CC) $(LDFLAGS) -o ntsysv $(NTOBJS) -lnewt -lpopt -lselinux -lsepol $(LIBMHACK)
- chkconfig.o: chkconfig.c leveldb.h
-       $(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" -c chkconfig.c
-@@ -56,7 +56,7 @@ install:
-       [ -d $(DESTDIR)/$(MANDIR)/man5 ] || mkdir -p $(DESTDIR)/$(MANDIR)/man5
-       [ -d $(DESTDIR)/$(ALTDIR) ] || mkdir -p -m 755 $(DESTDIR)/$(ALTDIR)
-       [ -d $(DESTDIR)/$(ALTDATADIR) ] || mkdir -p -m 755 $(DESTDIR)/$(ALTDATADIR)
--      [ -d $(DESTDIR)/usr/lib/systemd ] || mkdir -p -m 755 $(DESTDIR)/usr/lib/systemd
-+      [ -d $(DESTDIR)/$(SYSTEMDDIR) ] || mkdir -p -m 755 $(DESTDIR)/$(SYSTEMDDIR)
-       install -m 755 $(PROG) $(DESTDIR)/$(BINDIR)/$(PROG)
-       ln -s ../../../$(BINDIR)/$(PROG) $(DESTDIR)/usr/lib/systemd/systemd-sysv-install
-@@ -59,7 +59,7 @@ install:
-       [ -d $(DESTDIR)/$(SYSTEMDDIR) ] || mkdir -p -m 755 $(DESTDIR)/$(SYSTEMDDIR)
-       install -m 755 $(PROG) $(DESTDIR)/$(BINDIR)/$(PROG)
--      ln -s ../../../$(BINDIR)/$(PROG) $(DESTDIR)/usr/lib/systemd/systemd-sysv-install
-+      ln -s $(BINDIR)/$(PROG) $(DESTDIR)/$(SYSTEMDDIR)/systemd-sysv-install
-       install -m 755 ntsysv $(DESTDIR)/$(SBINDIR)/ntsysv
-       install -m 755 alternatives $(DESTDIR)/$(SBINDIR)/alternatives
index 82321031b332239b3635a06434cc3d1fb47e9254..fd1f0b1585d2a34aee3a2672fdcdc0e20ecaec4d 100644 (file)
@@ -1,16 +1,17 @@
---- chkconfig-1.3.63/po/pl.po~ 2014-11-05 18:39:09.000000000 +0200
-+++ chkconfig-1.3.63/po/pl.po  2014-11-30 15:01:59.484752041 +0200
-@@ -106,11 +106,11 @@
+diff -urNpa chkconfig-1.15.orig/po/pl.po chkconfig-1.15/po/pl.po
+--- chkconfig-1.15.orig/po/pl.po       2021-01-21 09:19:06.000000000 +0100
++++ chkconfig-1.15/po/pl.po    2021-05-04 10:47:45.426341418 +0200
+@@ -131,11 +131,11 @@ msgstr "Brak wystarczających uprawnień
  
- #: ../chkconfig.c:419 ../chkconfig.c:424 ../chkconfig.c:547
+ #: ../chkconfig.c:457 ../chkconfig.c:462 ../chkconfig.c:587
  msgid "on"
 -msgstr "włączone"
 +msgstr "wł"
  
- #: ../chkconfig.c:419 ../chkconfig.c:424 ../chkconfig.c:547
+ #: ../chkconfig.c:457 ../chkconfig.c:462 ../chkconfig.c:587
  msgid "off"
 -msgstr "wyłączone"
 +msgstr "wył"
  
- #: ../chkconfig.c:509
+ #: ../chkconfig.c:547
  #, c-format
index 64fd5888037710d9a17008a4623e0bd770995b64..f4cdb4d84fbc10e338998f30a186d35ddc1b9ba7 100644 (file)
@@ -1,6 +1,7 @@
---- ./leveldb.h~       2002-03-13 09:09:04.000000000 +0200
-+++ ./leveldb.h        2005-10-22 15:45:40.000000000 +0300
-@@ -1,7 +1,7 @@
+diff -urNpa chkconfig-1.15.orig/leveldb.h chkconfig-1.15/leveldb.h
+--- chkconfig-1.15.orig/leveldb.h      2021-05-03 17:47:25.388139905 +0200
++++ chkconfig-1.15/leveldb.h   2021-05-04 10:30:35.849341418 +0200
+@@ -16,7 +16,7 @@
  #ifndef H_LEVELDB
  #define H_LEVELDB
  
index f92f6850d61c615a20806f7f38b39ce18f617ac0..c54cc83fb0af07f028283d862c3494a061517edb 100644 (file)
@@ -9,19 +9,19 @@ Summary(ru.UTF-8):    Системная утилита для управления
 Summary(tr.UTF-8):     Sistem servis bilgilerini sorgular ve yeniler
 Summary(uk.UTF-8):     Системна утиліта для керування ієрархією /etc/rc.d
 Name:          chkconfig
-Version:       1.6
+Version:       1.15
 Release:       1
 Epoch:         2
 License:       GPL v2
 Group:         Applications/System
-Source0:       https://fedorahosted.org/releases/c/h/chkconfig/%{name}-%{version}.tar.bz2
-# Source0-md5: e5c03e31ddadc3cdcddd8969345b00c0
+Source0:       https://github.com/fedora-sysv/chkconfig/archive/refs/tags/%{version}.tar.gz
+# Source0-md5: 36c438a0fa5d95125dbe1093aa2b904c
 Patch0:                %{name}-add.patch
 Patch1:                %{name}-noxinet.patch
 Patch2:                %{name}-rc.d.patch
 Patch3:                %{name}-optflags.patch
 Patch4:                %{name}-pl.patch
-URL:           https://git.fedorahosted.org/git/chkconfig.git
+URL:           https://github.com/fedora-sysv/chkconfig
 BuildRequires: gettext-tools
 BuildRequires: libselinux-devel
 BuildRequires: newt-devel
@@ -166,7 +166,7 @@ Perla; ma być zamiennikiem skryptu update-alternatives z Debiana.
        CC="%{__cc}" \
        OPTFLAGS="%{rpmcppflags} %{rpmcflags}" \
        OPTLDFLAGS="%{rpmldflags}" \
-       SYSTEMDDIR=/lib/systemd
+       SYSTEMDUTILDIR=/lib/systemd
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -174,7 +174,7 @@ install -d $RPM_BUILD_ROOT{/etc/{rc.d/{init,rc{0,1,2,3,4,5,6}}.d,env.d},/sbin}
 
 %{__make} install \
        MANDIR=%{_mandir} \
-       SYSTEMDDIR=/lib/systemd \
+       SYSTEMDUTILDIR=/lib/systemd \
        DESTDIR=$RPM_BUILD_ROOT
 
 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/bal
This page took 0.138218 seconds and 4 git commands to generate.