[meego-commits] 5414: Changes to Trunk:Testing/chkconfig
Anas Nashif
nashif at linux.intel.com
Thu Jul 8 10:50:30 UTC 2010
On 2010-07-08, at 2:38 AM, Yan Yin wrote:
> Hi,
> I have made the following changes to chkconfig in project Trunk:Testing. Please review and accept ASAP.
>
> Thank You,
> Yan Yin
>
> [This message was auto-generated]
>
> ---
>
> Request #5414:
>
> submit: home:yyin2:branches:Trunk:Testing/chkconfig(r12)(cleanup) -> Trunk:Testing/chkconfig
>
>
> Message:
> Fix gvfs build error by adding %pre and %post sections
>
> State: new 2010-07-07T18:34:31 yyin2
> Comment: None
>
>
>
> changes files:
> --------------
> --- chkconfig.changes
> +++ chkconfig.changes
> @@ -0,0 +1,7 @@
> +* Thu Jul 08 2010 Yan Yin <yan.yin at intel.com> - 1.3.46
> +- Fix gvfs build error by adding %pre and %post sections
> +
> +* Tue Jun 22 2010 Yan Yin <yan.yin at intel.com> - 1.3.46
> +- Update to 1.3.46
> +- Transfer to YAML package format
> +
>
> old:
> ----
> chkconfig-1.3.44.tar.bz2
>
> new:
> ----
> Makefile
> chkconfig-1.3.46.tar.bz2
> chkconfig.yaml
>
> spec files:
> -----------
> --- chkconfig.spec
> +++ chkconfig.spec
> @@ -1,12 +1,28 @@
> -Summary: A system tool for maintaining the /etc/rc*.d hierarchy
> +#
> +# Do not Edit! Generated by:
> +# spectacle version 0.17
> +#
> +# >> macros
> +# << macros
> +
> Name: chkconfig
> -Version: 1.3.44
> -Release: 2
> -License: GPLv2
> +Summary: A system tool for maintaining the /etc/rc*.d hierarchy
> +Version: 1.3.46
> +Release: 1
> Group: System/Base
> -Source: %{name}-%{version}.tar.bz2
> -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
> -BuildRequires: newt-devel gettext popt-devel ncurses-devel
> +License: GPLv2
> +URL: http://git.fedorahosted.org/git/chkconfig.git
> +Source0: http://fedorahosted.org/releases/c/h/%{name}/%{name}-%{version}.tar.bz2
> +Source100: chkconfig.yaml
> +Requires(post): /sbin/service
> +Requires(post): /sbin/chkconfig
> +Requires(postun): /sbin/service
> +Requires(postun): /sbin/chkconfig
> +BuildRequires: pkgconfig(ncurses)
> +BuildRequires: newt-devel
> +BuildRequires: gettext
> +BuildRequires: popt-devel
> +
>
> %description
> Chkconfig is a basic system utility. It updates and queries runlevel
> @@ -14,9 +30,12 @@
> symbolic links in /etc/rc.d, to relieve system administrators of some
> of the drudgery of manually editing the symbolic links.
>
> +
> +
> %package -n ntsysv
> Summary: A tool to set the stop/start of system services in a runlevel
> Group: System/Base
> +Requires: %{name} = %{version}-%{release}
> Requires: chkconfig = %{version}-%{release}
>
> %description -n ntsysv
> @@ -26,31 +45,64 @@
> specify a runlevel or runlevels on the command line (see the man
> page), ntsysv configures the current runlevel (5 if you're using X).
>
> +
> +
> %prep
> -%setup -q
> +%setup -q -n %{name}-%{version}
> +
> +# >> setup
> +# << setup
>
> %build
> +# >> build pre
> +# << build pre
> +
>
> -make RPM_OPT_FLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
> +make %{?jobs:-j%jobs}
>
> +# >> build post
> +# << build post
> %install
> +#rm -rf %{buildroot}
> +# >> install pre
> +# << install pre
> +#%make_install
??
> +
> +# >> install post
> rm -rf $RPM_BUILD_ROOT
you did that already above!
> make DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} SBINDIR=%{_sbindir} install
>
> mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
> ln -s rc.d/init.d $RPM_BUILD_ROOT/etc/init.d
> for n in 0 1 2 3 4 5 6; do
> - mkdir -p $RPM_BUILD_ROOT/etc/rc.d/rc${n}.d
> - ln -s rc.d/rc${n}.d $RPM_BUILD_ROOT/etc/rc${n}.d
> +mkdir -p $RPM_BUILD_ROOT/etc/rc.d/rc${n}.d
> +ln -s rc.d/rc${n}.d $RPM_BUILD_ROOT/etc/rc${n}.d
> done
> mkdir -p $RPM_BUILD_ROOT/etc/chkconfig.d
>
> +
> +# << install post
> %find_lang %{name}
>
> -%clean
> -rm -rf $RPM_BUILD_ROOT
> +
> +
> +%pre
> +if [ -e /etc/init.d ]; then
> + rm -rf /etc/init.d.bak
> + mv /etc/init.d /etc/init.d.bak
> +fi
> +
> +%post
> +if [ -e /etc/init.d.bak ] && [ -e /etc/init.d ]; then
> + mv /etc/init.d.bak/* /etc/init.d/
> + rm -rf /etc/init.d.bak
> +fi
Why are you doing this? This looks like a very ugly hack.
> +
> +
>
> %files -f %{name}.lang
> +%defattr(-,root,root,-)
> +# >> files
> %defattr(-,root,root)
> %doc COPYING
> %dir /etc/alternatives
> @@ -66,9 +118,14 @@
> %doc %{_mandir}/*/chkconfig*
> %doc %{_mandir}/*/update-alternatives*
> %doc %{_mandir}/*/alternatives*
> +# << files
> +
>
> %files -n ntsysv
> +%defattr(-,root,root,-)
> +# >> files ntsysv
> %defattr(-,root,root)
> %{_sbindir}/ntsysv
> %doc %{_mandir}/*/ntsysv.8*
> +# << files ntsysv
>
>
> other changes:
> --------------
>
> ++++++ Makefile (new)
> --- Makefile
> +++ Makefile
> +PKG_NAME := chkconfig
> +SPECFILE = $(addsuffix .spec, $(PKG_NAME))
> +YAMLFILE = $(addsuffix .yaml, $(PKG_NAME))
> +
> +include /usr/share/packaging-tools/Makefile.common
> +
>
> ++++++ chkconfig-1.3.44.tar.bz2 -> chkconfig-1.3.46.tar.bz2
> --- chkconfig-1.3.44
> +++ chkconfig-1.3.44
> -(directory)
> --- chkconfig-1.3.44/COPYING
> +++ chkconfig-1.3.44/COPYING
> (renamed to chkconfig-1.3.46/COPYING)
> --- chkconfig-1.3.44/Makefile
> +++ chkconfig-1.3.44/Makefile
> (renamed to chkconfig-1.3.46/Makefile)
> --- chkconfig-1.3.44/alternatives.8
> +++ chkconfig-1.3.44/alternatives.8
> (renamed to chkconfig-1.3.46/alternatives.8)
> --- chkconfig-1.3.44/alternatives.c
> +++ chkconfig-1.3.44/alternatives.c
> (renamed to chkconfig-1.3.46/alternatives.c)
> --- chkconfig-1.3.44/chkconfig.8
> +++ chkconfig-1.3.44/chkconfig.8
> (renamed to chkconfig-1.3.46/chkconfig.8)
> --- chkconfig-1.3.44/chkconfig.c
> +++ chkconfig-1.3.44/chkconfig.c
> -/* Copyright 1997-2008 Red Hat, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License, version 2,
> - * as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
> - */
> -#include <ctype.h>
> -#include <dirent.h>
> -#include <errno.h>
> -#include <glob.h>
> -#include <libintl.h>
> -#include <locale.h>
> -#include <popt.h>
> -#include <stdio.h>
> -#include <stdlib.h>
> -#include <string.h>
> -#include <sys/stat.h>
> -#include <unistd.h>
> -
> -static char *progname;
> -
> -#define _(String) gettext((String))
> -
> -#include "leveldb.h"
> -
> -static int LSB = 0;
> -
> -static void usage(void) {
> - fprintf(stderr, _("%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"), progname, VERSION);
> - fprintf(stderr, _("This may be freely redistributed under the terms of "
> - "the GNU Public License.\n"));
> - fprintf(stderr, "\n");
> - fprintf(stderr, _("usage: %s [--list] [--type <type>] [name]\n"), progname);
> - fprintf(stderr, _(" %s --add <name>\n"), progname);
> - fprintf(stderr, _(" %s --del <name>\n"), progname);
> - fprintf(stderr, _(" %s --override <name>\n"), progname);
> - fprintf(stderr, _(" %s [--level <levels>] [--type <type>] <name> %s\n"), progname, "<on|off|reset|resetpriorities>");
> -
> - exit(1);
> -}
> -
> -static void readServiceError(int rc, char * name) {
> - if (rc == 2) {
> - fprintf(stderr, _("service %s supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add %s')\n"), name, name);
> - } else if (rc == 1) {
> - fprintf(stderr, _("service %s does not support chkconfig\n"), name);
> - } else {
> - fprintf(stderr, _("error reading information on service %s: %s\n"),
> - name, strerror(errno));
> - }
> -
> - exit(1);
> -}
> -
> -static void checkRoot() {
> - if (access(RUNLEVELS "/rc3.d", R_OK | W_OK) != 0) {
> - fprintf(stderr, _("You do not have enough privileges to perform this operation.\n"));
> - exit(1);
> - }
> -}
> -
> -static int delService(char *name, int type, int level) {
> - int i, j, k, numservs, rc;
> - glob_t globres;
> - struct service s;
> - struct service *services;
> -
> - if ((rc = readServiceInfo(name, type, &s, 0))) {
> - readServiceError(rc, name);
> - return 1;
> - }
> - if (s.type == TYPE_XINETD) return 0;
> -
> - checkRoot();
> -
> - if (LSB && level == -1) {
> - numservs = readServices(&services);
> -
> - for (i = 0; i < numservs ; i++) {
> - if (services[i].startDeps) {
> - for (j = 0; services[i].startDeps[j].name ; j++) {
> - if (!strcmp(services[i].startDeps[j].name, s.name)) {
> - for (k = 0 ; k <= 6; k++) {
> - if (isOn(services[i].name, k))
> - return 1;
> - }
> - }
> - }
> - }
> - if (services[i].stopDeps) {
> - for (j = 0; services[i].stopDeps[j].name ; j++) {
> - if (!strcmp(services[i].stopDeps[j].name, s.name)) {
> - for (k = 0 ; k <= 6; k++) {
> - if (!isOn(services[i].name, k))
> - return 1;
> - }
> - }
> - }
> - }
> - }
> - }
> -
> - for (j = 0 ; j < 7; j++) {
> - if (level == -1 || level == j) {
> - if (!findServiceEntries(name, j, &globres)) {
> - for (i = 0; i < globres.gl_pathc; i++)
> - unlink(globres.gl_pathv[i]);
> - if (globres.gl_pathc) globfree(&globres);
> - }
> - }
> - }
> - return 0;
> -}
> -
> -static inline int laterThan(int i, int j) {
> - if (i <= j) {
> - i = j+1;
> - if (i > 99)
> - i = 99;
> - }
> - return i;
> -}
> -
> -static inline int earlierThan(int i, int j) {
> - if (i >= j) {
> - i = j -1;
> - if (i < 0)
> - i = 0;
> - }
> - return i;
> -}
> -
> -static int isSimilarlyConfigured(struct service s, struct service t, int start) {
> - int i, state_s, state_t;
> -
> - for (i = 0; i <= 6; i ++) {
> - if (isConfigured(s.name, i, NULL, NULL)) {
> - state_s = isOn(s.name, i);
> - } else {
> - state_s = ((1<<i) & s.levels) ? 1 : 0;
> - }
> - state_t = isOn(t.name, i);
> - if (state_s == state_t && state_s == start)
> - return 1;
> - }
> - return 0;
> -}
> -
> -static int frobOneDependencies(struct service *s, struct service *servs, int numservs, int target, int depfail) {
> - int i, j, k;
> - int s0 = s->sPriority;
> - int k0 = s->kPriority;
> -
> - if (s->sPriority < 0) s->sPriority = 50;
> - if (s->kPriority < 0) s->kPriority = 50;
> - for (i = 0; i < numservs ; i++) {
> - if (s->startDeps) {
> - for (j = 0; s->startDeps[j].name ; j++) {
> - if (!strcmp(s->startDeps[j].name, servs[i].name) && isSimilarlyConfigured(*s, servs[i], 1)) {
> - s->sPriority = laterThan(s->sPriority, servs[i].sPriority);
> - s->startDeps[j].handled = 1;
> - }
> - if (servs[i].provides) {
> - for (k = 0; servs[i].provides[k]; k++) {
> - if (!strcmp(s->startDeps[j].name, servs[i].provides[k]) && isSimilarlyConfigured(*s, servs[i], 1)) {
> - s->sPriority = laterThan(s->sPriority, servs[i].sPriority);
> - s->startDeps[j].handled = 1;
> - }
> - }
> - }
> - }
> - }
> - if (s->stopDeps) {
> - for (j = 0; s->stopDeps[j].name ; j++) {
> - if (!strcmp(s->stopDeps[j].name, servs[i].name) && isSimilarlyConfigured(*s, servs[i], 0)) {
> - s->kPriority = earlierThan(s->kPriority, servs[i].kPriority);
> - s->stopDeps[j].handled = 1;
> - }
> - if (servs[i].provides) {
> - for (k = 0; servs[i].provides[k]; k++) {
> - if (!strcmp(s->stopDeps[j].name, servs[i].provides[k]) && isSimilarlyConfigured(*s, servs[i], 0)) {
> - s->kPriority = earlierThan(s->kPriority, servs[i].kPriority);
> - s->stopDeps[j].handled = 1;
> - }
> - }
> - }
> - }
> - }
> - }
> - if (depfail) {
> - if (s->startDeps) {
> - for (j = 0; s->startDeps[j].name; j++) {
> - if (!s->startDeps[j].handled)
> - return -1;
> - }
> - }
> - if (s->stopDeps) {
> - for (j = 0; s->stopDeps[j].name; j++) {
> - if (!s->stopDeps[j].handled)
> - return -1;
> - }
> - }
> - }
> -
> - if (target || ((s0 != s->sPriority) || (k0 != s->kPriority))) {
> - for (i = 0; i < 7; i++) {
> - if (isConfigured(s->name, i, NULL, NULL)) {
> - int on = isOn(s->name, i);
> - delService(s->name, TYPE_INIT_D, i);
> - doSetService(*s, i, on);
> - } else if (target) {
> - delService(s->name, TYPE_INIT_D, i);
> - doSetService(*s, i, ((1<<i) & s->levels));
> - }
> - }
> - return 1; /* Resolved something */
> - }
> - return 0; /* Didn't resolve anything */
> -}
> -
> -/* LSB-style dependency frobber. Calculates a usable start priority
> - * and stop priority.
> - * This algorithm will almost certainly break horribly at some point. */
> -static int frobDependencies(struct service *s) {
> - struct service *servs = NULL;
> - int numservs = 0;
> - int nResolved = 0;
> -
> - numservs = readServices(&servs);
> - /* Resolve recursively the other dependancies */
> - do {
> - nResolved = 0;
> - int i;
> -
> - for (i = 0; i < numservs ; i++) {
> - if ((servs+i)->isLSB && strcmp((servs+i)->name, s->name))
> - nResolved += frobOneDependencies(servs+i, servs, numservs, 0, 0);
> - }
> - } while (nResolved);
> -
> - /* Resolve our target */
> - if (frobOneDependencies(s, servs, numservs, 1, LSB) == -1)
> - return 1;
> - return 0;
> -}
> -
> -static int addService(char * name, int type) {
> - int i, rc;
> - struct service s;
> -
> - if ((rc = readServiceInfo(name, type, &s, 0))) {
> - readServiceError(rc, name);
> - return 1;
> - }
> -
> - if (s.type == TYPE_XINETD) return 0;
> - checkRoot();
> -
> - if (s.isLSB)
> - 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 rc;
> -}
> -
> -static int overrideService(char * name, int srvtype) {
> - /* Apply overrides if available; no available overrides is no error */
> - int level, i, rc;
> - glob_t globres;
> - struct service s;
> - struct service o;
> - int priority;
> - char type;
> - int doChange = 1;
> - int configured = 0;
> - int thisLevelAdded, thisLevelOn;
> -
> - if ((rc = readServiceDifferences(name, srvtype, &s, &o, 0))) {
> - return 0;
> - }
> -
> - if (s.type == TYPE_XINETD) return 0;
> -
> - checkRoot();
> -
> - if ((s.levels == o.levels) &&
> - (s.kPriority == o.kPriority) &&
> - (s.sPriority == o.sPriority)) {
> - /* no relevant changes in the override file */
> - return 0;
> - }
> -
> - if (s.isLSB && (s.sPriority <= -1) && (s.kPriority <= -1))
> - frobDependencies(&s);
> - if ((s.isLSB || o.isLSB) && (o.sPriority <= -1) && (o.kPriority <= -1))
> - frobDependencies(&o);
> -
> - /* Apply overrides only if the service has not been changed since
> - * being added, and not if the service has never been configured
> - * at all.
> - */
> -
> - for (level = 0; level < 7; level++) {
> - thisLevelAdded = isConfigured(name, level, &priority, &type);
> - thisLevelOn = s.levels & 1<<level;
> - if (thisLevelAdded) {
> - configured = 1;
> - if (type == 'S') {
> - if (priority != s.sPriority || !thisLevelOn) {
> - doChange = 0;
> - break;
> - }
> - } else if (type == 'K') {
> - if (priority != s.kPriority || thisLevelOn) {
> - doChange = 0;
> - break;
> - }
> - }
> - }
> - }
> -
> - if (configured && doChange) {
> - for (level = 0; level < 7; level++) {
> - if (!findServiceEntries(name, level, &globres)) {
> - for (i = 0; i < globres.gl_pathc; i++)
> - unlink(globres.gl_pathv[i]);
> - if (globres.gl_pathc)
> - globfree(&globres);
> - if ((1 << level) & o.levels)
> - doSetService(o, level, 1);
> - else
> - doSetService(o, level, 0);
> - }
> - }
> - }
> -
> - return 0;
> -}
> -
> -static int showServiceInfo(struct service s, int forgiving) {
> - int rc;
> - int i;
> -
> - if (s.type == TYPE_INIT_D) {
> - rc = 2;
> - for (i = 0 ; i < 7 ; i++) {
> - if (isConfigured(s.name, i, NULL, NULL)) {
> - rc = 0;
> - break;
> - }
> - }
> - }
> -
> - if (rc) {
> - if (!forgiving)
> - readServiceError(rc, s.name);
> - return forgiving ? 0 : 1;
> - }
> -
> - printf("%-15s", s.name);
> - if (s.type == TYPE_XINETD) {
> - 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"));
> - }
> - printf("\n");
> -
> - return 0;
> -}
> -
> -static int showServiceInfoByName(char * name, int type, int forgiving) {
> - int rc;
> - struct service s;
> -
> - rc = readServiceInfo(name, type, &s, 0);
> -
> - if (rc) {
> - if (!forgiving)
> - readServiceError(rc, name);
> - return forgiving ? 0 : 1;
> - }
> -
> - return showServiceInfo(s, forgiving);
> -}
> -
> -
> -static int isXinetdEnabled() {
> - int i;
> - struct service s;
> -
> - if (readServiceInfo("xinetd", TYPE_INIT_D, &s, 0)) {
> - return 0;
> - }
> - for (i = 0; i < 7; i++) {
> - if (isOn("xinetd", i))
> - return 1;
> - }
> - return 0;
> -}
> -
> -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;
> -
> - return strcmp(first->name, second->name);
> -}
> -
> -
> -static int listService(char * item, int type) {
> - DIR * dir;
> - struct dirent * ent;
> - struct service *services;
> - int i;
> - int numServices = 0;
> - int numServicesAlloced;
> - int err = 0;
> -
> - if (item) return showServiceInfoByName(item, type, 0);
> -
> - if (type & TYPE_INIT_D) {
> - numServices = readServices(&services);
> -
> - qsort(services, numServices, sizeof(*services), serviceNameCmp);
> -
> - for (i = 0; i < numServices ; i++) {
> - if (showServiceInfo(services[i], 1)) {
> - return 1;
> - }
> - }
> - }
> -
> - 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, 0) != -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;
> -}
> -
> -int setService(char * name, int type, int where, int state) {
> - int i, rc;
> - int what;
> - struct service s;
> -
> - if (!where && state != -1) {
> - /* levels 2, 3, 4, 5 */
> - where = (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5);
> - } else if (!where) {
> - where = (1 << 0) | (1 << 1) | (1 << 2) |
> - (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6);
> - }
> -
> - if ((rc = readServiceInfo(name, type, &s, 0))) {
> - readServiceError(rc, name);
> - return 1;
> - }
> -
> - checkRoot();
> -
> - if (s.type == TYPE_INIT_D) {
> - int rc = 0;
> -
> - if (s.isLSB)
> - frobDependencies(&s);
> - for (i = 0; i < 7; i++) {
> -
> - if (!((1 << i) & where)) continue;
> -
> - if (state == 1 || state == 0)
> - what = state;
> - else if (state == -2)
> - what = isOn(name, i);
> - else if (s.levels & (1 << i))
> - what = 1;
> - else
> - what = 0;
> - rc |= doSetService(s, i, what);
> - }
> - return rc;
> - } else if (s.type == TYPE_XINETD) {
> - if (setXinetdService(s, state)) {
> - return 1;
> - }
> - system("/etc/init.d/xinetd reload >/dev/null 2>&1");
> - }
> -
> - return 0;
> -}
> -
> -int main(int argc, char ** argv) {
> - int listItem = 0, addItem = 0, delItem = 0, overrideItem = 0;
> - int type = TYPE_ANY;
> - int rc, i, x;
> - char * levels = NULL;
> - char * typeString = NULL;
> - int help=0, version=0;
> - struct service s;
> - poptContext optCon;
> - struct poptOption optionsTable[] = {
> - { "add", '\0', 0, &addItem, 0 },
> - { "del", '\0', 0, &delItem, 0 },
> - { "override", '\0', 0, &overrideItem, 0 },
> - { "list", '\0', 0, &listItem, 0 },
> - { "level", '\0', POPT_ARG_STRING, &levels, 0 },
> - { "levels", '\0', POPT_ARG_STRING, &levels, 0 },
> - { "type", '\0', POPT_ARG_STRING, &typeString, 0 },
> - { "help", 'h', POPT_ARG_NONE, &help, 0 },
> - { "version", 'v', POPT_ARG_NONE, &version, 0 },
> - { 0, 0, 0, 0, 0 }
> - };
> -
> - if ((progname = strrchr(argv[0], '/')) != NULL)
> - progname++;
> - else
> - progname = argv[0];
> - if (!strcmp(progname,"install_initd")) {
> - addItem++;
> - LSB++;
> - }
> - if (!strcmp(progname,"remove_initd")) {
> - delItem++;
> - LSB++;
> - }
> -
> - setlocale(LC_ALL, "");
> - bindtextdomain("chkconfig","/usr/share/locale");
> - textdomain("chkconfig");
> -
> - optCon = poptGetContext("chkconfig", argc, argv, optionsTable, 0);
> - poptReadDefaultConfig(optCon, 1);
> -
> - if ((rc = poptGetNextOpt(optCon)) < -1) {
> - fprintf(stderr, "%s: %s\n",
> - poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
> - poptStrerror(rc));
> - exit(1);
> - }
> -
> - if (version) {
> - fprintf(stdout, _("%s version %s\n"), progname, VERSION);
> - exit(0);
> - }
> -
> - if (help) usage();
> -
> - if (typeString) {
> - if (!strcmp(typeString, "xinetd"))
> - type = TYPE_XINETD;
> - else if (!strcmp(typeString, "sysv"))
> - type = TYPE_INIT_D;
> - else {
> - fprintf(stderr, _("--type must be 'sysv' or 'xinetd'\n"));
> - exit(1);
> - }
> - }
> -
> - if (argc == 1) return listService(NULL, type);
> -
> - if ((listItem + addItem + delItem + overrideItem) > 1) {
> - fprintf(stderr, _("only one of --list, --add, --del, or --override"
> - " may be specified\n"));
> - exit(1);
> - }
> -
> - if (addItem) {
> - char * name = (char *)poptGetArg(optCon);
> -
> - if (!name || !*name || poptGetArg(optCon))
> - usage();
> -
> - name = basename(name);
> - return addService(name, type);
> - } else if (delItem) {
> - char * name = (char *)poptGetArg(optCon);
> -
> - if (!name || !*name || poptGetArg(optCon)) usage();
> -
> - name = basename(name);
> - return delService(name, type, -1);
> - } else if (overrideItem) {
> - char * name = (char *)poptGetArg(optCon);
> -
> - if (!name || !*name || poptGetArg(optCon)) usage();
> -
> - name = basename(name);
> - return overrideService(name, type);
> - } else if (listItem) {
> - char * item = (char *)poptGetArg(optCon);
> -
> - if (item && poptGetArg(optCon)) usage();
> -
> - return listService(item, type);
> - } else {
> - char * name = (char *)poptGetArg(optCon);
> - char * state = (char *)poptGetArg(optCon);
> - int where = 0, level = -1;
> -
> - if (!name) {
> - usage();
> - }
> - if (levels) {
> - where = parseLevels(levels, 0);
> - if (where == -1) usage();
> - }
> -
> - if (!state) {
> - if (where) {
> - rc = x = 0;
> - i = where;
> - while (i) {
> - if (i & 1) {
> - rc++;
> - level = x;
> - }
> - i >>= 1;
> - x++;
> - }
> -
> - if (rc > 1) {
> - fprintf(stderr, _("only one runlevel may be specified for "
> - "a chkconfig query\n"));
> - exit(1);
> - }
> - }
> - 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
> - return isOn(name, level) ? 0 : 1;
> - } else if (!strcmp(state, "on"))
> - return setService(name, type, where, 1);
> - else if (!strcmp(state, "off"))
> - return setService(name, type, where, 0);
> - else if (!strcmp(state, "reset"))
> - return setService(name, type, where, -1);
> - else if (!strcmp(state, "resetpriorities"))
> - return setService(name, type, where, -2);
> - else
> - usage();
> - }
> -
> - usage();
> -
> - return 1;
> -}
> --- chkconfig-1.3.44/chkconfig.spec
> +++ chkconfig-1.3.44/chkconfig.spec
> -Summary: A system tool for maintaining the /etc/rc*.d hierarchy
> -Name: chkconfig
> -Version: 1.3.44
> -Release: 1
> -License: GPLv2
> -Group: System Environment/Base
> -Source: %{name}-%{version}.tar.bz2
> -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
> -BuildRequires: newt-devel gettext popt-devel
> -Conflicts: initscripts <= 5.30-1
> -
> -%description
> -Chkconfig is a basic system utility. It updates and queries runlevel
> -information for system services. Chkconfig manipulates the numerous
> -symbolic links in /etc/rc.d, to relieve system administrators of some
> -of the drudgery of manually editing the symbolic links.
> -
> -%package -n ntsysv
> -Summary: A tool to set the stop/start of system services in a runlevel
> -Group: System Environment/Base
> -Requires: chkconfig = %{version}-%{release}
> -
> -%description -n ntsysv
> -Ntsysv provides a simple interface for setting which system services
> -are started or stopped in various runlevels (instead of directly
> -manipulating the numerous symbolic links in /etc/rc.d). Unless you
> -specify a runlevel or runlevels on the command line (see the man
> -page), ntsysv configures the current runlevel (5 if you're using X).
> -
> -%prep
> -%setup -q
> -
> -%build
> -
> -make RPM_OPT_FLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
> -
> -%install
> -rm -rf $RPM_BUILD_ROOT
> -make DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} SBINDIR=%{_sbindir} install
> -
> -mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
> -ln -s rc.d/init.d $RPM_BUILD_ROOT/etc/init.d
> -for n in 0 1 2 3 4 5 6; do
> - mkdir -p $RPM_BUILD_ROOT/etc/rc.d/rc${n}.d
> - ln -s rc.d/rc${n}.d $RPM_BUILD_ROOT/etc/rc${n}.d
> -done
> -mkdir -p $RPM_BUILD_ROOT/etc/chkconfig.d
> -
> -%find_lang %{name}
> -
> -%clean
> -rm -rf $RPM_BUILD_ROOT
> -
> -%files -f %{name}.lang
> -%defattr(-,root,root)
> -%doc COPYING
> -%dir /etc/alternatives
> -/sbin/chkconfig
> -%{_sbindir}/update-alternatives
> -%{_sbindir}/alternatives
> -/etc/chkconfig.d
> -/etc/init.d
> -/etc/rc.d/init.d
> -/etc/rc[0-6].d
> -/etc/rc.d/rc[0-6].d
> -%dir /var/lib/alternatives
> -%{_mandir}/*/chkconfig*
> -%{_mandir}/*/update-alternatives*
> -%{_mandir}/*/alternatives*
> -
> -%files -n ntsysv
> -%defattr(-,root,root)
> -%{_sbindir}/ntsysv
> -%{_mandir}/*/ntsysv.8*
> -
> -%changelog
> -* Tue Sep 29 2009 Bill Nottingham <notting at redhat.com> 1.3.44-1
> -- alternatives: update symlinks if they exist on installation (#104940)
> -- alternatives: clarify error messages with more context (#441443)
> -- alternatives: fix removal of manual links (#525021, <dtardon at redhat.com>)
> -- translation updates: ml, mr, pl, ta, uk
> -
> -* Mon Sep 14 2009 Bill Nottingham <notting at redhat.com> 1.3.43-1
> -- ntsysv man page tweak (#516599)
> -- another minor LSB tweak (#474223)
> -- translation updates
> -
> -* Fri Mar 6 2009 Bill Nottingham <notting at redhat.com> 1.3.42-1
> -- further LSB fixes (#474223)
> -- throw errors on various malformed init scripts (#481198)
> -- man page updates re: LSB (#487979)
> -- translation updates: mai, gu, pt_BR, ro, ca, pa, sr, fr, hu
> -
> -* Tue Jan 20 2009 Bill Nottingham <notting at redhat.com> 1.3.41-1
> -- restore return code & error on unconfigured services (#480805)
> -
> -* Fri Dec 5 2008 Bill Nottingham <notting at redhat.com> 1.3.40-1
> -- fix some overflows. (#176944)
> -- add --type parameter to specify either xinetd or sysv services.
> - (#467863, <mschmidt at redhat.com>
> -- do a permissions check before add/remove/on/off/resetpriorities. (#450254)
> -- parse Short-Description correctly (#441813, <peter_e at gmx.net>)
> -
> -* Thu Dec 4 2008 Bill Nottingham <notting at redhat.com> 1.3.39-1
> -- fail if dependencies fail on add/remove in LSB mode (#474223)
> -
> -* Wed Oct 29 2008 Bill Nottingham <notting at redhat.com> 1.3.38-1
> -- Fix runlevel list in man page (#466739)
> -- translation updates
> -
> -* Thu Nov 8 2007 Bill Nottingham <notting at redhat.com> 1.3.37-1
> -- make no options do --list (#290241, #176184)
> -- sr at Latn -> sr at latin
> -
> -* Tue Sep 25 2007 Bill Nottingham <notting at redhat.com> 1.3.36-1
> -- buildreq popt-devel, link it dynamically (#279531)
> -- translation updates: kn, ko, mr, ro
> -
> -* Fri Aug 3 2007 Bill Nottingham <notting at redhat.com> 1.3.35-1
> -- clarify licensing
> -
> -* Mon Apr 16 2007 Bill Nottingham <notting at redhat.com> 1.3.34-1
> -- translation updates: as, bg, bn_IN, bs, ca, de, fr, hi, hu, id, ja,
> - ka, ml, ms, nb, or, sk, sl
> -- add resetpriorities to the man page (#197399)
> -
> -* Tue Feb 6 2007 Bill Nottingham <notting at redhat.com> 1.3.33-1
> -- various changes from review - support alternate %%{_sbindir}, fix
> - summaries, add version to requires, assorted other bits
> -
> -* Fri Feb 2 2007 Bill Nottingham <notting at redhat.com> 1.3.32-1
> -- support overriding various defaults via /etc/chkconfig.d (<johnsonm at rpath.com>)
> -
> -* Thu Feb 1 2007 Bill Nottingham <notting at redhat.com> 1.3.31-1
> -- fix man page (#220558, <esr at thyrus.com>)
> -- add some more verbiage in alternatives man page (#221089)
> -- don't print usage message on a nonexstent service (#226804)
> -
> -* Fri Dec 1 2006 Bill Nottingham <notting at redhat.com> 1.3.30.1-1
> -- translation updates: as, ka, lv, ml, te (#216617)
> -
> -* Thu Sep 7 2006 Bill Nottingham <notting at redhat.com> 1.3.30-1
> -- license cleanup
> -
> -* Fri Feb 24 2006 Bill Nottingham <notting at redhat.com> 1.3.29-1
> -- fix accidental enabling of services on --add (#182729)
> -
> -* Mon Feb 13 2006 Bill Nottingham <notting at redhat.com> 1.3.27-1
> -- translation updates
> -
> -* Thu Feb 2 2006 Bill Nottingham <notting at redhat.com> 1.3.26-1
> -- add support for resetting priorities without on/off status (#178864)
> -
> -* Wed Nov 30 2005 Bill Nottingham <notting at redhat.com> 1.3.25-1
> -- return an error if changing services fails (#150235)
> -
> -* Fri Nov 18 2005 Bill Nottingham <notting at redhat.com> 1.3.24-1
> -- when removing alternatives links, check to make sure they're
> - actually links (#173685)
> -
> -* Fri Nov 11 2005 Bill Nottingham <notting at redhat.com> 1.3.23-1
> -- fix ntsysv (#172996)
> -
> -* Wed Nov 9 2005 Bill Nottingham <notting at redhat.com>
> -- fix doSetService call in frobOneDependencies
> -
> -* Tue Nov 8 2005 Bill Nottingham <notting at redhat.com>
> -- for LSB scripts, use any chkconfig: priorities as a basis,
> - instead of 50/50 (#172599)
> -- fix LSB script dependency setting when no chkconfig: line
> - is present (#161870, <jean-francois.larvoire at hp.com>)
> -- fix LSB script dependency setting when one of Required-Stop
> - or Required-Start: is missing (#168457)
> -
> -* Fri Oct 7 2005 Bill Nottingham <notting at redhat.com>
> -- fix segfault on directories in /etc/xinetd.d (#166385)
> -- don't needlessly rewrite xinetd files (#81008)
> -
> -* Thu May 5 2005 Bill Nottingham <notting at redhat.com> 1.3.20-1
> -- fix deletion of orphaned slave links (#131496, <mitr at redhat.com>)
> -
> -* Fri Apr 29 2005 Bill Nottingham <notting at redhat.com> 1.3.19-1
> -- build with updated translations
> -
> -* Thu Mar 3 2005 Bill Nottingham <notting at redhat.com> 1.3.18-1
> -- actually return an error code if changing a service info fails
> -
> -* Tue Feb 22 2005 Bill Nottingham <notting at redhat.com> 1.3.17-1
> -- more chkconfig: vs. LSB fixes (#149066)
> -
> -* Thu Feb 10 2005 Bill Nottingham <notting at redhat.com> 1.3.16-1
> -- prefer chkconfig: start/stop priorities in LSB mode unless
> - Required-Start/Stop are used
> -
> -* Mon Feb 7 2005 Bill Nottingham <notting at redhat.com> 1.3.15-1
> -- print usage when various invalid args are passed (#147393)
> -
> -* Wed Feb 2 2005 Bill Nottingham <notting at redhat.com> 1.3.14-1
> -- resize reasonably with larger screens (#74156)
> -- don't error out completely on bad symlink (#74324)
> -- use ngettext (#106176)
> -- error out on invalid start/stop values (#109858)
> -- some man page updates
> -- fix return code of chkconfig for xinetd services (#63123)
> -- sort chkconfig --list display (#61576, <shishz at alum.rpi.edu>)
> -
> -* Tue Jan 11 2005 Bill Nottingham <notting at redhat.com> 1.3.13-1
> -- fix LSB comment parsing some more (#144739)
> -
> -* Thu Oct 28 2004 Bill Nottingham <notting at redhat.com> 1.3.11.2-1
> -- fix manpage reference (#137492)
> -
> -* Fri Oct 1 2004 Bill Nottingham <notting at redhat.com> 1.3.11.1-1
> -- rebuild with updated translations
> -
> -* Fri Jun 4 2004 Bill Nottingham <notting at redhat.com> 1.3.11-1
> -- fix LSB comment parsing (#85678)
> -
> -* Wed May 29 2004 Bill Nottingham <notting at redhat.com> 1.3.10-1
> -- mark alternatives help output for translation (#110526)
> -
> -* Wed Oct 22 2003 Bill Nottingham <notting at redhat.com> 1.3.9-1
> -- update translations
> -
> -* Mon Jul 28 2003 Bill Nottingham <notting at redhat.com> 1.3.8-4
> -- rebuild
> -
> -* Tue May 13 2003 Dan Walsh <dwalsh at redhat.com> 1.3.8-3
> -- Update for RHEL
> -
> -* Thu May 8 2003 Dan Walsh <dwalsh at redhat.com> 1.3.8-2
> -- Fix readXinetdServiceInfo to return error on not regular files
> -- Fix chkconfig to not write messages if readXinetdServiceInfo gets an error
> -
> -* Fri Jan 31 2003 Bill Nottingham <notting at redhat.com> 1.3.8-1
> -- fix some wording in alternatives (#76213)
> -- actually mark alternatives for translation
> -
> -* Thu Dec 12 2002 Elliot Lee <sopwith at redhat.com> 1.3.7-1
> -- Link to libpopt in a multilib-safe fashion.
> -
> -* Thu Aug 29 2002 Trond Eivind Glomsrød <teg at redhat.com> 1.3.6-3
> -- bump
> -
> -* Thu Aug 15 2002 Bill Nottingham <notting at redhat.com> 1.3.6-2
> -- rebuild against new newt
> -
> -* Mon Aug 12 2002 Bill Nottingham <notting at redhat.com> 1.3.6-1
> -- make on and off handle runlevel 2 too (#70766)
> -
> -* Mon Apr 15 2002 Trond Eivind Glomsrød <teg at redhat.com> 1.3.5-3
> -- Update translations
> -
> -* Mon Apr 15 2002 Trond Eivind Glomsrød <teg at redhat.com> 1.3.5-2
> -- Update translations
> -
> -* Sun Apr 7 2002 Jeremy Katz <katzj at redhat.com> 1.3.5-1
> -- alternatives: handle default with --config properly (#62009)
> -
> -* Thu Mar 14 2002 Bill Nottingham <notting at redhat.com> 1.3.4-1
> -- don't apply the dependency logic to things that already have
> - start/stop priorities
> -- fix silly display bug in --config
> -
> -* Tue Mar 12 2002 Bill Nottingham <notting at redhat.com> 1.3.2-1
> -- chkconfig: LSB support
> -
> -* Fri Mar 8 2002 Bill Nottingham <notting at redhat.com>
> -- alternatives: handle initscripts too; --initscript command-line option
> -- chkconfig/ntsysv (and serviceconf, indirectly): services with
> - *no* links in /etc/rc*.d are no longer displayed with --list, or
> - available for configuration except via chkconfig command-line options
> -- alternatives: fix trying to enable disable a null service
> -
> -* Tue Mar 5 2002 Bill Nottingham <notting at redhat.com>
> -- alternatives: handle things with different numbers of slave links
> -
> -* Mon Mar 4 2002 Bill Nottingham <notting at redhat.com>
> -- minor alternatives tweaks: don't install the same thing multiple times
> -
> -* Wed Jan 30 2002 Bill Nottingham <notting at redhat.com>
> -- actually, put the alternatives stuff back in /usr/sbin
> -- ship /etc/alternatives dir
> -- random alternatives fixes
> -
> -* Sun Jan 27 2002 Erik Troan <ewt at redhat.com>
> -- reimplemented update-alternatives as just alternatives
> -
> -* Thu Jan 25 2002 Bill Nottingham <notting at redhat.com>
> -- add in update-alternatives stuff (perl ATM)
> -
> -* Mon Aug 27 2001 Trond Eivind Glomsrød <teg at redhat.com>
> -- Update translations
> -
> -* Tue Jun 12 2001 Bill Nottingham <notting at redhat.com>
> -- don't segfault on files that are exactly the length of a page size
> - (#44199, <kmori at redhat.com>)
> -
> -* Sun Mar 4 2001 Bill Nottingham <notting at redhat.com>
> -- don't show xinetd services in ntsysv if xinetd doesn't appear to be
> - installed (#30565)
> -
> -* Wed Feb 14 2001 Preston Brown <pbrown at redhat.com>
> -- final translation update.
> -
> -* Tue Feb 13 2001 Preston Brown <pbrown at redhat.com>
> -- warn in ntsysv if not running as root.
> -
> -* Fri Feb 2 2001 Preston Brown <pbrown at redhat.com>
> -- use lang finder script
> -
> -* Fri Feb 2 2001 Bill Nottingham <notting at redhat.com>
> -- finally fix the bug Nalin keeps complaining about :)
> -
> -* Wed Jan 24 2001 Preston Brown <pbrown at redhat.com>
> -- final i18n update before Beta.
> -
> -* Wed Oct 18 2000 Bill Nottingham <notting at redhat.com>
> -- ignore .rpmnew files (#18915)
> -- fix typo in error message (#17575)
> -
> -* Wed Aug 30 2000 Nalin Dahyabhai <nalin at redhat.com>
> -- make xinetd config files mode 0644, not 644
> -
> -* Thu Aug 24 2000 Erik Troan <ewt at redhat.com>
> -- updated it and es translations
> -
> -* Sun Aug 20 2000 Bill Nottingham <notting at redhat.com>
> -- get man pages in proper packages
> -
> -* Sun Aug 20 2000 Matt Wilson <msw at redhat.com>
> -- new translations
> -
> -* Tue Aug 16 2000 Nalin Dahyabhai <nalin at redhat.com>
> -- don't worry about extra whitespace on chkconfig: lines (#16150)
> -
> -* Wed Aug 10 2000 Trond Eivind Glomsrød <teg at redhat.com>
> -- i18n merge
> -
> -* Wed Jul 26 2000 Matt Wilson <msw at redhat.com>
> -- new translations for de fr it es
> -
> -* Tue Jul 25 2000 Bill Nottingham <notting at redhat.com>
> -- change prereqs
> -
> -* Sun Jul 23 2000 Bill Nottingham <notting at redhat.com>
> -- fix ntsysv's handling of xinetd/init files with the same name
> -
> -* Fri Jul 21 2000 Bill Nottingham <notting at redhat.com>
> -- fix segv when reading malformed files
> -
> -* Wed Jul 19 2000 Bill Nottingham <notting at redhat.com>
> -- put links, rc[0-6].d dirs back, those are necessary
> -
> -* Tue Jul 18 2000 Bill Nottingham <notting at redhat.com>
> -- add quick hack support for reading descriptions from xinetd files
> -
> -* Mon Jul 17 2000 Bernhard Rosenkraenzer <bero at redhat.com>
> -- don't own the /etc/rc[0-6].d symlinks; they're owned by initscripts
> -
> -* Sat Jul 15 2000 Matt Wilson <msw at redhat.com>
> -- move back to old file layout
> -
> -* Thu Jul 13 2000 Preston Brown <pbrown at redhat.com>
> -- bump copyright date
> -
> -* Tue Jul 11 2000 Bill Nottingham <notting at redhat.com>
> -- no %%pre today. Maybe tomorrow.
> -
> -* Thu Jul 6 2000 Bill Nottingham <notting at redhat.com>
> -- put initscripts %%pre here too
> -
> -* Mon Jul 3 2000 Bill Nottingham <notting at redhat.com>
> -- oops, if we don't prereq initscripts, we *need* to own /etc/rc[0-6].d
> -
> -* Sun Jul 2 2000 Bill Nottingham <notting at redhat.com>
> -- add xinetd support
> -
> -* Tue Jun 27 2000 Matt Wilson <msw at redhat.com>
> -- changed Prereq: initscripts >= 5.18 to Conflicts: initscripts < 5.18
> -- fixed sumary and description where a global string replace nuked them
> -
> -* Mon Jun 26 2000 Matt Wilson <msw at redhat.com>
> -- what Bill said, but actually build this version
> -
> -* Thu Jun 15 2000 Bill Nottingham <notting at redhat.com>
> -- don't own /etc/rc.*
> -
> -* Fri Feb 11 2000 Bill Nottingham <notting at redhat.com>
> -- typo in man page
> -
> -* Wed Feb 02 2000 Cristian Gafton <gafton at redhat.com>
> -- fix description
> -
> -* Wed Jan 12 2000 Bill Nottingham <notting at redhat.com>
> -- link chkconfig statically against popt
> -
> -* Mon Oct 18 1999 Bill Nottingham <notting at redhat.com>
> -- fix querying alternate levels
> -
> -* Mon Aug 23 1999 Jeff Johnson <jbj at redhat.com>
> -- don't use strchr to skip unwanted files, look at extension instead (#4166).
> -
> -* Thu Aug 5 1999 Bill Nottingham <notting at redhat.com>
> -- fix --help, --verson
> -
> -* Mon Aug 2 1999 Matt Wilson <msw at redhat.com>
> -- rebuilt ntsysv against newt 0.50
> -
> -* Mon Aug 2 1999 Jeff Johnson <jbj at redhat.com>
> -- fix i18n problem in usage message (#4233).
> -- add --help and --version.
> -
> -* Mon Apr 19 1999 Cristian Gafton <gafton at redhat.com>
> -- release for Red Hat 6.0
> -
> -* Thu Apr 8 1999 Matt Wilson <msw at redhat.com>
> -- added support for a "hide: true" tag in initscripts that will make
> - services not appear in ntsysv when run with the "--hide" flag
> -
> -* Thu Apr 1 1999 Matt Wilson <msw at redhat.com>
> -- added --hide flag for ntsysv that allows you to hide a service from the
> - user.
> -
> -* Mon Mar 22 1999 Bill Nottingham <notting at redhat.com>
> -- fix glob, once and for all. Really. We mean it.
> -
> -* Thu Mar 18 1999 Bill Nottingham <notting at redhat.com>
> -- revert fix for services at levels, it's broken
> -- change default to only edit the current runlevel
> -
> -* Mon Mar 15 1999 Bill Nottingham <notting at redhat.com>
> -- don't remove scripts that don't support chkconfig
> -
> -* Tue Mar 09 1999 Erik Troan <ewt at redhat.com>
> -- made glob a bit more specific so xinetd and inetd don't cause improper matches
> -
> -* Thu Feb 18 1999 Matt Wilson <msw at redhat.com>
> -- removed debugging output when starting ntsysv
> -
> -* Thu Feb 18 1999 Preston Brown <pbrown at redhat.com>
> -- fixed globbing error
> -- fixed ntsysv running services not at their specified levels.
> -
> -* Tue Feb 16 1999 Matt Wilson <msw at redhat.com>
> -- print the value of errno on glob failures.
> -
> -* Sun Jan 10 1999 Matt Wilson <msw at redhat.com>
> -- rebuilt for newt 0.40 (ntsysv)
> -
> -* Tue Dec 15 1998 Jeff Johnson <jbj at redhat.com>
> -- add ru.po.
> -
> -* Thu Oct 22 1998 Bill Nottingham <notting at redhat.com>
> -- build for Raw Hide (slang-1.2.2)
> -
> -* Wed Oct 14 1998 Cristian Gafton <gafton at redhat.com>
> -- translation updates
> -
> -* Thu Oct 08 1998 Cristian Gafton <gafton at redhat.com>
> -- updated czech translation (and use cs instead of cz)
> -
> -* Tue Sep 22 1998 Arnaldo Carvalho de Melo <acme at conectiva.com.br>
> -- added pt_BR translations
> -- added more translatable strings
> -- support for i18n init.d scripts description
> -
> -* Sun Aug 02 1998 Erik Troan <ewt at redhat.com>
> -- built against newt 0.30
> -- split ntsysv into a separate package
> -
> -* Thu May 07 1998 Erik Troan <ewt at redhat.com>
> -- added numerous translations
> -
> -* Mon Mar 23 1998 Erik Troan <ewt at redhat.com>
> -- added i18n support
> -
> -* Sun Mar 22 1998 Erik Troan <ewt at redhat.com>
> -- added --back
> --- chkconfig-1.3.44/leveldb.c
> +++ chkconfig-1.3.44/leveldb.c
> -/* Copyright 1997-2008 Red Hat, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License, version 2,
> - * as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
> - */
> -#include <alloca.h>
> -#include <ctype.h>
> -#include <dirent.h>
> -#include <errno.h>
> -#include <fcntl.h>
> -#include <glob.h>
> -#include <libintl.h>
> -#include <locale.h>
> -#include <sys/mman.h>
> -#include <sys/stat.h>
> -#include <stdlib.h>
> -#include <stdio.h>
> -#include <string.h>
> -#include <unistd.h>
> -
> -/* Changes
> - 1998-09-22 - Arnaldo Carvalho de Melo <acme at conectiva.com.br>
> - i18n for init.d scripts (eg.: description(pt_BR) is a brazilian
> - portuguese description for the package)
> -*/
> -
> -#define _(String) gettext((String))
> -
> -#include "leveldb.h"
> -
> -int parseLevels(char * str, int emptyOk) {
> - char * chptr = str;
> - int rc = 0;
> -
> - if (!str || !strlen(str))
> - return emptyOk ? 0 : -1;
> -
> - while (*chptr) {
> - if (!isdigit(*chptr) || *chptr > '6') return -1;
> - rc |= 1 << (*chptr - '0');
> - chptr++;
> - }
> -
> - return rc;
> -}
> -
> -int readDescription(char *start, char *bufstop, char **english_desc, char **serv_desc) {
> - char english;
> - char my_lang_loaded = 0;
> - char is_my_lang = 0;
> - char * lang = getenv ("LANG");
> - char * final_parenthesis;
> - char * end, *next;
> - int i;
> -
> - english = *start == ':';
> - end = strchr(start, '\n');
> - if (!end)
> - next = end = bufstop;
> - else
> - next = end + 1;
> -
> - if (!english) {
> - if (*start != '(') {
> - return 1;
> - }
> -
> - ++start;
> - final_parenthesis = strchr (start, ')');
> -
> - if (final_parenthesis == NULL || final_parenthesis - start > 5) {
> - return 1;
> - }
> -
> - is_my_lang = lang ? strncmp (lang, start, strlen (lang)) == 0 : 0;
> - start = final_parenthesis + 2;
> - } else ++start;
> -
> - while (isspace(*start) && start < end) start++;
> - if (start >= end) {
> - return 1;
> - }
> - {
> - char* desc = malloc(end - start + 1);
> - strncpy(desc, start, end - start);
> - desc[end - start] = '\0';
> -
> - start = next;
> -
> - while (desc[strlen(desc) - 1] == '\\') {
> - desc[strlen(desc) - 1] = '\0';
> - start = next;
> -
> - while (isspace(*start) && start < bufstop) start++;
> - if (start == bufstop || *start != '#') {
> - return 1;
> - }
> -
> - start++;
> -
> - while (isspace(*start) && start < bufstop) start++;
> - if (start == bufstop) {
> - return 1;
> - }
> -
> - end = strchr(start, '\n');
> - if (!end)
> - next = end = bufstop;
> - else
> - next = end + 1;
> -
> - i = strlen(desc);
> - desc = realloc(desc, i + end - start + 1);
> - strncat(desc, start, end - start);
> - desc[i + end - start] = '\0';
> -
> - start = next;
> - }
> -
> - if (desc) {
> - if (my_lang_loaded) {
> - free(desc);
> - } else if (is_my_lang) {
> - if (*serv_desc)
> - free(*serv_desc);
> -
> - *serv_desc = desc;
> - return 0;
> - } else if (english) {
> - if (*serv_desc)
> - free(*serv_desc);
> -
> - if (*english_desc)
> - free (*english_desc);
> -
> - *english_desc = desc;
> - } else free (desc);
> - }
> - }
> - return 0;
> -}
> -
> -int readXinetdServiceInfo(char *name, struct service * service, int honorHide) {
> - char * filename = alloca(strlen(name) + strlen(XINETDDIR) + 50);
> - int fd;
> - struct service serv = {
> - name: NULL,
> - levels: -1,
> - kPriority: -1,
> - sPriority: -1,
> - desc: NULL,
> - startDeps: NULL,
> - stopDeps: NULL,
> - provides: NULL,
> - type: TYPE_XINETD,
> - isLSB: 0,
> - enabled: -1
> - };
> - struct stat sb;
> - char * buf, *ptr;
> - char * eng_desc = NULL, *start;
> -
> - snprintf(filename, strlen(name)+strlen(XINETDDIR)+50, XINETDDIR "/%s", name);
> -
> - if ((fd = open(filename, O_RDONLY)) < 0) return -1;
> - fstat(fd,&sb);
> - if (! S_ISREG(sb.st_mode)) return -1;
> - buf = malloc(sb.st_size+1);
> - if (read(fd,buf,sb.st_size)!=sb.st_size) {
> - close(fd);
> - free(buf);
> - return -1;
> - }
> - 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;
> -}
> -
> -int readServices(struct service **services) {
> - DIR * dir;
> - struct dirent * ent;
> - struct stat sb;
> - struct service *servs = NULL;
> - int numservs = 0;
> - char fn[1024];
> -
> - if (!(dir = opendir(RUNLEVELS "/init.d"))) {
> - fprintf(stderr, _("failed to open %s/init.d: %s\n"), RUNLEVELS,
> - strerror(errno));
> - return 1;
> - }
> -
> - 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;
> -
> - sprintf(fn, RUNLEVELS "/init.d/%s", ent->d_name);
> - if (stat(fn, &sb)) {
> - continue;
> - }
> - if (!S_ISREG(sb.st_mode)) continue;
> - servs = realloc(servs, (numservs+1) * sizeof(struct service));
> - if (!readServiceInfo(ent->d_name, TYPE_INIT_D, servs + numservs, 0))
> - numservs++;
> - }
> - *services = servs;
> - return numservs;
> -}
> -
> -int readServiceInfo(char * name, int type, struct service * service, int honorHide) {
> - char * filename = alloca(strlen(name) + strlen(RUNLEVELS) + 50);
> - int fd;
> - struct service serv, serv_overrides;
> - int parseret;
> -
> - if (!(type & TYPE_INIT_D))
> - goto try_xinetd;
> -
> - sprintf(filename, RUNLEVELS "/init.d/%s", name);
> -
> - if ((fd = open(filename, O_RDONLY)) < 0)
> - goto try_xinetd;
> -
> - parseret = parseServiceInfo(fd, name, &serv, honorHide, 0);
> - if (parseret)
> - return parseret;
> -
> - sprintf(filename, RUNLEVELS "/chkconfig.d/%s", name);
> - if ((fd = open(filename, O_RDONLY)) >= 0) {
> - parseret = parseServiceInfo(fd, name, &serv_overrides, honorHide, 1);
> - if (parseret >= 0) {
> - if (serv_overrides.name) serv.name = serv_overrides.name;
> - if (serv_overrides.levels != -1) serv.levels = serv_overrides.levels;
> - if (serv_overrides.kPriority != -2) serv.kPriority = serv_overrides.kPriority;
> - if (serv_overrides.sPriority != -2) serv.sPriority = serv_overrides.sPriority;
> - if (serv_overrides.desc) serv.desc = serv_overrides.desc;
> - if (serv_overrides.startDeps) serv.startDeps = serv_overrides.startDeps;
> - if (serv_overrides.stopDeps) serv.stopDeps = serv_overrides.stopDeps;
> - if (serv_overrides.provides) serv.provides = serv_overrides.provides;
> - if (serv_overrides.isLSB || serv.isLSB) serv.isLSB = 1;
> - }
> - }
> -
> - *service = serv;
> - return 0;
> -
> -try_xinetd:
> - if (!(type & TYPE_XINETD))
> - return -1;
> - return readXinetdServiceInfo(name,service,honorHide);
> -}
> -
> -int readServiceDifferences(char * name, int type, struct service * service, struct service * service_overrides, int honorHide) {
> - char * filename = alloca(strlen(name) + strlen(RUNLEVELS) + 50);
> - int fd;
> - struct service serv, serv_overrides;
> - int parseret;
> -
> - if (!(type & TYPE_INIT_D))
> - goto try_xinetd;
> -
> - sprintf(filename, RUNLEVELS "/init.d/%s", name);
> -
> - if ((fd = open(filename, O_RDONLY)) < 0) {
> - goto try_xinetd;
> - }
> -
> - parseret = parseServiceInfo(fd, name, &serv, honorHide, 0);
> - if (parseret) {
> - return parseret;
> - }
> -
> - sprintf(filename, RUNLEVELS "/chkconfig.d/%s", name);
> - if ((fd = open(filename, O_RDONLY)) >= 0) {
> - parseret = parseServiceInfo(fd, name, &serv_overrides, honorHide, 1);
> - } else {
> - return 1;
> - }
> - if (parseret) {
> - return 1;
> - }
> -
> - *service = serv;
> - *service_overrides = serv_overrides;
> - return 0;
> -
> -try_xinetd:
> - if (!(type & TYPE_XINETD))
> - return -1;
> - return readXinetdServiceInfo(name,service,honorHide);
> -}
> -
> -
> -int parseServiceInfo(int fd, char * name, struct service * service, int honorHide, int partialOk) {
> - struct stat sb;
> - char * bufstart, * bufstop, * start, * end, * next, *tmpbufstart;
> - struct service serv = {
> - name: NULL,
> - levels: -1,
> - kPriority: -1,
> - sPriority: -1,
> - desc: NULL,
> - startDeps: NULL,
> - stopDeps: NULL,
> - provides: NULL,
> - type: TYPE_INIT_D,
> - isLSB: 0,
> - enabled: 0
> - };
> - char overflow;
> - char levelbuf[20];
> - char * english_desc = NULL;
> -
> - fstat(fd, &sb);
> -
> - bufstart = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, 0);
> - if (bufstart == ((caddr_t) -1)) {
> - close(fd);
> - return -1;
> - }
> -
> - tmpbufstart = (char*)malloc(sb.st_size+1);
> - if (tmpbufstart == NULL) {
> - close(fd);
> - return -1;
> - }
> -
> - memcpy(tmpbufstart, bufstart, sb.st_size);
> - munmap(bufstart, sb.st_size);
> -
> - bufstart = tmpbufstart;
> - bufstop = bufstart + sb.st_size;
> - *bufstop = 0;
> -
> - close(fd);
> -
> - next = bufstart;
> - while (next < bufstop && (serv.levels == -1 || !serv.desc)) {
> - start = next;
> -
> - while (isspace(*start) && start < bufstop) start++;
> - if (start == bufstop) break;
> -
> - end = strchr(start, '\n');
> - if (!end)
> - next = end = bufstop;
> - else
> - next = end + 1;
> -
> - if (*start != '#') continue;
> -
> - start++;
> - if (!strncmp(start, "## BEGIN INIT INFO", 18))
> - serv.isLSB = 1;
> -
> - while (isspace(*start) && start < end) start++;
> - if (start == end) continue;
> - if (honorHide && !strncmp(start, "hide:", 5)) {
> - start += 5;
> - while (isspace(*start) && start < end) start++;
> - if (start == end || !strncmp(start, "true", 4)) {
> - if (serv.desc) free(serv.desc);
> - free(bufstart);
> - return 1;
> - }
> - }
> -
> - if (!strncmp(start, "chkconfig:", 10)) {
> - int spri, kpri;
> -
> - start += 10;
> - while (isspace(*start) && start < end) start++;
> - if (start == end) {
> - if (serv.desc) free(serv.desc);
> - free(bufstart);
> - return 1;
> - }
> -
> - if ((sscanf(start, "%15s %d %d%c", levelbuf,
> - &spri, &kpri, &overflow) != 4) ||
> - !isspace(overflow)) {
> - if (serv.desc) free(serv.desc);
> - free(bufstart);
> - return 1;
> - }
> - if (spri > 99 || kpri > 99 || kpri < 0 || spri < 0) {
> - if (serv.desc) free(serv.desc);
> - free(bufstart);
> - return 1;
> - }
> - if (serv.sPriority == -1)
> - serv.sPriority = spri;
> - if (serv.kPriority == -1)
> - serv.kPriority = kpri;
> -
> - if (serv.levels == -1) {
> - if (!strcmp(levelbuf, "-"))
> - serv.levels = 0;
> - else
> - serv.levels = parseLevels(levelbuf, 0);
> - }
> - if (serv.levels == -1) {
> - if (serv.desc) free(serv.desc);
> - free(bufstart);
> - return 1;
> - }
> - } else if (!strncmp(start, "description", 11) ||
> - !strncmp(start, "Description:", 12)) {
> - if (readDescription(start+11, bufstop, &english_desc, &serv.desc)) {
> - if (serv.desc) free(serv.desc);
> - }
> - } else if (!strncmp(start, "Short-Description:", 18)) {
> - if (readDescription(start+17, bufstop, &english_desc, &serv.desc)) {
> - if (serv.desc) free(serv.desc);
> - }
> - } else if (!strncmp(start, "Default-Start:", 14)) {
> - char *t;
> -
> - start+=14;
> - while (1) {
> - int lev;
> -
> - lev = strtol(start, &t, 10);
> - if (t && t != start)
> - start = t;
> - else
> - break;
> - if (serv.levels == -1)
> - serv.levels = 0;
> - serv.levels |= 1 << lev;
> - }
> - } else if (!strncmp(start, "Default-Stop:", 13)) {
> - char *t;
> -
> - start+=13;
> - while (1) {
> - int lev;
> -
> - lev = strtol(start, &t, 10);
> - if (t && t != start)
> - start = t;
> - else
> - break;
> - if (serv.levels == -1)
> - serv.levels = 0;
> - serv.levels &= ~(1 << lev);
> - }
> - } else if (!strncmp(start, "Required-Start:", 15)) {
> - char *t;
> - int numdeps = 0;
> -
> - start+=15;
> - while (1) {
> - while (*start && isspace(*start) && start < end) start++;
> - if (start == end)
> - break;
> - t = start;
> - while (*t && !isspace(*t) && t < end) t++;
> - if (isspace(*t)) {
> - *t = '\0';
> - t++;
> - }
> - numdeps++;
> - serv.startDeps = realloc(serv.startDeps,
> - (numdeps + 1) * sizeof(struct dep));
> - serv.startDeps[numdeps-1].name = strdup(start);
> - serv.startDeps[numdeps-1].handled = 0;
> - memset(&serv.startDeps[numdeps],'\0',sizeof(struct dep));
> - if (!t || t >= end)
> - break;
> - else
> - start = t;
> - }
> - } else if (!strncmp(start, "Required-Stop:", 14)) {
> - char *t;
> - int numdeps = 0;
> -
> - start+=14;
> - while (1) {
> - while (*start && isspace(*start) && start < end) start++;
> - if (start == end)
> - break;
> - t = start;
> - while (*t && !isspace(*t) && t < end) t++;
> - if (isspace(*t)) {
> - *t = '\0';
> - t++;
> - }
> - numdeps++;
> - serv.stopDeps = realloc(serv.stopDeps,
> - (numdeps + 1) * sizeof(struct dep));
> - serv.stopDeps[numdeps-1].name = strdup(start);
> - serv.stopDeps[numdeps-1].handled = 0;
> - memset(&serv.stopDeps[numdeps],'\0',sizeof(struct dep));
> - if (!t || t >= end)
> - break;
> - else
> - start = t;
> - }
> - } else if (!strncmp(start, "Provides:", 9)) {
> - char *t;
> - int numdeps = 0;
> -
> - start+=9;
> - while (1) {
> - while (*start && isspace(*start) && start < end) start++;
> - if (start == end)
> - break;
> - t = start;
> - while (*t && !isspace(*t) && t < end) t++;
> - if (isspace(*t)) {
> - *t = '\0';
> - t++;
> - }
> - numdeps++;
> - serv.provides = realloc(serv.provides,
> - (numdeps + 1) * sizeof(char *));
> - serv.provides[numdeps-1] = strdup(start);
> - serv.provides[numdeps] = NULL;
> - if (!t || t >= end)
> - break;
> - else
> - start = t;
> - }
> -
> - }
> - }
> -
> - free(bufstart);
> -
> - if (!serv.desc) {
> - if (english_desc)
> - serv.desc = english_desc;
> - else
> - serv.desc = strdup(name);
> - } else if (english_desc)
> - free (english_desc);
> -
> - if (!partialOk && ((serv.levels == -1) || !serv.desc || (!serv.isLSB && (serv.sPriority == -1 || serv.kPriority == -1)))) {
> - return 1;
> - }
> -
> - serv.name = strdup(name);
> - if (!serv.provides) {
> - serv.provides = malloc(2 * sizeof(char *));
> - serv.provides[0] = strdup(name);
> - serv.provides[1] = NULL;
> - }
> -
> - *service = serv;
> - return 0;
> -}
> -
> -/* returns -1 on error */
> -int currentRunlevel(void) {
> - FILE * p;
> - char response[50];
> -
> - p = popen("/sbin/runlevel", "r");
> - if (!p) return -1;
> -
> - if (!fgets(response, sizeof(response), p)) {
> - pclose(p);
> - return -1;
> - }
> -
> - pclose(p);
> -
> - if (response[1] != ' ' || !isdigit(response[2]) || response[3] != '\n')
> - return -1;
> -
> - return response[2] - '0';
> -}
> -
> -int findServiceEntries(char * name, int level, glob_t * globresptr) {
> - char match[200];
> - glob_t globres;
> - int rc;
> -
> - sprintf(match, "%s/rc%d.d/[SK][0-9][0-9]%s", RUNLEVELS, level, name);
> -
> - rc = glob(match, GLOB_ERR | GLOB_NOSORT, NULL, &globres);
> -
> - if (rc && rc != GLOB_NOMATCH) {
> - fprintf(stderr, _("failed to glob pattern %s: %s\n"), match,
> - strerror(errno));
> - return 1;
> - } else if (rc == GLOB_NOMATCH) {
> - globresptr->gl_pathc = 0;
> - return 0;
> - }
> -
> - *globresptr = globres;
> - return 0;
> -}
> -
> -int isConfigured(char * name, int level, int *priority, char *type) {
> - glob_t globres;
> - char *pri_string;
> -
> - if (findServiceEntries(name, level, &globres))
> - exit(1);
> -
> - if (!globres.gl_pathc)
> - return 0;
> -
> - if (type) {
> - *type = globres.gl_pathv[0][11];
> - }
> -
> - if (priority) {
> - pri_string = strndup(globres.gl_pathv[0]+12, 2);
> - if (!pri_string) return 0;
> - sscanf(pri_string, "%d", priority);
> - free(pri_string);
> - }
> -
> - globfree(&globres);
> - return 1;
> -}
> -
> -int isOn(char * name, int level) {
> - glob_t globres;
> -
> - if (level == -1) {
> - level = currentRunlevel();
> - if (level == -1) {
> - fprintf(stderr, _("cannot determine current run level\n"));
> - return 0;
> - }
> - }
> -
> - if (findServiceEntries(name, level, &globres))
> - exit(1);
> -
> - if (!globres.gl_pathc || !strstr(globres.gl_pathv[0], "/S"))
> - return 0;
> -
> - globfree(&globres);
> - return 1;
> -}
> -
> -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;
> -
> - 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);
> - newfd = mkstemp(newfname);
> - 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);
> - chmod(newfname,0644);
> - unlink(oldfname);
> - return(rename(newfname,oldfname));
> -}
> -
> -int doSetService(struct service s, int level, int on) {
> - int priority = on ? s.sPriority : s.kPriority;
> - char linkname[200];
> - char linkto[200];
> - glob_t globres;
> - int i;
> -
> - if (!findServiceEntries(s.name, level, &globres)) {
> - for (i = 0; i < globres.gl_pathc; i++)
> - unlink(globres.gl_pathv[i]);
> - if (globres.gl_pathc) globfree(&globres);
> - }
> -
> - sprintf(linkname, "%s/rc%d.d/%c%02d%s", RUNLEVELS, level,
> - on ? 'S' : 'K', priority, s.name);
> - sprintf(linkto, "../init.d/%s", s.name);
> -
> - unlink(linkname); /* just in case */
> - if (symlink(linkto, linkname)) {
> - fprintf(stderr, _("failed to make symlink %s: %s\n"), linkname,
> - strerror(errno));
> - return 1;
> - }
> -
> - return 0;
> -}
> -
> --- chkconfig-1.3.44/leveldb.h
> +++ chkconfig-1.3.44/leveldb.h
> -/* Copyright 1997-2008 Red Hat, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License, version 2,
> - * as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
> - */
> -#ifndef H_LEVELDB
> -#define H_LEVELDB
> -
> -#define RUNLEVELS "/etc"
> -#define XINETDDIR "/etc/xinetd.d"
> -
> -#include <glob.h>
> -
> -#define TYPE_INIT_D 0x1
> -#define TYPE_XINETD 0x2
> -#define TYPE_ANY (TYPE_INIT_D | TYPE_XINETD)
> -
> -struct dep {
> - char *name;
> - int handled;
> -};
> -
> -struct service {
> - char * name;
> - int levels, kPriority, sPriority;
> - char * desc;
> - struct dep *startDeps;
> - struct dep *stopDeps;
> - char **provides;
> - int type;
> - int isLSB;
> - int enabled;
> -};
> -
> -int parseLevels(char * str, int emptyOk);
> -
> -/* returns 0 on success, 1 if the service is not chkconfig-able, -1 if an
> - I/O error occurs (in which case errno can be checked) */
> -int readServiceInfo(char * name, int type, struct service * service, int honorHide);
> -int readServices(struct service **services);
> -int readServiceDifferences(char * name, int type, struct service * service, struct service * service_overrides, int honorHide);
> -int parseServiceInfo(int fd, char * name, struct service * service, int honorHide, int partialOk);
> -int currentRunlevel(void);
> -int isOn(char * name, int where);
> -int isConfigured(char * name, int level, int *priority, char *type);
> -int doSetService(struct service s, int level, int on);
> -int findServiceEntries(char * name, int level, glob_t * globresptr);
> -int readXinetdServiceInfo(char *name, struct service *service, int honorHide);
> -int setXinetdService(struct service s, int on);
> -
> -#endif
> --- chkconfig-1.3.44/ntsysv.8
> +++ chkconfig-1.3.44/ntsysv.8
> (renamed to chkconfig-1.3.46/ntsysv.8)
> --- chkconfig-1.3.44/ntsysv.c
> +++ chkconfig-1.3.44/ntsysv.c
> -/* Copyright 1997-2007 Red Hat, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License, version 2,
> - * as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
> - */
> -#include <alloca.h>
> -#include <ctype.h>
> -#include <dirent.h>
> -#include <errno.h>
> -#include <libintl.h>
> -#include <locale.h>
> -#include <newt.h>
> -#include <popt.h>
> -#include <stdio.h>
> -#include <stdlib.h>
> -#include <string.h>
> -#include <sys/stat.h>
> -#include <unistd.h>
> -
> -#define _(String) gettext((String))
> -
> -#include "leveldb.h"
> -
> -/* return 1 on cancel, 2 on error, 0 on success */
> -static int servicesWindow(struct service * services, int numServices,
> - int levels, int backButton) {
> - newtComponent label, subform, ok, cancel;
> - newtComponent * checkboxes, form, curr, blank;
> - newtComponent sb = NULL;
> - newtGrid grid, subgrid, buttons;
> - char * states;
> - int i, done = 0, update = 0, j;
> - int width, height;
> - struct newtExitStruct e;
> -
> - newtPushHelpLine(_("Press <F1> for more information on a service."));
> -
> - newtGetScreenSize(&width, &height);
> - width = width > 80 ? width - 60 : 20;
> - height = height > 25 ? height - 17 : 8;
> -
> -
> - sb = newtVerticalScrollbar(-1, -1, height, NEWT_COLORSET_CHECKBOX,
> - NEWT_COLORSET_ACTCHECKBOX);
> -
> - subform = newtForm(sb, NULL, 0);
> - newtFormSetBackground(subform, NEWT_COLORSET_CHECKBOX);
> - newtFormSetHeight(subform, height);
> -
> - checkboxes = alloca(sizeof(*checkboxes) * numServices);
> - states = alloca(sizeof(*states) * numServices);
> -
> - for (i = 0; i < numServices; i++) {
> - if (services[i].type == TYPE_XINETD) {
> - checkboxes[i] = newtCheckbox(-1, i, services[i].name,
> - services[i].levels ? '*' : ' ', NULL,
> - states + i);
> - } else {
> - for (j = 0; j < 7; j++) {
> - if (levels & (1 << j)) {
> - if (isOn(services[i].name, j)) break;
> - }
> - }
> - checkboxes[i] = newtCheckbox(-1, i, services[i].name,
> - (j != 7) ? '*' : ' ', NULL,
> - states + i);
> - }
> - newtFormAddComponent(subform, checkboxes[i]);
> - }
> -
> - newtFormSetWidth(subform, width);
> -
> - buttons = newtButtonBar(_("Ok"), &ok, backButton ? _("Back") : _("Cancel"),
> - &cancel, NULL);
> -
> - blank = newtForm(NULL, NULL, 0);
> - newtFormSetWidth(blank, 2);
> - newtFormSetHeight(blank, height);
> - newtFormSetBackground(blank, NEWT_COLORSET_CHECKBOX);
> -
> - subgrid = newtGridHCloseStacked(NEWT_GRID_COMPONENT, subform,
> - NEWT_GRID_COMPONENT, blank,
> - NEWT_GRID_COMPONENT, sb, NULL);
> -
> - label = newtTextboxReflowed(-1, -1, _("What services should be "
> - "automatically started?"), 30, 0, 20, 0);
> - grid = newtGridBasicWindow(label, subgrid, buttons);
> -
> - form = newtForm(NULL, NULL, 0);
> - newtGridAddComponentsToForm(grid, form, 1);
> - newtGridWrappedWindow(grid, _("Services"));
> - newtGridFree(grid, 1);
> -
> - newtFormAddHotKey(form, NEWT_KEY_F1);
> -
> - while (!done) {
> - newtFormRun(form, &e);
> -
> - if (e.reason == NEWT_EXIT_HOTKEY) {
> - if (e.u.key == NEWT_KEY_F12) {
> - done = 1;
> - update = 1;
> - } else {
> - /* must be F1 */
> - curr = newtFormGetCurrent(subform);
> - for (i = 0; i < numServices; i++)
> - if (curr == checkboxes[i]) break;
> -
> - if (i < numServices && services[i].desc)
> - newtWinMessage(services[i].name, _("Ok"), services[i].desc);
> - }
> - } else {
> - done = 1;
> - update = (e.u.co == ok);
> - }
> - }
> -
> - newtPopWindow();
> - newtFormDestroy(form);
> -
> - if (!update) 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 {
> - for (j = 0; j < 7; j++) {
> - if (levels & (1 << j))
> - doSetService(services[i], j, states[i] == '*');
> - }
> - }
> - }
> -
> - return 0;
> -}
> -
> -static int serviceNameCmp(const void * a, const void * b) {
> - const struct service * first = a;
> - const struct service * second = b;
> -
> - return strcmp(first->name, second->name);
> -}
> -
> -static int getServices(struct service ** servicesPtr, int * numServicesPtr,
> - int backButton, int honorHide) {
> - DIR * dir;
> - struct dirent * ent;
> - struct stat sb;
> - char fn[1024];
> - struct service * services;
> - int numServices = 0;
> - int numServicesAlloced, rc;
> - int err = 0;
> -
> - numServicesAlloced = 10;
> - services = malloc(sizeof(*services) * numServicesAlloced);
> -
> - if (!(dir = opendir(RUNLEVELS "/init.d"))) {
> - fprintf(stderr, "failed to open " RUNLEVELS "/init.d: %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, RUNLEVELS "/init.d/%s", ent->d_name);
> - if (stat(fn, &sb))
> - {
> - fprintf(stderr, _("error reading info for service %s: %s\n"),
> - ent->d_name, strerror(errno));
> - continue;
> - }
> - if (!S_ISREG(sb.st_mode)) continue;
> -
> - if (numServices == numServicesAlloced) {
> - numServicesAlloced += 10;
> - services = realloc(services,
> - numServicesAlloced * sizeof(*services));
> - }
> -
> - rc = readServiceInfo(ent->d_name, TYPE_INIT_D, services + numServices, honorHide);
> -
> - if (!rc) {
> - int i;
> -
> - rc = -2;
> - for (i = 0 ; i < 7 ; i++) {
> - if (isConfigured(ent->d_name, i, NULL, NULL)) {
> - rc = 0;
> - break;
> - }
> - }
> - }
> -
> - 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++;
> - }
> -
> - 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, honorHide);
> -
> - 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;
> - }
> - }
> -
> - qsort(services, numServices, sizeof(*services), serviceNameCmp);
> -
> - *servicesPtr = services;
> - *numServicesPtr = numServices;
> -
> - return 0;
> -}
> -
> -int main(int argc, char ** argv) {
> - struct service * services;
> - int numServices;
> - int levels = -1;
> - char * levelsStr = NULL;
> - char *progName;
> - poptContext optCon;
> - int rc, backButton = 0, hide = 0;
> - struct poptOption optionsTable[] = {
> - { "back", '\0', 0, &backButton, 0 },
> - { "level", '\0', POPT_ARG_STRING, &levelsStr, 0 },
> - { "hide", '\0', 0, &hide, 0 },
> - { 0, 0, 0, 0, 0 }
> - };
> -
> - setlocale(LC_ALL, "");
> - bindtextdomain("chkconfig", "/usr/share/locale");
> - textdomain("chkconfig");
> -
> - progName = argv[0];
> -
> - if (getuid() != 0) {
> - fprintf(stderr, _("You must be root to run %s.\n"),progName);
> - exit(1);
> - }
> -
> - optCon = poptGetContext(progName, argc, argv, optionsTable, 0);
> - poptReadDefaultConfig(optCon, 1);
> -
> - if ((rc = poptGetNextOpt(optCon)) < -1) {
> - fprintf(stderr, "%s: %s\n",
> - poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
> - poptStrerror(rc));
> - exit(1);
> - }
> -
> - if (levelsStr) {
> - levels = parseLevels(levelsStr, 0);
> - if (levels == -1) {
> - fprintf(stderr, _("bad argument to --levels\n"));
> - exit(2);
> - }
> - }
> -
> - if (getServices(&services, &numServices, backButton, hide)) return 1;
> - if (!numServices) {
> - fprintf(stderr, _("No services may be managed by ntsysv!\n"));
> - return 2;
> - }
> -
> - newtInit();
> - newtCls();
> -
> - newtPushHelpLine(NULL);
> - newtDrawRootText(0, 0,
> - "ntsysv " VERSION " - (C) 2000-2001 Red Hat, Inc. ");
> -
> - if (levels==-1)
> - levels=(1<<currentRunlevel());
> -
> - rc = servicesWindow(services, numServices, levels, backButton);
> -
> - newtFinished();
> -
> - return rc;
> -}
> --- chkconfig-1.3.44/po
> +++ chkconfig-1.3.44/po
> -(directory)
> --- chkconfig-1.3.44/po/ChangeLog
> +++ chkconfig-1.3.44/po/ChangeLog
> (renamed to chkconfig-1.3.46/po/ChangeLog)
> --- chkconfig-1.3.44/po/Makefile
> +++ chkconfig-1.3.44/po/Makefile
> (renamed to chkconfig-1.3.46/po/Makefile)
> --- chkconfig-1.3.44/po/ar.po
> +++ chkconfig-1.3.44/po/ar.po
> (renamed to chkconfig-1.3.46/po/ar.po)
> --- chkconfig-1.3.44/po/as.po
> +++ chkconfig-1.3.44/po/as.po
> (renamed to chkconfig-1.3.46/po/as.po)
> --- chkconfig-1.3.44/po/bal.po
> +++ chkconfig-1.3.44/po/bal.po
> (renamed to chkconfig-1.3.46/po/bal.po)
> --- chkconfig-1.3.44/po/be.po
> +++ chkconfig-1.3.44/po/be.po
> (renamed to chkconfig-1.3.46/po/be.po)
> --- chkconfig-1.3.44/po/bg.po
> +++ chkconfig-1.3.44/po/bg.po
> (renamed to chkconfig-1.3.46/po/bg.po)
> --- chkconfig-1.3.44/po/bn.po
> +++ chkconfig-1.3.44/po/bn.po
> (renamed to chkconfig-1.3.46/po/bn.po)
> --- chkconfig-1.3.44/po/bn_IN.po
> +++ chkconfig-1.3.44/po/bn_IN.po
> (renamed to chkconfig-1.3.46/po/bn_IN.po)
> --- chkconfig-1.3.44/po/bs.po
> +++ chkconfig-1.3.44/po/bs.po
> (renamed to chkconfig-1.3.46/po/bs.po)
> --- chkconfig-1.3.44/po/ca.po
> +++ chkconfig-1.3.44/po/ca.po
> (renamed to chkconfig-1.3.46/po/ca.po)
> --- chkconfig-1.3.44/po/chkconfig.pot
> +++ chkconfig-1.3.44/po/chkconfig.pot
> -# SOME DESCRIPTIVE TITLE.
> -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
> -# This file is distributed under the same license as the PACKAGE package.
> -# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
> -#
> -#, fuzzy
> -msgid ""
> -msgstr ""
> -"Project-Id-Version: PACKAGE VERSION\n"
> -"Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2009-03-09 15:56-0400\n"
> -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
> -"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
> -"Language-Team: LANGUAGE <LL at li.org>\n"
> -"MIME-Version: 1.0\n"
> -"Content-Type: text/plain; charset=CHARSET\n"
> -"Content-Transfer-Encoding: 8bit\n"
> -
> -#: ../chkconfig.c:38
> -#, c-format
> -msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:39
> -#, c-format
> -msgid ""
> -"This may be freely redistributed under the terms of the GNU Public License.\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:42
> -#, c-format
> -msgid "usage: %s [--list] [--type <type>] [name]\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:43
> -#, c-format
> -msgid " %s --add <name>\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:44
> -#, c-format
> -msgid " %s --del <name>\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:45
> -#, c-format
> -msgid " %s --override <name>\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:46
> -#, c-format
> -msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:53
> -#, c-format
> -msgid ""
> -"service %s supports chkconfig, but is not referenced in any runlevel (run "
> -"'chkconfig --add %s')\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:55
> -#, c-format
> -msgid "service %s does not support chkconfig\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:57
> -#, c-format
> -msgid "error reading information on service %s: %s\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:66
> -#, c-format
> -msgid "You do not have enough privileges to perform this operation.\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:379 ../chkconfig.c:384 ../chkconfig.c:498
> -msgid "on"
> -msgstr ""
> -
> -#: ../chkconfig.c:379 ../chkconfig.c:384 ../chkconfig.c:498
> -msgid "off"
> -msgstr ""
> -
> -#: ../chkconfig.c:460
> -#, c-format
> -msgid "xinetd based services:\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:462
> -#, c-format
> -msgid "failed to open directory %s: %s\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:606
> -#, c-format
> -msgid "%s version %s\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:618
> -#, c-format
> -msgid "--type must be 'sysv' or 'xinetd'\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:626
> -#, c-format
> -msgid "only one of --list, --add, --del, or --override may be specified\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:686
> -#, c-format
> -msgid "only one runlevel may be specified for a chkconfig query\n"
> -msgstr ""
> -
> -#: ../ntsysv.c:46
> -msgid "Press <F1> for more information on a service."
> -msgstr ""
> -
> -#: ../ntsysv.c:83 ../ntsysv.c:120
> -msgid "Ok"
> -msgstr ""
> -
> -#: ../ntsysv.c:83
> -msgid "Back"
> -msgstr ""
> -
> -#: ../ntsysv.c:83
> -msgid "Cancel"
> -msgstr ""
> -
> -#: ../ntsysv.c:95
> -msgid "What services should be automatically started?"
> -msgstr ""
> -
> -#: ../ntsysv.c:101
> -msgid "Services"
> -msgstr ""
> -
> -#: ../ntsysv.c:183 ../ntsysv.c:210 ../ntsysv.c:248
> -#, c-format
> -msgid "error reading info for service %s: %s\n"
> -msgstr ""
> -
> -#: ../ntsysv.c:257
> -#, c-format
> -msgid "error reading from directory %s: %s\n"
> -msgstr ""
> -
> -#: ../ntsysv.c:293
> -#, c-format
> -msgid "You must be root to run %s.\n"
> -msgstr ""
> -
> -#: ../ntsysv.c:310
> -#, c-format
> -msgid "bad argument to --levels\n"
> -msgstr ""
> -
> -#: ../ntsysv.c:317
> -#, c-format
> -msgid "No services may be managed by ntsysv!\n"
> -msgstr ""
> -
> -#: ../leveldb.c:259
> -#, c-format
> -msgid "failed to open %s/init.d: %s\n"
> -msgstr ""
> -
> -#: ../leveldb.c:667
> -#, c-format
> -msgid "failed to glob pattern %s: %s\n"
> -msgstr ""
> -
> -#: ../leveldb.c:710
> -#, c-format
> -msgid "cannot determine current run level\n"
> -msgstr ""
> -
> -#: ../leveldb.c:798
> -#, c-format
> -msgid "failed to make symlink %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:63
> -#, c-format
> -msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> -msgstr ""
> -
> -#: ../alternatives.c:64
> -#, c-format
> -msgid ""
> -"This may be freely redistributed under the terms of the GNU Public License.\n"
> -"\n"
> -msgstr ""
> -
> -#: ../alternatives.c:65
> -#, c-format
> -msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> -msgstr ""
> -
> -#: ../alternatives.c:66
> -#, c-format
> -msgid " [--initscript <service>]\n"
> -msgstr ""
> -
> -#: ../alternatives.c:67
> -#, c-format
> -msgid " [--slave <link> <name> <path>]*\n"
> -msgstr ""
> -
> -#: ../alternatives.c:68
> -#, c-format
> -msgid " alternatives --remove <name> <path>\n"
> -msgstr ""
> -
> -#: ../alternatives.c:69
> -#, c-format
> -msgid " alternatives --auto <name>\n"
> -msgstr ""
> -
> -#: ../alternatives.c:70
> -#, c-format
> -msgid " alternatives --config <name>\n"
> -msgstr ""
> -
> -#: ../alternatives.c:71
> -#, c-format
> -msgid " alternatives --display <name>\n"
> -msgstr ""
> -
> -#: ../alternatives.c:72
> -#, c-format
> -msgid " alternatives --set <name> <path>\n"
> -msgstr ""
> -
> -#: ../alternatives.c:73
> -#, c-format
> -msgid "\n"
> -msgstr ""
> -
> -#: ../alternatives.c:74
> -#, c-format
> -msgid "common options: --verbose --test --help --usage --version\n"
> -msgstr ""
> -
> -#: ../alternatives.c:75
> -#, c-format
> -msgid " --altdir <directory> --admindir <directory>\n"
> -msgstr ""
> -
> -#: ../alternatives.c:172
> -#, c-format
> -msgid "reading %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:176
> -#, c-format
> -msgid "failed to open %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:185
> -#, c-format
> -msgid "failed to read %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:194
> -#, c-format
> -msgid "%s empty!\n"
> -msgstr ""
> -
> -#: ../alternatives.c:203
> -#, c-format
> -msgid "bad mode on line 1 of %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:210
> -#, c-format
> -msgid "bad primary link in %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:222
> -#, c-format
> -msgid "path %s unexpected in %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:231
> -#, c-format
> -msgid "missing path for slave %s in %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:241
> -#, c-format
> -msgid "unexpected end of file in %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:250
> -#, c-format
> -msgid "path to alternate expected in %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:270
> -#, c-format
> -msgid "numeric priority expected in %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:292
> -#, c-format
> -msgid "slave path expected in %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:311
> -#, c-format
> -msgid "unexpected line in %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:319
> -#, c-format
> -msgid "failed to read link %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:333
> -#, c-format
> -msgid "link points to no alternative -- setting mode to manual\n"
> -msgstr ""
> -
> -#: ../alternatives.c:338
> -#, c-format
> -msgid "link changed -- setting mode to manual\n"
> -msgstr ""
> -
> -#: ../alternatives.c:366 ../alternatives.c:373
> -#, c-format
> -msgid "would remove %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:368 ../alternatives.c:375 ../alternatives.c:406
> -#, c-format
> -msgid "failed to remove link %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:391 ../alternatives.c:403
> -#, c-format
> -msgid "would link %s -> %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:395 ../alternatives.c:412
> -#, c-format
> -msgid "failed to link %s -> %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:444
> -#, c-format
> -msgid "%s already exists\n"
> -msgstr ""
> -
> -#: ../alternatives.c:446
> -#, c-format
> -msgid "failed to create %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:477
> -#, c-format
> -msgid "failed to replace %s with %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:503 ../alternatives.c:512
> -#, c-format
> -msgid "running %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:539
> -#, c-format
> -msgid "the primary link for %s must be %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:619
> -#, c-format
> -msgid "link %s incorrect for slave %s (%s %s)\n"
> -msgstr ""
> -
> -#: ../alternatives.c:660
> -#, c-format
> -msgid "%s - status is auto.\n"
> -msgstr ""
> -
> -#: ../alternatives.c:662
> -#, c-format
> -msgid "%s - status is manual.\n"
> -msgstr ""
> -
> -#: ../alternatives.c:664
> -#, c-format
> -msgid " link currently points to %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:667
> -#, c-format
> -msgid "%s - priority %d\n"
> -msgstr ""
> -
> -#: ../alternatives.c:670
> -#, c-format
> -msgid " slave %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:675
> -#, c-format
> -msgid "Current `best' version is %s.\n"
> -msgstr ""
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There is %d program that provides '%s'.\n"
> -msgstr ""
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There are %d programs which provide '%s'.\n"
> -msgstr ""
> -
> -#: ../alternatives.c:707
> -#, c-format
> -msgid " Selection Command\n"
> -msgstr ""
> -
> -#: ../alternatives.c:716
> -#, c-format
> -msgid "Enter to keep the current selection[+], or type selection number: "
> -msgstr ""
> -
> -#: ../alternatives.c:719
> -#, c-format
> -msgid ""
> -"\n"
> -"error reading choice\n"
> -msgstr ""
> -
> -#: ../alternatives.c:746 ../alternatives.c:772
> -#, c-format
> -msgid "%s has not been configured as an alternative for %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:788
> -#, c-format
> -msgid "(would remove %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:790
> -#, c-format
> -msgid "failed to remove %s: %s\n"
> -msgstr ""
> -
> -#: ../alternatives.c:912
> -#, c-format
> -msgid "altdir %s invalid\n"
> -msgstr ""
> -
> -#: ../alternatives.c:918
> -#, c-format
> -msgid "admindir %s invalid\n"
> -msgstr ""
> -
> -#: ../alternatives.c:928
> -#, c-format
> -msgid "alternatives version %s\n"
> -msgstr ""
> --- chkconfig-1.3.44/po/cs.po
> +++ chkconfig-1.3.44/po/cs.po
> (renamed to chkconfig-1.3.46/po/cs.po)
> --- chkconfig-1.3.44/po/cy.po
> +++ chkconfig-1.3.44/po/cy.po
> (renamed to chkconfig-1.3.46/po/cy.po)
> --- chkconfig-1.3.44/po/da.po
> +++ chkconfig-1.3.44/po/da.po
> (renamed to chkconfig-1.3.46/po/da.po)
> --- chkconfig-1.3.44/po/de.po
> +++ chkconfig-1.3.44/po/de.po
> (renamed to chkconfig-1.3.46/po/de.po)
> --- chkconfig-1.3.44/po/el.po
> +++ chkconfig-1.3.44/po/el.po
> -# Greek translation of chkconf.
> -# Copyright (C) 2002, 2004 Free Software Foundation, Inc.
> -# Simos Xenitellis <simos at hellug.gr>, 2002.
> -# Nikos Charonitakis <charosn at her.forthnet.gr>, 2004.
> -# jiannis bonatakis <california17 at gmail.com>,2008 Nikos Charonitakis <charosn at her.forthnet.gr>, 2008.
> -# Pierros Papadeas <ppapadeas at gmail.com>, 2008
> -#
> -msgid ""
> -msgstr ""
> -"Project-Id-Version: el.po\n"
> -"Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2009-03-06 01:38-0500\n"
> -"PO-Revision-Date: 2009-05-20 12:38+0200\n"
> -"Last-Translator: \n"
> -"Language-Team: Greek <nls at tux.hellug.gr>\n"
> -"MIME-Version: 1.0\n"
> -"Content-Type: text/plain; charset=UTF-8\n"
> -"Content-Transfer-Encoding: 8bit\n"
> -"X-Poedit-Language: Greek\n"
> -
> -#: ../chkconfig.c:38
> -#, c-format
> -msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> -msgstr "%s έκδοση %s - Πνευματικά δικαιώματα (C) 1997-2000 Red Hat, Inc.\n"
> -
> -#: ../chkconfig.c:39
> -#, c-format
> -msgid "This may be freely redistributed under the terms of the GNU Public License.\n"
> -msgstr "Μπορείτε να το αναδιανείμετε σύμφωνα με τους όρους της Δημόσιας Άδειας GNU.\n"
> -
> -#: ../chkconfig.c:42
> -#, c-format
> -msgid "usage: %s [--list] [--type <type>] [name]\n"
> -msgstr "χρήση: %s [--list] [--type <τύπος>] [όνομα]\n"
> -
> -#: ../chkconfig.c:43
> -#, c-format
> -msgid " %s --add <name>\n"
> -msgstr " %s --add <όνομα>\n"
> -
> -#: ../chkconfig.c:44
> -#, c-format
> -msgid " %s --del <name>\n"
> -msgstr " %s --del <όνομα>\n"
> -
> -#: ../chkconfig.c:45
> -#, c-format
> -msgid " %s --override <name>\n"
> -msgstr " %s --override <όνομα>\n"
> -
> -#: ../chkconfig.c:46
> -#, c-format
> -msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> -msgstr " %s [--level <επίπεδα>] [--type <τύπος>] <όνομα> %s\n"
> -
> -#: ../chkconfig.c:53
> -#, c-format
> -msgid "service %s supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add %s')\n"
> -msgstr "η υπηρεσία %s υποστηρίζει το chkconfig αλλά δεν έχει καταχωρηθεί σε κανένα runlevel (εκτελέστε 'chkconfig --add %s')\n"
> -
> -#: ../chkconfig.c:55
> -#, c-format
> -msgid "service %s does not support chkconfig\n"
> -msgstr "η υπηρεσία %s δεν υποστηρίζει το chkconfig\n"
> -
> -#: ../chkconfig.c:57
> -#, c-format
> -msgid "error reading information on service %s: %s\n"
> -msgstr "σφάλμα ανάγνωσης πληροφοριών επί της υπηρεσίας %s: %s\n"
> -
> -#: ../chkconfig.c:66
> -#, c-format
> -msgid "You do not have enough privileges to perform this operation.\n"
> -msgstr "Δεν έχετε επαρκή δικαιώματα για να εκτελέσετε αυτή την λειτουργία.\n"
> -
> -#: ../chkconfig.c:379
> -#: ../chkconfig.c:384
> -#: ../chkconfig.c:498
> -msgid "on"
> -msgstr "ενεργό"
> -
> -#: ../chkconfig.c:379
> -#: ../chkconfig.c:384
> -#: ../chkconfig.c:498
> -msgid "off"
> -msgstr "ανενεργό"
> -
> -#: ../chkconfig.c:460
> -#, c-format
> -msgid "xinetd based services:\n"
> -msgstr "υπηρεσίες βασισμένες στο xinetd:\n"
> -
> -#: ../chkconfig.c:462
> -#, c-format
> -msgid "failed to open directory %s: %s\n"
> -msgstr "αποτυχία ανοίγματος του καταλόγου %s: %s\n"
> -
> -#: ../chkconfig.c:606
> -#, c-format
> -msgid "%s version %s\n"
> -msgstr "%s έκδοση %s\n"
> -
> -#: ../chkconfig.c:618
> -#, c-format
> -msgid "--type must be 'sysv' or 'xinetd'\n"
> -msgstr "το --type πρέπει να είναι 'sysv' ή 'xinetd'\n"
> -
> -#: ../chkconfig.c:626
> -#, c-format
> -msgid "only one of --list, --add, --del, or --override may be specified\n"
> -msgstr "μπορούν να καθοριστούν μόνο ένα από τα --list, --add ή --del\n"
> -
> -#: ../chkconfig.c:686
> -#, c-format
> -msgid "only one runlevel may be specified for a chkconfig query\n"
> -msgstr ""
> -"μόνο ένα επίπεδο εκτέλεσης μπορεί να καθοριστεί σε \n"
> -"κάθε χρήση του chkconfig\n"
> -
> -#: ../ntsysv.c:46
> -msgid "Press <F1> for more information on a service."
> -msgstr "Πατήστε <F1> για περισσότερες πληροφορίες για μια υπηρεσία."
> -
> -#: ../ntsysv.c:83
> -#: ../ntsysv.c:120
> -msgid "Ok"
> -msgstr "Εντάξει"
> -
> -#: ../ntsysv.c:83
> -msgid "Back"
> -msgstr "Πίσω"
> -
> -#: ../ntsysv.c:83
> -msgid "Cancel"
> -msgstr "Ακύρωση"
> -
> -#: ../ntsysv.c:95
> -msgid "What services should be automatically started?"
> -msgstr "Ποιές υπηρεσίες θέλετε να εκκινούνται αυτόματα;"
> -
> -#: ../ntsysv.c:101
> -msgid "Services"
> -msgstr "Υπηρεσίες"
> -
> -#: ../ntsysv.c:183
> -#: ../ntsysv.c:210
> -#: ../ntsysv.c:248
> -#, c-format
> -msgid "error reading info for service %s: %s\n"
> -msgstr "σφάλμα ανάγνωσης πληροφοριών για την υπηρεσία %s: %s\n"
> -
> -#: ../ntsysv.c:257
> -#, c-format
> -msgid "error reading from directory %s: %s\n"
> -msgstr "σφάλμα ανάγνωσης από τον κατάλογο %s: %s\n"
> -
> -#: ../ntsysv.c:293
> -#, c-format
> -msgid "You must be root to run %s.\n"
> -msgstr "Πρέπει να είστε υπερχρήστης για να εκτελέσετε το %s.\n"
> -
> -#: ../ntsysv.c:310
> -#, c-format
> -msgid "bad argument to --levels\n"
> -msgstr "εσφαλμένο όρισμα στο --levels\n"
> -
> -#: ../ntsysv.c:317
> -#, c-format
> -msgid "No services may be managed by ntsysv!\n"
> -msgstr "Δεν υπάρχουν υπηρεσίες που μπορεί να διαχειριστεί το ntsysv!\n"
> -
> -#: ../leveldb.c:259
> -#, c-format
> -msgid "failed to open %s/init.d: %s\n"
> -msgstr "αποτυχία ανοίγματος του %s/init.d: %s\n"
> -
> -#: ../leveldb.c:667
> -#, c-format
> -msgid "failed to glob pattern %s: %s\n"
> -msgstr "αποτυχία ανάπτυξης σχεδίου %s: %s\n"
> -
> -#: ../leveldb.c:710
> -#, c-format
> -msgid "cannot determine current run level\n"
> -msgstr "αδύνατος ο καθορισμός του τρέχοντος επιπέδου εκτέλεσης\n"
> -
> -#: ../leveldb.c:798
> -#, c-format
> -msgid "failed to make symlink %s: %s\n"
> -msgstr "αποτυχία δημιουργίας συμβολικού συνδέσμου %s: %s\n"
> -
> -#: ../alternatives.c:63
> -#, c-format
> -msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> -msgstr "έκδοση alternatives %s - Πνευματικά δικαιώματα (C) 2001 Red Hat, Inc.\n"
> -
> -#: ../alternatives.c:64
> -#, c-format
> -msgid ""
> -"This may be freely redistributed under the terms of the GNU Public License.\n"
> -"\n"
> -msgstr ""
> -"Μπορείτε να το αναδιανείμετε σύμφωνα με τους όρους της Δημόσιας Άδειας GNU Public Licence.\n"
> -"\n"
> -
> -#: ../alternatives.c:65
> -#, c-format
> -msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> -msgstr "χρήση:·alternatives·--install·<σύνδεση>·<όνομα>·<διαδρομή>·<προτεραιότητα>\n"
> -
> -#: ../alternatives.c:66
> -#, c-format
> -msgid " [--initscript <service>]\n"
> -msgstr " [--initscript <service>]\n"
> -
> -#: ../alternatives.c:67
> -#, c-format
> -msgid " [--slave <link> <name> <path>]*\n"
> -msgstr " [--slave <σύνδεση> <όνομα> <διαδρομή>]*\n"
> -
> -#: ../alternatives.c:68
> -#, c-format
> -msgid " alternatives --remove <name> <path>\n"
> -msgstr "·······alternatives·--remove·<όνομα>·<διαδρομή>\n"
> -
> -#: ../alternatives.c:69
> -#, c-format
> -msgid " alternatives --auto <name>\n"
> -msgstr " alternatives --auto <όνομα>\n"
> -
> -#: ../alternatives.c:70
> -#, c-format
> -msgid " alternatives --config <name>\n"
> -msgstr " alternatives --config <όνομα>\n"
> -
> -#: ../alternatives.c:71
> -#, c-format
> -msgid " alternatives --display <name>\n"
> -msgstr " alternatives --display <όνομα>\n"
> -
> -#: ../alternatives.c:72
> -#, c-format
> -msgid " alternatives --set <name> <path>\n"
> -msgstr " alternatives --set <όνομα> <διαδρομή>\n"
> -
> -#: ../alternatives.c:73
> -#, c-format
> -msgid "\n"
> -msgstr "\n"
> -
> -#: ../alternatives.c:74
> -#, c-format
> -msgid "common options: --verbose --test --help --usage --version\n"
> -msgstr "συνήθεις επιλογές: --verbose --test --help --usage --version\n"
> -
> -#: ../alternatives.c:75
> -#, c-format
> -msgid " --altdir <directory> --admindir <directory>\n"
> -msgstr " --altdir·<κατλογος>·--admindir·<κατάλογος>\n"
> -
> -#: ../alternatives.c:172
> -#, c-format
> -msgid "reading %s\n"
> -msgstr "ανάγνωση %s\n"
> -
> -#: ../alternatives.c:176
> -#, c-format
> -msgid "failed to open %s: %s\n"
> -msgstr "αποτυχία ανοίγματος του %s: %s\n"
> -
> -#: ../alternatives.c:185
> -#, c-format
> -msgid "failed to read %s: %s\n"
> -msgstr "αποτυχία ανάγνωσης του %s: %s\n"
> -
> -#: ../alternatives.c:194
> -#, c-format
> -msgid "%s empty!\n"
> -msgstr "%s κενό!\n"
> -
> -#: ../alternatives.c:203
> -#, c-format
> -msgid "bad mode on line 1 of %s\n"
> -msgstr "μη έγκυρη χρήση στη γραμμή 1 του %s\n"
> -
> -#: ../alternatives.c:210
> -#, c-format
> -msgid "bad primary link in %s\n"
> -msgstr "μη έγκυρη πρωτεύουσα σύνδεση στο %s\n"
> -
> -#: ../alternatives.c:222
> -#, c-format
> -msgid "path %s unexpected in %s\n"
> -msgstr "διαδρομή %s μη αναμενόμενη στη %s\n"
> -
> -#: ../alternatives.c:231
> -#, c-format
> -msgid "missing path for slave %s in %s\n"
> -msgstr "λείπει η διαδρομή για το δευτερεύον %s στη %s\n"
> -
> -#: ../alternatives.c:241
> -#, c-format
> -msgid "unexpected end of file in %s\n"
> -msgstr "απρόσμενο τέλος αρχείου στη %s\n"
> -
> -#: ../alternatives.c:250
> -#, c-format
> -msgid "path to alternate expected in %s\n"
> -msgstr "αναμένεται διαδρομή για αλλαγή στο %s\n"
> -
> -#: ../alternatives.c:270
> -#, c-format
> -msgid "numeric priority expected in %s\n"
> -msgstr "αναμένεται αριθμητική προτεραιότητα στο %s\n"
> -
> -#: ../alternatives.c:292
> -#, c-format
> -msgid "slave path expected in %s\n"
> -msgstr "αναμονή δευτερεύουσας διαδρομής στο·%s\n"
> -
> -#: ../alternatives.c:311
> -#, c-format
> -msgid "unexpected line in %s: %s\n"
> -msgstr "απρόσμενη γραμμή στη %s: %s\n"
> -
> -#: ../alternatives.c:319
> -#, c-format
> -msgid "failed to read link %s: %s\n"
> -msgstr "αποτυχία ανάγνωσης σύνδεσης %s: %s\n"
> -
> -#: ../alternatives.c:333
> -#, c-format
> -msgid "link points to no alternative -- setting mode to manual\n"
> -msgstr "οι συνδέσεις δεν δείχνουν σε alternative -- ορισμός χειρωνακτικής κατάστασης\n"
> -
> -#: ../alternatives.c:338
> -#, c-format
> -msgid "link changed -- setting mode to manual\n"
> -msgstr "η σύνδεση τροποποιήθηκε -- ορισμός χειρωνακτικής κατάστασης\n"
> -
> -#: ../alternatives.c:366
> -#: ../alternatives.c:373
> -#, c-format
> -msgid "would remove %s\n"
> -msgstr "προς μετακίνηση %s\n"
> -
> -#: ../alternatives.c:368
> -#: ../alternatives.c:375
> -#: ../alternatives.c:406
> -#, c-format
> -msgid "failed to remove link %s: %s\n"
> -msgstr "αποτυχία διαγραφής σύνδεσης %s: %s\n"
> -
> -#: ../alternatives.c:391
> -#: ../alternatives.c:403
> -#, c-format
> -msgid "would link %s -> %s\n"
> -msgstr "προς σύνδεση %s -> %s\n"
> -
> -#: ../alternatives.c:395
> -#: ../alternatives.c:412
> -#, c-format
> -msgid "failed to link %s -> %s: %s\n"
> -msgstr "αποτυχία δημιουργίας σύνδεσης %s -> %s: %s\n"
> -
> -#: ../alternatives.c:444
> -#, c-format
> -msgid "%s already exists\n"
> -msgstr "το %s υπάρχει ήδη\n"
> -
> -#: ../alternatives.c:446
> -#, c-format
> -msgid "failed to create %s: %s\n"
> -msgstr "αποτυχία δημιουργίας %s: %s\n"
> -
> -#: ../alternatives.c:477
> -#, c-format
> -msgid "failed to replace %s with %s: %s\n"
> -msgstr "αποτυχία αντικατάστασης %s με %s: %s\n"
> -
> -#: ../alternatives.c:503
> -#: ../alternatives.c:512
> -#, c-format
> -msgid "running %s\n"
> -msgstr "εκτελείται %s\n"
> -
> -#: ../alternatives.c:539
> -#, c-format
> -msgid "the primary link for %s must be %s\n"
> -msgstr "η κύρια σύνδεση για·%s·πρέπει να είναι·%s\n"
> -
> -#: ../alternatives.c:619
> -#, c-format
> -msgid "link %s incorrect for slave %s (%s %s)\n"
> -msgstr "σύνδεση·%s·λανθασμένη για δευτερεύουσα·%s·(%s·%s)\n"
> -
> -#: ../alternatives.c:660
> -#, c-format
> -msgid "%s - status is auto.\n"
> -msgstr "%s·-· αυτόματη κατάσταση.\n"
> -
> -#: ../alternatives.c:662
> -#, c-format
> -msgid "%s - status is manual.\n"
> -msgstr "%s·- χειροκίνητη κατάσταση.\n"
> -
> -#: ../alternatives.c:664
> -#, c-format
> -msgid " link currently points to %s\n"
> -msgstr "η σύνδεση αυτή τη στιγμιαία δείχνει στο·%s\n"
> -
> -#: ../alternatives.c:667
> -#, c-format
> -msgid "%s - priority %d\n"
> -msgstr "%s - προτεραιότητα %d\n"
> -
> -#: ../alternatives.c:670
> -#, c-format
> -msgid " slave %s: %s\n"
> -msgstr " δευτερεύουσα %s: %s\n"
> -
> -#: ../alternatives.c:675
> -#, c-format
> -msgid "Current `best' version is %s.\n"
> -msgstr "Τωρινή 'καλύτερη' έκδοση είναι·%s.\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There is %d program that provides '%s'.\n"
> -msgstr "Υπάρχει %d πρόγραμμα που παρέχει '%s'.\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There are %d programs which provide '%s'.\n"
> -msgstr "Υπάρχουν %d προγράμματα που παρέχουν '%s'.\n"
> -
> -#: ../alternatives.c:707
> -#, c-format
> -msgid " Selection Command\n"
> -msgstr " Επιλογή Εντολή\n"
> -
> -#: ../alternatives.c:716
> -#, c-format
> -msgid "Enter to keep the current selection[+], or type selection number: "
> -msgstr "Πατήστε Enter για να διατηρήσετε την τρέχουσα επιλογή[+], ή πληκτρολόγησε αριθμό επιλογής·"
> -
> -#: ../alternatives.c:719
> -#, c-format
> -msgid ""
> -"\n"
> -"error reading choice\n"
> -msgstr ""
> -"\n"
> -"σφάλμα ανάγνωσης επιλογής\n"
> -
> -#: ../alternatives.c:746
> -#: ../alternatives.c:772
> -#, c-format
> -msgid "%s has not been configured as an alternative for %s\n"
> -msgstr "%s δεν έχει ρυθμιστεί ως μια εναλλακτική για·%s\n"
> -
> -#: ../alternatives.c:788
> -#, c-format
> -msgid "(would remove %s\n"
> -msgstr "(προς απομάκρυνση %s\n"
> -
> -#: ../alternatives.c:790
> -#, c-format
> -msgid "failed to remove %s: %s\n"
> -msgstr "αποτυχία απομάκρυνσης του %s: %s\n"
> -
> -#: ../alternatives.c:912
> -#, c-format
> -msgid "altdir %s invalid\n"
> -msgstr "altdir %s δεν είναι έγκυρο\n"
> -
> -#: ../alternatives.c:918
> -#, c-format
> -msgid "admindir %s invalid\n"
> -msgstr "admindir %s δεν είναι έγκυρο\n"
> -
> -#: ../alternatives.c:928
> -#, c-format
> -msgid "alternatives version %s\n"
> -msgstr "έκδοση alternatives %s\n"
> -
> -#~ msgid "error reading from directory %s/init.d: %s\n"
> -#~ msgstr "σφάλμα ανάγνωσης από τον κατάλογο %s/init.d: %s\n"
> -
> --- chkconfig-1.3.44/po/en_GB.po
> +++ chkconfig-1.3.44/po/en_GB.po
> (renamed to chkconfig-1.3.46/po/en_GB.po)
> --- chkconfig-1.3.44/po/es.po
> +++ chkconfig-1.3.44/po/es.po
> (renamed to chkconfig-1.3.46/po/es.po)
> --- chkconfig-1.3.44/po/et.po
> +++ chkconfig-1.3.44/po/et.po
> (renamed to chkconfig-1.3.46/po/et.po)
> --- chkconfig-1.3.44/po/fi.po
> +++ chkconfig-1.3.44/po/fi.po
> (renamed to chkconfig-1.3.46/po/fi.po)
> --- chkconfig-1.3.44/po/fr.po
> +++ chkconfig-1.3.44/po/fr.po
> (renamed to chkconfig-1.3.46/po/fr.po)
> --- chkconfig-1.3.44/po/gl.po
> +++ chkconfig-1.3.44/po/gl.po
> (renamed to chkconfig-1.3.46/po/gl.po)
> --- chkconfig-1.3.44/po/gu.po
> +++ chkconfig-1.3.44/po/gu.po
> (renamed to chkconfig-1.3.46/po/gu.po)
> --- chkconfig-1.3.44/po/he.po
> +++ chkconfig-1.3.44/po/he.po
> (renamed to chkconfig-1.3.46/po/he.po)
> --- chkconfig-1.3.44/po/hi.po
> +++ chkconfig-1.3.44/po/hi.po
> (renamed to chkconfig-1.3.46/po/hi.po)
> --- chkconfig-1.3.44/po/hr.po
> +++ chkconfig-1.3.44/po/hr.po
> (renamed to chkconfig-1.3.46/po/hr.po)
> --- chkconfig-1.3.44/po/hu.po
> +++ chkconfig-1.3.44/po/hu.po
> -# Arpad Biro <biro_arpad at yahoo.com>, 2004, 2005, 2007.
> -msgid ""
> -msgstr ""
> -"Project-Id-Version: chkconfig\n"
> -"Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2009-01-22 14:20-0500\n"
> -"PO-Revision-Date: 2009-03-06 07:47+0100\n"
> -"Last-Translator: Sulyok Péter <peti at sulyok.hu>\n"
> -"Language-Team: Hungarian <fedora-trans-hu at redhat.com>\n"
> -"MIME-Version: 1.0\n"
> -"Content-Type: text/plain; charset=UTF-8\n"
> -"Content-Transfer-Encoding: 8bit\n"
> -"Plural-Forms: nplurals=2; plural=(n != 1);"
> -
> -#: ../chkconfig.c:38
> -#, c-format
> -msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> -msgstr "%s %s változat – Szerzői jog (C) Red Hat, Inc., 1997-2000.\n"
> -
> -#: ../chkconfig.c:39
> -#, c-format
> -msgid ""
> -"This may be freely redistributed under the terms of the GNU Public License.\n"
> -msgstr ""
> -"Ez a szoftver szabadon terjeszthető a GNU Public License feltételei "
> -"szerint.\n"
> -
> -#: ../chkconfig.c:42
> -#, c-format
> -msgid "usage: %s [--list] [--type <type>] [name]\n"
> -msgstr "használat: %s [--list] [--type <típus>] [név]\n"
> -
> -#: ../chkconfig.c:43
> -#, c-format
> -msgid " %s --add <name>\n"
> -msgstr " %s --add <név>\n"
> -
> -#: ../chkconfig.c:44
> -#, c-format
> -msgid " %s --del <name>\n"
> -msgstr " %s --del <név>\n"
> -
> -#: ../chkconfig.c:45
> -#, c-format
> -msgid " %s --override <name>\n"
> -msgstr " %s --override <név>\n"
> -
> -#: ../chkconfig.c:46
> -#, c-format
> -msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> -msgstr " %s [--level <szintek>] [--type <típus>] <név> %s\n"
> -
> -#: ../chkconfig.c:53
> -#, c-format
> -msgid ""
> -"service %s supports chkconfig, but is not referenced in any runlevel (run "
> -"'chkconfig --add %s')\n"
> -msgstr ""
> -"%s szolgáltatás támogatja a chkconfigot, de egyik futási szinten sem "
> -"szerepel (adja ki a „chkconfig --add %s” parancsot)\n"
> -
> -#: ../chkconfig.c:55
> -#, c-format
> -msgid "service %s does not support chkconfig\n"
> -msgstr "%s szolgáltatás nem támogatja a chkconfigot\n"
> -
> -#: ../chkconfig.c:57
> -#, c-format
> -msgid "error reading information on service %s: %s\n"
> -msgstr "hiba történt %s szolgáltatás adatainak beolvasásakor: %s\n"
> -
> -#: ../chkconfig.c:66
> -#, c-format
> -msgid "You do not have enough privileges to perform this operation.\n"
> -msgstr "Nincs elég joga e művelet elvégzéséhez.\n"
> -
> -#: ../chkconfig.c:357 ../chkconfig.c:362 ../chkconfig.c:476
> -msgid "on"
> -msgstr "be"
> -
> -#: ../chkconfig.c:357 ../chkconfig.c:362 ../chkconfig.c:476
> -msgid "off"
> -msgstr "ki"
> -
> -#: ../chkconfig.c:438
> -#, c-format
> -msgid "xinetd based services:\n"
> -msgstr "xinetd-alapú szolgáltatások:\n"
> -
> -#: ../chkconfig.c:440
> -#, c-format
> -msgid "failed to open directory %s: %s\n"
> -msgstr "nem sikerült megnyitni %s könyvtárt: %s\n"
> -
> -#: ../chkconfig.c:584
> -#, c-format
> -msgid "%s version %s\n"
> -msgstr "%s %s\n"
> -
> -#: ../chkconfig.c:596
> -#, c-format
> -msgid "--type must be 'sysv' or 'xinetd'\n"
> -msgstr "--type csak „sysv” vagy „xinetd” lehet\n"
> -
> -#: ../chkconfig.c:604
> -#, c-format
> -msgid "only one of --list, --add, --del, or --override may be specified\n"
> -msgstr "a --list, --add, --del és --override közül csak egyet lehet megadni\n"
> -
> -#: ../chkconfig.c:664
> -#, c-format
> -msgid "only one runlevel may be specified for a chkconfig query\n"
> -msgstr "csak egy futási szintet lehet megadni egy chkconfig-lekérdezésben\n"
> -
> -#: ../ntsysv.c:46
> -msgid "Press <F1> for more information on a service."
> -msgstr "Egy szolgáltatás jellemzőinek lekérdezéséhez nyomjon <F1>-et!"
> -
> -#: ../ntsysv.c:83 ../ntsysv.c:120
> -msgid "Ok"
> -msgstr "OK"
> -
> -#: ../ntsysv.c:83
> -msgid "Back"
> -msgstr "Vissza"
> -
> -#: ../ntsysv.c:83
> -msgid "Cancel"
> -msgstr "Mégsem"
> -
> -#: ../ntsysv.c:95
> -msgid "What services should be automatically started?"
> -msgstr "Mely szolgáltatások induljanak el automatikusan?"
> -
> -#: ../ntsysv.c:101
> -msgid "Services"
> -msgstr "Szolgáltatások"
> -
> -#: ../ntsysv.c:183 ../ntsysv.c:210 ../ntsysv.c:248
> -#, c-format
> -msgid "error reading info for service %s: %s\n"
> -msgstr "hiba történt %s szolgáltatás adatainak beolvasásakor: %s\n"
> -
> -#: ../ntsysv.c:257
> -#, c-format
> -msgid "error reading from directory %s: %s\n"
> -msgstr "hiba történt %s könyvtár olvasása közben: %s\n"
> -
> -#: ../ntsysv.c:293
> -#, c-format
> -msgid "You must be root to run %s.\n"
> -msgstr "%s futtatása csak rendszergazdai jogosultsággal lehetséges.\n"
> -
> -#: ../ntsysv.c:310
> -#, c-format
> -msgid "bad argument to --levels\n"
> -msgstr "hibás argumentum a --levels opcióhoz\n"
> -
> -#: ../ntsysv.c:317
> -#, c-format
> -msgid "No services may be managed by ntsysv!\n"
> -msgstr "Egy szolgáltatás sem kezelhető az ntsysv programmal.\n"
> -
> -#: ../leveldb.c:259
> -#, c-format
> -msgid "failed to open %s/init.d: %s\n"
> -msgstr "%s/init.d megnyitása nem sikerült: %s\n"
> -
> -#: ../leveldb.c:667
> -#, c-format
> -msgid "failed to glob pattern %s: %s\n"
> -msgstr "nem sikerült értelmezni %s mintát: %s\n"
> -
> -#: ../leveldb.c:710
> -#, c-format
> -msgid "cannot determine current run level\n"
> -msgstr "nem sikerült megállapítani az aktuális futási szintet\n"
> -
> -#: ../leveldb.c:798
> -#, c-format
> -msgid "failed to make symlink %s: %s\n"
> -msgstr "%s szimbolikus link létrehozása nem sikerült: %s\n"
> -
> -#: ../alternatives.c:63
> -#, c-format
> -msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> -msgstr "alternatives %s - Szerzői jog ©Red Hat Inc., 2001.\n"
> -
> -#: ../alternatives.c:64
> -#, c-format
> -msgid ""
> -"This may be freely redistributed under the terms of the GNU Public License.\n"
> -"\n"
> -msgstr ""
> -"Ez a szoftver szabadon terjeszthető a GNU Public License feltételei "
> -"szerint.\n"
> -"\n"
> -
> -#: ../alternatives.c:65
> -#, c-format
> -msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> -msgstr ""
> -"Használat: alternatives --install <link> <név> <elérési út> <prioritás>\n"
> -
> -#: ../alternatives.c:66
> -#, c-format
> -msgid " [--initscript <service>]\n"
> -msgstr " [--initscript <szolgáltatás>]\n"
> -
> -#: ../alternatives.c:67
> -#, c-format
> -msgid " [--slave <link> <name> <path>]*\n"
> -msgstr " [--slave <link> <név> <elérési út>]*\n"
> -
> -#: ../alternatives.c:68
> -#, c-format
> -msgid " alternatives --remove <name> <path>\n"
> -msgstr " alternatives --remove <név> <elérési út>\n"
> -
> -#: ../alternatives.c:69
> -#, c-format
> -msgid " alternatives --auto <name>\n"
> -msgstr " alternatives --auto <név>\n"
> -
> -#: ../alternatives.c:70
> -#, c-format
> -msgid " alternatives --config <name>\n"
> -msgstr " alternatives --config <név>\n"
> -
> -#: ../alternatives.c:71
> -#, c-format
> -msgid " alternatives --display <name>\n"
> -msgstr " alternatives --display <név>\n"
> -
> -#: ../alternatives.c:72
> -#, c-format
> -msgid " alternatives --set <name> <path>\n"
> -msgstr " alternatives --set <név> <elérési út>\n"
> -
> -#: ../alternatives.c:73
> -#, c-format
> -msgid "\n"
> -msgstr "\n"
> -
> -#: ../alternatives.c:74
> -#, c-format
> -msgid "common options: --verbose --test --help --usage --version\n"
> -msgstr "általános opciók: --verbose --test --help --usage --version\n"
> -
> -#: ../alternatives.c:75
> -#, c-format
> -msgid " --altdir <directory> --admindir <directory>\n"
> -msgstr " --altdir <könyvtár> --admindir <könyvtár>\n"
> -
> -#: ../alternatives.c:172
> -#, c-format
> -msgid "reading %s\n"
> -msgstr "%s olvasása\n"
> -
> -#: ../alternatives.c:176
> -#, c-format
> -msgid "failed to open %s: %s\n"
> -msgstr "%s megnyitása nem sikerült: %s\n"
> -
> -#: ../alternatives.c:185
> -#, c-format
> -msgid "failed to read %s: %s\n"
> -msgstr "%s olvasása nem sikerült: %s\n"
> -
> -#: ../alternatives.c:194
> -#, c-format
> -msgid "%s empty!\n"
> -msgstr "%s üres.\n"
> -
> -#: ../alternatives.c:203
> -#, c-format
> -msgid "bad mode on line 1 of %s\n"
> -msgstr "hibás mód %s első sorában\n"
> -
> -#: ../alternatives.c:210
> -#, c-format
> -msgid "bad primary link in %s\n"
> -msgstr "hibás elsődleges link ebben: %s\n"
> -
> -#: ../alternatives.c:222
> -#, c-format
> -msgid "path %s unexpected in %s\n"
> -msgstr "nem várt elérési út (%s) ebben: %s\n"
> -
> -#: ../alternatives.c:231
> -#, c-format
> -msgid "missing path for slave %s in %s\n"
> -msgstr "hiányzó elérési út %s slave-hez ebben: %s\n"
> -
> -#: ../alternatives.c:241
> -#, c-format
> -msgid "unexpected end of file in %s\n"
> -msgstr "nem várt fájlvég ebben: %s\n"
> -
> -#: ../alternatives.c:250
> -#, c-format
> -msgid "path to alternate expected in %s\n"
> -msgstr "az alternatíva elérési útja hiányzik ebből: %s\n"
> -
> -#: ../alternatives.c:270
> -#, c-format
> -msgid "numeric priority expected in %s\n"
> -msgstr "a numerikus prioritás hiányzik ebből: %s\n"
> -
> -#: ../alternatives.c:292
> -#, c-format
> -msgid "slave path expected in %s\n"
> -msgstr "slave elérési út hiányzik ebből: %s\n"
> -
> -#: ../alternatives.c:311
> -#, c-format
> -msgid "unexpected line in %s: %s\n"
> -msgstr "nem várt sor ebben: %s: %s\n"
> -
> -#: ../alternatives.c:319
> -#, c-format
> -msgid "failed to read link %s: %s\n"
> -msgstr "%s link olvasása nem sikerült: %s\n"
> -
> -#: ../alternatives.c:333
> -#, c-format
> -msgid "link points to no alternative -- setting mode to manual\n"
> -msgstr "a link nem alternatívára mutat -- átállítás kézi módra\n"
> -
> -#: ../alternatives.c:338
> -#, c-format
> -msgid "link changed -- setting mode to manual\n"
> -msgstr "a link megváltozott -- átállítás kézi módra\n"
> -
> -#: ../alternatives.c:366 ../alternatives.c:373
> -#, c-format
> -msgid "would remove %s\n"
> -msgstr "eltávolítás: %s\n"
> -
> -#: ../alternatives.c:368 ../alternatives.c:375 ../alternatives.c:406
> -#, c-format
> -msgid "failed to remove link %s: %s\n"
> -msgstr "%s link eltávolítása nem sikerült: %s\n"
> -
> -#: ../alternatives.c:391 ../alternatives.c:403
> -#, c-format
> -msgid "would link %s -> %s\n"
> -msgstr "link létrehozása: %s -> %s\n"
> -
> -#: ../alternatives.c:395 ../alternatives.c:412
> -#, c-format
> -msgid "failed to link %s -> %s: %s\n"
> -msgstr "%s -> %s linkelés sikertelen: %s\n"
> -
> -#: ../alternatives.c:444
> -#, c-format
> -msgid "%s already exists\n"
> -msgstr "%s már létezik\n"
> -
> -#: ../alternatives.c:446
> -#, c-format
> -msgid "failed to create %s: %s\n"
> -msgstr "%s létrehozása nem sikerült: %s\n"
> -
> -#: ../alternatives.c:477
> -#, c-format
> -msgid "failed to replace %s with %s: %s\n"
> -msgstr "%s => %s csere nem sikerült: %s\n"
> -
> -#: ../alternatives.c:503 ../alternatives.c:512
> -#, c-format
> -msgid "running %s\n"
> -msgstr "%s futtatása\n"
> -
> -#: ../alternatives.c:539
> -#, c-format
> -msgid "the primary link for %s must be %s\n"
> -msgstr "%s elsődleges linkje csak ez lehet: %s\n"
> -
> -#: ../alternatives.c:619
> -#, c-format
> -msgid "link %s incorrect for slave %s (%s %s)\n"
> -msgstr "%s link nem megfelelő %s slave-nek (%s %s)\n"
> -
> -#: ../alternatives.c:660
> -#, c-format
> -msgid "%s - status is auto.\n"
> -msgstr "%s - automatikus módban.\n"
> -
> -#: ../alternatives.c:662
> -#, c-format
> -msgid "%s - status is manual.\n"
> -msgstr "%s - kézi módban.\n"
> -
> -#: ../alternatives.c:664
> -#, c-format
> -msgid " link currently points to %s\n"
> -msgstr " link jelenleg ide mutat: %s\n"
> -
> -#: ../alternatives.c:667
> -#, c-format
> -msgid "%s - priority %d\n"
> -msgstr "%s - prioritás: %d\n"
> -
> -#: ../alternatives.c:670
> -#, c-format
> -msgid " slave %s: %s\n"
> -msgstr " %s slave: %s\n"
> -
> -#: ../alternatives.c:675
> -#, c-format
> -msgid "Current `best' version is %s.\n"
> -msgstr "A jelenlegi „legjobb” változat: %s\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There is %d program that provides '%s'.\n"
> -msgstr "%d program nyújtja ezt: „%s”.\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There are %d programs which provide '%s'.\n"
> -msgstr "%d program nyújtja ezt: „%s”.\n"
> -
> -#: ../alternatives.c:707
> -#, c-format
> -msgid " Selection Command\n"
> -msgstr " Kijelölés Parancs\n"
> -
> -#: ../alternatives.c:716
> -#, c-format
> -msgid "Enter to keep the current selection[+], or type selection number: "
> -msgstr ""
> -"Az Enter lenyomásával megőrizhető a kijelölés [+] -- vagy adjon meg egy "
> -"kijelölési számot: "
> -
> -#: ../alternatives.c:719
> -#, c-format
> -msgid ""
> -"\n"
> -"error reading choice\n"
> -msgstr ""
> -"\n"
> -"hiba történt a választás beolvasásakor\n"
> -
> -#: ../alternatives.c:746 ../alternatives.c:772
> -#, c-format
> -msgid "%s has not been configured as an alternative for %s\n"
> -msgstr "%s nincs beállítva %s alternatívájának\n"
> -
> -#: ../alternatives.c:788
> -#, c-format
> -msgid "(would remove %s\n"
> -msgstr "(%s eltávolítása\n"
> -
> -#: ../alternatives.c:790
> -#, c-format
> -msgid "failed to remove %s: %s\n"
> -msgstr "%s eltávolítása nem sikerült: %s\n"
> -
> -#: ../alternatives.c:912
> -#, c-format
> -msgid "altdir %s invalid\n"
> -msgstr "%s altdir érvénytelen\n"
> -
> -#: ../alternatives.c:918
> -#, c-format
> -msgid "admindir %s invalid\n"
> -msgstr "%s admindir érvénytelen\n"
> -
> -#: ../alternatives.c:928
> -#, c-format
> -msgid "alternatives version %s\n"
> -msgstr "alternatives %s. változat\n"
> -
> --- chkconfig-1.3.44/po/hy.po
> +++ chkconfig-1.3.44/po/hy.po
> (renamed to chkconfig-1.3.46/po/hy.po)
> --- chkconfig-1.3.44/po/id.po
> +++ chkconfig-1.3.44/po/id.po
> -# chkconfig Bahasa Indonesia
> -# Copyright (C) 1999 Free Software Foundation, Inc.
> -# Mohammad DAMT <mdamt at linux.or.id>, 1999.
> -# Teguh DC <dheche at songolimo.net>, 2004-2008
> -# $Id: id.po,v 1.27 2007/02/22 19:38:24 dheche Exp $
> -msgid ""
> -msgstr ""
> -"Project-Id-Version: ID-chkconfig 1.0\n"
> -"Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2008-12-04 23:29-0500\n"
> -"PO-Revision-Date: 2008-09-02 12:36+0700\n"
> -"Last-Translator: Teguh DC <dheche at songolimo.net>\n"
> -"Language-Team: Fedora Trans ID <fedora-trans-id at redhat.com>\n"
> -"MIME-Version: 1.0\n"
> -"Content-Type: text/plain; charset=UTF-8\n"
> -"Content-Transfer-Encoding: 8bit\n"
> -
> -#: ../chkconfig.c:38
> -#, c-format
> -msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> -msgstr "%s versi %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> -
> -#: ../chkconfig.c:39
> -#, c-format
> -msgid ""
> -"This may be freely redistributed under the terms of the GNU Public License.\n"
> -msgstr ""
> -"Program ini dapat didistribusikan di bawah Lisensi GNU Public License.\n"
> -
> -#: ../chkconfig.c:42
> -#, fuzzy, c-format
> -msgid "usage: %s [--list] [--type <type>] [name]\n"
> -msgstr "cara pakai: %s [--list] [name]\n"
> -
> -#: ../chkconfig.c:43
> -#, c-format
> -msgid " %s --add <name>\n"
> -msgstr " %s --add <name>\n"
> -
> -#: ../chkconfig.c:44
> -#, c-format
> -msgid " %s --del <name>\n"
> -msgstr " %s --del <name>\n"
> -
> -#: ../chkconfig.c:45
> -#, c-format
> -msgid " %s --override <name>\n"
> -msgstr " %s --override <name>\n"
> -
> -#: ../chkconfig.c:46
> -#, fuzzy, c-format
> -msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> -msgstr " %s [--level <levels>] <name> %s)\n"
> -
> -#: ../chkconfig.c:53
> -#, c-format
> -msgid ""
> -"service %s supports chkconfig, but is not referenced in any runlevel (run "
> -"'chkconfig --add %s')\n"
> -msgstr ""
> -"layanan %s mendukung chkconfig, tapi belum memiliki referensi di runlevel "
> -"manapun (jalankan 'chkconfig --add %s')\n"
> -
> -#: ../chkconfig.c:55
> -#, c-format
> -msgid "service %s does not support chkconfig\n"
> -msgstr "layanan %s tidak mendukung chkconfig\n"
> -
> -#: ../chkconfig.c:57
> -#, c-format
> -msgid "error reading information on service %s: %s\n"
> -msgstr "terdapat error ketika membaca informasi layanan %s: %s\n"
> -
> -#: ../chkconfig.c:66
> -#, c-format
> -msgid "You do not have enough privileges to perform this operation.\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:351 ../chkconfig.c:356 ../chkconfig.c:470
> -msgid "on"
> -msgstr "hidup"
> -
> -#: ../chkconfig.c:351 ../chkconfig.c:356 ../chkconfig.c:470
> -msgid "off"
> -msgstr "mati"
> -
> -#: ../chkconfig.c:432
> -#, c-format
> -msgid "xinetd based services:\n"
> -msgstr "Layanan berbasis xinetd:\n"
> -
> -#: ../chkconfig.c:434
> -#, c-format
> -msgid "failed to open directory %s: %s\n"
> -msgstr "gagal untuk membuka direktori %s: %s\n"
> -
> -#: ../chkconfig.c:578
> -#, c-format
> -msgid "%s version %s\n"
> -msgstr "%s versi %s\n"
> -
> -#: ../chkconfig.c:590
> -#, c-format
> -msgid "--type must be 'sysv' or 'xinetd'\n"
> -msgstr ""
> -
> -#: ../chkconfig.c:598
> -#, c-format
> -msgid "only one of --list, --add, --del, or --override may be specified\n"
> -msgstr ""
> -"hanya satu dari --list, --add, --del atau --override yang dapat dipilih\n"
> -
> -#: ../chkconfig.c:658
> -#, c-format
> -msgid "only one runlevel may be specified for a chkconfig query\n"
> -msgstr "hanya satu runlevel yang dapat dipilih untuk query chkconfig\n"
> -
> -#: ../ntsysv.c:46
> -msgid "Press <F1> for more information on a service."
> -msgstr "Tekan <F1> untuk melihat informasi tentang suatu layanan."
> -
> -#: ../ntsysv.c:83 ../ntsysv.c:120
> -msgid "Ok"
> -msgstr "Ok"
> -
> -#: ../ntsysv.c:83
> -msgid "Back"
> -msgstr "Kembali"
> -
> -#: ../ntsysv.c:83
> -msgid "Cancel"
> -msgstr "Batal"
> -
> -#: ../ntsysv.c:95
> -msgid "What services should be automatically started?"
> -msgstr "Layanan mana yang harus distart secara otomatis?"
> -
> -#: ../ntsysv.c:101
> -msgid "Services"
> -msgstr "Layanan"
> -
> -#: ../ntsysv.c:183 ../ntsysv.c:210 ../ntsysv.c:248
> -#, c-format
> -msgid "error reading info for service %s: %s\n"
> -msgstr "gagal membaca info layanan %s: %s\n"
> -
> -#: ../ntsysv.c:257
> -#, c-format
> -msgid "error reading from directory %s: %s\n"
> -msgstr "gagal membaca dari direktori %s: %s\n"
> -
> -#: ../ntsysv.c:293
> -#, c-format
> -msgid "You must be root to run %s.\n"
> -msgstr "anda harus menjalankan %s sebagai root.\n"
> -
> -#: ../ntsysv.c:310
> -#, c-format
> -msgid "bad argument to --levels\n"
> -msgstr "parameter untuk --levels salah\n"
> -
> -#: ../ntsysv.c:317
> -#, c-format
> -msgid "No services may be managed by ntsysv!\n"
> -msgstr "Tidak ada layanan yang dapat diatur oleh ntsysv!\n"
> -
> -#: ../leveldb.c:260
> -#, c-format
> -msgid "failed to open %s/init.d: %s\n"
> -msgstr "gagal membuka %s/init.d: %s\n"
> -
> -#: ../leveldb.c:668
> -#, c-format
> -msgid "failed to glob pattern %s: %s\n"
> -msgstr "gagal untuk mengglob pola %s: %s\n"
> -
> -#: ../leveldb.c:711
> -#, c-format
> -msgid "cannot determine current run level\n"
> -msgstr "tidak dapat menentukan run level yang aktif\n"
> -
> -#: ../leveldb.c:799
> -#, c-format
> -msgid "failed to make symlink %s: %s\n"
> -msgstr "gagal untuk membuat symlink %s: %s\n"
> -
> -#: ../alternatives.c:63
> -#, c-format
> -msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> -msgstr "alternatives versi %s - Copyright (C) 2001 Red Hat, Inc.\n"
> -
> -#: ../alternatives.c:64
> -#, c-format
> -msgid ""
> -"This may be freely redistributed under the terms of the GNU Public License.\n"
> -"\n"
> -msgstr ""
> -"Program ini dapat didistribusikan bebas di bawah Lisensi GNU Public "
> -"License.\n"
> -
> -#: ../alternatives.c:65
> -#, c-format
> -msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> -msgstr "cara pakai: alternatives --install <link> <name> <path> <priority>\n"
> -
> -#: ../alternatives.c:66
> -#, c-format
> -msgid " [--initscript <service>]\n"
> -msgstr " [--initscript <service>]\n"
> -
> -#: ../alternatives.c:67
> -#, c-format
> -msgid " [--slave <link> <name> <path>]*\n"
> -msgstr " [--slave <link> <name> <path> *\n"
> -
> -#: ../alternatives.c:68
> -#, c-format
> -msgid " alternatives --remove <name> <path>\n"
> -msgstr " alternatives --remove <name> <path>\n"
> -
> -#: ../alternatives.c:69
> -#, c-format
> -msgid " alternatives --auto <name>\n"
> -msgstr " alternatives --auto <name>\n"
> -
> -#: ../alternatives.c:70
> -#, c-format
> -msgid " alternatives --config <name>\n"
> -msgstr " alternatives --config <name>\n"
> -
> -#: ../alternatives.c:71
> -#, c-format
> -msgid " alternatives --display <name>\n"
> -msgstr " alternatives --display <name>\n"
> -
> -#: ../alternatives.c:72
> -#, c-format
> -msgid " alternatives --set <name> <path>\n"
> -msgstr " alternatives --set <name> <path>\n"
> -
> -#: ../alternatives.c:73
> -#, c-format
> -msgid "\n"
> -msgstr "\n"
> -
> -#: ../alternatives.c:74
> -#, c-format
> -msgid "common options: --verbose --test --help --usage --version\n"
> -msgstr "opsi umum: --verbose --test --help --usage --version\n"
> -
> -#: ../alternatives.c:75
> -#, c-format
> -msgid " --altdir <directory> --admindir <directory>\n"
> -msgstr " --altdir <directory> --admindir <directory>\n"
> -
> -#: ../alternatives.c:172
> -#, c-format
> -msgid "reading %s\n"
> -msgstr "membaca %s\n"
> -
> -#: ../alternatives.c:176
> -#, c-format
> -msgid "failed to open %s: %s\n"
> -msgstr "gagal membuka %s: %s\n"
> -
> -#: ../alternatives.c:185
> -#, c-format
> -msgid "failed to read %s: %s\n"
> -msgstr "gagal membaca %s: %s\n"
> -
> -#: ../alternatives.c:194
> -#, c-format
> -msgid "%s empty!\n"
> -msgstr "%s kosong!\n"
> -
> -#: ../alternatives.c:203
> -#, c-format
> -msgid "bad mode on line 1 of %s\n"
> -msgstr "mode salah di baris 1 pada %s\n"
> -
> -#: ../alternatives.c:210
> -#, c-format
> -msgid "bad primary link in %s\n"
> -msgstr "link utama di %s rusak\n"
> -
> -#: ../alternatives.c:222
> -#, c-format
> -msgid "path %s unexpected in %s\n"
> -msgstr "path %s tidak seharusnya ada di %s\n"
> -
> -#: ../alternatives.c:231
> -#, c-format
> -msgid "missing path for slave %s in %s\n"
> -msgstr "tidak ditemukan path untuk slave %s di %s\n"
> -
> -#: ../alternatives.c:241
> -#, c-format
> -msgid "unexpected end of file in %s\n"
> -msgstr "akhir file yang tidak diharapkan di %s\n"
> -
> -#: ../alternatives.c:250
> -#, c-format
> -msgid "path to alternate expected in %s\n"
> -msgstr "path ke alternate diharapkan pada %s\n"
> -
> -#: ../alternatives.c:270
> -#, c-format
> -msgid "numeric priority expected in %s\n"
> -msgstr "prioritas angka diharapkan pada %s\n"
> -
> -#: ../alternatives.c:292
> -#, c-format
> -msgid "slave path expected in %s\n"
> -msgstr "slave path expected in %s\n"
> -
> -#: ../alternatives.c:311
> -#, c-format
> -msgid "unexpected line in %s: %s\n"
> -msgstr "baris yang tidak diharapkan pada %s: %s\n"
> -
> -#: ../alternatives.c:319
> -#, c-format
> -msgid "failed to read link %s: %s\n"
> -msgstr "gagal membaca link %s: %s\n"
> -
> -#: ../alternatives.c:333
> -#, c-format
> -msgid "link points to no alternative -- setting mode to manual\n"
> -msgstr "link menuju pada tidak ada alternatif - mode set ke manual\n"
> -
> -#: ../alternatives.c:338
> -#, c-format
> -msgid "link changed -- setting mode to manual\n"
> -msgstr "link berubah - mode set ke manual\n"
> -
> -#: ../alternatives.c:366 ../alternatives.c:373
> -#, c-format
> -msgid "would remove %s\n"
> -msgstr "Akan dihapus %s\n"
> -
> -#: ../alternatives.c:368 ../alternatives.c:375 ../alternatives.c:406
> -#, c-format
> -msgid "failed to remove link %s: %s\n"
> -msgstr "gagal untuk menghapus link %s: %s\n"
> -
> -#: ../alternatives.c:391 ../alternatives.c:403
> -#, c-format
> -msgid "would link %s -> %s\n"
> -msgstr "Akan dilink %s -> %s\n"
> -
> -#: ../alternatives.c:395 ../alternatives.c:412
> -#, c-format
> -msgid "failed to link %s -> %s: %s\n"
> -msgstr "gagal untuk membuat link %s -> %s: %s\n"
> -
> -#: ../alternatives.c:444
> -#, c-format
> -msgid "%s already exists\n"
> -msgstr "%s sudah ada\n"
> -
> -#: ../alternatives.c:446
> -#, c-format
> -msgid "failed to create %s: %s\n"
> -msgstr "gagal untuk membuat %s: %s\n"
> -
> -#: ../alternatives.c:477
> -#, c-format
> -msgid "failed to replace %s with %s: %s\n"
> -msgstr "gagal untuk mengganti %s dengan %s: %s\n"
> -
> -#: ../alternatives.c:503 ../alternatives.c:512
> -#, c-format
> -msgid "running %s\n"
> -msgstr "Jalan di %s\n"
> -
> -#: ../alternatives.c:539
> -#, c-format
> -msgid "the primary link for %s must be %s\n"
> -msgstr "the primary link for %s must be %s\n"
> -
> -#: ../alternatives.c:619
> -#, c-format
> -msgid "link %s incorrect for slave %s (%s %s)\n"
> -msgstr "link %s incorrect for slave %s (%s %s)\n"
> -
> -#: ../alternatives.c:660
> -#, c-format
> -msgid "%s - status is auto.\n"
> -msgstr "%s - status otomatis.\n"
> -
> -#: ../alternatives.c:662
> -#, c-format
> -msgid "%s - status is manual.\n"
> -msgstr "%s - status manual.\n"
> -
> -#: ../alternatives.c:664
> -#, c-format
> -msgid " link currently points to %s\n"
> -msgstr " link saat ini tertuju pada %s\n"
> -
> -#: ../alternatives.c:667
> -#, c-format
> -msgid "%s - priority %d\n"
> -msgstr "%s - prioritas %d\n"
> -
> -#: ../alternatives.c:670
> -#, c-format
> -msgid " slave %s: %s\n"
> -msgstr " slave %s: %s\n"
> -
> -#: ../alternatives.c:675
> -#, c-format
> -msgid "Current `best' version is %s.\n"
> -msgstr "Versi `terbaik' saat ini adalah %s.\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There is %d program that provides '%s'.\n"
> -msgstr "Ada %d program yang menyediakan '%s'.\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There are %d programs which provide '%s'.\n"
> -msgstr "Ada %d program yang menyediakan '%s'.\n"
> -
> -#: ../alternatives.c:707
> -#, c-format
> -msgid " Selection Command\n"
> -msgstr " Perintah yang dipilih\n"
> -
> -#: ../alternatives.c:716
> -#, c-format
> -msgid "Enter to keep the current selection[+], or type selection number: "
> -msgstr ""
> -"Enter untuk mempertahankan pilihan[+] saat ini, atau ketik nomer yang "
> -"dipilih: "
> -
> -#: ../alternatives.c:719
> -#, c-format
> -msgid ""
> -"\n"
> -"error reading choice\n"
> -msgstr ""
> -"\n"
> -"gagal membaca pilihan\n"
> -
> -#: ../alternatives.c:746 ../alternatives.c:772
> -#, c-format
> -msgid "%s has not been configured as an alternative for %s\n"
> -msgstr "%s belum dikonfigurasi sebagai alternatif untuk %s\n"
> -
> -#: ../alternatives.c:788
> -#, c-format
> -msgid "(would remove %s\n"
> -msgstr "(akan dihapus %s\n"
> -
> -#: ../alternatives.c:790
> -#, c-format
> -msgid "failed to remove %s: %s\n"
> -msgstr "gagal menghapus %s: %s\n"
> -
> -#: ../alternatives.c:912
> -#, c-format
> -msgid "altdir %s invalid\n"
> -msgstr "altdir %s tidak valid\n"
> -
> -#: ../alternatives.c:918
> -#, c-format
> -msgid "admindir %s invalid\n"
> -msgstr "admindir %s tidak valid\n"
> -
> -#: ../alternatives.c:928
> -#, c-format
> -msgid "alternatives version %s\n"
> -msgstr "alternatives versi %s\n"
> -
> -#~ msgid "error reading from directory %s/init.d: %s\n"
> -#~ msgstr "gagal membaca direktori %s/init.d: %s\n"
> --- chkconfig-1.3.44/po/is.po
> +++ chkconfig-1.3.44/po/is.po
> (renamed to chkconfig-1.3.46/po/is.po)
> --- chkconfig-1.3.44/po/it.po
> +++ chkconfig-1.3.44/po/it.po
> (renamed to chkconfig-1.3.46/po/it.po)
> --- chkconfig-1.3.44/po/ja.po
> +++ chkconfig-1.3.44/po/ja.po
> (renamed to chkconfig-1.3.46/po/ja.po)
> --- chkconfig-1.3.44/po/ka.po
> +++ chkconfig-1.3.44/po/ka.po
> (renamed to chkconfig-1.3.46/po/ka.po)
> --- chkconfig-1.3.44/po/kn.po
> +++ chkconfig-1.3.44/po/kn.po
> -# translation of chkconfig.master.kn.po to Kannada
> -# Chkconfig Japanese Translation
> -# Copyright (C) 2001 Red Hat, Inc.
> -#
> -#
> -# Omshivaprakash <omshivprakash at gmail.com>, 2007.
> -# Shankar Prasad <svenkate at redhat.com>, 2007, 2008, 2009.
> -msgid ""
> -msgstr ""
> -"Project-Id-Version: chkconfig.master.kn\n"
> -"Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2009-03-06 01:38-0500\n"
> -"PO-Revision-Date: 2009-04-02 00:28+0530\n"
> -"Last-Translator: Shankar Prasad <svenkate at redhat.com>\n"
> -"Language-Team: Kannada <en at li.org>\n"
> -"MIME-Version: 1.0\n"
> -"Content-Type: text/plain; charset=UTF-8\n"
> -"Content-Transfer-Encoding: 8bit\n"
> -"X-Generator: KBabel 1.11.4\n"
> -"Plural-Forms: nplurals=2; plural=(n != 1);\n"
> -"\n"
> -
> -#: ../chkconfig.c:38
> -#, c-format
> -msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> -msgstr "%s ಆವೃತ್ತಿ %s - ಕೃತಿಸ್ವಾಮ್ಯ (C) 1997-2000 Red Hat, Inc.\n"
> -
> -#: ../chkconfig.c:39
> -#, c-format
> -msgid "This may be freely redistributed under the terms of the GNU Public License.\n"
> -msgstr "ಇದನ್ನು GNU ಸಾರ್ವತ್ರಿಕ ಪರವಾನಗಿಯಡಿ ಮರು ಹಂಚಿಕೆ ಮಾಡಬಹುದಾಗಿದೆ.\n"
> -
> -#: ../chkconfig.c:42
> -#, c-format
> -msgid "usage: %s [--list] [--type <type>] [name]\n"
> -msgstr "ಬಳಕೆ: %s [--list] [--type <type>] [name]\n"
> -
> -#: ../chkconfig.c:43
> -#, c-format
> -msgid " %s --add <name>\n"
> -msgstr " %s --add <name>\n"
> -
> -#: ../chkconfig.c:44
> -#, c-format
> -msgid " %s --del <name>\n"
> -msgstr " %s --del <name>\n"
> -
> -#: ../chkconfig.c:45
> -#, c-format
> -msgid " %s --override <name>\n"
> -msgstr " %s --override <name>\n"
> -
> -#: ../chkconfig.c:46
> -#, c-format
> -msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> -msgstr " %s [--level <levels>] [--type <type>] <name> %s\n"
> -
> -#: ../chkconfig.c:53
> -#, c-format
> -msgid ""
> -"service %s supports chkconfig, but is not referenced in any runlevel (run "
> -"'chkconfig --add %s')\n"
> -msgstr ""
> -"ಸೇವೆ %s chkconfig ಅನ್ನು ಅಶ್ರಯಿಸಿಕೊಳ್ಳಬಲ್ಲದು, ಆದರೆ ಇದನ್ನು ಯಾವುದೇ ಕ್ರಿಯಾಹಂತದಲ್ಲಿ "
> -"ಬಳಸಲಾಗಿಲ್ಲ (ಪ್ರಯೋಗಿಸು 'chkconfig --ಸೇರಿಸು %s')\n"
> -
> -#: ../chkconfig.c:55
> -#, c-format
> -msgid "service %s does not support chkconfig\n"
> -msgstr "ಸೇವೆ %s ಯು chkconfig ಅನ್ನು ಬೆಂಬಲಿಸಲಾರದು\n"
> -
> -#: ../chkconfig.c:57
> -#, c-format
> -msgid "error reading information on service %s: %s\n"
> -msgstr "%s ಸೇವೆಯ ಬಗೆಗಿನ ಮಾಹಿತಿಯನ್ನು ಓದುವಲ್ಲಿ ದೋಷ: %s\n"
> -
> -#: ../chkconfig.c:66
> -#, c-format
> -msgid "You do not have enough privileges to perform this operation.\n"
> -msgstr "ಈ ಕಾರ್ಯವನ್ನು ನಿರ್ವಹಿಸಲು ನಿಮ್ಮಲ್ಲಿ ಸವಲತ್ತುಗಳಿಲ್ಲ.\n"
> -
> -#: ../chkconfig.c:379 ../chkconfig.c:384 ../chkconfig.c:498
> -msgid "on"
> -msgstr "ಆನ್"
> -
> -#: ../chkconfig.c:379 ../chkconfig.c:384 ../chkconfig.c:498
> -msgid "off"
> -msgstr "ಆಫ್"
> -
> -#: ../chkconfig.c:460
> -#, c-format
> -msgid "xinetd based services:\n"
> -msgstr "xinetd ಆಧರಿತ ಸೇವೆಗಳು:\n"
> -
> -#: ../chkconfig.c:462
> -#, c-format
> -msgid "failed to open directory %s: %s\n"
> -msgstr " %s ಕಡತಕೋಶವನ್ನು ತೆರೆಯುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> -
> -#: ../chkconfig.c:606
> -#, c-format
> -msgid "%s version %s\n"
> -msgstr "%s ಆವೃತ್ತಿ %s\n"
> -
> -#: ../chkconfig.c:618
> -#, c-format
> -msgid "--type must be 'sysv' or 'xinetd'\n"
> -msgstr "--type ಯು 'sysv' ಅಥವ 'xinetd' ಆಗಿರಲೆ ಬೇಕು\n"
> -
> -#: ../chkconfig.c:626
> -#, c-format
> -msgid "only one of --list, --add, --del, or --override may be specified\n"
> -msgstr ""
> -"--list, --add, --del, ಅಥವ --override ಇವುಗಳಿಂದ ಯಾವುದಾದರೂ ಒಂದನ್ನು ಮಾತ್ರ "
> -"ಸೂಚಿಸಬಹುದಾಗಿದೆ\n"
> -
> -#: ../chkconfig.c:686
> -#, c-format
> -msgid "only one runlevel may be specified for a chkconfig query\n"
> -msgstr "ಒಂದು chkconfig ಮನವಿಗೆ ಕೇವಲ ಒಂದು ರನ್-ಲೆವೆಲನ್ನು ಮಾತ್ರ ಸೂಚಿಸಬಹುದಾಗಿದೆ\n"
> -
> -#: ../ntsysv.c:46
> -msgid "Press <F1> for more information on a service."
> -msgstr "ಸೇವೆಯ ಬಗೆಗಿನ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗೆ <F1> ಬಳಸಿ "
> -
> -#: ../ntsysv.c:83 ../ntsysv.c:120
> -msgid "Ok"
> -msgstr "ಸರಿ"
> -
> -#: ../ntsysv.c:83
> -msgid "Back"
> -msgstr "ಹಿಂದಕ್ಕೆ"
> -
> -#: ../ntsysv.c:83
> -msgid "Cancel"
> -msgstr "ರದ್ದುಪಡಿಸು"
> -
> -#: ../ntsysv.c:95
> -msgid "What services should be automatically started?"
> -msgstr "ಯಾವ ಸೇವೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಬಿಸಬೇಕು?"
> -
> -#: ../ntsysv.c:101
> -msgid "Services"
> -msgstr "ಸೇವೆಗಳು"
> -
> -#: ../ntsysv.c:183 ../ntsysv.c:210 ../ntsysv.c:248
> -#, c-format
> -msgid "error reading info for service %s: %s\n"
> -msgstr "%s ಸೇವೆಯ ಮಾಹಿತಿಯನ್ನು ಓದುವಲ್ಲಿ ದೋಷವಿದೆ : %s\n"
> -
> -#: ../ntsysv.c:257
> -#, c-format
> -msgid "error reading from directory %s: %s\n"
> -msgstr "ಕಡತಕೋಶ %s ದಿಂದ ಓದುವಲ್ಲಿ ದೋಷ: %s\n"
> -
> -#: ../ntsysv.c:293
> -#, c-format
> -msgid "You must be root to run %s.\n"
> -msgstr "%s ಅನ್ನು ಚಲಾಯಿಸಲು ನೀವು ಮೂಲವಾಗಿರಬೇಕು.\n"
> -
> -#: ../ntsysv.c:310
> -#, c-format
> -msgid "bad argument to --levels\n"
> -msgstr "--levels ಗೆ ತಪ್ಪು ಆರ್ಗ್ಯುಮೆಂಟ್\n"
> -
> -#: ../ntsysv.c:317
> -#, c-format
> -msgid "No services may be managed by ntsysv!\n"
> -msgstr "ಯಾವುದೇ ಸೇವೆಗಳನ್ನು ntsysv ಇಂದ ನಿರ್ವಹಿಸಲಾಗುವುದಿಲ್ಲ\n"
> -
> -#: ../leveldb.c:259
> -#, c-format
> -msgid "failed to open %s/init.d: %s\n"
> -msgstr "%s/init.d ಅನ್ನು ತೆರೆಯುವ ಯತ್ನ ವಿಪಲವಾಗಿದೆ: %s\n"
> -
> -#: ../leveldb.c:667
> -#, c-format
> -msgid "failed to glob pattern %s: %s\n"
> -msgstr "ವಿನ್ಯಾಸ %s ಅನ್ನು glob ಮಾಡುವಲ್ಲಿ ವಿಫಲ: %s\n"
> -
> -#: ../leveldb.c:710
> -#, c-format
> -msgid "cannot determine current run level\n"
> -msgstr "ಈಗಿನ ಕ್ರಿಯಾ ಹಂತವನ್ನು ಕಂಡುಹಿಡಿಯಲಾಗಿಲ್ಲ\n"
> -
> -#: ../leveldb.c:798
> -#, c-format
> -msgid "failed to make symlink %s: %s\n"
> -msgstr "symlink ಮಾಡುವಲ್ಲಿ ಅಡಚಣೆಯಾಗಿದೆ %s: %s\n"
> -
> -#: ../alternatives.c:63
> -#, c-format
> -msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> -msgstr "ಬದಲಿ ಆವೃತ್ತಿ %s - ಕೃತಿಸ್ವಾಮ್ಯ (C) 1997-2000 Red Hat, Inc.\n"
> -
> -#: ../alternatives.c:64
> -#, c-format
> -msgid ""
> -"This may be freely redistributed under the terms of the GNU Public License.\n"
> -"\n"
> -msgstr ""
> -"ಇದನ್ನು ಜಿ ಎನ್ ಯು ಸಾರ್ವರ್ತಿಕ ಪರವಾನಗಿಯ ಕರಾರುಗಳಡಿಯಲ್ಲಿ ಉಚಿತವಾಗಿ ಮರು ಹಂಚಿಕೆ "
> -"ಮಾಡಬಹುದಾಗಿದೆ.\n"
> -"\n"
> -
> -#: ../alternatives.c:65
> -#, c-format
> -msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> -msgstr "ಬಳಕೆ: alternatives --install <link> <name> <path> <priority>\n"
> -
> -#: ../alternatives.c:66
> -#, c-format
> -msgid " [--initscript <service>]\n"
> -msgstr " [--initscript <service>]\n"
> -
> -#: ../alternatives.c:67
> -#, c-format
> -msgid " [--slave <link> <name> <path>]*\n"
> -msgstr " [--slave <link> <name> <path>]*\n"
> -
> -#: ../alternatives.c:68
> -#, c-format
> -msgid " alternatives --remove <name> <path>\n"
> -msgstr " alternatives --remove <name> <path>\n"
> -
> -#: ../alternatives.c:69
> -#, c-format
> -msgid " alternatives --auto <name>\n"
> -msgstr " alternatives --auto <name>\n"
> -
> -#: ../alternatives.c:70
> -#, c-format
> -msgid " alternatives --config <name>\n"
> -msgstr " alternatives --config <name>\n"
> -
> -#: ../alternatives.c:71
> -#, c-format
> -msgid " alternatives --display <name>\n"
> -msgstr " alternatives --display <name>\n"
> -
> -#: ../alternatives.c:72
> -#, c-format
> -msgid " alternatives --set <name> <path>\n"
> -msgstr " alternatives --set <name> <path>\n"
> -
> -#: ../alternatives.c:73
> -#, c-format
> -msgid "\n"
> -msgstr "\n"
> -
> -#: ../alternatives.c:74
> -#, c-format
> -msgid "common options: --verbose --test --help --usage --version\n"
> -msgstr "ಸಾಮಾನ್ಯ ಆಯ್ಕೆಗಳು: --verbose --test --help --usage --version\n"
> -
> -#: ../alternatives.c:75
> -#, c-format
> -msgid " --altdir <directory> --admindir <directory>\n"
> -msgstr " --altdir <directory> --admindir <directory>\n"
> -
> -#: ../alternatives.c:172
> -#, c-format
> -msgid "reading %s\n"
> -msgstr "ಓದುತ್ತಿದೆ %s\n"
> -
> -#: ../alternatives.c:176
> -#, c-format
> -msgid "failed to open %s: %s\n"
> -msgstr "ತೆರೆಯಲಾಗುತ್ತಿಲ್ಲ %s: %s\n"
> -
> -#: ../alternatives.c:185
> -#, c-format
> -msgid "failed to read %s: %s\n"
> -msgstr "ಓದಲಾಗುತ್ತಿಲ್ಲ %s: %s\n"
> -
> -#: ../alternatives.c:194
> -#, c-format
> -msgid "%s empty!\n"
> -msgstr "%s ಕಾಲಿಯಾಗಿದೆ!\n"
> -
> -#: ../alternatives.c:203
> -#, c-format
> -msgid "bad mode on line 1 of %s\n"
> -msgstr "%s ನ ೧ ನೇ ಸಾಲಿನಲ್ಲಿ ತಪ್ಪು ಕ್ರಮ\n"
> -
> -#: ../alternatives.c:210
> -#, c-format
> -msgid "bad primary link in %s\n"
> -msgstr "%s ನಲ್ಲಿ ತಪ್ಪು ಪ್ರಾಥಮಿಕ ಕೊಂಡಿ\n"
> -
> -#: ../alternatives.c:222
> -#, c-format
> -msgid "path %s unexpected in %s\n"
> -msgstr "ಪಥ %s ವು %s ನಲ್ಲಿ ಅನಿರೀಕ್ಷಿತವಾಗಿದೆ\n"
> -
> -#: ../alternatives.c:231
> -#, c-format
> -msgid "missing path for slave %s in %s\n"
> -msgstr "ಪೂರಕ ಘಟಕ(slave) %s ಕ್ಕೆ %s ನಲ್ಲಿ ಪಥ ಕಾಣೆಯಾಗಿದೆ\n"
> -
> -#: ../alternatives.c:241
> -#, c-format
> -msgid "unexpected end of file in %s\n"
> -msgstr "%s ನಲ್ಲಿ ಕಡತದ ಅನಿರೀಕ್ಷಿತ ಅಂತ್ಯ\n"
> -
> -#: ../alternatives.c:250
> -#, c-format
> -msgid "path to alternate expected in %s\n"
> -msgstr "ಪರ್ಯಾಯಕ್ಕೆ %s ನಲ್ಲಿ ಪಥವನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ\n"
> -
> -#: ../alternatives.c:270
> -#, c-format
> -msgid "numeric priority expected in %s\n"
> -msgstr "%s ನಲ್ಲಿ ಸಂಖ್ಯಾ ಆದ್ಯತೆಯನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ\n"
> -
> -#: ../alternatives.c:292
> -#, c-format
> -msgid "slave path expected in %s\n"
> -msgstr "%s ನಲ್ಲಿ ಪೂರಕ ಘಟಕ ಪಥವನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ\n"
> -
> -#: ../alternatives.c:311
> -#, c-format
> -msgid "unexpected line in %s: %s\n"
> -msgstr "%s ನಲ್ಲಿ ಅನಪೇಕ್ಷಿತ ಸಾಲು: %s\n"
> -
> -#: ../alternatives.c:319
> -#, c-format
> -msgid "failed to read link %s: %s\n"
> -msgstr "ಕೊಂಡಿ %s ಯನ್ನು ಓದುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> -
> -#: ../alternatives.c:333
> -#, c-format
> -msgid "link points to no alternative -- setting mode to manual\n"
> -msgstr ""
> -"ಕೊಂಡಿಯು ಯಾವುದೇ ಪರ್ಯಾಯಕ್ಕೆ ಸೂಚಿತವಾಗಿಲ್ಲ-- ಕ್ರಮವನ್ನು ಸ್ವಹಸ್ತ(manual)ಗೆ "
> -"ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ\n"
> -
> -#: ../alternatives.c:338
> -#, c-format
> -msgid "link changed -- setting mode to manual\n"
> -msgstr "ಕೊಂಡಿ ಬದಲಾಗಿದೆ-- ಕ್ರಮವನ್ನು ಸ್ವಹಸ್ತ(manual)ಗೆ ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ\n"
> -
> -#: ../alternatives.c:366 ../alternatives.c:373
> -#, c-format
> -msgid "would remove %s\n"
> -msgstr "%s ಅನ್ನು ತೆಗೆಯಲಾಗುತ್ತದೆ\n"
> -
> -#: ../alternatives.c:368 ../alternatives.c:375 ../alternatives.c:406
> -#, c-format
> -msgid "failed to remove link %s: %s\n"
> -msgstr "ಕೊಂಡಿ %s ಯನ್ನು ತೆಗೆಯುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> -
> -#: ../alternatives.c:391 ../alternatives.c:403
> -#, c-format
> -msgid "would link %s -> %s\n"
> -msgstr "ಕೊಂಡಿ %s -> %s ಮಾಡಲಾಗುತ್ತದೆ\n"
> -
> -#: ../alternatives.c:395 ../alternatives.c:412
> -#, c-format
> -msgid "failed to link %s -> %s: %s\n"
> -msgstr "ಕೊಂಡಿ %s -> %s ಮಾಡುವಲ್ಲಿ ವಿಫಲ: %s\n"
> -
> -#: ../alternatives.c:444
> -#, c-format
> -msgid "%s already exists\n"
> -msgstr "%s ವು ಈಗಾಗಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ\n"
> -
> -#: ../alternatives.c:446
> -#, c-format
> -msgid "failed to create %s: %s\n"
> -msgstr "%s ಅನ್ನು ರಚಿಸುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> -
> -#: ../alternatives.c:477
> -#, c-format
> -msgid "failed to replace %s with %s: %s\n"
> -msgstr "%s ಅನ್ನು %s ನೊಂದಿಗೆ ಬದಲಾಯಿಸುವುದರಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> -
> -#: ../alternatives.c:503 ../alternatives.c:512
> -#, c-format
> -msgid "running %s\n"
> -msgstr "%s ಅನ್ನು ಚಲಾಯಿಸಲಾಗುತ್ತಿದೆ\n"
> -
> -#: ../alternatives.c:539
> -#, c-format
> -msgid "the primary link for %s must be %s\n"
> -msgstr "%s ಗೆ ಪ್ರಾಥಮಿಕ ಕೊಂಡಿಯು %s ಆಗಿರಬೇಕು\n"
> -
> -#: ../alternatives.c:619
> -#, c-format
> -msgid "link %s incorrect for slave %s (%s %s)\n"
> -msgstr "ಕೊಂಡಿ%s ಯು ಪೂರಕ ಘಟಕ %s ಕ್ಕೆ ಸರಿ ಇಲ್ಲ (%s %s)\n"
> -
> -#: ../alternatives.c:660
> -#, c-format
> -msgid "%s - status is auto.\n"
> -msgstr "%s - ಸ್ಥಿತಿಯು ಸ್ವಯಂ(auto) ಆಗಿದೆ.\n"
> -
> -#: ../alternatives.c:662
> -#, c-format
> -msgid "%s - status is manual.\n"
> -msgstr "%s - ಸ್ಥಿತಿಯು ಹಸ್ತಮುಖೇನ(manual) ಆಗಿದೆ.\n"
> -
> -#: ../alternatives.c:664
> -#, c-format
> -msgid " link currently points to %s\n"
> -msgstr " ಕೊಂಡಿಯು ಪ್ರಸಕ್ತ %s ಕ್ಕೆ ಸೂಚಿತಗೊಂಡಿದೆ\n"
> -
> -#: ../alternatives.c:667
> -#, c-format
> -msgid "%s - priority %d\n"
> -msgstr "%s - ಆದ್ಯತೆ %d\n"
> -
> -#: ../alternatives.c:670
> -#, c-format
> -msgid " slave %s: %s\n"
> -msgstr " ಪೂರಕ ಘಟಕ %s: %s\n"
> -
> -#: ../alternatives.c:675
> -#, c-format
> -msgid "Current `best' version is %s.\n"
> -msgstr "ಪ್ರಸಕ್ತ `ಉತ್ತಮ`ಆವೃತ್ತಿಯು %s ಆಗಿದೆ.\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There is %d program that provides '%s'.\n"
> -msgstr "%d ಪ್ರೋಗ್ರಾಂ '%s' ಅನ್ನು ಒದಗಿಸುತ್ತದೆ.\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There are %d programs which provide '%s'.\n"
> -msgstr "%d ನಷ್ಟು ಪ್ರೋಗ್ರಾಂಗಳು '%s' ಅನ್ನು ಒದಗಿಸುತ್ತವೆ.\n"
> -
> -#: ../alternatives.c:707
> -#, c-format
> -msgid " Selection Command\n"
> -msgstr " ಆಯ್ಕೆ ಆಜ್ಞೆ\n"
> -
> -#: ../alternatives.c:716
> -#, c-format
> -msgid "Enter to keep the current selection[+], or type selection number: "
> -msgstr "ಪ್ರಸಕ್ತ ಆಯ್ಕೆಯನ್ನು [+] ಉಳಿಸಿಕೊಳ್ಳಲು ನಮೂದಿಸಿ, ಅಥವ ಆಯ್ಕಾ ಸಂಖ್ಯೆಯನ್ನು ಆರಿಸಿ: "
> -
> -#: ../alternatives.c:719
> -#, c-format
> -msgid ""
> -"\n"
> -"error reading choice\n"
> -msgstr ""
> -"\n"
> -"ಆಯ್ಕೆಯನ್ನು ಓದುವಲ್ಲಿ ದೋಷ\n"
> -
> -#: ../alternatives.c:746 ../alternatives.c:772
> -#, c-format
> -msgid "%s has not been configured as an alternative for %s\n"
> -msgstr "%s ವು %s ಗೆ ಒಂದು ಪರ್ಯಾಯವಾಗಿ ಸಂರಚಿತವಾಗಿಲ್ಲ\n"
> -
> -#: ../alternatives.c:788
> -#, c-format
> -msgid "(would remove %s\n"
> -msgstr "(%s ಅನ್ನು ತೆಗೆಯಲಾಗುತ್ತದೆ\n"
> -
> -#: ../alternatives.c:790
> -#, c-format
> -msgid "failed to remove %s: %s\n"
> -msgstr "%s ಅನ್ನು ತೆಗೆಯುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> -
> -#: ../alternatives.c:912
> -#, c-format
> -msgid "altdir %s invalid\n"
> -msgstr "altdir %s ಅಮಾನ್ಯವಾಗಿದೆ\n"
> -
> -#: ../alternatives.c:918
> -#, c-format
> -msgid "admindir %s invalid\n"
> -msgstr "admindir %s ಅಮಾನ್ಯವಾಗಿದೆ\n"
> -
> -#: ../alternatives.c:928
> -#, c-format
> -msgid "alternatives version %s\n"
> -msgstr "ಬದಲಿಯ ಆವೃತ್ತಿ %s\n"
> -
> --- chkconfig-1.3.44/po/ko.po
> +++ chkconfig-1.3.44/po/ko.po
> -# translation of chkconfig.master.po to Korean
> -#
> -# Michelle J Kim <mkim at redhat.com>, 2003,2004.
> -# Michelle Ji Yeen Kim <mkim at redhat.com>, 2005.
> -# Eunju Kim <eukim at redhat.com>, 2007, 2008.
> -msgid ""
> -msgstr ""
> -"Project-Id-Version: chkconfig.master\n"
> -"Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2008-12-04 23:29-0500\n"
> -"PO-Revision-Date: 2008-12-19 13:50+1000\n"
> -"Last-Translator: Eunju Kim <eukim at redhat.com>\n"
> -"Language-Team: Korean <ko at li.org>\n"
> -"MIME-Version: 1.0\n"
> -"Content-Type: text/plain; charset=UTF-8\n"
> -"Content-Transfer-Encoding: 8bit\n"
> -"X-Generator: KBabel 1.11.4\n"
> -"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
> -
> -#: ../chkconfig.c:38
> -#, c-format
> -msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> -msgstr "%s 버전 %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> -
> -#: ../chkconfig.c:39
> -#, c-format
> -msgid "This may be freely redistributed under the terms of the GNU Public License.\n"
> -msgstr "이 프로그램은 GNU Public License 내에서 자유롭게 재배포될 수 있습니다.\n"
> -
> -#: ../chkconfig.c:42
> -#, c-format
> -msgid "usage: %s [--list] [--type <type>] [name]\n"
> -msgstr "사용법: %s [--list] [--type <type>] [이름]\n"
> -
> -#: ../chkconfig.c:43
> -#, c-format
> -msgid " %s --add <name>\n"
> -msgstr " %s --add <이름>\n"
> -
> -#: ../chkconfig.c:44
> -#, c-format
> -msgid " %s --del <name>\n"
> -msgstr " %s --del <이름>\n"
> -
> -#: ../chkconfig.c:45
> -#, c-format
> -msgid " %s --override <name>\n"
> -msgstr " %s --override <이름>\n"
> -
> -#: ../chkconfig.c:46
> -#, c-format
> -msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> -msgstr " %s [--level <레벨>] [--type <type>] <이름> %s\n"
> -
> -#: ../chkconfig.c:53
> -#, c-format
> -msgid ""
> -"service %s supports chkconfig, but is not referenced in any runlevel (run "
> -"'chkconfig --add %s')\n"
> -msgstr ""
> -"%s 서비스는 chkconfig를 지원하지만 어떠한 런레벨에도 등록되지 않았습니다 "
> -"( 'chkconfig --add %s' 실행)\n"
> -
> -#: ../chkconfig.c:55
> -#, c-format
> -msgid "service %s does not support chkconfig\n"
> -msgstr "%s 서비스는 chkconfig 를 지원하지 않습니다\n"
> -
> -#: ../chkconfig.c:57
> -#, c-format
> -msgid "error reading information on service %s: %s\n"
> -msgstr "%s 서비스의 정보를 읽는 도중 오류가 발생되었습니다: %s\n"
> -
> -#: ../chkconfig.c:66
> -#, c-format
> -msgid "You do not have enough privileges to perform this operation.\n"
> -msgstr "이 작업을 실행할 권한이 없습니다.\n"
> -
> -# #
> -# # 이곳을 '켜짐' 과 '꺼짐'으로 번역하면,
> -# # 한글의 시각적 특성상 보기에 좀 헷갈립니다.
> -# # '끔' 과 '켬' 도 마찬가지 입니다. :-)
> -# #
> -#: ../chkconfig.c:351 ../chkconfig.c:356 ../chkconfig.c:470
> -msgid "on"
> -msgstr "활성"
> -
> -#: ../chkconfig.c:351 ../chkconfig.c:356 ../chkconfig.c:470
> -msgid "off"
> -msgstr "해제"
> -
> -#: ../chkconfig.c:432
> -#, c-format
> -msgid "xinetd based services:\n"
> -msgstr "xinetd 기반의 서비스:\n"
> -
> -#: ../chkconfig.c:434
> -#, c-format
> -msgid "failed to open directory %s: %s\n"
> -msgstr "%s 디렉토리를 여는데 실패했습니다: %s\n"
> -
> -#: ../chkconfig.c:578
> -#, c-format
> -msgid "%s version %s\n"
> -msgstr "%s %s\n"
> -
> -#: ../chkconfig.c:590
> -#, c-format
> -msgid "--type must be 'sysv' or 'xinetd'\n"
> -msgstr "--type은 'sysv' 또는 'xinetd'이어야만 합니다\n"
> -
> -#: ../chkconfig.c:598
> -#, c-format
> -msgid "only one of --list, --add, --del, or --override may be specified\n"
> -msgstr "--list, --add, --del, --override의 옵션 중 하나만 지정하셔야 합니다\n"
> -
> -#: ../chkconfig.c:658
> -#, c-format
> -msgid "only one runlevel may be specified for a chkconfig query\n"
> -msgstr "chkconfig 질의에 대해 하나의 런레벨만 지정하셔야 합니다\n"
> -
> -#: ../ntsysv.c:46
> -msgid "Press <F1> for more information on a service."
> -msgstr "서비스에 대한 자세한 내용을 보시려면, <F1> 키를 누르십시요."
> -
> -#: ../ntsysv.c:83 ../ntsysv.c:120
> -msgid "Ok"
> -msgstr "확인"
> -
> -#: ../ntsysv.c:83
> -msgid "Back"
> -msgstr "뒤로"
> -
> -#: ../ntsysv.c:83
> -msgid "Cancel"
> -msgstr "취소"
> -
> -#: ../ntsysv.c:95
> -msgid "What services should be automatically started?"
> -msgstr "어떤 서비스를 자동으로 시작하도록 하시겠습니까?"
> -
> -#: ../ntsysv.c:101
> -msgid "Services"
> -msgstr "서비스"
> -
> -#: ../ntsysv.c:183 ../ntsysv.c:210 ../ntsysv.c:248
> -#, c-format
> -msgid "error reading info for service %s: %s\n"
> -msgstr "%s 서비스의 정보를 읽는 도중 오류가 발생했습니다: %s\n"
> -
> -#: ../ntsysv.c:257
> -#, c-format
> -msgid "error reading from directory %s: %s\n"
> -msgstr "%s 디렉토리를 읽는 도중 오류가 발생되었습니다: %s\n"
> -
> -#: ../ntsysv.c:293
> -#, c-format
> -msgid "You must be root to run %s.\n"
> -msgstr "%s는 root 계정으로 실행해야 합니다.\n"
> -
> -#: ../ntsysv.c:310
> -#, c-format
> -msgid "bad argument to --levels\n"
> -msgstr "--levels 옵션에 잘못된 인수값이 주어졌습니다\n"
> -
> -#: ../ntsysv.c:317
> -#, c-format
> -msgid "No services may be managed by ntsysv!\n"
> -msgstr "ntsysv 명령에 의해 관리될 서비스가 없습니다!\n"
> -
> -#: ../leveldb.c:260
> -#, c-format
> -msgid "failed to open %s/init.d: %s\n"
> -msgstr "%s/init.d 를 여는데 실패했습니다: %s\n"
> -
> -#: ../leveldb.c:668
> -#, c-format
> -msgid "failed to glob pattern %s: %s\n"
> -msgstr "%s 패턴을 glob 명령에 사용하는데 실패했습니다: %s\n"
> -
> -#: ../leveldb.c:711
> -#, c-format
> -msgid "cannot determine current run level\n"
> -msgstr "현재의 런레벨을 확인할 수 없습니다\n"
> -
> -#: ../leveldb.c:799
> -#, c-format
> -msgid "failed to make symlink %s: %s\n"
> -msgstr "%s 심볼릭 링크 파일을 생성하는데 실패했습니다: %s\n"
> -
> -#: ../alternatives.c:63
> -#, c-format
> -msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> -msgstr "대체 버전 %s - Copyright (C) 2001 Red Hat, Inc.\n"
> -
> -#: ../alternatives.c:64
> -#, c-format
> -msgid ""
> -"This may be freely redistributed under the terms of the GNU Public License.\n"
> -"\n"
> -msgstr ""
> -"이 프로그램은 GNU Public License를 따른다는 조건 하에서 이 문서를 \n"
> -"자유롭게 재배포하실 수 있습니다.\n"
> -
> -#: ../alternatives.c:65
> -#, c-format
> -msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> -msgstr "사용법: alternatives --install <link> <name> <path> <priority>\n"
> -
> -#: ../alternatives.c:66
> -#, c-format
> -msgid " [--initscript <service>]\n"
> -msgstr " [--initscript <service>]\n"
> -
> -#: ../alternatives.c:67
> -#, c-format
> -msgid " [--slave <link> <name> <path>]*\n"
> -msgstr " [--slave <link> <name> <path>]*\n"
> -
> -#: ../alternatives.c:68
> -#, c-format
> -msgid " alternatives --remove <name> <path>\n"
> -msgstr " alternatives --remove <name> <path>\n"
> -
> -#: ../alternatives.c:69
> -#, c-format
> -msgid " alternatives --auto <name>\n"
> -msgstr " alternatives --auto <name>\n"
> -
> -#: ../alternatives.c:70
> -#, c-format
> -msgid " alternatives --config <name>\n"
> -msgstr " alternatives --config <name>\n"
> -
> -#: ../alternatives.c:71
> -#, c-format
> -msgid " alternatives --display <name>\n"
> -msgstr " alternatives --display <name>\n"
> -
> -#: ../alternatives.c:72
> -#, c-format
> -msgid " alternatives --set <name> <path>\n"
> -msgstr " alternatives --set <name> <path>\n"
> -
> -#: ../alternatives.c:73
> -#, c-format
> -msgid "\n"
> -msgstr "\n"
> -
> -#: ../alternatives.c:74
> -#, c-format
> -msgid "common options: --verbose --test --help --usage --version\n"
> -msgstr "일반 옵션들: --verbose --test --help --usage --version\n"
> -
> -#: ../alternatives.c:75
> -#, c-format
> -msgid " --altdir <directory> --admindir <directory>\n"
> -msgstr " --altdir <directory> --admindir <directory>\n"
> -
> -#: ../alternatives.c:172
> -#, c-format
> -msgid "reading %s\n"
> -msgstr "%s를 읽는 중\n"
> -
> -#: ../alternatives.c:176
> -#, c-format
> -msgid "failed to open %s: %s\n"
> -msgstr "%s를 여는데 실패했습니다: %s\n"
> -
> -#: ../alternatives.c:185
> -#, c-format
> -msgid "failed to read %s: %s\n"
> -msgstr "%s를 여는데 실패했습니다: %s\n"
> -
> -#: ../alternatives.c:194
> -#, c-format
> -msgid "%s empty!\n"
> -msgstr "%s가 비었습니다!\n"
> -
> -#: ../alternatives.c:203
> -#, c-format
> -msgid "bad mode on line 1 of %s\n"
> -msgstr "%s의 첫번째 줄이 부적절한 모드입니다.\n"
> -
> -#: ../alternatives.c:210
> -#, c-format
> -msgid "bad primary link in %s\n"
> -msgstr "%s가 부적절한 일차 링크를 포함하고 있습니다\n"
> -
> -#: ../alternatives.c:222
> -#, c-format
> -msgid "path %s unexpected in %s\n"
> -msgstr "%s가 예상치 못한 경로 %s를 포함하고 있습니다\n"
> -
> -#: ../alternatives.c:231
> -#, c-format
> -msgid "missing path for slave %s in %s\n"
> -msgstr "%s에 슬레이브 %s로의 경로가 빠졌습니다\n"
> -
> -#: ../alternatives.c:241
> -#, c-format
> -msgid "unexpected end of file in %s\n"
> -msgstr "%s에 예기치 않은 파일 끝 (EOF)이 있습니다\n"
> -
> -#: ../alternatives.c:250
> -#, c-format
> -msgid "path to alternate expected in %s\n"
> -msgstr "%s에 대체 경로가 필요합니다\n"
> -
> -#: ../alternatives.c:270
> -#, c-format
> -msgid "numeric priority expected in %s\n"
> -msgstr "%s에 수치 우선 순위가 필요합니다\n"
> -
> -#: ../alternatives.c:292
> -#, c-format
> -msgid "slave path expected in %s\n"
> -msgstr "%s에 슬레이브 경로가 필요합니다\n"
> -
> -#: ../alternatives.c:311
> -#, c-format
> -msgid "unexpected line in %s: %s\n"
> -msgstr "%s에 잘못된 줄이 있습니다: %s\n"
> -
> -#: ../alternatives.c:319
> -#, c-format
> -msgid "failed to read link %s: %s\n"
> -msgstr "%s 링크를 읽기에 실패했습니다: %s\n"
> -
> -#: ../alternatives.c:333
> -#, c-format
> -msgid "link points to no alternative -- setting mode to manual\n"
> -msgstr "링크가 아무런 대체 경로와도 연결되지 않습니다 -- 수동으로 모드를 설정합니다\n"
> -
> -#: ../alternatives.c:338
> -#, c-format
> -msgid "link changed -- setting mode to manual\n"
> -msgstr "링크가 변경되었습니다 -- 수동으로 모드를 설정합니다\n"
> -
> -#: ../alternatives.c:366 ../alternatives.c:373
> -#, c-format
> -msgid "would remove %s\n"
> -msgstr "%s를 삭제합니다\n"
> -
> -#: ../alternatives.c:368 ../alternatives.c:375 ../alternatives.c:406
> -#, c-format
> -msgid "failed to remove link %s: %s\n"
> -msgstr "%s 링크를 삭제하는데 실패했습니다: %s\n"
> -
> -#: ../alternatives.c:391 ../alternatives.c:403
> -#, c-format
> -msgid "would link %s -> %s\n"
> -msgstr "%s -> %s로 링크합니다\n"
> -
> -#: ../alternatives.c:395 ../alternatives.c:412
> -#, c-format
> -msgid "failed to link %s -> %s: %s\n"
> -msgstr "%s -> %s 링크하는데 실패했습니다: %s\n"
> -
> -#: ../alternatives.c:444
> -#, c-format
> -msgid "%s already exists\n"
> -msgstr "%s이 이미 존재합니다\n"
> -
> -#: ../alternatives.c:446
> -#, c-format
> -msgid "failed to create %s: %s\n"
> -msgstr "%s를 생성하는데 실패했습니다: %s\n"
> -
> -#: ../alternatives.c:477
> -#, c-format
> -msgid "failed to replace %s with %s: %s\n"
> -msgstr "%s를 %s로 대체하는데 실패했습니다: %s\n"
> -
> -#: ../alternatives.c:503 ../alternatives.c:512
> -#, c-format
> -msgid "running %s\n"
> -msgstr "%s를 실행 중\n"
> -
> -#: ../alternatives.c:539
> -#, c-format
> -msgid "the primary link for %s must be %s\n"
> -msgstr "%s의 일차 링크는 %s이어야 합니다\n"
> -
> -#: ../alternatives.c:619
> -#, c-format
> -msgid "link %s incorrect for slave %s (%s %s)\n"
> -msgstr "%s가 슬레이브 %s에 잘못 링크되었습니다 (%s %s)\n"
> -
> -#: ../alternatives.c:660
> -#, c-format
> -msgid "%s - status is auto.\n"
> -msgstr "%s - 상태가 자동입니다.\n"
> -
> -#: ../alternatives.c:662
> -#, c-format
> -msgid "%s - status is manual.\n"
> -msgstr "%s - 상태가 수동입니다.\n"
> -
> -#: ../alternatives.c:664
> -#, c-format
> -msgid " link currently points to %s\n"
> -msgstr "현재 %s로 링크되었습니다\n"
> -
> -#: ../alternatives.c:667
> -#, c-format
> -msgid "%s - priority %d\n"
> -msgstr "%s - 우선순위 %d\n"
> -
> -#: ../alternatives.c:670
> -#, c-format
> -msgid " slave %s: %s\n"
> -msgstr " 슬레이브 %s: %s\n"
> -
> -#: ../alternatives.c:675
> -#, c-format
> -msgid "Current `best' version is %s.\n"
> -msgstr "현재 '최고' 버전은 %s입니다.\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There is %d program that provides '%s'.\n"
> -msgstr "%d 개의 프로그램이 '%s'를 제공합니다.\n"
> -
> -#: ../alternatives.c:705
> -#, c-format
> -msgid "There are %d programs which provide '%s'.\n"
> -msgstr "%d 개의 프로그램이 '%s'를 제공합니다.\n"
> -
> -#: ../alternatives.c:707
> -#, c-format
> -msgid " Selection Command\n"
> -msgstr " 선택 명령\n"
> -
> -#: ../alternatives.c:716
> -#, c-format
> -msgid "Enter to keep the current selection[+], or type selection number: "
> -msgstr ""
> -"현재 선택[+]을 유지하시려면 엔터키를 누르십시오. 그렇지 않으면, 선택 번호를 "
> -"입력해 주십시오:"
> -
> -#: ../alternatives.c:719
> -#, c-format
> -msgid ""
> -"\n"
> -"error reading choice\n"
> -msgstr ""
> -"\n"
> -"선택을 읽는 도중 오류가 발생했습니다\n"
> -
> -#: ../alternatives.c:746 ../alternatives.c:772
> -#, c-format
> -msgid "%s has not been configured as an alternative for %s\n"
> -msgstr "%s는 %s의 대체로 설정되지 않았습니다\n"
> -
> -#: ../alternatives.c:788
> -#, c-format
> -msgid "(would remove %s\n"
> -msgstr "(%s를 삭제합니다\n"
> -
> -#: ../alternatives.c:790
> -#, c-format
> -msgid "failed to remove %s: %s\n"
> -msgstr "%s를 삭제하는데 실패했습니다: %s\n"
> -
> -#: ../alternatives.c:912
> -#, c-format
> -msgid "altdir %s invalid\n"
> -msgstr "altdir %s가 올바르지 않습니다\n"
> -
> -#: ../alternatives.c:918
> -#, c-format
> -msgid "admindir %s invalid\n"
> -msgstr "admindir %s가 올바르지 않습니다\n"
> -
> -#: ../alternatives.c:928
> -#, c-format
> -msgid "alternatives version %s\n"
> -msgstr "대체 버전 %s\n"
> -
> --- chkconfig-1.3.44/po/ku.po
> +++ chkconfig-1.3.44/po/ku.po
> (renamed to chkconfig-1.3.46/po/ku.po)
> --- chkconfig-1.3.44/po/lo.po
> +++ chkconfig-1.3.44/po/lo.po
> (renamed to chkconfig-1.3.46/po/lo.po)
> --- chkconfig-1.3.44/po/lv.po
> +++ chkconfig-1.3.44/po/lv.po
> (renamed to chkconfig-1.3.46/po/lv.po)
> --- chkconfig-1.3.44/po/mai.po
> +++ chkconfig-1.3.44/po/mai.po
> (renamed to chkconfig-1.3.46/po/mai.po)
> --- chkconfig-1.3.44/po/mk.po
> +++ chkconfig-1.3.44/po/mk.po
> (renamed to chkconfig-1.3.46/po/mk.po)
> --- chkconfig-1.3.44/po/ml.po
> +++ chkconfig-1.3.44/po/ml.po
> (renamed to chkconfig-1.3.46/po/ml.po)
> --- chkconfig-1.3.44/po/mr.po
> +++ chkconfig-1.3.44/po/mr.po
> (renamed to chkconfig-1.3.46/po/mr.po)
> --- chkconfig-1.3.44/po/ms.po
> +++ chkconfig-1.3.44/po/ms.po
> (renamed to chkconfig-1.3.46/po/ms.po)
> --- chkconfig-1.3.44/po/my.po
> +++ chkconfig-1.3.44/po/my.po
> (renamed to chkconfig-1.3.46/po/my.po)
> --- chkconfig-1.3.44/po/nb.po
> +++ chkconfig-1.3.44/po/nb.po
> (renamed to chkconfig-1.3.46/po/nb.po)
> --- chkconfig-1.3.44/po/nl.po
> +++ chkconfig-1.3.44/po/nl.po
> (renamed to chkconfig-1.3.46/po/nl.po)
> --- chkconfig-1.3.44/po/nn.po
> +++ chkconfig-1.3.44/po/nn.po
> (renamed to chkconfig-1.3.46/po/nn.po)
> --- chkconfig-1.3.44/po/or.po
> +++ chkconfig-1.3.44/po/or.po
> (renamed to chkconfig-1.3.46/po/or.po)
> --- chkconfig-1.3.44/po/pa.po
> +++ chkconfig-1.3.44/po/pa.po
> (renamed to chkconfig-1.3.46/po/pa.po)
> --- chkconfig-1.3.44/po/pl.po
> +++ chkconfig-1.3.44/po/pl.po
> (renamed to chkconfig-1.3.46/po/pl.po)
> --- chkconfig-1.3.44/po/pt.po
> +++ chkconfig-1.3.44/po/pt.po
> (renamed to chkconfig-1.3.46/po/pt.po)
> --- chkconfig-1.3.44/po/pt_BR.po
> +++ chkconfig-1.3.44/po/pt_BR.po
> (renamed to chkconfig-1.3.46/po/pt_BR.po)
> --- chkconfig-1.3.44/po/ro.po
> +++ chkconfig-1.3.44/po/ro.po
> (renamed to chkconfig-1.3.46/po/ro.po)
> --- chkconfig-1.3.44/po/ru.po
> +++ chkconfig-1.3.44/po/ru.po
> (renamed to chkconfig-1.3.46/po/ru.po)
> --- chkconfig-1.3.44/po/si.po
> +++ chkconfig-1.3.44/po/si.po
> (renamed to chkconfig-1.3.46/po/si.po)
> --- chkconfig-1.3.44/po/sk.po
> +++ chkconfig-1.3.44/po/sk.po
> (renamed to chkconfig-1.3.46/po/sk.po)
> --- chkconfig-1.3.44/po/sl.po
> +++ chkconfig-1.3.44/po/sl.po
> (renamed to chkconfig-1.3.46/po/sl.po)
> --- chkconfig-1.3.44/po/sq.po
> +++ chkconfig-1.3.44/po/sq.po
> (renamed to chkconfig-1.3.46/po/sq.po)
> --- chkconfig-1.3.44/po/sr.po
> +++ chkconfig-1.3.44/po/sr.po
> (renamed to chkconfig-1.3.46/po/sr.po)
> --- chkconfig-1.3.44/po/sr at latin.po
> +++ chkconfig-1.3.44/po/sr at latin.po
> (renamed to chkconfig-1.3.46/po/sr at latin.po)
> --- chkconfig-1.3.44/po/sv.po
> +++ chkconfig-1.3.44/po/sv.po
> (renamed to chkconfig-1.3.46/po/sv.po)
> --- chkconfig-1.3.44/po/ta.po
> +++ chkconfig-1.3.44/po/ta.po
> (renamed to chkconfig-1.3.46/po/ta.po)
> --- chkconfig-1.3.44/po/te.po
> +++ chkconfig-1.3.44/po/te.po
> (renamed to chkconfig-1.3.46/po/te.po)
> --- chkconfig-1.3.44/po/tg.po
> +++ chkconfig-1.3.44/po/tg.po
> (renamed to chkconfig-1.3.46/po/tg.po)
> --- chkconfig-1.3.44/po/tr.po
> +++ chkconfig-1.3.44/po/tr.po
> (renamed to chkconfig-1.3.46/po/tr.po)
> --- chkconfig-1.3.44/po/uk.po
> +++ chkconfig-1.3.44/po/uk.po
> (renamed to chkconfig-1.3.46/po/uk.po)
> --- chkconfig-1.3.44/po/ur.po
> +++ chkconfig-1.3.44/po/ur.po
> (renamed to chkconfig-1.3.46/po/ur.po)
> --- chkconfig-1.3.44/po/vi.po
> +++ chkconfig-1.3.44/po/vi.po
> (renamed to chkconfig-1.3.46/po/vi.po)
> --- chkconfig-1.3.44/po/zh_CN.po
> +++ chkconfig-1.3.44/po/zh_CN.po
> (renamed to chkconfig-1.3.46/po/zh_CN.po)
> --- chkconfig-1.3.44/po/zh_TW.po
> +++ chkconfig-1.3.44/po/zh_TW.po
> (renamed to chkconfig-1.3.46/po/zh_TW.po)
> --- chkconfig-1.3.46
> +++ chkconfig-1.3.46
> +(directory)
> --- chkconfig-1.3.46/COPYING
> +++ chkconfig-1.3.46/COPYING
> (renamed from chkconfig-1.3.44/COPYING)
> --- chkconfig-1.3.46/Makefile
> +++ chkconfig-1.3.46/Makefile
> (renamed from chkconfig-1.3.44/Makefile)
> --- chkconfig-1.3.46/alternatives.8
> +++ chkconfig-1.3.46/alternatives.8
> (renamed from chkconfig-1.3.44/alternatives.8)
> --- chkconfig-1.3.46/alternatives.c
> +++ chkconfig-1.3.46/alternatives.c
> (renamed from chkconfig-1.3.44/alternatives.c)
> --- chkconfig-1.3.46/chkconfig.8
> +++ chkconfig-1.3.46/chkconfig.8
> (renamed from chkconfig-1.3.44/chkconfig.8)
> --- chkconfig-1.3.46/chkconfig.c
> +++ chkconfig-1.3.46/chkconfig.c
> +/* Copyright 1997-2008 Red Hat, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License, version 2,
> + * as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
> + */
> +#include <ctype.h>
> +#include <dirent.h>
> +#include <errno.h>
> +#include <glob.h>
> +#include <libintl.h>
> +#include <locale.h>
> +#include <popt.h>
> +#include <stdio.h>
> +#include <stdlib.h>
> +#include <string.h>
> +#include <sys/stat.h>
> +#include <unistd.h>
> +
> +static char *progname;
> +
> +#define _(String) gettext((String))
> +
> +#include "leveldb.h"
> +
> +static int LSB = 0;
> +
> +static void usage(void) {
> + fprintf(stderr, _("%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"), progname, VERSION);
> + fprintf(stderr, _("This may be freely redistributed under the terms of "
> + "the GNU Public License.\n"));
> + fprintf(stderr, "\n");
> + fprintf(stderr, _("usage: %s [--list] [--type <type>] [name]\n"), progname);
> + fprintf(stderr, _(" %s --add <name>\n"), progname);
> + fprintf(stderr, _(" %s --del <name>\n"), progname);
> + fprintf(stderr, _(" %s --override <name>\n"), progname);
> + fprintf(stderr, _(" %s [--level <levels>] [--type <type>] <name> %s\n"), progname, "<on|off|reset|resetpriorities>");
> +
> + exit(1);
> +}
> +
> +static void readServiceError(int rc, char * name) {
> + if (rc == 2) {
> + fprintf(stderr, _("service %s supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add %s')\n"), name, name);
> + } else if (rc == 1) {
> + fprintf(stderr, _("service %s does not support chkconfig\n"), name);
> + } else {
> + fprintf(stderr, _("error reading information on service %s: %s\n"),
> + name, strerror(errno));
> + }
> +
> + exit(1);
> +}
> +
> +static void checkRoot() {
> + if (access(RUNLEVELS "/rc3.d", R_OK | W_OK) != 0) {
> + fprintf(stderr, _("You do not have enough privileges to perform this operation.\n"));
> + exit(1);
> + }
> +}
> +
> +static int delService(char *name, int type, int level) {
> + int i, j, k, numservs, rc;
> + glob_t globres;
> + struct service s;
> + struct service *services;
> +
> + if ((rc = readServiceInfo(name, type, &s, 0))) {
> + readServiceError(rc, name);
> + return 1;
> + }
> + if (s.type == TYPE_XINETD) return 0;
> +
> + checkRoot();
> +
> + if (LSB && level == -1) {
> + numservs = readServices(&services);
> +
> + for (i = 0; i < numservs ; i++) {
> + if (services[i].startDeps) {
> + for (j = 0; services[i].startDeps[j].name ; j++) {
> + if (!strcmp(services[i].startDeps[j].name, s.name)) {
> + for (k = 0 ; k <= 6; k++) {
> + if (isOn(services[i].name, k))
> + return 1;
> + }
> + }
> + }
> + }
> + if (services[i].stopDeps) {
> + for (j = 0; services[i].stopDeps[j].name ; j++) {
> + if (!strcmp(services[i].stopDeps[j].name, s.name)) {
> + for (k = 0 ; k <= 6; k++) {
> + if (!isOn(services[i].name, k))
> + return 1;
> + }
> + }
> + }
> + }
> + }
> + }
> +
> + for (j = 0 ; j < 7; j++) {
> + if (level == -1 || level == j) {
> + if (!findServiceEntries(name, j, &globres)) {
> + for (i = 0; i < globres.gl_pathc; i++)
> + unlink(globres.gl_pathv[i]);
> + if (globres.gl_pathc) globfree(&globres);
> + }
> + }
> + }
> + return 0;
> +}
> +
> +static inline int laterThan(int i, int j) {
> + if (i <= j) {
> + i = j+1;
> + if (i > 99)
> + i = 99;
> + }
> + return i;
> +}
> +
> +static inline int earlierThan(int i, int j) {
> + if (i >= j) {
> + i = j -1;
> + if (i < 0)
> + i = 0;
> + }
> + return i;
> +}
> +
> +static int isSimilarlyConfigured(struct service s, struct service t, int start) {
> + int i, state_s, state_t;
> +
> + for (i = 0; i <= 6; i ++) {
> + if (isConfigured(s.name, i, NULL, NULL)) {
> + state_s = isOn(s.name, i);
> + } else {
> + state_s = ((1<<i) & s.levels) ? 1 : 0;
> + }
> + state_t = isOn(t.name, i);
> + if (state_s == state_t && state_s == start)
> + return 1;
> + }
> + return 0;
> +}
> +
> +static void checkDeps(struct service *s, struct dep *deps, struct service *serv, int start) {
> + int j,k;
> +
> + for (j = 0; deps[j].name ; j++) {
> + if (!strcmp(deps[j].name, serv->name) && isSimilarlyConfigured(*s, *serv, 0)) {
> + if (start)
> + s->sPriority = laterThan(s->sPriority, serv->sPriority);
> + else
> + s->kPriority = earlierThan(s->kPriority, serv->kPriority);
> + deps[j].handled = 1;
> + }
> + if (serv->provides) {
> + for (k = 0; serv->provides[k]; k++) {
> + if (!strcmp(deps[j].name, serv->provides[k]) && isSimilarlyConfigured(*s, *serv, 0)) {
> + if (start)
> + s->sPriority = laterThan(s->sPriority, serv->sPriority);
> + else
> + s->kPriority = earlierThan(s->kPriority, serv->kPriority);
> + deps[j].handled = 1;
> + }
> + }
> + }
> + }
> +}
> +
> +static int frobOneDependencies(struct service *s, struct service *servs, int numservs, int target, int depfail) {
> + int i;
> + int s0 = s->sPriority;
> + int k0 = s->kPriority;
> +
> + if (s->sPriority < 0) s->sPriority = 50;
> + if (s->kPriority < 0) s->kPriority = 50;
> + for (i = 0; i < numservs ; i++) {
> + if (s->startDeps) {
> + checkDeps(s, s->startDeps, &servs[i], 1);
> + }
> + if (s->softStartDeps) {
> + checkDeps(s, s->softStartDeps, &servs[i], 1);
> + }
> + if (s->stopDeps) {
> + checkDeps(s, s->stopDeps, &servs[i], 0);
> + }
> + if (s->softStopDeps) {
> + checkDeps(s, s->softStopDeps, &servs[i], 0);
> + }
> + }
> + if (depfail) {
> + if (s->startDeps) {
> + for (i = 0; s->startDeps[i].name; i++) {
> + if (!s->startDeps[i].handled)
> + return -1;
> + }
> + }
> + if (s->stopDeps) {
> + for (i = 0; s->stopDeps[i].name; i++) {
> + if (!s->stopDeps[i].handled)
> + return -1;
> + }
> + }
> + }
> +
> + if (target || ((s0 != s->sPriority) || (k0 != s->kPriority))) {
> + for (i = 0; i < 7; i++) {
> + if (isConfigured(s->name, i, NULL, NULL)) {
> + int on = isOn(s->name, i);
> + delService(s->name, TYPE_INIT_D, i);
> + doSetService(*s, i, on);
> + } else if (target) {
> + delService(s->name, TYPE_INIT_D, i);
> + doSetService(*s, i, ((1<<i) & s->levels));
> + }
> + }
> + return 1; /* Resolved something */
> + }
> + return 0; /* Didn't resolve anything */
> +}
> +
> +/* LSB-style dependency frobber. Calculates a usable start priority
> + * and stop priority.
> + * This algorithm will almost certainly break horribly at some point. */
> +static int frobDependencies(struct service *s) {
> + struct service *servs = NULL;
> + int numservs = 0;
> + int nResolved = 0;
> +
> + numservs = readServices(&servs);
> + /* Resolve recursively the other dependancies */
> + do {
> + nResolved = 0;
> + int i;
> +
> + for (i = 0; i < numservs ; i++) {
> + if ((servs+i)->isLSB && strcmp((servs+i)->name, s->name))
> + nResolved += frobOneDependencies(servs+i, servs, numservs, 0, 0);
> + }
> + } while (nResolved);
> +
> + /* Resolve our target */
> + if (frobOneDependencies(s, servs, numservs, 1, LSB) == -1)
> + return 1;
> + return 0;
> +}
> +
> +static int addService(char * name, int type) {
> + int i, rc;
> + struct service s;
> +
> + if ((rc = readServiceInfo(name, type, &s, 0))) {
> + readServiceError(rc, name);
> + return 1;
> + }
> +
> + if (s.type == TYPE_XINETD) return 0;
> + checkRoot();
> +
> + if (s.isLSB)
> + 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 rc;
> +}
> +
> +static int overrideService(char * name, int srvtype) {
> + /* Apply overrides if available; no available overrides is no error */
> + int level, i, rc;
> + glob_t globres;
> + struct service s;
> + struct service o;
> + int priority;
> + char type;
> + int doChange = 1;
> + int configured = 0;
> + int thisLevelAdded, thisLevelOn;
> +
> + if ((rc = readServiceDifferences(name, srvtype, &s, &o, 0))) {
> + return 0;
> + }
> +
> + if (s.type == TYPE_XINETD) return 0;
> +
> + checkRoot();
> +
> + if ((s.levels == o.levels) &&
> + (s.kPriority == o.kPriority) &&
> + (s.sPriority == o.sPriority)) {
> + /* no relevant changes in the override file */
> + return 0;
> + }
> +
> + if (s.isLSB && (s.sPriority <= -1) && (s.kPriority <= -1))
> + frobDependencies(&s);
> + if ((s.isLSB || o.isLSB) && (o.sPriority <= -1) && (o.kPriority <= -1))
> + frobDependencies(&o);
> +
> + /* Apply overrides only if the service has not been changed since
> + * being added, and not if the service has never been configured
> + * at all.
> + */
> +
> + for (level = 0; level < 7; level++) {
> + thisLevelAdded = isConfigured(name, level, &priority, &type);
> + thisLevelOn = s.levels & 1<<level;
> + if (thisLevelAdded) {
> + configured = 1;
> + if (type == 'S') {
> + if (priority != s.sPriority || !thisLevelOn) {
> + doChange = 0;
> + break;
> + }
> + } else if (type == 'K') {
> + if (priority != s.kPriority || thisLevelOn) {
> + doChange = 0;
> + break;
> + }
> + }
> + }
> + }
> +
> + if (configured && doChange) {
> + for (level = 0; level < 7; level++) {
> + if (!findServiceEntries(name, level, &globres)) {
> + for (i = 0; i < globres.gl_pathc; i++)
> + unlink(globres.gl_pathv[i]);
> + if (globres.gl_pathc)
> + globfree(&globres);
> + if ((1 << level) & o.levels)
> + doSetService(o, level, 1);
> + else
> + doSetService(o, level, 0);
> + }
> + }
> + }
> +
> + return 0;
> +}
> +
> +static int showServiceInfo(struct service s, int forgiving) {
> + int rc;
> + int i;
> +
> + if (s.type == TYPE_INIT_D) {
> + rc = 2;
> + for (i = 0 ; i < 7 ; i++) {
> + if (isConfigured(s.name, i, NULL, NULL)) {
> + rc = 0;
> + break;
> + }
> + }
> + }
> +
> + if (rc) {
> + if (!forgiving)
> + readServiceError(rc, s.name);
> + return forgiving ? 0 : 1;
> + }
> +
> + printf("%-15s", s.name);
> + if (s.type == TYPE_XINETD) {
> + 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"));
> + }
> + printf("\n");
> +
> + return 0;
> +}
> +
> +static int showServiceInfoByName(char * name, int type, int forgiving) {
> + int rc;
> + struct service s;
> +
> + rc = readServiceInfo(name, type, &s, 0);
> +
> + if (rc) {
> + if (!forgiving)
> + readServiceError(rc, name);
> + return forgiving ? 0 : 1;
> + }
> +
> + return showServiceInfo(s, forgiving);
> +}
> +
> +
> +static int isXinetdEnabled() {
> + int i;
> + struct service s;
> +
> + if (readServiceInfo("xinetd", TYPE_INIT_D, &s, 0)) {
> + return 0;
> + }
> + for (i = 0; i < 7; i++) {
> + if (isOn("xinetd", i))
> + return 1;
> + }
> + return 0;
> +}
> +
> +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;
> +
> + return strcmp(first->name, second->name);
> +}
> +
> +
> +static int listService(char * item, int type) {
> + DIR * dir;
> + struct dirent * ent;
> + struct service *services;
> + int i;
> + int numServices = 0;
> + int numServicesAlloced;
> + int err = 0;
> +
> + if (item) return showServiceInfoByName(item, type, 0);
> +
> + if (type & TYPE_INIT_D) {
> + numServices = readServices(&services);
> +
> + qsort(services, numServices, sizeof(*services), serviceNameCmp);
> +
> + for (i = 0; i < numServices ; i++) {
> + if (showServiceInfo(services[i], 1)) {
> + return 1;
> + }
> + }
> + }
> +
> + 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, 0) != -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;
> +}
> +
> +int setService(char * name, int type, int where, int state) {
> + int i, rc;
> + int what;
> + struct service s;
> +
> + if (!where && state != -1) {
> + /* levels 2, 3, 4, 5 */
> + where = (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5);
> + } else if (!where) {
> + where = (1 << 0) | (1 << 1) | (1 << 2) |
> + (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6);
> + }
> +
> + if ((rc = readServiceInfo(name, type, &s, 0))) {
> + readServiceError(rc, name);
> + return 1;
> + }
> +
> + checkRoot();
> +
> + if (s.type == TYPE_INIT_D) {
> + int rc = 0;
> +
> + if (s.isLSB)
> + frobDependencies(&s);
> + for (i = 0; i < 7; i++) {
> +
> + if (!((1 << i) & where)) continue;
> +
> + if (state == 1 || state == 0)
> + what = state;
> + else if (state == -2)
> + what = isOn(name, i);
> + else if (s.levels & (1 << i))
> + what = 1;
> + else
> + what = 0;
> + rc |= doSetService(s, i, what);
> + }
> + return rc;
> + } else if (s.type == TYPE_XINETD) {
> + if (setXinetdService(s, state)) {
> + return 1;
> + }
> + system("/etc/init.d/xinetd reload >/dev/null 2>&1");
> + }
> +
> + return 0;
> +}
> +
> +int main(int argc, char ** argv) {
> + int listItem = 0, addItem = 0, delItem = 0, overrideItem = 0;
> + int type = TYPE_ANY;
> + int rc, i, x;
> + char * levels = NULL;
> + char * typeString = NULL;
> + int help=0, version=0;
> + struct service s;
> + poptContext optCon;
> + struct poptOption optionsTable[] = {
> + { "add", '\0', 0, &addItem, 0 },
> + { "del", '\0', 0, &delItem, 0 },
> + { "override", '\0', 0, &overrideItem, 0 },
> + { "list", '\0', 0, &listItem, 0 },
> + { "level", '\0', POPT_ARG_STRING, &levels, 0 },
> + { "levels", '\0', POPT_ARG_STRING, &levels, 0 },
> + { "type", '\0', POPT_ARG_STRING, &typeString, 0 },
> + { "help", 'h', POPT_ARG_NONE, &help, 0 },
> + { "version", 'v', POPT_ARG_NONE, &version, 0 },
> + { 0, 0, 0, 0, 0 }
> + };
> +
> + if ((progname = strrchr(argv[0], '/')) != NULL)
> + progname++;
> + else
> + progname = argv[0];
> + if (!strcmp(progname,"install_initd")) {
> + addItem++;
> + LSB++;
> + }
> + if (!strcmp(progname,"remove_initd")) {
> + delItem++;
> + LSB++;
> + }
> +
> + setlocale(LC_ALL, "");
> + bindtextdomain("chkconfig","/usr/share/locale");
> + textdomain("chkconfig");
> +
> + optCon = poptGetContext("chkconfig", argc, argv, optionsTable, 0);
> + poptReadDefaultConfig(optCon, 1);
> +
> + if ((rc = poptGetNextOpt(optCon)) < -1) {
> + fprintf(stderr, "%s: %s\n",
> + poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
> + poptStrerror(rc));
> + exit(1);
> + }
> +
> + if (version) {
> + fprintf(stdout, _("%s version %s\n"), progname, VERSION);
> + exit(0);
> + }
> +
> + if (help) usage();
> +
> + if (typeString) {
> + if (!strcmp(typeString, "xinetd"))
> + type = TYPE_XINETD;
> + else if (!strcmp(typeString, "sysv"))
> + type = TYPE_INIT_D;
> + else {
> + fprintf(stderr, _("--type must be 'sysv' or 'xinetd'\n"));
> + exit(1);
> + }
> + }
> +
> + if (argc == 1) return listService(NULL, type);
> +
> + if ((listItem + addItem + delItem + overrideItem) > 1) {
> + fprintf(stderr, _("only one of --list, --add, --del, or --override"
> + " may be specified\n"));
> + exit(1);
> + }
> +
> + if (addItem) {
> + char * name = (char *)poptGetArg(optCon);
> +
> + if (!name || !*name || poptGetArg(optCon))
> + usage();
> +
> + name = basename(name);
> + return addService(name, type);
> + } else if (delItem) {
> + char * name = (char *)poptGetArg(optCon);
> +
> + if (!name || !*name || poptGetArg(optCon)) usage();
> +
> + name = basename(name);
> + return delService(name, type, -1);
> + } else if (overrideItem) {
> + char * name = (char *)poptGetArg(optCon);
> +
> + if (!name || !*name || poptGetArg(optCon)) usage();
> +
> + name = basename(name);
> + return overrideService(name, type);
> + } else if (listItem) {
> + char * item = (char *)poptGetArg(optCon);
> +
> + if (item && poptGetArg(optCon)) usage();
> +
> + return listService(item, type);
> + } else {
> + char * name = (char *)poptGetArg(optCon);
> + char * state = (char *)poptGetArg(optCon);
> + int where = 0, level = -1;
> +
> + if (!name) {
> + usage();
> + }
> + if (levels) {
> + where = parseLevels(levels, 0);
> + if (where == -1) usage();
> + }
> +
> + if (!state) {
> + if (where) {
> + rc = x = 0;
> + i = where;
> + while (i) {
> + if (i & 1) {
> + rc++;
> + level = x;
> + }
> + i >>= 1;
> + x++;
> + }
> +
> + if (rc > 1) {
> + fprintf(stderr, _("only one runlevel may be specified for "
> + "a chkconfig query\n"));
> + exit(1);
> + }
> + }
> + 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
> + return isOn(name, level) ? 0 : 1;
> + } else if (!strcmp(state, "on"))
> + return setService(name, type, where, 1);
> + else if (!strcmp(state, "off"))
> + return setService(name, type, where, 0);
> + else if (!strcmp(state, "reset"))
> + return setService(name, type, where, -1);
> + else if (!strcmp(state, "resetpriorities"))
> + return setService(name, type, where, -2);
> + else
> + usage();
> + }
> +
> + usage();
> +
> + return 1;
> +}
> --- chkconfig-1.3.46/chkconfig.spec
> +++ chkconfig-1.3.46/chkconfig.spec
> +Summary: A system tool for maintaining the /etc/rc*.d hierarchy
> +Name: chkconfig
> +Version: 1.3.46
> +Release: 1%{?dist}
> +License: GPLv2
> +Group: System Environment/Base
> +Source: http://fedorahosted.org/releases/c/h/chkconfig/%{name}-%{version}.tar.bz2
> +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
> +BuildRequires: newt-devel gettext popt-devel
> +Conflicts: initscripts <= 5.30-1
> +
> +%description
> +Chkconfig is a basic system utility. It updates and queries runlevel
> +information for system services. Chkconfig manipulates the numerous
> +symbolic links in /etc/rc.d, to relieve system administrators of some
> +of the drudgery of manually editing the symbolic links.
> +
> +%package -n ntsysv
> +Summary: A tool to set the stop/start of system services in a runlevel
> +Group: System Environment/Base
> +Requires: chkconfig = %{version}-%{release}
> +
> +%description -n ntsysv
> +Ntsysv provides a simple interface for setting which system services
> +are started or stopped in various runlevels (instead of directly
> +manipulating the numerous symbolic links in /etc/rc.d). Unless you
> +specify a runlevel or runlevels on the command line (see the man
> +page), ntsysv configures the current runlevel (5 if you're using X).
> +
> +%prep
> +%setup -q
> +
> +%build
> +
> +make RPM_OPT_FLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
> +
> +%install
> +rm -rf $RPM_BUILD_ROOT
> +make DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} SBINDIR=%{_sbindir} install
> +
> +mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
> +ln -s rc.d/init.d $RPM_BUILD_ROOT/etc/init.d
> +for n in 0 1 2 3 4 5 6; do
> + mkdir -p $RPM_BUILD_ROOT/etc/rc.d/rc${n}.d
> + ln -s rc.d/rc${n}.d $RPM_BUILD_ROOT/etc/rc${n}.d
> +done
> +mkdir -p $RPM_BUILD_ROOT/etc/chkconfig.d
> +
> +%find_lang %{name}
> +
> +%clean
> +rm -rf $RPM_BUILD_ROOT
> +
> +%files -f %{name}.lang
> +%defattr(-,root,root)
> +%doc COPYING
> +%dir /etc/alternatives
> +/sbin/chkconfig
> +%{_sbindir}/update-alternatives
> +%{_sbindir}/alternatives
> +/etc/chkconfig.d
> +/etc/init.d
> +/etc/rc.d/init.d
> +/etc/rc[0-6].d
> +/etc/rc.d/rc[0-6].d
> +%dir /var/lib/alternatives
> +%{_mandir}/*/chkconfig*
> +%{_mandir}/*/update-alternatives*
> +%{_mandir}/*/alternatives*
> +
> +%files -n ntsysv
> +%defattr(-,root,root)
> +%{_sbindir}/ntsysv
> +%{_mandir}/*/ntsysv.8*
> +
> +%changelog
> +* Wed May 05 2010 Bill Nottingham <notting at redhat.com> 1.3.46-1
> +- translation updates: hu, kn, ko (#589187)
> +
> +* Thu Mar 04 2010 Bill Nottingham <notting at redhat.com> 1.3.45-1
> +- add support for Should-Start, Should-Stop (#98470, <iarnell at gmail.com>)
> +- ntsysv: don't drop initscripts with '.' in the name (#556751)
> +- translation updates: el, id
> +
> +* Tue Sep 29 2009 Bill Nottingham <notting at redhat.com> 1.3.44-1
> +- alternatives: update symlinks if they exist on installation (#104940)
> +- alternatives: clarify error messages with more context (#441443)
> +- alternatives: fix removal of manual links (#525021, <dtardon at redhat.com>)
> +- translation updates: ml, mr, pl, ta, uk
> +
> +* Mon Sep 14 2009 Bill Nottingham <notting at redhat.com> 1.3.43-1
> +- ntsysv man page tweak (#516599)
> +- another minor LSB tweak (#474223)
> +- translation updates
> +
> +* Fri Mar 6 2009 Bill Nottingham <notting at redhat.com> 1.3.42-1
> +- further LSB fixes (#474223)
> +- throw errors on various malformed init scripts (#481198)
> +- man page updates re: LSB (#487979)
> +- translation updates: mai, gu, pt_BR, ro, ca, pa, sr, fr, hu
> +
> +* Tue Jan 20 2009 Bill Nottingham <notting at redhat.com> 1.3.41-1
> +- restore return code & error on unconfigured services (#480805)
> +
> +* Fri Dec 5 2008 Bill Nottingham <notting at redhat.com> 1.3.40-1
> +- fix some overflows. (#176944)
> +- add --type parameter to specify either xinetd or sysv services.
> + (#467863, <mschmidt at redhat.com>
> +- do a permissions check before add/remove/on/off/resetpriorities. (#450254)
> +- parse Short-Description correctly (#441813, <peter_e at gmx.net>)
> +
> +* Thu Dec 4 2008 Bill Nottingham <notting at redhat.com> 1.3.39-1
> +- fail if dependencies fail on add/remove in LSB mode (#474223)
> +
> +* Wed Oct 29 2008 Bill Nottingham <notting at redhat.com> 1.3.38-1
> +- Fix runlevel list in man page (#466739)
> +- translation updates
> +
> +* Thu Nov 8 2007 Bill Nottingham <notting at redhat.com> 1.3.37-1
> +- make no options do --list (#290241, #176184)
> +- sr at Latn -> sr at latin
> +
> +* Tue Sep 25 2007 Bill Nottingham <notting at redhat.com> 1.3.36-1
> +- buildreq popt-devel, link it dynamically (#279531)
> +- translation updates: kn, ko, mr, ro
> +
> +* Fri Aug 3 2007 Bill Nottingham <notting at redhat.com> 1.3.35-1
> +- clarify licensing
> +
> +* Mon Apr 16 2007 Bill Nottingham <notting at redhat.com> 1.3.34-1
> +- translation updates: as, bg, bn_IN, bs, ca, de, fr, hi, hu, id, ja,
> + ka, ml, ms, nb, or, sk, sl
> +- add resetpriorities to the man page (#197399)
> +
> +* Tue Feb 6 2007 Bill Nottingham <notting at redhat.com> 1.3.33-1
> +- various changes from review - support alternate %%{_sbindir}, fix
> + summaries, add version to requires, assorted other bits
> +
> +* Fri Feb 2 2007 Bill Nottingham <notting at redhat.com> 1.3.32-1
> +- support overriding various defaults via /etc/chkconfig.d (<johnsonm at rpath.com>)
> +
> +* Thu Feb 1 2007 Bill Nottingham <notting at redhat.com> 1.3.31-1
> +- fix man page (#220558, <esr at thyrus.com>)
> +- add some more verbiage in alternatives man page (#221089)
> +- don't print usage message on a nonexstent service (#226804)
> +
> +* Fri Dec 1 2006 Bill Nottingham <notting at redhat.com> 1.3.30.1-1
> +- translation updates: as, ka, lv, ml, te (#216617)
> +
> +* Thu Sep 7 2006 Bill Nottingham <notting at redhat.com> 1.3.30-1
> +- license cleanup
> +
> +* Fri Feb 24 2006 Bill Nottingham <notting at redhat.com> 1.3.29-1
> +- fix accidental enabling of services on --add (#182729)
> +
> +* Mon Feb 13 2006 Bill Nottingham <notting at redhat.com> 1.3.27-1
> +- translation updates
> +
> +* Thu Feb 2 2006 Bill Nottingham <notting at redhat.com> 1.3.26-1
> +- add support for resetting priorities without on/off status (#178864)
> +
> +* Wed Nov 30 2005 Bill Nottingham <notting at redhat.com> 1.3.25-1
> +- return an error if changing services fails (#150235)
> +
> +* Fri Nov 18 2005 Bill Nottingham <notting at redhat.com> 1.3.24-1
> +- when removing alternatives links, check to make sure they're
> + actually links (#173685)
> +
> +* Fri Nov 11 2005 Bill Nottingham <notting at redhat.com> 1.3.23-1
> +- fix ntsysv (#172996)
> +
> +* Wed Nov 9 2005 Bill Nottingham <notting at redhat.com>
> +- fix doSetService call in frobOneDependencies
> +
> +* Tue Nov 8 2005 Bill Nottingham <notting at redhat.com>
> +- for LSB scripts, use any chkconfig: priorities as a basis,
> + instead of 50/50 (#172599)
> +- fix LSB script dependency setting when no chkconfig: line
> + is present (#161870, <jean-francois.larvoire at hp.com>)
> +- fix LSB script dependency setting when one of Required-Stop
> + or Required-Start: is missing (#168457)
> +
> +* Fri Oct 7 2005 Bill Nottingham <notting at redhat.com>
> +- fix segfault on directories in /etc/xinetd.d (#166385)
> +- don't needlessly rewrite xinetd files (#81008)
> +
> +* Thu May 5 2005 Bill Nottingham <notting at redhat.com> 1.3.20-1
> +- fix deletion of orphaned slave links (#131496, <mitr at redhat.com>)
> +
> +* Fri Apr 29 2005 Bill Nottingham <notting at redhat.com> 1.3.19-1
> +- build with updated translations
> +
> +* Thu Mar 3 2005 Bill Nottingham <notting at redhat.com> 1.3.18-1
> +- actually return an error code if changing a service info fails
> +
> +* Tue Feb 22 2005 Bill Nottingham <notting at redhat.com> 1.3.17-1
> +- more chkconfig: vs. LSB fixes (#149066)
> +
> +* Thu Feb 10 2005 Bill Nottingham <notting at redhat.com> 1.3.16-1
> +- prefer chkconfig: start/stop priorities in LSB mode unless
> + Required-Start/Stop are used
> +
> +* Mon Feb 7 2005 Bill Nottingham <notting at redhat.com> 1.3.15-1
> +- print usage when various invalid args are passed (#147393)
> +
> +* Wed Feb 2 2005 Bill Nottingham <notting at redhat.com> 1.3.14-1
> +- resize reasonably with larger screens (#74156)
> +- don't error out completely on bad symlink (#74324)
> +- use ngettext (#106176)
> +- error out on invalid start/stop values (#109858)
> +- some man page updates
> +- fix return code of chkconfig for xinetd services (#63123)
> +- sort chkconfig --list display (#61576, <shishz at alum.rpi.edu>)
> +
> +* Tue Jan 11 2005 Bill Nottingham <notting at redhat.com> 1.3.13-1
> +- fix LSB comment parsing some more (#144739)
> +
> +* Thu Oct 28 2004 Bill Nottingham <notting at redhat.com> 1.3.11.2-1
> +- fix manpage reference (#137492)
> +
> +* Fri Oct 1 2004 Bill Nottingham <notting at redhat.com> 1.3.11.1-1
> +- rebuild with updated translations
> +
> +* Fri Jun 4 2004 Bill Nottingham <notting at redhat.com> 1.3.11-1
> +- fix LSB comment parsing (#85678)
> +
> +* Wed May 29 2004 Bill Nottingham <notting at redhat.com> 1.3.10-1
> +- mark alternatives help output for translation (#110526)
> +
> +* Wed Oct 22 2003 Bill Nottingham <notting at redhat.com> 1.3.9-1
> +- update translations
> +
> +* Mon Jul 28 2003 Bill Nottingham <notting at redhat.com> 1.3.8-4
> +- rebuild
> +
> +* Tue May 13 2003 Dan Walsh <dwalsh at redhat.com> 1.3.8-3
> +- Update for RHEL
> +
> +* Thu May 8 2003 Dan Walsh <dwalsh at redhat.com> 1.3.8-2
> +- Fix readXinetdServiceInfo to return error on not regular files
> +- Fix chkconfig to not write messages if readXinetdServiceInfo gets an error
> +
> +* Fri Jan 31 2003 Bill Nottingham <notting at redhat.com> 1.3.8-1
> +- fix some wording in alternatives (#76213)
> +- actually mark alternatives for translation
> +
> +* Thu Dec 12 2002 Elliot Lee <sopwith at redhat.com> 1.3.7-1
> +- Link to libpopt in a multilib-safe fashion.
> +
> +* Thu Aug 29 2002 Trond Eivind Glomsrød <teg at redhat.com> 1.3.6-3
> +- bump
> +
> +* Thu Aug 15 2002 Bill Nottingham <notting at redhat.com> 1.3.6-2
> +- rebuild against new newt
> +
> +* Mon Aug 12 2002 Bill Nottingham <notting at redhat.com> 1.3.6-1
> +- make on and off handle runlevel 2 too (#70766)
> +
> +* Mon Apr 15 2002 Trond Eivind Glomsrød <teg at redhat.com> 1.3.5-3
> +- Update translations
> +
> +* Mon Apr 15 2002 Trond Eivind Glomsrød <teg at redhat.com> 1.3.5-2
> +- Update translations
> +
> +* Sun Apr 7 2002 Jeremy Katz <katzj at redhat.com> 1.3.5-1
> +- alternatives: handle default with --config properly (#62009)
> +
> +* Thu Mar 14 2002 Bill Nottingham <notting at redhat.com> 1.3.4-1
> +- don't apply the dependency logic to things that already have
> + start/stop priorities
> +- fix silly display bug in --config
> +
> +* Tue Mar 12 2002 Bill Nottingham <notting at redhat.com> 1.3.2-1
> +- chkconfig: LSB support
> +
> +* Fri Mar 8 2002 Bill Nottingham <notting at redhat.com>
> +- alternatives: handle initscripts too; --initscript command-line option
> +- chkconfig/ntsysv (and serviceconf, indirectly): services with
> + *no* links in /etc/rc*.d are no longer displayed with --list, or
> + available for configuration except via chkconfig command-line options
> +- alternatives: fix trying to enable disable a null service
> +
> +* Tue Mar 5 2002 Bill Nottingham <notting at redhat.com>
> +- alternatives: handle things with different numbers of slave links
> +
> +* Mon Mar 4 2002 Bill Nottingham <notting at redhat.com>
> +- minor alternatives tweaks: don't install the same thing multiple times
> +
> +* Wed Jan 30 2002 Bill Nottingham <notting at redhat.com>
> +- actually, put the alternatives stuff back in /usr/sbin
> +- ship /etc/alternatives dir
> +- random alternatives fixes
> +
> +* Sun Jan 27 2002 Erik Troan <ewt at redhat.com>
> +- reimplemented update-alternatives as just alternatives
> +
> +* Thu Jan 25 2002 Bill Nottingham <notting at redhat.com>
> +- add in update-alternatives stuff (perl ATM)
> +
> +* Mon Aug 27 2001 Trond Eivind Glomsrød <teg at redhat.com>
> +- Update translations
> +
> +* Tue Jun 12 2001 Bill Nottingham <notting at redhat.com>
> +- don't segfault on files that are exactly the length of a page size
> + (#44199, <kmori at redhat.com>)
> +
> +* Sun Mar 4 2001 Bill Nottingham <notting at redhat.com>
> +- don't show xinetd services in ntsysv if xinetd doesn't appear to be
> + installed (#30565)
> +
> +* Wed Feb 14 2001 Preston Brown <pbrown at redhat.com>
> +- final translation update.
> +
> +* Tue Feb 13 2001 Preston Brown <pbrown at redhat.com>
> +- warn in ntsysv if not running as root.
> +
> +* Fri Feb 2 2001 Preston Brown <pbrown at redhat.com>
> +- use lang finder script
> +
> +* Fri Feb 2 2001 Bill Nottingham <notting at redhat.com>
> +- finally fix the bug Nalin keeps complaining about :)
> +
> +* Wed Jan 24 2001 Preston Brown <pbrown at redhat.com>
> +- final i18n update before Beta.
> +
> +* Wed Oct 18 2000 Bill Nottingham <notting at redhat.com>
> +- ignore .rpmnew files (#18915)
> +- fix typo in error message (#17575)
> +
> +* Wed Aug 30 2000 Nalin Dahyabhai <nalin at redhat.com>
> +- make xinetd config files mode 0644, not 644
> +
> +* Thu Aug 24 2000 Erik Troan <ewt at redhat.com>
> +- updated it and es translations
> +
> +* Sun Aug 20 2000 Bill Nottingham <notting at redhat.com>
> +- get man pages in proper packages
> +
> +* Sun Aug 20 2000 Matt Wilson <msw at redhat.com>
> +- new translations
> +
> +* Tue Aug 16 2000 Nalin Dahyabhai <nalin at redhat.com>
> +- don't worry about extra whitespace on chkconfig: lines (#16150)
> +
> +* Wed Aug 10 2000 Trond Eivind Glomsrød <teg at redhat.com>
> +- i18n merge
> +
> +* Wed Jul 26 2000 Matt Wilson <msw at redhat.com>
> +- new translations for de fr it es
> +
> +* Tue Jul 25 2000 Bill Nottingham <notting at redhat.com>
> +- change prereqs
> +
> +* Sun Jul 23 2000 Bill Nottingham <notting at redhat.com>
> +- fix ntsysv's handling of xinetd/init files with the same name
> +
> +* Fri Jul 21 2000 Bill Nottingham <notting at redhat.com>
> +- fix segv when reading malformed files
> +
> +* Wed Jul 19 2000 Bill Nottingham <notting at redhat.com>
> +- put links, rc[0-6].d dirs back, those are necessary
> +
> +* Tue Jul 18 2000 Bill Nottingham <notting at redhat.com>
> +- add quick hack support for reading descriptions from xinetd files
> +
> +* Mon Jul 17 2000 Bernhard Rosenkraenzer <bero at redhat.com>
> +- don't own the /etc/rc[0-6].d symlinks; they're owned by initscripts
> +
> +* Sat Jul 15 2000 Matt Wilson <msw at redhat.com>
> +- move back to old file layout
> +
> +* Thu Jul 13 2000 Preston Brown <pbrown at redhat.com>
> +- bump copyright date
> +
> +* Tue Jul 11 2000 Bill Nottingham <notting at redhat.com>
> +- no %%pre today. Maybe tomorrow.
> +
> +* Thu Jul 6 2000 Bill Nottingham <notting at redhat.com>
> +- put initscripts %%pre here too
> +
> +* Mon Jul 3 2000 Bill Nottingham <notting at redhat.com>
> +- oops, if we don't prereq initscripts, we *need* to own /etc/rc[0-6].d
> +
> +* Sun Jul 2 2000 Bill Nottingham <notting at redhat.com>
> +- add xinetd support
> +
> +* Tue Jun 27 2000 Matt Wilson <msw at redhat.com>
> +- changed Prereq: initscripts >= 5.18 to Conflicts: initscripts < 5.18
> +- fixed sumary and description where a global string replace nuked them
> +
> +* Mon Jun 26 2000 Matt Wilson <msw at redhat.com>
> +- what Bill said, but actually build this version
> +
> +* Thu Jun 15 2000 Bill Nottingham <notting at redhat.com>
> +- don't own /etc/rc.*
> +
> +* Fri Feb 11 2000 Bill Nottingham <notting at redhat.com>
> +- typo in man page
> +
> +* Wed Feb 02 2000 Cristian Gafton <gafton at redhat.com>
> +- fix description
> +
> +* Wed Jan 12 2000 Bill Nottingham <notting at redhat.com>
> +- link chkconfig statically against popt
> +
> +* Mon Oct 18 1999 Bill Nottingham <notting at redhat.com>
> +- fix querying alternate levels
> +
> +* Mon Aug 23 1999 Jeff Johnson <jbj at redhat.com>
> +- don't use strchr to skip unwanted files, look at extension instead (#4166).
> +
> +* Thu Aug 5 1999 Bill Nottingham <notting at redhat.com>
> +- fix --help, --verson
> +
> +* Mon Aug 2 1999 Matt Wilson <msw at redhat.com>
> +- rebuilt ntsysv against newt 0.50
> +
> +* Mon Aug 2 1999 Jeff Johnson <jbj at redhat.com>
> +- fix i18n problem in usage message (#4233).
> +- add --help and --version.
> +
> +* Mon Apr 19 1999 Cristian Gafton <gafton at redhat.com>
> +- release for Red Hat 6.0
> +
> +* Thu Apr 8 1999 Matt Wilson <msw at redhat.com>
> +- added support for a "hide: true" tag in initscripts that will make
> + services not appear in ntsysv when run with the "--hide" flag
> +
> +* Thu Apr 1 1999 Matt Wilson <msw at redhat.com>
> +- added --hide flag for ntsysv that allows you to hide a service from the
> + user.
> +
> +* Mon Mar 22 1999 Bill Nottingham <notting at redhat.com>
> +- fix glob, once and for all. Really. We mean it.
> +
> +* Thu Mar 18 1999 Bill Nottingham <notting at redhat.com>
> +- revert fix for services at levels, it's broken
> +- change default to only edit the current runlevel
> +
> +* Mon Mar 15 1999 Bill Nottingham <notting at redhat.com>
> +- don't remove scripts that don't support chkconfig
> +
> +* Tue Mar 09 1999 Erik Troan <ewt at redhat.com>
> +- made glob a bit more specific so xinetd and inetd don't cause improper matches
> +
> +* Thu Feb 18 1999 Matt Wilson <msw at redhat.com>
> +- removed debugging output when starting ntsysv
> +
> +* Thu Feb 18 1999 Preston Brown <pbrown at redhat.com>
> +- fixed globbing error
> +- fixed ntsysv running services not at their specified levels.
> +
> +* Tue Feb 16 1999 Matt Wilson <msw at redhat.com>
> +- print the value of errno on glob failures.
> +
> +* Sun Jan 10 1999 Matt Wilson <msw at redhat.com>
> +- rebuilt for newt 0.40 (ntsysv)
> +
> +* Tue Dec 15 1998 Jeff Johnson <jbj at redhat.com>
> +- add ru.po.
> +
> +* Thu Oct 22 1998 Bill Nottingham <notting at redhat.com>
> +- build for Raw Hide (slang-1.2.2)
> +
> +* Wed Oct 14 1998 Cristian Gafton <gafton at redhat.com>
> +- translation updates
> +
> +* Thu Oct 08 1998 Cristian Gafton <gafton at redhat.com>
> +- updated czech translation (and use cs instead of cz)
> +
> +* Tue Sep 22 1998 Arnaldo Carvalho de Melo <acme at conectiva.com.br>
> +- added pt_BR translations
> +- added more translatable strings
> +- support for i18n init.d scripts description
> +
> +* Sun Aug 02 1998 Erik Troan <ewt at redhat.com>
> +- built against newt 0.30
> +- split ntsysv into a separate package
> +
> +* Thu May 07 1998 Erik Troan <ewt at redhat.com>
> +- added numerous translations
> +
> +* Mon Mar 23 1998 Erik Troan <ewt at redhat.com>
> +- added i18n support
> +
> +* Sun Mar 22 1998 Erik Troan <ewt at redhat.com>
> +- added --back
> --- chkconfig-1.3.46/leveldb.c
> +++ chkconfig-1.3.46/leveldb.c
> +/* Copyright 1997-2008 Red Hat, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License, version 2,
> + * as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
> + */
> +#include <alloca.h>
> +#include <ctype.h>
> +#include <dirent.h>
> +#include <errno.h>
> +#include <fcntl.h>
> +#include <glob.h>
> +#include <libintl.h>
> +#include <locale.h>
> +#include <sys/mman.h>
> +#include <sys/stat.h>
> +#include <stdlib.h>
> +#include <stdio.h>
> +#include <string.h>
> +#include <unistd.h>
> +
> +/* Changes
> + 1998-09-22 - Arnaldo Carvalho de Melo <acme at conectiva.com.br>
> + i18n for init.d scripts (eg.: description(pt_BR) is a brazilian
> + portuguese description for the package)
> +*/
> +
> +#define _(String) gettext((String))
> +
> +#include "leveldb.h"
> +
> +int parseLevels(char * str, int emptyOk) {
> + char * chptr = str;
> + int rc = 0;
> +
> + if (!str || !strlen(str))
> + return emptyOk ? 0 : -1;
> +
> + while (*chptr) {
> + if (!isdigit(*chptr) || *chptr > '6') return -1;
> + rc |= 1 << (*chptr - '0');
> + chptr++;
> + }
> +
> + return rc;
> +}
> +
> +int readDescription(char *start, char *bufstop, char **english_desc, char **serv_desc) {
> + char english;
> + char my_lang_loaded = 0;
> + char is_my_lang = 0;
> + char * lang = getenv ("LANG");
> + char * final_parenthesis;
> + char * end, *next;
> + int i;
> +
> + english = *start == ':';
> + end = strchr(start, '\n');
> + if (!end)
> + next = end = bufstop;
> + else
> + next = end + 1;
> +
> + if (!english) {
> + if (*start != '(') {
> + return 1;
> + }
> +
> + ++start;
> + final_parenthesis = strchr (start, ')');
> +
> + if (final_parenthesis == NULL || final_parenthesis - start > 5) {
> + return 1;
> + }
> +
> + is_my_lang = lang ? strncmp (lang, start, strlen (lang)) == 0 : 0;
> + start = final_parenthesis + 2;
> + } else ++start;
> +
> + while (isspace(*start) && start < end) start++;
> + if (start >= end) {
> + return 1;
> + }
> + {
> + char* desc = malloc(end - start + 1);
> + strncpy(desc, start, end - start);
> + desc[end - start] = '\0';
> +
> + start = next;
> +
> + while (desc[strlen(desc) - 1] == '\\') {
> + desc[strlen(desc) - 1] = '\0';
> + start = next;
> +
> + while (isspace(*start) && start < bufstop) start++;
> + if (start == bufstop || *start != '#') {
> + return 1;
> + }
> +
> + start++;
> +
> + while (isspace(*start) && start < bufstop) start++;
> + if (start == bufstop) {
> + return 1;
> + }
> +
> + end = strchr(start, '\n');
> + if (!end)
> + next = end = bufstop;
> + else
> + next = end + 1;
> +
> + i = strlen(desc);
> + desc = realloc(desc, i + end - start + 1);
> + strncat(desc, start, end - start);
> + desc[i + end - start] = '\0';
> +
> + start = next;
> + }
> +
> + if (desc) {
> + if (my_lang_loaded) {
> + free(desc);
> + } else if (is_my_lang) {
> + if (*serv_desc)
> + free(*serv_desc);
> +
> + *serv_desc = desc;
> + return 0;
> + } else if (english) {
> + if (*serv_desc)
> + free(*serv_desc);
> +
> + if (*english_desc)
> + free (*english_desc);
> +
> + *english_desc = desc;
> + } else free (desc);
> + }
> + }
> + return 0;
> +}
> +
> +int readXinetdServiceInfo(char *name, struct service * service, int honorHide) {
> + char * filename = alloca(strlen(name) + strlen(XINETDDIR) + 50);
> + int fd;
> + struct service serv = {
> + name: NULL,
> + levels: -1,
> + kPriority: -1,
> + 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, *ptr;
> + char * eng_desc = NULL, *start;
> +
> + snprintf(filename, strlen(name)+strlen(XINETDDIR)+50, XINETDDIR "/%s", name);
> +
> + if ((fd = open(filename, O_RDONLY)) < 0) return -1;
> + fstat(fd,&sb);
> + if (! S_ISREG(sb.st_mode)) return -1;
> + buf = malloc(sb.st_size+1);
> + if (read(fd,buf,sb.st_size)!=sb.st_size) {
> + close(fd);
> + free(buf);
> + return -1;
> + }
> + 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;
> +}
> +
> +int readServices(struct service **services) {
> + DIR * dir;
> + struct dirent * ent;
> + struct stat sb;
> + struct service *servs = NULL;
> + int numservs = 0;
> + char fn[1024];
> +
> + if (!(dir = opendir(RUNLEVELS "/init.d"))) {
> + fprintf(stderr, _("failed to open %s/init.d: %s\n"), RUNLEVELS,
> + strerror(errno));
> + return 1;
> + }
> +
> + 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;
> +
> + sprintf(fn, RUNLEVELS "/init.d/%s", ent->d_name);
> + if (stat(fn, &sb)) {
> + continue;
> + }
> + if (!S_ISREG(sb.st_mode)) continue;
> + servs = realloc(servs, (numservs+1) * sizeof(struct service));
> + if (!readServiceInfo(ent->d_name, TYPE_INIT_D, servs + numservs, 0))
> + numservs++;
> + }
> + *services = servs;
> + return numservs;
> +}
> +
> +int readServiceInfo(char * name, int type, struct service * service, int honorHide) {
> + char * filename = alloca(strlen(name) + strlen(RUNLEVELS) + 50);
> + int fd;
> + struct service serv, serv_overrides;
> + int parseret;
> +
> + if (!(type & TYPE_INIT_D))
> + goto try_xinetd;
> +
> + sprintf(filename, RUNLEVELS "/init.d/%s", name);
> +
> + if ((fd = open(filename, O_RDONLY)) < 0)
> + goto try_xinetd;
> +
> + parseret = parseServiceInfo(fd, name, &serv, honorHide, 0);
> + if (parseret)
> + return parseret;
> +
> + sprintf(filename, RUNLEVELS "/chkconfig.d/%s", name);
> + if ((fd = open(filename, O_RDONLY)) >= 0) {
> + parseret = parseServiceInfo(fd, name, &serv_overrides, honorHide, 1);
> + if (parseret >= 0) {
> + if (serv_overrides.name) serv.name = serv_overrides.name;
> + if (serv_overrides.levels != -1) serv.levels = serv_overrides.levels;
> + if (serv_overrides.kPriority != -2) serv.kPriority = serv_overrides.kPriority;
> + if (serv_overrides.sPriority != -2) serv.sPriority = serv_overrides.sPriority;
> + if (serv_overrides.desc) serv.desc = serv_overrides.desc;
> + if (serv_overrides.startDeps) serv.startDeps = serv_overrides.startDeps;
> + if (serv_overrides.stopDeps) serv.stopDeps = serv_overrides.stopDeps;
> + if (serv_overrides.softStartDeps) serv.softStartDeps = serv_overrides.softStartDeps;
> + if (serv_overrides.softStopDeps) serv.softStopDeps = serv_overrides.softStopDeps;
> + if (serv_overrides.provides) serv.provides = serv_overrides.provides;
> + if (serv_overrides.isLSB || serv.isLSB) serv.isLSB = 1;
> + }
> + }
> +
> + *service = serv;
> + return 0;
> +
> +try_xinetd:
> + if (!(type & TYPE_XINETD))
> + return -1;
> + return readXinetdServiceInfo(name,service,honorHide);
> +}
> +
> +int readServiceDifferences(char * name, int type, struct service * service, struct service * service_overrides, int honorHide) {
> + char * filename = alloca(strlen(name) + strlen(RUNLEVELS) + 50);
> + int fd;
> + struct service serv, serv_overrides;
> + int parseret;
> +
> + if (!(type & TYPE_INIT_D))
> + goto try_xinetd;
> +
> + sprintf(filename, RUNLEVELS "/init.d/%s", name);
> +
> + if ((fd = open(filename, O_RDONLY)) < 0) {
> + goto try_xinetd;
> + }
> +
> + parseret = parseServiceInfo(fd, name, &serv, honorHide, 0);
> + if (parseret) {
> + return parseret;
> + }
> +
> + sprintf(filename, RUNLEVELS "/chkconfig.d/%s", name);
> + if ((fd = open(filename, O_RDONLY)) >= 0) {
> + parseret = parseServiceInfo(fd, name, &serv_overrides, honorHide, 1);
> + } else {
> + return 1;
> + }
> + if (parseret) {
> + return 1;
> + }
> +
> + *service = serv;
> + *service_overrides = serv_overrides;
> + return 0;
> +
> +try_xinetd:
> + if (!(type & TYPE_XINETD))
> + return -1;
> + return readXinetdServiceInfo(name,service,honorHide);
> +}
> +
> +static struct dep *parseDeps(char *pos, char *end) {
> + char *t;
> + int numdeps = 0;
> + struct dep *deps = NULL;
> +
> + while (1) {
> + while (*pos && isspace(*pos) && pos < end) pos++;
> + if (pos == end)
> + break;
> + t = pos;
> + while (*t && !isspace(*t) && t < end) t++;
> + if (isspace(*t)) {
> + *t = '\0';
> + t++;
> + }
> + numdeps++;
> + deps = realloc(deps,
> + (numdeps + 1) * sizeof(struct dep));
> + deps[numdeps-1].name = strdup(pos);
> + deps[numdeps-1].handled = 0;
> + memset(&deps[numdeps],'\0',sizeof(struct dep));
> + if (!t || t >= end)
> + break;
> + else
> + pos = t;
> + }
> + return deps;
> +}
> +
> +
> +int parseServiceInfo(int fd, char * name, struct service * service, int honorHide, int partialOk) {
> + struct stat sb;
> + char * bufstart, * bufstop, * start, * end, * next, *tmpbufstart;
> + struct service serv = {
> + name: NULL,
> + levels: -1,
> + kPriority: -1,
> + sPriority: -1,
> + desc: NULL,
> + startDeps: NULL,
> + stopDeps: NULL,
> + softStartDeps: NULL,
> + softStopDeps: NULL,
> + provides: NULL,
> + type: TYPE_INIT_D,
> + isLSB: 0,
> + enabled: 0
> + };
> + char overflow;
> + char levelbuf[20];
> + char * english_desc = NULL;
> +
> + fstat(fd, &sb);
> +
> + bufstart = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, 0);
> + if (bufstart == ((caddr_t) -1)) {
> + close(fd);
> + return -1;
> + }
> +
> + tmpbufstart = (char*)malloc(sb.st_size+1);
> + if (tmpbufstart == NULL) {
> + close(fd);
> + return -1;
> + }
> +
> + memcpy(tmpbufstart, bufstart, sb.st_size);
> + munmap(bufstart, sb.st_size);
> +
> + bufstart = tmpbufstart;
> + bufstop = bufstart + sb.st_size;
> + *bufstop = 0;
> +
> + close(fd);
> +
> + next = bufstart;
> + while (next < bufstop && (serv.levels == -1 || !serv.desc)) {
> + start = next;
> +
> + while (isspace(*start) && start < bufstop) start++;
> + if (start == bufstop) break;
> +
> + end = strchr(start, '\n');
> + if (!end)
> + next = end = bufstop;
> + else
> + next = end + 1;
> +
> + if (*start != '#') continue;
> +
> + start++;
> + if (!strncmp(start, "## BEGIN INIT INFO", 18))
> + serv.isLSB = 1;
> +
> + while (isspace(*start) && start < end) start++;
> + if (start == end) continue;
> + if (honorHide && !strncmp(start, "hide:", 5)) {
> + start += 5;
> + while (isspace(*start) && start < end) start++;
> + if (start == end || !strncmp(start, "true", 4)) {
> + if (serv.desc) free(serv.desc);
> + free(bufstart);
> + return 1;
> + }
> + }
> +
> + if (!strncmp(start, "chkconfig:", 10)) {
> + int spri, kpri;
> +
> + start += 10;
> + while (isspace(*start) && start < end) start++;
> + if (start == end) {
> + if (serv.desc) free(serv.desc);
> + free(bufstart);
> + return 1;
> + }
> +
> + if ((sscanf(start, "%15s %d %d%c", levelbuf,
> + &spri, &kpri, &overflow) != 4) ||
> + !isspace(overflow)) {
> + if (serv.desc) free(serv.desc);
> + free(bufstart);
> + return 1;
> + }
> + if (spri > 99 || kpri > 99 || kpri < 0 || spri < 0) {
> + if (serv.desc) free(serv.desc);
> + free(bufstart);
> + return 1;
> + }
> + if (serv.sPriority == -1)
> + serv.sPriority = spri;
> + if (serv.kPriority == -1)
> + serv.kPriority = kpri;
> +
> + if (serv.levels == -1) {
> + if (!strcmp(levelbuf, "-"))
> + serv.levels = 0;
> + else
> + serv.levels = parseLevels(levelbuf, 0);
> + }
> + if (serv.levels == -1) {
> + if (serv.desc) free(serv.desc);
> + free(bufstart);
> + return 1;
> + }
> + } else if (!strncmp(start, "description", 11) ||
> + !strncmp(start, "Description:", 12)) {
> + if (readDescription(start+11, bufstop, &english_desc, &serv.desc)) {
> + if (serv.desc) free(serv.desc);
> + }
> + } else if (!strncmp(start, "Short-Description:", 18)) {
> + if (readDescription(start+17, bufstop, &english_desc, &serv.desc)) {
> + if (serv.desc) free(serv.desc);
> + }
> + } else if (!strncmp(start, "Default-Start:", 14)) {
> + char *t;
> +
> + start+=14;
> + while (1) {
> + int lev;
> +
> + lev = strtol(start, &t, 10);
> + if (t && t != start)
> + start = t;
> + else
> + break;
> + if (serv.levels == -1)
> + serv.levels = 0;
> + serv.levels |= 1 << lev;
> + }
> + } else if (!strncmp(start, "Default-Stop:", 13)) {
> + char *t;
> +
> + start+=13;
> + while (1) {
> + int lev;
> +
> + lev = strtol(start, &t, 10);
> + if (t && t != start)
> + start = t;
> + else
> + break;
> + if (serv.levels == -1)
> + serv.levels = 0;
> + serv.levels &= ~(1 << lev);
> + }
> + } else if (!strncmp(start, "Required-Start:", 15)) {
> + start+=15;
> + serv.startDeps = parseDeps(start, end);
> + } else if (!strncmp(start, "Required-Stop:", 14)) {
> + start+=14;
> + serv.stopDeps = parseDeps(start, end);
> + } else if (!strncmp(start, "Should-Start:", 13)) {
> + start+=13;
> + serv.softStartDeps = parseDeps(start, end);
> + } else if (!strncmp(start, "Should-Stop:", 12)) {
> + start+=12;
> + serv.softStopDeps = parseDeps(start, end);
> + } else if (!strncmp(start, "Provides:", 9)) {
> + char *t;
> + int numdeps = 0;
> +
> + start+=9;
> + while (1) {
> + while (*start && isspace(*start) && start < end) start++;
> + if (start == end)
> + break;
> + t = start;
> + while (*t && !isspace(*t) && t < end) t++;
> + if (isspace(*t)) {
> + *t = '\0';
> + t++;
> + }
> + numdeps++;
> + serv.provides = realloc(serv.provides,
> + (numdeps + 1) * sizeof(char *));
> + serv.provides[numdeps-1] = strdup(start);
> + serv.provides[numdeps] = NULL;
> + if (!t || t >= end)
> + break;
> + else
> + start = t;
> + }
> +
> + }
> + }
> +
> + free(bufstart);
> +
> + if (!serv.desc) {
> + if (english_desc)
> + serv.desc = english_desc;
> + else
> + serv.desc = strdup(name);
> + } else if (english_desc)
> + free (english_desc);
> +
> + if (!partialOk && ((serv.levels == -1) || !serv.desc || (!serv.isLSB && (serv.sPriority == -1 || serv.kPriority == -1)))) {
> + return 1;
> + }
> +
> + serv.name = strdup(name);
> + if (!serv.provides) {
> + serv.provides = malloc(2 * sizeof(char *));
> + serv.provides[0] = strdup(name);
> + serv.provides[1] = NULL;
> + }
> +
> + *service = serv;
> + return 0;
> +}
> +
> +/* returns -1 on error */
> +int currentRunlevel(void) {
> + FILE * p;
> + char response[50];
> +
> + p = popen("/sbin/runlevel", "r");
> + if (!p) return -1;
> +
> + if (!fgets(response, sizeof(response), p)) {
> + pclose(p);
> + return -1;
> + }
> +
> + pclose(p);
> +
> + if (response[1] != ' ' || !isdigit(response[2]) || response[3] != '\n')
> + return -1;
> +
> + return response[2] - '0';
> +}
> +
> +int findServiceEntries(char * name, int level, glob_t * globresptr) {
> + char match[200];
> + glob_t globres;
> + int rc;
> +
> + sprintf(match, "%s/rc%d.d/[SK][0-9][0-9]%s", RUNLEVELS, level, name);
> +
> + rc = glob(match, GLOB_ERR | GLOB_NOSORT, NULL, &globres);
> +
> + if (rc && rc != GLOB_NOMATCH) {
> + fprintf(stderr, _("failed to glob pattern %s: %s\n"), match,
> + strerror(errno));
> + return 1;
> + } else if (rc == GLOB_NOMATCH) {
> + globresptr->gl_pathc = 0;
> + return 0;
> + }
> +
> + *globresptr = globres;
> + return 0;
> +}
> +
> +int isConfigured(char * name, int level, int *priority, char *type) {
> + glob_t globres;
> + char *pri_string;
> +
> + if (findServiceEntries(name, level, &globres))
> + exit(1);
> +
> + if (!globres.gl_pathc)
> + return 0;
> +
> + if (type) {
> + *type = globres.gl_pathv[0][11];
> + }
> +
> + if (priority) {
> + pri_string = strndup(globres.gl_pathv[0]+12, 2);
> + if (!pri_string) return 0;
> + sscanf(pri_string, "%d", priority);
> + free(pri_string);
> + }
> +
> + globfree(&globres);
> + return 1;
> +}
> +
> +int isOn(char * name, int level) {
> + glob_t globres;
> +
> + if (level == -1) {
> + level = currentRunlevel();
> + if (level == -1) {
> + fprintf(stderr, _("cannot determine current run level\n"));
> + return 0;
> + }
> + }
> +
> + if (findServiceEntries(name, level, &globres))
> + exit(1);
> +
> + if (!globres.gl_pathc || !strstr(globres.gl_pathv[0], "/S"))
> + return 0;
> +
> + globfree(&globres);
> + return 1;
> +}
> +
> +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;
> +
> + 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);
> + newfd = mkstemp(newfname);
> + 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);
> + chmod(newfname,0644);
> + unlink(oldfname);
> + return(rename(newfname,oldfname));
> +}
> +
> +int doSetService(struct service s, int level, int on) {
> + int priority = on ? s.sPriority : s.kPriority;
> + char linkname[200];
> + char linkto[200];
> + glob_t globres;
> + int i;
> +
> + if (!findServiceEntries(s.name, level, &globres)) {
> + for (i = 0; i < globres.gl_pathc; i++)
> + unlink(globres.gl_pathv[i]);
> + if (globres.gl_pathc) globfree(&globres);
> + }
> +
> + sprintf(linkname, "%s/rc%d.d/%c%02d%s", RUNLEVELS, level,
> + on ? 'S' : 'K', priority, s.name);
> + sprintf(linkto, "../init.d/%s", s.name);
> +
> + unlink(linkname); /* just in case */
> + if (symlink(linkto, linkname)) {
> + fprintf(stderr, _("failed to make symlink %s: %s\n"), linkname,
> + strerror(errno));
> + return 1;
> + }
> +
> + return 0;
> +}
> +
> --- chkconfig-1.3.46/leveldb.h
> +++ chkconfig-1.3.46/leveldb.h
> +/* Copyright 1997-2008 Red Hat, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License, version 2,
> + * as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
> + */
> +#ifndef H_LEVELDB
> +#define H_LEVELDB
> +
> +#define RUNLEVELS "/etc"
> +#define XINETDDIR "/etc/xinetd.d"
> +
> +#include <glob.h>
> +
> +#define TYPE_INIT_D 0x1
> +#define TYPE_XINETD 0x2
> +#define TYPE_ANY (TYPE_INIT_D | TYPE_XINETD)
> +
> +struct dep {
> + char *name;
> + int handled;
> +};
> +
> +struct service {
> + char * name;
> + int levels, kPriority, sPriority;
> + char * desc;
> + struct dep *startDeps;
> + struct dep *stopDeps;
> + struct dep *softStartDeps;
> + struct dep *softStopDeps;
> + char **provides;
> + int type;
> + int isLSB;
> + int enabled;
> +};
> +
> +int parseLevels(char * str, int emptyOk);
> +
> +/* returns 0 on success, 1 if the service is not chkconfig-able, -1 if an
> + I/O error occurs (in which case errno can be checked) */
> +int readServiceInfo(char * name, int type, struct service * service, int honorHide);
> +int readServices(struct service **services);
> +int readServiceDifferences(char * name, int type, struct service * service, struct service * service_overrides, int honorHide);
> +int parseServiceInfo(int fd, char * name, struct service * service, int honorHide, int partialOk);
> +int currentRunlevel(void);
> +int isOn(char * name, int where);
> +int isConfigured(char * name, int level, int *priority, char *type);
> +int doSetService(struct service s, int level, int on);
> +int findServiceEntries(char * name, int level, glob_t * globresptr);
> +int readXinetdServiceInfo(char *name, struct service *service, int honorHide);
> +int setXinetdService(struct service s, int on);
> +
> +#endif
> --- chkconfig-1.3.46/ntsysv.8
> +++ chkconfig-1.3.46/ntsysv.8
> (renamed from chkconfig-1.3.44/ntsysv.8)
> --- chkconfig-1.3.46/ntsysv.c
> +++ chkconfig-1.3.46/ntsysv.c
> +/* Copyright 1997-2007 Red Hat, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License, version 2,
> + * as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
> + */
> +#include <alloca.h>
> +#include <ctype.h>
> +#include <dirent.h>
> +#include <errno.h>
> +#include <libintl.h>
> +#include <locale.h>
> +#include <newt.h>
> +#include <popt.h>
> +#include <stdio.h>
> +#include <stdlib.h>
> +#include <string.h>
> +#include <sys/stat.h>
> +#include <unistd.h>
> +
> +#define _(String) gettext((String))
> +
> +#include "leveldb.h"
> +
> +/* return 1 on cancel, 2 on error, 0 on success */
> +static int servicesWindow(struct service * services, int numServices,
> + int levels, int backButton) {
> + newtComponent label, subform, ok, cancel;
> + newtComponent * checkboxes, form, curr, blank;
> + newtComponent sb = NULL;
> + newtGrid grid, subgrid, buttons;
> + char * states;
> + int i, done = 0, update = 0, j;
> + int width, height;
> + struct newtExitStruct e;
> +
> + newtPushHelpLine(_("Press <F1> for more information on a service."));
> +
> + newtGetScreenSize(&width, &height);
> + width = width > 80 ? width - 60 : 20;
> + height = height > 25 ? height - 17 : 8;
> +
> +
> + sb = newtVerticalScrollbar(-1, -1, height, NEWT_COLORSET_CHECKBOX,
> + NEWT_COLORSET_ACTCHECKBOX);
> +
> + subform = newtForm(sb, NULL, 0);
> + newtFormSetBackground(subform, NEWT_COLORSET_CHECKBOX);
> + newtFormSetHeight(subform, height);
> +
> + checkboxes = alloca(sizeof(*checkboxes) * numServices);
> + states = alloca(sizeof(*states) * numServices);
> +
> + for (i = 0; i < numServices; i++) {
> + if (services[i].type == TYPE_XINETD) {
> + checkboxes[i] = newtCheckbox(-1, i, services[i].name,
> + services[i].levels ? '*' : ' ', NULL,
> + states + i);
> + } else {
> + for (j = 0; j < 7; j++) {
> + if (levels & (1 << j)) {
> + if (isOn(services[i].name, j)) break;
> + }
> + }
> + checkboxes[i] = newtCheckbox(-1, i, services[i].name,
> + (j != 7) ? '*' : ' ', NULL,
> + states + i);
> + }
> + newtFormAddComponent(subform, checkboxes[i]);
> + }
> +
> + newtFormSetWidth(subform, width);
> +
> + buttons = newtButtonBar(_("Ok"), &ok, backButton ? _("Back") : _("Cancel"),
> + &cancel, NULL);
> +
> + blank = newtForm(NULL, NULL, 0);
> + newtFormSetWidth(blank, 2);
> + newtFormSetHeight(blank, height);
> + newtFormSetBackground(blank, NEWT_COLORSET_CHECKBOX);
> +
> + subgrid = newtGridHCloseStacked(NEWT_GRID_COMPONENT, subform,
> + NEWT_GRID_COMPONENT, blank,
> + NEWT_GRID_COMPONENT, sb, NULL);
> +
> + label = newtTextboxReflowed(-1, -1, _("What services should be "
> + "automatically started?"), 30, 0, 20, 0);
> + grid = newtGridBasicWindow(label, subgrid, buttons);
> +
> + form = newtForm(NULL, NULL, 0);
> + newtGridAddComponentsToForm(grid, form, 1);
> + newtGridWrappedWindow(grid, _("Services"));
> + newtGridFree(grid, 1);
> +
> + newtFormAddHotKey(form, NEWT_KEY_F1);
> +
> + while (!done) {
> + newtFormRun(form, &e);
> +
> + if (e.reason == NEWT_EXIT_HOTKEY) {
> + if (e.u.key == NEWT_KEY_F12) {
> + done = 1;
> + update = 1;
> + } else {
> + /* must be F1 */
> + curr = newtFormGetCurrent(subform);
> + for (i = 0; i < numServices; i++)
> + if (curr == checkboxes[i]) break;
> +
> + if (i < numServices && services[i].desc)
> + newtWinMessage(services[i].name, _("Ok"), services[i].desc);
> + }
> + } else {
> + done = 1;
> + update = (e.u.co == ok);
> + }
> + }
> +
> + newtPopWindow();
> + newtFormDestroy(form);
> +
> + if (!update) 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 {
> + for (j = 0; j < 7; j++) {
> + if (levels & (1 << j))
> + doSetService(services[i], j, states[i] == '*');
> + }
> + }
> + }
> +
> + return 0;
> +}
> +
> +static int serviceNameCmp(const void * a, const void * b) {
> + const struct service * first = a;
> + const struct service * second = b;
> +
> + return strcmp(first->name, second->name);
> +}
> +
> +static int getServices(struct service ** servicesPtr, int * numServicesPtr,
> + int backButton, int honorHide) {
> + DIR * dir;
> + struct dirent * ent;
> + struct stat sb;
> + char fn[1024];
> + struct service * services;
> + int numServices = 0;
> + int numServicesAlloced, rc;
> + int err = 0;
> +
> + numServicesAlloced = 10;
> + services = malloc(sizeof(*services) * numServicesAlloced);
> +
> + if (!(dir = opendir(RUNLEVELS "/init.d"))) {
> + fprintf(stderr, "failed to open " RUNLEVELS "/init.d: %s\n",
> + strerror(errno));
> + return 2;
> + }
> +
> + while ((ent = readdir(dir))) {
> + if (strchr(ent->d_name, '~') || strchr(ent->d_name, ',') ||
> + (ent->d_name[0] == '.')) continue;
> +
> + sprintf(fn, RUNLEVELS "/init.d/%s", ent->d_name);
> + if (stat(fn, &sb))
> + {
> + fprintf(stderr, _("error reading info for service %s: %s\n"),
> + ent->d_name, strerror(errno));
> + continue;
> + }
> + if (!S_ISREG(sb.st_mode)) continue;
> +
> + if (numServices == numServicesAlloced) {
> + numServicesAlloced += 10;
> + services = realloc(services,
> + numServicesAlloced * sizeof(*services));
> + }
> +
> + rc = readServiceInfo(ent->d_name, TYPE_INIT_D, services + numServices, honorHide);
> +
> + if (!rc) {
> + int i;
> +
> + rc = -2;
> + for (i = 0 ; i < 7 ; i++) {
> + if (isConfigured(ent->d_name, i, NULL, NULL)) {
> + rc = 0;
> + break;
> + }
> + }
> + }
> +
> + 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++;
> + }
> +
> + 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, honorHide);
> +
> + 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;
> + }
> + }
> +
> + qsort(services, numServices, sizeof(*services), serviceNameCmp);
> +
> + *servicesPtr = services;
> + *numServicesPtr = numServices;
> +
> + return 0;
> +}
> +
> +int main(int argc, char ** argv) {
> + struct service * services;
> + int numServices;
> + int levels = -1;
> + char * levelsStr = NULL;
> + char *progName;
> + poptContext optCon;
> + int rc, backButton = 0, hide = 0;
> + struct poptOption optionsTable[] = {
> + { "back", '\0', 0, &backButton, 0 },
> + { "level", '\0', POPT_ARG_STRING, &levelsStr, 0 },
> + { "hide", '\0', 0, &hide, 0 },
> + { 0, 0, 0, 0, 0 }
> + };
> +
> + setlocale(LC_ALL, "");
> + bindtextdomain("chkconfig", "/usr/share/locale");
> + textdomain("chkconfig");
> +
> + progName = argv[0];
> +
> + if (getuid() != 0) {
> + fprintf(stderr, _("You must be root to run %s.\n"),progName);
> + exit(1);
> + }
> +
> + optCon = poptGetContext(progName, argc, argv, optionsTable, 0);
> + poptReadDefaultConfig(optCon, 1);
> +
> + if ((rc = poptGetNextOpt(optCon)) < -1) {
> + fprintf(stderr, "%s: %s\n",
> + poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
> + poptStrerror(rc));
> + exit(1);
> + }
> +
> + if (levelsStr) {
> + levels = parseLevels(levelsStr, 0);
> + if (levels == -1) {
> + fprintf(stderr, _("bad argument to --levels\n"));
> + exit(2);
> + }
> + }
> +
> + if (getServices(&services, &numServices, backButton, hide)) return 1;
> + if (!numServices) {
> + fprintf(stderr, _("No services may be managed by ntsysv!\n"));
> + return 2;
> + }
> +
> + newtInit();
> + newtCls();
> +
> + newtPushHelpLine(NULL);
> + newtDrawRootText(0, 0,
> + "ntsysv " VERSION " - (C) 2000-2001 Red Hat, Inc. ");
> +
> + if (levels==-1)
> + levels=(1<<currentRunlevel());
> +
> + rc = servicesWindow(services, numServices, levels, backButton);
> +
> + newtFinished();
> +
> + return rc;
> +}
> --- chkconfig-1.3.46/po
> +++ chkconfig-1.3.46/po
> +(directory)
> --- chkconfig-1.3.46/po/ChangeLog
> +++ chkconfig-1.3.46/po/ChangeLog
> (renamed from chkconfig-1.3.44/po/ChangeLog)
> --- chkconfig-1.3.46/po/Makefile
> +++ chkconfig-1.3.46/po/Makefile
> (renamed from chkconfig-1.3.44/po/Makefile)
> --- chkconfig-1.3.46/po/ar.po
> +++ chkconfig-1.3.46/po/ar.po
> (renamed from chkconfig-1.3.44/po/ar.po)
> --- chkconfig-1.3.46/po/as.po
> +++ chkconfig-1.3.46/po/as.po
> (renamed from chkconfig-1.3.44/po/as.po)
> --- chkconfig-1.3.46/po/bal.po
> +++ chkconfig-1.3.46/po/bal.po
> (renamed from chkconfig-1.3.44/po/bal.po)
> --- chkconfig-1.3.46/po/be.po
> +++ chkconfig-1.3.46/po/be.po
> (renamed from chkconfig-1.3.44/po/be.po)
> --- chkconfig-1.3.46/po/bg.po
> +++ chkconfig-1.3.46/po/bg.po
> (renamed from chkconfig-1.3.44/po/bg.po)
> --- chkconfig-1.3.46/po/bn.po
> +++ chkconfig-1.3.46/po/bn.po
> (renamed from chkconfig-1.3.44/po/bn.po)
> --- chkconfig-1.3.46/po/bn_IN.po
> +++ chkconfig-1.3.46/po/bn_IN.po
> (renamed from chkconfig-1.3.44/po/bn_IN.po)
> --- chkconfig-1.3.46/po/bs.po
> +++ chkconfig-1.3.46/po/bs.po
> (renamed from chkconfig-1.3.44/po/bs.po)
> --- chkconfig-1.3.46/po/ca.po
> +++ chkconfig-1.3.46/po/ca.po
> (renamed from chkconfig-1.3.44/po/ca.po)
> --- chkconfig-1.3.46/po/chkconfig.pot
> +++ chkconfig-1.3.46/po/chkconfig.pot
> +# SOME DESCRIPTIVE TITLE.
> +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
> +# This file is distributed under the same license as the PACKAGE package.
> +# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
> +#
> +#, fuzzy
> +msgid ""
> +msgstr ""
> +"Project-Id-Version: PACKAGE VERSION\n"
> +"Report-Msgid-Bugs-To: \n"
> +"POT-Creation-Date: 2010-03-03 17:22-0500\n"
> +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
> +"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
> +"Language-Team: LANGUAGE <LL at li.org>\n"
> +"MIME-Version: 1.0\n"
> +"Content-Type: text/plain; charset=CHARSET\n"
> +"Content-Transfer-Encoding: 8bit\n"
> +
> +#: ../chkconfig.c:38
> +#, c-format
> +msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:39
> +#, c-format
> +msgid ""
> +"This may be freely redistributed under the terms of the GNU Public License.\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:42
> +#, c-format
> +msgid "usage: %s [--list] [--type <type>] [name]\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:43
> +#, c-format
> +msgid " %s --add <name>\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:44
> +#, c-format
> +msgid " %s --del <name>\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:45
> +#, c-format
> +msgid " %s --override <name>\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:46
> +#, c-format
> +msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:53
> +#, c-format
> +msgid ""
> +"service %s supports chkconfig, but is not referenced in any runlevel (run "
> +"'chkconfig --add %s')\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:55
> +#, c-format
> +msgid "service %s does not support chkconfig\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:57
> +#, c-format
> +msgid "error reading information on service %s: %s\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:66
> +#, c-format
> +msgid "You do not have enough privileges to perform this operation.\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:411 ../chkconfig.c:416 ../chkconfig.c:530
> +msgid "on"
> +msgstr ""
> +
> +#: ../chkconfig.c:411 ../chkconfig.c:416 ../chkconfig.c:530
> +msgid "off"
> +msgstr ""
> +
> +#: ../chkconfig.c:492
> +#, c-format
> +msgid "xinetd based services:\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:494
> +#, c-format
> +msgid "failed to open directory %s: %s\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:638
> +#, c-format
> +msgid "%s version %s\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:650
> +#, c-format
> +msgid "--type must be 'sysv' or 'xinetd'\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:658
> +#, c-format
> +msgid "only one of --list, --add, --del, or --override may be specified\n"
> +msgstr ""
> +
> +#: ../chkconfig.c:718
> +#, c-format
> +msgid "only one runlevel may be specified for a chkconfig query\n"
> +msgstr ""
> +
> +#: ../ntsysv.c:46
> +msgid "Press <F1> for more information on a service."
> +msgstr ""
> +
> +#: ../ntsysv.c:83 ../ntsysv.c:120
> +msgid "Ok"
> +msgstr ""
> +
> +#: ../ntsysv.c:83
> +msgid "Back"
> +msgstr ""
> +
> +#: ../ntsysv.c:83
> +msgid "Cancel"
> +msgstr ""
> +
> +#: ../ntsysv.c:95
> +msgid "What services should be automatically started?"
> +msgstr ""
> +
> +#: ../ntsysv.c:101
> +msgid "Services"
> +msgstr ""
> +
> +#: ../ntsysv.c:183 ../ntsysv.c:210 ../ntsysv.c:248
> +#, c-format
> +msgid "error reading info for service %s: %s\n"
> +msgstr ""
> +
> +#: ../ntsysv.c:257
> +#, c-format
> +msgid "error reading from directory %s: %s\n"
> +msgstr ""
> +
> +#: ../ntsysv.c:293
> +#, c-format
> +msgid "You must be root to run %s.\n"
> +msgstr ""
> +
> +#: ../ntsysv.c:310
> +#, c-format
> +msgid "bad argument to --levels\n"
> +msgstr ""
> +
> +#: ../ntsysv.c:317
> +#, c-format
> +msgid "No services may be managed by ntsysv!\n"
> +msgstr ""
> +
> +#: ../leveldb.c:261
> +#, c-format
> +msgid "failed to open %s/init.d: %s\n"
> +msgstr ""
> +
> +#: ../leveldb.c:662
> +#, c-format
> +msgid "failed to glob pattern %s: %s\n"
> +msgstr ""
> +
> +#: ../leveldb.c:705
> +#, c-format
> +msgid "cannot determine current run level\n"
> +msgstr ""
> +
> +#: ../leveldb.c:793
> +#, c-format
> +msgid "failed to make symlink %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:63
> +#, c-format
> +msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> +msgstr ""
> +
> +#: ../alternatives.c:64
> +#, c-format
> +msgid ""
> +"This may be freely redistributed under the terms of the GNU Public License.\n"
> +"\n"
> +msgstr ""
> +
> +#: ../alternatives.c:65
> +#, c-format
> +msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> +msgstr ""
> +
> +#: ../alternatives.c:66
> +#, c-format
> +msgid " [--initscript <service>]\n"
> +msgstr ""
> +
> +#: ../alternatives.c:67
> +#, c-format
> +msgid " [--slave <link> <name> <path>]*\n"
> +msgstr ""
> +
> +#: ../alternatives.c:68
> +#, c-format
> +msgid " alternatives --remove <name> <path>\n"
> +msgstr ""
> +
> +#: ../alternatives.c:69
> +#, c-format
> +msgid " alternatives --auto <name>\n"
> +msgstr ""
> +
> +#: ../alternatives.c:70
> +#, c-format
> +msgid " alternatives --config <name>\n"
> +msgstr ""
> +
> +#: ../alternatives.c:71
> +#, c-format
> +msgid " alternatives --display <name>\n"
> +msgstr ""
> +
> +#: ../alternatives.c:72
> +#, c-format
> +msgid " alternatives --set <name> <path>\n"
> +msgstr ""
> +
> +#: ../alternatives.c:73
> +#, c-format
> +msgid "\n"
> +msgstr ""
> +
> +#: ../alternatives.c:74
> +#, c-format
> +msgid "common options: --verbose --test --help --usage --version\n"
> +msgstr ""
> +
> +#: ../alternatives.c:75
> +#, c-format
> +msgid " --altdir <directory> --admindir <directory>\n"
> +msgstr ""
> +
> +#: ../alternatives.c:172
> +#, c-format
> +msgid "reading %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:176
> +#, c-format
> +msgid "failed to open %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:185
> +#, c-format
> +msgid "failed to read %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:194
> +#, c-format
> +msgid "%s empty!\n"
> +msgstr ""
> +
> +#: ../alternatives.c:203
> +#, c-format
> +msgid "bad mode on line 1 of %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:210
> +#, c-format
> +msgid "bad primary link in %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:222
> +#, c-format
> +msgid "path %s unexpected in %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:231
> +#, c-format
> +msgid "missing path for slave %s in %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:241
> +#, c-format
> +msgid "unexpected end of file in %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:250
> +#, c-format
> +msgid "path to alternate expected in %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:251 ../alternatives.c:272 ../alternatives.c:295
> +#: ../alternatives.c:314
> +#, c-format
> +msgid "unexpected line in %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:271
> +#, c-format
> +msgid "numeric priority expected in %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:294
> +#, c-format
> +msgid "slave path expected in %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:322
> +#, c-format
> +msgid "failed to read link %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:336
> +#, c-format
> +msgid "link points to no alternative -- setting mode to manual\n"
> +msgstr ""
> +
> +#: ../alternatives.c:341
> +#, c-format
> +msgid "link changed -- setting mode to manual\n"
> +msgstr ""
> +
> +#: ../alternatives.c:369 ../alternatives.c:376
> +#, c-format
> +msgid "would remove %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:371 ../alternatives.c:378 ../alternatives.c:410
> +#, c-format
> +msgid "failed to remove link %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:394 ../alternatives.c:407
> +#, c-format
> +msgid "would link %s -> %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:399 ../alternatives.c:416
> +#, c-format
> +msgid "failed to link %s -> %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:448
> +#, c-format
> +msgid "%s already exists\n"
> +msgstr ""
> +
> +#: ../alternatives.c:450
> +#, c-format
> +msgid "failed to create %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:481
> +#, c-format
> +msgid "failed to replace %s with %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:507 ../alternatives.c:516
> +#, c-format
> +msgid "running %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:543
> +#, c-format
> +msgid "the primary link for %s must be %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:623
> +#, c-format
> +msgid "link %s incorrect for slave %s (%s %s)\n"
> +msgstr ""
> +
> +#: ../alternatives.c:664
> +#, c-format
> +msgid "%s - status is auto.\n"
> +msgstr ""
> +
> +#: ../alternatives.c:666
> +#, c-format
> +msgid "%s - status is manual.\n"
> +msgstr ""
> +
> +#: ../alternatives.c:668
> +#, c-format
> +msgid " link currently points to %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:671
> +#, c-format
> +msgid "%s - priority %d\n"
> +msgstr ""
> +
> +#: ../alternatives.c:674
> +#, c-format
> +msgid " slave %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:679
> +#, c-format
> +msgid "Current `best' version is %s.\n"
> +msgstr ""
> +
> +#: ../alternatives.c:709
> +#, c-format
> +msgid "There is %d program that provides '%s'.\n"
> +msgstr ""
> +
> +#: ../alternatives.c:709
> +#, c-format
> +msgid "There are %d programs which provide '%s'.\n"
> +msgstr ""
> +
> +#: ../alternatives.c:711
> +#, c-format
> +msgid " Selection Command\n"
> +msgstr ""
> +
> +#: ../alternatives.c:720
> +#, c-format
> +msgid "Enter to keep the current selection[+], or type selection number: "
> +msgstr ""
> +
> +#: ../alternatives.c:723
> +#, c-format
> +msgid ""
> +"\n"
> +"error reading choice\n"
> +msgstr ""
> +
> +#: ../alternatives.c:750 ../alternatives.c:776
> +#, c-format
> +msgid "%s has not been configured as an alternative for %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:792
> +#, c-format
> +msgid "(would remove %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:794
> +#, c-format
> +msgid "failed to remove %s: %s\n"
> +msgstr ""
> +
> +#: ../alternatives.c:916
> +#, c-format
> +msgid "altdir %s invalid\n"
> +msgstr ""
> +
> +#: ../alternatives.c:922
> +#, c-format
> +msgid "admindir %s invalid\n"
> +msgstr ""
> +
> +#: ../alternatives.c:932
> +#, c-format
> +msgid "alternatives version %s\n"
> +msgstr ""
> --- chkconfig-1.3.46/po/cs.po
> +++ chkconfig-1.3.46/po/cs.po
> (renamed from chkconfig-1.3.44/po/cs.po)
> --- chkconfig-1.3.46/po/cy.po
> +++ chkconfig-1.3.46/po/cy.po
> (renamed from chkconfig-1.3.44/po/cy.po)
> --- chkconfig-1.3.46/po/da.po
> +++ chkconfig-1.3.46/po/da.po
> (renamed from chkconfig-1.3.44/po/da.po)
> --- chkconfig-1.3.46/po/de.po
> +++ chkconfig-1.3.46/po/de.po
> (renamed from chkconfig-1.3.44/po/de.po)
> --- chkconfig-1.3.46/po/el.po
> +++ chkconfig-1.3.46/po/el.po
> +# Greek translation of chkconf.
> +# Copyright (C) 2002, 2004 Free Software Foundation, Inc.
> +# Simos Xenitellis <simos at hellug.gr>, 2002.
> +# Nikos Charonitakis <charosn at her.forthnet.gr>, 2004.
> +# jiannis bonatakis <california17 at gmail.com>,2008 Nikos Charonitakis <charosn at her.forthnet.gr>, 2008.
> +# Pierros Papadeas <ppapadeas at gmail.com>, 2008
> +#
> +msgid ""
> +msgstr ""
> +"Project-Id-Version: el.po\n"
> +"Report-Msgid-Bugs-To: \n"
> +"POT-Creation-Date: 2009-03-09 15:56-0400\n"
> +"PO-Revision-Date: 2009-11-04 11:15+0200\n"
> +"Last-Translator: Kostas Papadimas <pkst at gnome.org>\n"
> +"Language-Team: Greek <nls at tux.hellug.gr>\n"
> +"MIME-Version: 1.0\n"
> +"Content-Type: text/plain; charset=UTF-8\n"
> +"Content-Transfer-Encoding: 8bit\n"
> +"X-Poedit-Language: Greek\n"
> +
> +#: ../chkconfig.c:38
> +#, c-format
> +msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> +msgstr "%s έκδοση %s - Πνευματικά δικαιώματα (C) 1997-2000 Red Hat, Inc.\n"
> +
> +#: ../chkconfig.c:39
> +#, c-format
> +msgid "This may be freely redistributed under the terms of the GNU Public License.\n"
> +msgstr "Μπορείτε να το αναδιανείμετε σύμφωνα με τους όρους της Δημόσιας Άδειας GNU.\n"
> +
> +#: ../chkconfig.c:42
> +#, c-format
> +msgid "usage: %s [--list] [--type <type>] [name]\n"
> +msgstr "χρήση: %s [--list] [--type <τύπος>] [όνομα]\n"
> +
> +#: ../chkconfig.c:43
> +#, c-format
> +msgid " %s --add <name>\n"
> +msgstr " %s --add <όνομα>\n"
> +
> +#: ../chkconfig.c:44
> +#, c-format
> +msgid " %s --del <name>\n"
> +msgstr " %s --del <όνομα>\n"
> +
> +#: ../chkconfig.c:45
> +#, c-format
> +msgid " %s --override <name>\n"
> +msgstr " %s --override <όνομα>\n"
> +
> +#: ../chkconfig.c:46
> +#, c-format
> +msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> +msgstr " %s [--level <επίπεδα>] [--type <τύπος>] <όνομα> %s\n"
> +
> +#: ../chkconfig.c:53
> +#, c-format
> +msgid "service %s supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add %s')\n"
> +msgstr "η υπηρεσία %s υποστηρίζει το chkconfig αλλά δεν έχει καταχωρηθεί σε κανένα runlevel (εκτελέστε 'chkconfig --add %s')\n"
> +
> +#: ../chkconfig.c:55
> +#, c-format
> +msgid "service %s does not support chkconfig\n"
> +msgstr "η υπηρεσία %s δεν υποστηρίζει το chkconfig\n"
> +
> +#: ../chkconfig.c:57
> +#, c-format
> +msgid "error reading information on service %s: %s\n"
> +msgstr "σφάλμα ανάγνωσης πληροφοριών επί της υπηρεσίας %s: %s\n"
> +
> +#: ../chkconfig.c:66
> +#, c-format
> +msgid "You do not have enough privileges to perform this operation.\n"
> +msgstr "Δεν έχετε επαρκή δικαιώματα για να εκτελέσετε αυτή την λειτουργία.\n"
> +
> +#: ../chkconfig.c:379
> +#: ../chkconfig.c:384
> +#: ../chkconfig.c:498
> +msgid "on"
> +msgstr "ενεργό"
> +
> +#: ../chkconfig.c:379
> +#: ../chkconfig.c:384
> +#: ../chkconfig.c:498
> +msgid "off"
> +msgstr "ανενεργό"
> +
> +#: ../chkconfig.c:460
> +#, c-format
> +msgid "xinetd based services:\n"
> +msgstr "υπηρεσίες βασισμένες στο xinetd:\n"
> +
> +#: ../chkconfig.c:462
> +#, c-format
> +msgid "failed to open directory %s: %s\n"
> +msgstr "αποτυχία ανοίγματος του καταλόγου %s: %s\n"
> +
> +#: ../chkconfig.c:606
> +#, c-format
> +msgid "%s version %s\n"
> +msgstr "%s έκδοση %s\n"
> +
> +#: ../chkconfig.c:618
> +#, c-format
> +msgid "--type must be 'sysv' or 'xinetd'\n"
> +msgstr "το --type πρέπει να είναι 'sysv' ή 'xinetd'\n"
> +
> +#: ../chkconfig.c:626
> +#, c-format
> +msgid "only one of --list, --add, --del, or --override may be specified\n"
> +msgstr "μπορούν να καθοριστούν μόνο ένα από τα --list, --add ή --del\n"
> +
> +#: ../chkconfig.c:686
> +#, c-format
> +msgid "only one runlevel may be specified for a chkconfig query\n"
> +msgstr ""
> +"μόνο ένα επίπεδο εκτέλεσης μπορεί να καθοριστεί σε \n"
> +"κάθε χρήση του chkconfig\n"
> +
> +#: ../ntsysv.c:46
> +msgid "Press <F1> for more information on a service."
> +msgstr "Πατήστε <F1> για περισσότερες πληροφορίες για μια υπηρεσία."
> +
> +#: ../ntsysv.c:83
> +#: ../ntsysv.c:120
> +msgid "Ok"
> +msgstr "Εντάξει"
> +
> +#: ../ntsysv.c:83
> +msgid "Back"
> +msgstr "Πίσω"
> +
> +#: ../ntsysv.c:83
> +msgid "Cancel"
> +msgstr "Ακύρωση"
> +
> +#: ../ntsysv.c:95
> +msgid "What services should be automatically started?"
> +msgstr "Ποιες υπηρεσίες θέλετε να εκκινούνται αυτόματα;"
> +
> +#: ../ntsysv.c:101
> +msgid "Services"
> +msgstr "Υπηρεσίες"
> +
> +#: ../ntsysv.c:183
> +#: ../ntsysv.c:210
> +#: ../ntsysv.c:248
> +#, c-format
> +msgid "error reading info for service %s: %s\n"
> +msgstr "σφάλμα ανάγνωσης πληροφοριών για την υπηρεσία %s: %s\n"
> +
> +#: ../ntsysv.c:257
> +#, c-format
> +msgid "error reading from directory %s: %s\n"
> +msgstr "σφάλμα ανάγνωσης από τον κατάλογο %s: %s\n"
> +
> +#: ../ntsysv.c:293
> +#, c-format
> +msgid "You must be root to run %s.\n"
> +msgstr "Πρέπει να είστε υπερχρήστης για να εκτελέσετε το %s.\n"
> +
> +#: ../ntsysv.c:310
> +#, c-format
> +msgid "bad argument to --levels\n"
> +msgstr "εσφαλμένο όρισμα στο --levels\n"
> +
> +#: ../ntsysv.c:317
> +#, c-format
> +msgid "No services may be managed by ntsysv!\n"
> +msgstr "Δεν υπάρχουν υπηρεσίες που μπορεί να διαχειριστεί το ntsysv!\n"
> +
> +#: ../leveldb.c:259
> +#, c-format
> +msgid "failed to open %s/init.d: %s\n"
> +msgstr "αποτυχία ανοίγματος του %s/init.d: %s\n"
> +
> +#: ../leveldb.c:667
> +#, c-format
> +msgid "failed to glob pattern %s: %s\n"
> +msgstr "αποτυχία ανάπτυξης σχεδίου %s: %s\n"
> +
> +#: ../leveldb.c:710
> +#, c-format
> +msgid "cannot determine current run level\n"
> +msgstr "αδύνατος ο καθορισμός του τρέχοντος επιπέδου εκτέλεσης\n"
> +
> +#: ../leveldb.c:798
> +#, c-format
> +msgid "failed to make symlink %s: %s\n"
> +msgstr "αποτυχία δημιουργίας συμβολικού συνδέσμου %s: %s\n"
> +
> +#: ../alternatives.c:63
> +#, c-format
> +msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> +msgstr "έκδοση alternatives %s - Πνευματικά δικαιώματα (C) 2001 Red Hat, Inc.\n"
> +
> +#: ../alternatives.c:64
> +#, c-format
> +msgid ""
> +"This may be freely redistributed under the terms of the GNU Public License.\n"
> +"\n"
> +msgstr ""
> +"Μπορείτε να το αναδιανείμετε σύμφωνα με τους όρους της Δημόσιας Άδειας GNU Public Licence.\n"
> +"\n"
> +
> +#: ../alternatives.c:65
> +#, c-format
> +msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> +msgstr "χρήση:·alternatives·--install·<σύνδεση>·<όνομα>·<διαδρομή>·<προτεραιότητα>\n"
> +
> +#: ../alternatives.c:66
> +#, c-format
> +msgid " [--initscript <service>]\n"
> +msgstr " [--initscript <service>]\n"
> +
> +#: ../alternatives.c:67
> +#, c-format
> +msgid " [--slave <link> <name> <path>]*\n"
> +msgstr " [--slave <σύνδεση> <όνομα> <διαδρομή>]*\n"
> +
> +#: ../alternatives.c:68
> +#, c-format
> +msgid " alternatives --remove <name> <path>\n"
> +msgstr "·······alternatives·--remove·<όνομα>·<διαδρομή>\n"
> +
> +#: ../alternatives.c:69
> +#, c-format
> +msgid " alternatives --auto <name>\n"
> +msgstr " alternatives --auto <όνομα>\n"
> +
> +#: ../alternatives.c:70
> +#, c-format
> +msgid " alternatives --config <name>\n"
> +msgstr " alternatives --config <όνομα>\n"
> +
> +#: ../alternatives.c:71
> +#, c-format
> +msgid " alternatives --display <name>\n"
> +msgstr " alternatives --display <όνομα>\n"
> +
> +#: ../alternatives.c:72
> +#, c-format
> +msgid " alternatives --set <name> <path>\n"
> +msgstr " alternatives --set <όνομα> <διαδρομή>\n"
> +
> +#: ../alternatives.c:73
> +#, c-format
> +msgid "\n"
> +msgstr "\n"
> +
> +#: ../alternatives.c:74
> +#, c-format
> +msgid "common options: --verbose --test --help --usage --version\n"
> +msgstr "συνήθεις επιλογές: --verbose --test --help --usage --version\n"
> +
> +#: ../alternatives.c:75
> +#, c-format
> +msgid " --altdir <directory> --admindir <directory>\n"
> +msgstr " --altdir·<κατάλογος>·--admindir·<κατάλογος>\n"
> +
> +#: ../alternatives.c:172
> +#, c-format
> +msgid "reading %s\n"
> +msgstr "ανάγνωση %s\n"
> +
> +#: ../alternatives.c:176
> +#, c-format
> +msgid "failed to open %s: %s\n"
> +msgstr "αποτυχία ανοίγματος του %s: %s\n"
> +
> +#: ../alternatives.c:185
> +#, c-format
> +msgid "failed to read %s: %s\n"
> +msgstr "αποτυχία ανάγνωσης του %s: %s\n"
> +
> +#: ../alternatives.c:194
> +#, c-format
> +msgid "%s empty!\n"
> +msgstr "%s κενό!\n"
> +
> +#: ../alternatives.c:203
> +#, c-format
> +msgid "bad mode on line 1 of %s\n"
> +msgstr "μη έγκυρη χρήση στη γραμμή 1 του %s\n"
> +
> +#: ../alternatives.c:210
> +#, c-format
> +msgid "bad primary link in %s\n"
> +msgstr "μη έγκυρη πρωτεύουσα σύνδεση στο %s\n"
> +
> +#: ../alternatives.c:222
> +#, c-format
> +msgid "path %s unexpected in %s\n"
> +msgstr "διαδρομή %s μη αναμενόμενη στη %s\n"
> +
> +#: ../alternatives.c:231
> +#, c-format
> +msgid "missing path for slave %s in %s\n"
> +msgstr "λείπει η διαδρομή για το δευτερεύον %s στη %s\n"
> +
> +#: ../alternatives.c:241
> +#, c-format
> +msgid "unexpected end of file in %s\n"
> +msgstr "απρόσμενο τέλος αρχείου στη %s\n"
> +
> +#: ../alternatives.c:250
> +#, c-format
> +msgid "path to alternate expected in %s\n"
> +msgstr "αναμένεται διαδρομή για αλλαγή στο %s\n"
> +
> +#: ../alternatives.c:270
> +#, c-format
> +msgid "numeric priority expected in %s\n"
> +msgstr "αναμένεται αριθμητική προτεραιότητα στο %s\n"
> +
> +#: ../alternatives.c:292
> +#, c-format
> +msgid "slave path expected in %s\n"
> +msgstr "αναμονή δευτερεύουσας διαδρομής στο·%s\n"
> +
> +#: ../alternatives.c:311
> +#, c-format
> +msgid "unexpected line in %s: %s\n"
> +msgstr "απρόσμενη γραμμή στη %s: %s\n"
> +
> +#: ../alternatives.c:319
> +#, c-format
> +msgid "failed to read link %s: %s\n"
> +msgstr "αποτυχία ανάγνωσης σύνδεσης %s: %s\n"
> +
> +#: ../alternatives.c:333
> +#, c-format
> +msgid "link points to no alternative -- setting mode to manual\n"
> +msgstr "οι συνδέσεις δεν δείχνουν σε alternative -- ορισμός χειρωνακτικής κατάστασης\n"
> +
> +#: ../alternatives.c:338
> +#, c-format
> +msgid "link changed -- setting mode to manual\n"
> +msgstr "η σύνδεση τροποποιήθηκε -- ορισμός χειρωνακτικής κατάστασης\n"
> +
> +#: ../alternatives.c:366
> +#: ../alternatives.c:373
> +#, c-format
> +msgid "would remove %s\n"
> +msgstr "προς μετακίνηση %s\n"
> +
> +#: ../alternatives.c:368
> +#: ../alternatives.c:375
> +#: ../alternatives.c:406
> +#, c-format
> +msgid "failed to remove link %s: %s\n"
> +msgstr "αποτυχία διαγραφής σύνδεσης %s: %s\n"
> +
> +#: ../alternatives.c:391
> +#: ../alternatives.c:403
> +#, c-format
> +msgid "would link %s -> %s\n"
> +msgstr "προς σύνδεση %s -> %s\n"
> +
> +#: ../alternatives.c:395
> +#: ../alternatives.c:412
> +#, c-format
> +msgid "failed to link %s -> %s: %s\n"
> +msgstr "αποτυχία δημιουργίας σύνδεσης %s -> %s: %s\n"
> +
> +#: ../alternatives.c:444
> +#, c-format
> +msgid "%s already exists\n"
> +msgstr "το %s υπάρχει ήδη\n"
> +
> +#: ../alternatives.c:446
> +#, c-format
> +msgid "failed to create %s: %s\n"
> +msgstr "αποτυχία δημιουργίας %s: %s\n"
> +
> +#: ../alternatives.c:477
> +#, c-format
> +msgid "failed to replace %s with %s: %s\n"
> +msgstr "αποτυχία αντικατάστασης %s με %s: %s\n"
> +
> +#: ../alternatives.c:503
> +#: ../alternatives.c:512
> +#, c-format
> +msgid "running %s\n"
> +msgstr "εκτελείται %s\n"
> +
> +#: ../alternatives.c:539
> +#, c-format
> +msgid "the primary link for %s must be %s\n"
> +msgstr "η κύρια σύνδεση για·%s·πρέπει να είναι·%s\n"
> +
> +#: ../alternatives.c:619
> +#, c-format
> +msgid "link %s incorrect for slave %s (%s %s)\n"
> +msgstr "σύνδεση·%s·λανθασμένη για δευτερεύουσα·%s·(%s·%s)\n"
> +
> +#: ../alternatives.c:660
> +#, c-format
> +msgid "%s - status is auto.\n"
> +msgstr "%s·-· αυτόματη κατάσταση.\n"
> +
> +#: ../alternatives.c:662
> +#, c-format
> +msgid "%s - status is manual.\n"
> +msgstr "%s·- χειροκίνητη κατάσταση.\n"
> +
> +#: ../alternatives.c:664
> +#, c-format
> +msgid " link currently points to %s\n"
> +msgstr "η σύνδεση αυτή τη στιγμή δείχνει στο·%s\n"
> +
> +#: ../alternatives.c:667
> +#, c-format
> +msgid "%s - priority %d\n"
> +msgstr "%s - προτεραιότητα %d\n"
> +
> +#: ../alternatives.c:670
> +#, c-format
> +msgid " slave %s: %s\n"
> +msgstr " δευτερεύουσα %s: %s\n"
> +
> +#: ../alternatives.c:675
> +#, c-format
> +msgid "Current `best' version is %s.\n"
> +msgstr "Τωρινή 'καλύτερη' έκδοση είναι·%s.\n"
> +
> +#: ../alternatives.c:705
> +#, c-format
> +msgid "There is %d program that provides '%s'.\n"
> +msgstr "Υπάρχει %d πρόγραμμα που παρέχει '%s'.\n"
> +
> +#: ../alternatives.c:705
> +#, c-format
> +msgid "There are %d programs which provide '%s'.\n"
> +msgstr "Υπάρχουν %d προγράμματα που παρέχουν '%s'.\n"
> +
> +#: ../alternatives.c:707
> +#, c-format
> +msgid " Selection Command\n"
> +msgstr " Επιλογή Εντολή\n"
> +
> +#: ../alternatives.c:716
> +#, c-format
> +msgid "Enter to keep the current selection[+], or type selection number: "
> +msgstr "Πατήστε Enter για να διατηρήσετε την τρέχουσα επιλογή[+], ή πληκτρολόγησε αριθμό επιλογής·"
> +
> +#: ../alternatives.c:719
> +#, c-format
> +msgid ""
> +"\n"
> +"error reading choice\n"
> +msgstr ""
> +"\n"
> +"σφάλμα ανάγνωσης επιλογής\n"
> +
> +#: ../alternatives.c:746
> +#: ../alternatives.c:772
> +#, c-format
> +msgid "%s has not been configured as an alternative for %s\n"
> +msgstr "%s δεν έχει ρυθμιστεί ως μια εναλλακτική για·%s\n"
> +
> +#: ../alternatives.c:788
> +#, c-format
> +msgid "(would remove %s\n"
> +msgstr "(προς απομάκρυνση %s\n"
> +
> +#: ../alternatives.c:790
> +#, c-format
> +msgid "failed to remove %s: %s\n"
> +msgstr "αποτυχία απομάκρυνσης του %s: %s\n"
> +
> +#: ../alternatives.c:912
> +#, c-format
> +msgid "altdir %s invalid\n"
> +msgstr "altdir %s δεν είναι έγκυρο\n"
> +
> +#: ../alternatives.c:918
> +#, c-format
> +msgid "admindir %s invalid\n"
> +msgstr "admindir %s δεν είναι έγκυρο\n"
> +
> +#: ../alternatives.c:928
> +#, c-format
> +msgid "alternatives version %s\n"
> +msgstr "έκδοση alternatives %s\n"
> +
> +#~ msgid "error reading from directory %s/init.d: %s\n"
> +#~ msgstr "σφάλμα ανάγνωσης από τον κατάλογο %s/init.d: %s\n"
> +
> --- chkconfig-1.3.46/po/en_GB.po
> +++ chkconfig-1.3.46/po/en_GB.po
> (renamed from chkconfig-1.3.44/po/en_GB.po)
> --- chkconfig-1.3.46/po/es.po
> +++ chkconfig-1.3.46/po/es.po
> (renamed from chkconfig-1.3.44/po/es.po)
> --- chkconfig-1.3.46/po/et.po
> +++ chkconfig-1.3.46/po/et.po
> (renamed from chkconfig-1.3.44/po/et.po)
> --- chkconfig-1.3.46/po/fi.po
> +++ chkconfig-1.3.46/po/fi.po
> (renamed from chkconfig-1.3.44/po/fi.po)
> --- chkconfig-1.3.46/po/fr.po
> +++ chkconfig-1.3.46/po/fr.po
> (renamed from chkconfig-1.3.44/po/fr.po)
> --- chkconfig-1.3.46/po/gl.po
> +++ chkconfig-1.3.46/po/gl.po
> (renamed from chkconfig-1.3.44/po/gl.po)
> --- chkconfig-1.3.46/po/gu.po
> +++ chkconfig-1.3.46/po/gu.po
> (renamed from chkconfig-1.3.44/po/gu.po)
> --- chkconfig-1.3.46/po/he.po
> +++ chkconfig-1.3.46/po/he.po
> (renamed from chkconfig-1.3.44/po/he.po)
> --- chkconfig-1.3.46/po/hi.po
> +++ chkconfig-1.3.46/po/hi.po
> (renamed from chkconfig-1.3.44/po/hi.po)
> --- chkconfig-1.3.46/po/hr.po
> +++ chkconfig-1.3.46/po/hr.po
> (renamed from chkconfig-1.3.44/po/hr.po)
> --- chkconfig-1.3.46/po/hu.po
> +++ chkconfig-1.3.46/po/hu.po
> +# Arpad Biro <biro_arpad at yahoo.com>, 2004, 2005, 2007.
> +msgid ""
> +msgstr ""
> +"Project-Id-Version: chkconfig\n"
> +"Report-Msgid-Bugs-To: \n"
> +"POT-Creation-Date: 2010-03-03 17:22-0500\n"
> +"PO-Revision-Date: 2010-03-12 02:32+0100\n"
> +"Last-Translator: Peter Bojtos <ptr at ulx.hu>\n"
> +"Language-Team: Hungarian <fedora-trans-hu at redhat.com>\n"
> +"MIME-Version: 1.0\n"
> +"Content-Type: text/plain; charset=UTF-8\n"
> +"Content-Transfer-Encoding: 8bit\n"
> +"Plural-Forms: nplurals=2; plural=(n != 1);\n"
> +
> +#: ../chkconfig.c:38
> +#, c-format
> +msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> +msgstr "%s %s változat – Szerzői jog (C) Red Hat, Inc., 1997-2000.\n"
> +
> +#: ../chkconfig.c:39
> +#, c-format
> +msgid "This may be freely redistributed under the terms of the GNU Public License.\n"
> +msgstr "Ez a szoftver szabadon terjeszthető a GNU Public License feltételei szerint.\n"
> +
> +#: ../chkconfig.c:42
> +#, c-format
> +msgid "usage: %s [--list] [--type <type>] [name]\n"
> +msgstr "használat: %s [--list] [--type <típus>] [név]\n"
> +
> +#: ../chkconfig.c:43
> +#, c-format
> +msgid " %s --add <name>\n"
> +msgstr " %s --add <név>\n"
> +
> +#: ../chkconfig.c:44
> +#, c-format
> +msgid " %s --del <name>\n"
> +msgstr " %s --del <név>\n"
> +
> +#: ../chkconfig.c:45
> +#, c-format
> +msgid " %s --override <name>\n"
> +msgstr " %s --override <név>\n"
> +
> +#: ../chkconfig.c:46
> +#, c-format
> +msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> +msgstr " %s [--level <szintek>] [--type <típus>] <név> %s\n"
> +
> +#: ../chkconfig.c:53
> +#, c-format
> +msgid "service %s supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add %s')\n"
> +msgstr "%s szolgáltatás támogatja a chkconfigot, de egyik futási szinten sem szerepel (adja ki a „chkconfig --add %s” parancsot)\n"
> +
> +#: ../chkconfig.c:55
> +#, c-format
> +msgid "service %s does not support chkconfig\n"
> +msgstr "%s szolgáltatás nem támogatja a chkconfigot\n"
> +
> +#: ../chkconfig.c:57
> +#, c-format
> +msgid "error reading information on service %s: %s\n"
> +msgstr "hiba történt %s szolgáltatás adatainak beolvasásakor: %s\n"
> +
> +#: ../chkconfig.c:66
> +#, c-format
> +msgid "You do not have enough privileges to perform this operation.\n"
> +msgstr "Nincs elég joga e művelet elvégzéséhez.\n"
> +
> +#: ../chkconfig.c:411
> +#: ../chkconfig.c:416
> +#: ../chkconfig.c:530
> +msgid "on"
> +msgstr "be"
> +
> +#: ../chkconfig.c:411
> +#: ../chkconfig.c:416
> +#: ../chkconfig.c:530
> +msgid "off"
> +msgstr "ki"
> +
> +#: ../chkconfig.c:492
> +#, c-format
> +msgid "xinetd based services:\n"
> +msgstr "xinetd-alapú szolgáltatások:\n"
> +
> +#: ../chkconfig.c:494
> +#, c-format
> +msgid "failed to open directory %s: %s\n"
> +msgstr "nem sikerült megnyitni %s könyvtárt: %s\n"
> +
> +#: ../chkconfig.c:638
> +#, c-format
> +msgid "%s version %s\n"
> +msgstr "%s %s\n"
> +
> +#: ../chkconfig.c:650
> +#, c-format
> +msgid "--type must be 'sysv' or 'xinetd'\n"
> +msgstr "--type csak „sysv” vagy „xinetd” lehet\n"
> +
> +#: ../chkconfig.c:658
> +#, c-format
> +msgid "only one of --list, --add, --del, or --override may be specified\n"
> +msgstr "a --list, --add, --del és --override közül csak egyet lehet megadni\n"
> +
> +#: ../chkconfig.c:718
> +#, c-format
> +msgid "only one runlevel may be specified for a chkconfig query\n"
> +msgstr "csak egy futási szintet lehet megadni egy chkconfig-lekérdezésben\n"
> +
> +#: ../ntsysv.c:46
> +msgid "Press <F1> for more information on a service."
> +msgstr "Egy szolgáltatás jellemzőinek lekérdezéséhez nyomjon <F1>-et!"
> +
> +#: ../ntsysv.c:83
> +#: ../ntsysv.c:120
> +msgid "Ok"
> +msgstr "OK"
> +
> +#: ../ntsysv.c:83
> +msgid "Back"
> +msgstr "Vissza"
> +
> +#: ../ntsysv.c:83
> +msgid "Cancel"
> +msgstr "Mégsem"
> +
> +#: ../ntsysv.c:95
> +msgid "What services should be automatically started?"
> +msgstr "Mely szolgáltatások induljanak el automatikusan?"
> +
> +#: ../ntsysv.c:101
> +msgid "Services"
> +msgstr "Szolgáltatások"
> +
> +#: ../ntsysv.c:183
> +#: ../ntsysv.c:210
> +#: ../ntsysv.c:248
> +#, c-format
> +msgid "error reading info for service %s: %s\n"
> +msgstr "hiba történt %s szolgáltatás adatainak beolvasásakor: %s\n"
> +
> +#: ../ntsysv.c:257
> +#, c-format
> +msgid "error reading from directory %s: %s\n"
> +msgstr "hiba történt %s könyvtár olvasása közben: %s\n"
> +
> +#: ../ntsysv.c:293
> +#, c-format
> +msgid "You must be root to run %s.\n"
> +msgstr "%s futtatása csak rendszergazdai jogosultsággal lehetséges.\n"
> +
> +#: ../ntsysv.c:310
> +#, c-format
> +msgid "bad argument to --levels\n"
> +msgstr "hibás argumentum a --levels opcióhoz\n"
> +
> +#: ../ntsysv.c:317
> +#, c-format
> +msgid "No services may be managed by ntsysv!\n"
> +msgstr "Egy szolgáltatás sem kezelhető az ntsysv programmal.\n"
> +
> +#: ../leveldb.c:261
> +#, c-format
> +msgid "failed to open %s/init.d: %s\n"
> +msgstr "%s/init.d megnyitása nem sikerült: %s\n"
> +
> +#: ../leveldb.c:662
> +#, c-format
> +msgid "failed to glob pattern %s: %s\n"
> +msgstr "nem sikerült értelmezni %s mintát: %s\n"
> +
> +#: ../leveldb.c:705
> +#, c-format
> +msgid "cannot determine current run level\n"
> +msgstr "nem sikerült megállapítani az aktuális futási szintet\n"
> +
> +#: ../leveldb.c:793
> +#, c-format
> +msgid "failed to make symlink %s: %s\n"
> +msgstr "%s szimbolikus link létrehozása nem sikerült: %s\n"
> +
> +#: ../alternatives.c:63
> +#, c-format
> +msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> +msgstr "alternatives %s - Szerzői jog ©Red Hat Inc., 2001.\n"
> +
> +#: ../alternatives.c:64
> +#, c-format
> +msgid ""
> +"This may be freely redistributed under the terms of the GNU Public License.\n"
> +"\n"
> +msgstr ""
> +"Ez a szoftver szabadon terjeszthető a GNU Public License feltételei szerint.\n"
> +"\n"
> +
> +#: ../alternatives.c:65
> +#, c-format
> +msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> +msgstr "Használat: alternatives --install <link> <név> <elérési út> <prioritás>\n"
> +
> +#: ../alternatives.c:66
> +#, c-format
> +msgid " [--initscript <service>]\n"
> +msgstr " [--initscript <szolgáltatás>]\n"
> +
> +#: ../alternatives.c:67
> +#, c-format
> +msgid " [--slave <link> <name> <path>]*\n"
> +msgstr " [--slave <link> <név> <elérési út>]*\n"
> +
> +#: ../alternatives.c:68
> +#, c-format
> +msgid " alternatives --remove <name> <path>\n"
> +msgstr " alternatives --remove <név> <elérési út>\n"
> +
> +#: ../alternatives.c:69
> +#, c-format
> +msgid " alternatives --auto <name>\n"
> +msgstr " alternatives --auto <név>\n"
> +
> +#: ../alternatives.c:70
> +#, c-format
> +msgid " alternatives --config <name>\n"
> +msgstr " alternatives --config <név>\n"
> +
> +#: ../alternatives.c:71
> +#, c-format
> +msgid " alternatives --display <name>\n"
> +msgstr " alternatives --display <név>\n"
> +
> +#: ../alternatives.c:72
> +#, c-format
> +msgid " alternatives --set <name> <path>\n"
> +msgstr " alternatives --set <név> <elérési út>\n"
> +
> +#: ../alternatives.c:73
> +#, c-format
> +msgid "\n"
> +msgstr "\n"
> +
> +#: ../alternatives.c:74
> +#, c-format
> +msgid "common options: --verbose --test --help --usage --version\n"
> +msgstr "általános opciók: --verbose --test --help --usage --version\n"
> +
> +#: ../alternatives.c:75
> +#, c-format
> +msgid " --altdir <directory> --admindir <directory>\n"
> +msgstr " --altdir <könyvtár> --admindir <könyvtár>\n"
> +
> +#: ../alternatives.c:172
> +#, c-format
> +msgid "reading %s\n"
> +msgstr "%s olvasása\n"
> +
> +#: ../alternatives.c:176
> +#, c-format
> +msgid "failed to open %s: %s\n"
> +msgstr "%s megnyitása nem sikerült: %s\n"
> +
> +#: ../alternatives.c:185
> +#, c-format
> +msgid "failed to read %s: %s\n"
> +msgstr "%s olvasása nem sikerült: %s\n"
> +
> +#: ../alternatives.c:194
> +#, c-format
> +msgid "%s empty!\n"
> +msgstr "%s üres.\n"
> +
> +#: ../alternatives.c:203
> +#, c-format
> +msgid "bad mode on line 1 of %s\n"
> +msgstr "hibás mód %s első sorában\n"
> +
> +#: ../alternatives.c:210
> +#, c-format
> +msgid "bad primary link in %s\n"
> +msgstr "hibás elsődleges link ebben: %s\n"
> +
> +#: ../alternatives.c:222
> +#, c-format
> +msgid "path %s unexpected in %s\n"
> +msgstr "nem várt elérési út (%s) ebben: %s\n"
> +
> +#: ../alternatives.c:231
> +#, c-format
> +msgid "missing path for slave %s in %s\n"
> +msgstr "hiányzó elérési út %s slave-hez ebben: %s\n"
> +
> +#: ../alternatives.c:241
> +#, c-format
> +msgid "unexpected end of file in %s\n"
> +msgstr "nem várt fájlvég ebben: %s\n"
> +
> +#: ../alternatives.c:250
> +#, c-format
> +msgid "path to alternate expected in %s\n"
> +msgstr "az alternatíva elérési útja hiányzik ebből: %s\n"
> +
> +#: ../alternatives.c:251
> +#: ../alternatives.c:272
> +#: ../alternatives.c:295
> +#: ../alternatives.c:314
> +#, c-format
> +msgid "unexpected line in %s: %s\n"
> +msgstr "nem várt sor ebben: %s: %s\n"
> +
> +#: ../alternatives.c:271
> +#, c-format
> +msgid "numeric priority expected in %s\n"
> +msgstr "a numerikus prioritás hiányzik ebből: %s\n"
> +
> +#: ../alternatives.c:294
> +#, c-format
> +msgid "slave path expected in %s\n"
> +msgstr "slave elérési út hiányzik ebből: %s\n"
> +
> +#: ../alternatives.c:322
> +#, c-format
> +msgid "failed to read link %s: %s\n"
> +msgstr "%s link olvasása nem sikerült: %s\n"
> +
> +#: ../alternatives.c:336
> +#, c-format
> +msgid "link points to no alternative -- setting mode to manual\n"
> +msgstr "a link nem alternatívára mutat -- átállítás kézi módra\n"
> +
> +#: ../alternatives.c:341
> +#, c-format
> +msgid "link changed -- setting mode to manual\n"
> +msgstr "a link megváltozott -- átállítás kézi módra\n"
> +
> +#: ../alternatives.c:369
> +#: ../alternatives.c:376
> +#, c-format
> +msgid "would remove %s\n"
> +msgstr "eltávolítás: %s\n"
> +
> +#: ../alternatives.c:371
> +#: ../alternatives.c:378
> +#: ../alternatives.c:410
> +#, c-format
> +msgid "failed to remove link %s: %s\n"
> +msgstr "%s link eltávolítása nem sikerült: %s\n"
> +
> +#: ../alternatives.c:394
> +#: ../alternatives.c:407
> +#, c-format
> +msgid "would link %s -> %s\n"
> +msgstr "link létrehozása: %s -> %s\n"
> +
> +#: ../alternatives.c:399
> +#: ../alternatives.c:416
> +#, c-format
> +msgid "failed to link %s -> %s: %s\n"
> +msgstr "%s -> %s linkelés sikertelen: %s\n"
> +
> +#: ../alternatives.c:448
> +#, c-format
> +msgid "%s already exists\n"
> +msgstr "%s már létezik\n"
> +
> +#: ../alternatives.c:450
> +#, c-format
> +msgid "failed to create %s: %s\n"
> +msgstr "%s létrehozása nem sikerült: %s\n"
> +
> +#: ../alternatives.c:481
> +#, c-format
> +msgid "failed to replace %s with %s: %s\n"
> +msgstr "%s => %s csere nem sikerült: %s\n"
> +
> +#: ../alternatives.c:507
> +#: ../alternatives.c:516
> +#, c-format
> +msgid "running %s\n"
> +msgstr "%s futtatása\n"
> +
> +#: ../alternatives.c:543
> +#, c-format
> +msgid "the primary link for %s must be %s\n"
> +msgstr "%s elsődleges linkje csak ez lehet: %s\n"
> +
> +#: ../alternatives.c:623
> +#, c-format
> +msgid "link %s incorrect for slave %s (%s %s)\n"
> +msgstr "%s link nem megfelelő %s slave-nek (%s %s)\n"
> +
> +#: ../alternatives.c:664
> +#, c-format
> +msgid "%s - status is auto.\n"
> +msgstr "%s - automatikus módban.\n"
> +
> +#: ../alternatives.c:666
> +#, c-format
> +msgid "%s - status is manual.\n"
> +msgstr "%s - kézi módban.\n"
> +
> +#: ../alternatives.c:668
> +#, c-format
> +msgid " link currently points to %s\n"
> +msgstr " link jelenleg ide mutat: %s\n"
> +
> +#: ../alternatives.c:671
> +#, c-format
> +msgid "%s - priority %d\n"
> +msgstr "%s - prioritás: %d\n"
> +
> +#: ../alternatives.c:674
> +#, c-format
> +msgid " slave %s: %s\n"
> +msgstr " %s slave: %s\n"
> +
> +#: ../alternatives.c:679
> +#, c-format
> +msgid "Current `best' version is %s.\n"
> +msgstr "A jelenlegi „legjobb” változat: %s\n"
> +
> +#: ../alternatives.c:709
> +#, c-format
> +msgid "There is %d program that provides '%s'.\n"
> +msgstr "%d program nyújtja ezt: „%s”.\n"
> +
> +#: ../alternatives.c:709
> +#, c-format
> +msgid "There are %d programs which provide '%s'.\n"
> +msgstr "%d program nyújtja ezt: „%s”.\n"
> +
> +#: ../alternatives.c:711
> +#, c-format
> +msgid " Selection Command\n"
> +msgstr " Kijelölés Parancs\n"
> +
> +#: ../alternatives.c:720
> +#, c-format
> +msgid "Enter to keep the current selection[+], or type selection number: "
> +msgstr "Az Enter lenyomásával megőrizhető a kijelölés [+] -- vagy adjon meg egy kijelölési számot: "
> +
> +#: ../alternatives.c:723
> +#, c-format
> +msgid ""
> +"\n"
> +"error reading choice\n"
> +msgstr ""
> +"\n"
> +"hiba történt a választás beolvasásakor\n"
> +
> +#: ../alternatives.c:750
> +#: ../alternatives.c:776
> +#, c-format
> +msgid "%s has not been configured as an alternative for %s\n"
> +msgstr "%s nincs beállítva %s alternatívájának\n"
> +
> +#: ../alternatives.c:792
> +#, c-format
> +msgid "(would remove %s\n"
> +msgstr "(%s eltávolítása\n"
> +
> +#: ../alternatives.c:794
> +#, c-format
> +msgid "failed to remove %s: %s\n"
> +msgstr "%s eltávolítása nem sikerült: %s\n"
> +
> +#: ../alternatives.c:916
> +#, c-format
> +msgid "altdir %s invalid\n"
> +msgstr "%s altdir érvénytelen\n"
> +
> +#: ../alternatives.c:922
> +#, c-format
> +msgid "admindir %s invalid\n"
> +msgstr "%s admindir érvénytelen\n"
> +
> +#: ../alternatives.c:932
> +#, c-format
> +msgid "alternatives version %s\n"
> +msgstr "alternatives %s. változat\n"
> +
> --- chkconfig-1.3.46/po/hy.po
> +++ chkconfig-1.3.46/po/hy.po
> (renamed from chkconfig-1.3.44/po/hy.po)
> --- chkconfig-1.3.46/po/id.po
> +++ chkconfig-1.3.46/po/id.po
> +# chkconfig Bahasa Indonesia
> +# Copyright (C) 1999 Free Software Foundation, Inc.
> +# Mohammad DAMT <mdamt at linux.or.id>, 1999.
> +# Teguh DC <dheche at songolimo.net>, 2004-2009
> +# $Id: id.po,v 1.27 2007/02/22 19:38:24 dheche Exp $
> +msgid ""
> +msgstr ""
> +"Project-Id-Version: chkconfig\n"
> +"Report-Msgid-Bugs-To: \n"
> +"POT-Creation-Date: 2009-03-09 15:56-0400\n"
> +"PO-Revision-Date: 2010-01-20 20:27+0700\n"
> +"Last-Translator: Teguh DC <dheche at songolimo.net>\n"
> +"Language-Team: Fedora Trans ID <fedora-trans-id at redhat.com>\n"
> +"MIME-Version: 1.0\n"
> +"Content-Type: text/plain; charset=UTF-8\n"
> +"Content-Transfer-Encoding: 8bit\n"
> +
> +#: ../chkconfig.c:38
> +#, c-format
> +msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> +msgstr "%s versi %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> +
> +#: ../chkconfig.c:39
> +#, c-format
> +msgid "This may be freely redistributed under the terms of the GNU Public License.\n"
> +msgstr "Program ini dapat didistribusikan di bawah Lisensi GNU Public License.\n"
> +
> +#: ../chkconfig.c:42
> +#, c-format
> +msgid "usage: %s [--list] [--type <type>] [name]\n"
> +msgstr "cara pakai: %s [--list] [--type <type>] [name]\n"
> +
> +#: ../chkconfig.c:43
> +#, c-format
> +msgid " %s --add <name>\n"
> +msgstr " %s --add <name>\n"
> +
> +#: ../chkconfig.c:44
> +#, c-format
> +msgid " %s --del <name>\n"
> +msgstr " %s --del <name>\n"
> +
> +#: ../chkconfig.c:45
> +#, c-format
> +msgid " %s --override <name>\n"
> +msgstr " %s --override <name>\n"
> +
> +#: ../chkconfig.c:46
> +#, c-format
> +msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> +msgstr " %s [--level <levels>] [--type <type>] <name> %s)\n"
> +
> +#: ../chkconfig.c:53
> +#, c-format
> +msgid "service %s supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add %s')\n"
> +msgstr "layanan %s mendukung chkconfig, tapi belum memiliki referensi di runlevel manapun (jalankan 'chkconfig --add %s')\n"
> +
> +#: ../chkconfig.c:55
> +#, c-format
> +msgid "service %s does not support chkconfig\n"
> +msgstr "layanan %s tidak mendukung chkconfig\n"
> +
> +#: ../chkconfig.c:57
> +#, c-format
> +msgid "error reading information on service %s: %s\n"
> +msgstr "terdapat error ketika membaca informasi layanan %s: %s\n"
> +
> +#: ../chkconfig.c:66
> +#, c-format
> +msgid "You do not have enough privileges to perform this operation.\n"
> +msgstr "Anda tidak memiliki hak akses yang memadai untuk menjalankan operasi ini.\n"
> +
> +#: ../chkconfig.c:379
> +#: ../chkconfig.c:384
> +#: ../chkconfig.c:498
> +msgid "on"
> +msgstr "hidup"
> +
> +#: ../chkconfig.c:379
> +#: ../chkconfig.c:384
> +#: ../chkconfig.c:498
> +msgid "off"
> +msgstr "mati"
> +
> +#: ../chkconfig.c:460
> +#, c-format
> +msgid "xinetd based services:\n"
> +msgstr "Layanan berbasis xinetd:\n"
> +
> +#: ../chkconfig.c:462
> +#, c-format
> +msgid "failed to open directory %s: %s\n"
> +msgstr "gagal untuk membuka direktori %s: %s\n"
> +
> +#: ../chkconfig.c:606
> +#, c-format
> +msgid "%s version %s\n"
> +msgstr "%s versi %s\n"
> +
> +#: ../chkconfig.c:618
> +#, c-format
> +msgid "--type must be 'sysv' or 'xinetd'\n"
> +msgstr "--type harus 'sysv' atau 'xinetd'\n"
> +
> +#: ../chkconfig.c:626
> +#, c-format
> +msgid "only one of --list, --add, --del, or --override may be specified\n"
> +msgstr "hanya satu dari --list, --add, --del atau --override yang dapat dipilih\n"
> +
> +#: ../chkconfig.c:686
> +#, c-format
> +msgid "only one runlevel may be specified for a chkconfig query\n"
> +msgstr "hanya satu runlevel yang dapat dipilih untuk query chkconfig\n"
> +
> +#: ../ntsysv.c:46
> +msgid "Press <F1> for more information on a service."
> +msgstr "Tekan <F1> untuk melihat informasi tentang suatu layanan."
> +
> +#: ../ntsysv.c:83
> +#: ../ntsysv.c:120
> +msgid "Ok"
> +msgstr "Ok"
> +
> +#: ../ntsysv.c:83
> +msgid "Back"
> +msgstr "Kembali"
> +
> +#: ../ntsysv.c:83
> +msgid "Cancel"
> +msgstr "Batal"
> +
> +#: ../ntsysv.c:95
> +msgid "What services should be automatically started?"
> +msgstr "Layanan mana yang harus distart secara otomatis?"
> +
> +#: ../ntsysv.c:101
> +msgid "Services"
> +msgstr "Layanan"
> +
> +#: ../ntsysv.c:183
> +#: ../ntsysv.c:210
> +#: ../ntsysv.c:248
> +#, c-format
> +msgid "error reading info for service %s: %s\n"
> +msgstr "gagal membaca info layanan %s: %s\n"
> +
> +#: ../ntsysv.c:257
> +#, c-format
> +msgid "error reading from directory %s: %s\n"
> +msgstr "gagal membaca dari direktori %s: %s\n"
> +
> +#: ../ntsysv.c:293
> +#, c-format
> +msgid "You must be root to run %s.\n"
> +msgstr "anda harus menjalankan %s sebagai root.\n"
> +
> +#: ../ntsysv.c:310
> +#, c-format
> +msgid "bad argument to --levels\n"
> +msgstr "parameter untuk --levels salah\n"
> +
> +#: ../ntsysv.c:317
> +#, c-format
> +msgid "No services may be managed by ntsysv!\n"
> +msgstr "Tidak ada layanan yang dapat diatur oleh ntsysv!\n"
> +
> +#: ../leveldb.c:259
> +#, c-format
> +msgid "failed to open %s/init.d: %s\n"
> +msgstr "gagal membuka %s/init.d: %s\n"
> +
> +#: ../leveldb.c:667
> +#, c-format
> +msgid "failed to glob pattern %s: %s\n"
> +msgstr "gagal untuk mengglob pola %s: %s\n"
> +
> +#: ../leveldb.c:710
> +#, c-format
> +msgid "cannot determine current run level\n"
> +msgstr "tidak dapat menentukan run level yang aktif\n"
> +
> +#: ../leveldb.c:798
> +#, c-format
> +msgid "failed to make symlink %s: %s\n"
> +msgstr "gagal untuk membuat symlink %s: %s\n"
> +
> +#: ../alternatives.c:63
> +#, c-format
> +msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> +msgstr "alternatives versi %s - Copyright (C) 2001 Red Hat, Inc.\n"
> +
> +#: ../alternatives.c:64
> +#, c-format
> +msgid ""
> +"This may be freely redistributed under the terms of the GNU Public License.\n"
> +"\n"
> +msgstr "Program ini dapat didistribusikan bebas di bawah Lisensi GNU Public License.\n"
> +
> +#: ../alternatives.c:65
> +#, c-format
> +msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> +msgstr "cara pakai: alternatives --install <link> <name> <path> <priority>\n"
> +
> +#: ../alternatives.c:66
> +#, c-format
> +msgid " [--initscript <service>]\n"
> +msgstr " [--initscript <service>]\n"
> +
> +#: ../alternatives.c:67
> +#, c-format
> +msgid " [--slave <link> <name> <path>]*\n"
> +msgstr " [--slave <link> <name> <path> *\n"
> +
> +#: ../alternatives.c:68
> +#, c-format
> +msgid " alternatives --remove <name> <path>\n"
> +msgstr " alternatives --remove <name> <path>\n"
> +
> +#: ../alternatives.c:69
> +#, c-format
> +msgid " alternatives --auto <name>\n"
> +msgstr " alternatives --auto <name>\n"
> +
> +#: ../alternatives.c:70
> +#, c-format
> +msgid " alternatives --config <name>\n"
> +msgstr " alternatives --config <name>\n"
> +
> +#: ../alternatives.c:71
> +#, c-format
> +msgid " alternatives --display <name>\n"
> +msgstr " alternatives --display <name>\n"
> +
> +#: ../alternatives.c:72
> +#, c-format
> +msgid " alternatives --set <name> <path>\n"
> +msgstr " alternatives --set <name> <path>\n"
> +
> +#: ../alternatives.c:73
> +#, c-format
> +msgid "\n"
> +msgstr "\n"
> +
> +#: ../alternatives.c:74
> +#, c-format
> +msgid "common options: --verbose --test --help --usage --version\n"
> +msgstr "opsi umum: --verbose --test --help --usage --version\n"
> +
> +#: ../alternatives.c:75
> +#, c-format
> +msgid " --altdir <directory> --admindir <directory>\n"
> +msgstr " --altdir <directory> --admindir <directory>\n"
> +
> +#: ../alternatives.c:172
> +#, c-format
> +msgid "reading %s\n"
> +msgstr "membaca %s\n"
> +
> +#: ../alternatives.c:176
> +#, c-format
> +msgid "failed to open %s: %s\n"
> +msgstr "gagal membuka %s: %s\n"
> +
> +#: ../alternatives.c:185
> +#, c-format
> +msgid "failed to read %s: %s\n"
> +msgstr "gagal membaca %s: %s\n"
> +
> +#: ../alternatives.c:194
> +#, c-format
> +msgid "%s empty!\n"
> +msgstr "%s kosong!\n"
> +
> +#: ../alternatives.c:203
> +#, c-format
> +msgid "bad mode on line 1 of %s\n"
> +msgstr "mode salah di baris 1 pada %s\n"
> +
> +#: ../alternatives.c:210
> +#, c-format
> +msgid "bad primary link in %s\n"
> +msgstr "link utama di %s rusak\n"
> +
> +#: ../alternatives.c:222
> +#, c-format
> +msgid "path %s unexpected in %s\n"
> +msgstr "path %s tidak seharusnya ada di %s\n"
> +
> +#: ../alternatives.c:231
> +#, c-format
> +msgid "missing path for slave %s in %s\n"
> +msgstr "tidak ditemukan path untuk slave %s di %s\n"
> +
> +#: ../alternatives.c:241
> +#, c-format
> +msgid "unexpected end of file in %s\n"
> +msgstr "akhir file yang tidak diharapkan di %s\n"
> +
> +#: ../alternatives.c:250
> +#, c-format
> +msgid "path to alternate expected in %s\n"
> +msgstr "path ke alternate diharapkan pada %s\n"
> +
> +#: ../alternatives.c:270
> +#, c-format
> +msgid "numeric priority expected in %s\n"
> +msgstr "prioritas angka diharapkan pada %s\n"
> +
> +#: ../alternatives.c:292
> +#, c-format
> +msgid "slave path expected in %s\n"
> +msgstr "slave path expected in %s\n"
> +
> +#: ../alternatives.c:311
> +#, c-format
> +msgid "unexpected line in %s: %s\n"
> +msgstr "baris yang tidak diharapkan pada %s: %s\n"
> +
> +#: ../alternatives.c:319
> +#, c-format
> +msgid "failed to read link %s: %s\n"
> +msgstr "gagal membaca link %s: %s\n"
> +
> +#: ../alternatives.c:333
> +#, c-format
> +msgid "link points to no alternative -- setting mode to manual\n"
> +msgstr "link menuju pada tidak ada alternatif - mode set ke manual\n"
> +
> +#: ../alternatives.c:338
> +#, c-format
> +msgid "link changed -- setting mode to manual\n"
> +msgstr "link berubah - mode set ke manual\n"
> +
> +#: ../alternatives.c:366
> +#: ../alternatives.c:373
> +#, c-format
> +msgid "would remove %s\n"
> +msgstr "Akan dihapus %s\n"
> +
> +#: ../alternatives.c:368
> +#: ../alternatives.c:375
> +#: ../alternatives.c:406
> +#, c-format
> +msgid "failed to remove link %s: %s\n"
> +msgstr "gagal untuk menghapus link %s: %s\n"
> +
> +#: ../alternatives.c:391
> +#: ../alternatives.c:403
> +#, c-format
> +msgid "would link %s -> %s\n"
> +msgstr "Akan dilink %s -> %s\n"
> +
> +#: ../alternatives.c:395
> +#: ../alternatives.c:412
> +#, c-format
> +msgid "failed to link %s -> %s: %s\n"
> +msgstr "gagal untuk membuat link %s -> %s: %s\n"
> +
> +#: ../alternatives.c:444
> +#, c-format
> +msgid "%s already exists\n"
> +msgstr "%s sudah ada\n"
> +
> +#: ../alternatives.c:446
> +#, c-format
> +msgid "failed to create %s: %s\n"
> +msgstr "gagal untuk membuat %s: %s\n"
> +
> +#: ../alternatives.c:477
> +#, c-format
> +msgid "failed to replace %s with %s: %s\n"
> +msgstr "gagal untuk mengganti %s dengan %s: %s\n"
> +
> +#: ../alternatives.c:503
> +#: ../alternatives.c:512
> +#, c-format
> +msgid "running %s\n"
> +msgstr "Jalan di %s\n"
> +
> +#: ../alternatives.c:539
> +#, c-format
> +msgid "the primary link for %s must be %s\n"
> +msgstr "the primary link for %s must be %s\n"
> +
> +#: ../alternatives.c:619
> +#, c-format
> +msgid "link %s incorrect for slave %s (%s %s)\n"
> +msgstr "link %s incorrect for slave %s (%s %s)\n"
> +
> +#: ../alternatives.c:660
> +#, c-format
> +msgid "%s - status is auto.\n"
> +msgstr "%s - status otomatis.\n"
> +
> +#: ../alternatives.c:662
> +#, c-format
> +msgid "%s - status is manual.\n"
> +msgstr "%s - status manual.\n"
> +
> +#: ../alternatives.c:664
> +#, c-format
> +msgid " link currently points to %s\n"
> +msgstr " link saat ini tertuju pada %s\n"
> +
> +#: ../alternatives.c:667
> +#, c-format
> +msgid "%s - priority %d\n"
> +msgstr "%s - prioritas %d\n"
> +
> +#: ../alternatives.c:670
> +#, c-format
> +msgid " slave %s: %s\n"
> +msgstr " slave %s: %s\n"
> +
> +#: ../alternatives.c:675
> +#, c-format
> +msgid "Current `best' version is %s.\n"
> +msgstr "Versi `terbaik' saat ini adalah %s.\n"
> +
> +#: ../alternatives.c:705
> +#, c-format
> +msgid "There is %d program that provides '%s'.\n"
> +msgstr "Ada %d program yang menyediakan '%s'.\n"
> +
> +#: ../alternatives.c:705
> +#, c-format
> +msgid "There are %d programs which provide '%s'.\n"
> +msgstr "Ada %d program yang menyediakan '%s'.\n"
> +
> +#: ../alternatives.c:707
> +#, c-format
> +msgid " Selection Command\n"
> +msgstr " Perintah yang dipilih\n"
> +
> +#: ../alternatives.c:716
> +#, c-format
> +msgid "Enter to keep the current selection[+], or type selection number: "
> +msgstr "Enter untuk mempertahankan pilihan[+] saat ini, atau ketik nomer yang dipilih: "
> +
> +#: ../alternatives.c:719
> +#, c-format
> +msgid ""
> +"\n"
> +"error reading choice\n"
> +msgstr ""
> +"\n"
> +"gagal membaca pilihan\n"
> +
> +#: ../alternatives.c:746
> +#: ../alternatives.c:772
> +#, c-format
> +msgid "%s has not been configured as an alternative for %s\n"
> +msgstr "%s belum dikonfigurasi sebagai alternatif untuk %s\n"
> +
> +#: ../alternatives.c:788
> +#, c-format
> +msgid "(would remove %s\n"
> +msgstr "(akan dihapus %s\n"
> +
> +#: ../alternatives.c:790
> +#, c-format
> +msgid "failed to remove %s: %s\n"
> +msgstr "gagal menghapus %s: %s\n"
> +
> +#: ../alternatives.c:912
> +#, c-format
> +msgid "altdir %s invalid\n"
> +msgstr "altdir %s tidak valid\n"
> +
> +#: ../alternatives.c:918
> +#, c-format
> +msgid "admindir %s invalid\n"
> +msgstr "admindir %s tidak valid\n"
> +
> +#: ../alternatives.c:928
> +#, c-format
> +msgid "alternatives version %s\n"
> +msgstr "alternatives versi %s\n"
> +
> +#~ msgid "error reading from directory %s/init.d: %s\n"
> +#~ msgstr "gagal membaca direktori %s/init.d: %s\n"
> +
> --- chkconfig-1.3.46/po/is.po
> +++ chkconfig-1.3.46/po/is.po
> (renamed from chkconfig-1.3.44/po/is.po)
> --- chkconfig-1.3.46/po/it.po
> +++ chkconfig-1.3.46/po/it.po
> (renamed from chkconfig-1.3.44/po/it.po)
> --- chkconfig-1.3.46/po/ja.po
> +++ chkconfig-1.3.46/po/ja.po
> (renamed from chkconfig-1.3.44/po/ja.po)
> --- chkconfig-1.3.46/po/ka.po
> +++ chkconfig-1.3.46/po/ka.po
> (renamed from chkconfig-1.3.44/po/ka.po)
> --- chkconfig-1.3.46/po/kn.po
> +++ chkconfig-1.3.46/po/kn.po
> +# translation of chkconfig.master.kn.po to Kannada
> +# Chkconfig Japanese Translation
> +# Copyright (C) 2001 Red Hat, Inc.
> +#
> +#
> +# Omshivaprakash <omshivprakash at gmail.com>, 2007.
> +# Shankar Prasad <svenkate at redhat.com>, 2007, 2008, 2009.
> +msgid ""
> +msgstr ""
> +"Project-Id-Version: chkconfig.master.kn\n"
> +"Report-Msgid-Bugs-To: \n"
> +"POT-Creation-Date: 2010-03-03 17:22-0500\n"
> +"PO-Revision-Date: 2009-04-02 00:28+0530\n"
> +"Last-Translator: Shankar Prasad <svenkate at redhat.com>\n"
> +"Language-Team: Kannada <en at li.org>\n"
> +"MIME-Version: 1.0\n"
> +"Content-Type: text/plain; charset=UTF-8\n"
> +"Content-Transfer-Encoding: 8bit\n"
> +"X-Generator: KBabel 1.11.4\n"
> +"Plural-Forms: nplurals=2; plural=(n != 1);\n"
> +"\n"
> +
> +#: ../chkconfig.c:38
> +#, c-format
> +msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> +msgstr "%s ಆವೃತ್ತಿ %s - ಕೃತಿಸ್ವಾಮ್ಯ (C) 1997-2000 Red Hat, Inc.\n"
> +
> +#: ../chkconfig.c:39
> +#, c-format
> +msgid ""
> +"This may be freely redistributed under the terms of the GNU Public License.\n"
> +msgstr "ಇದನ್ನು GNU ಸಾರ್ವತ್ರಿಕ ಪರವಾನಗಿಯಡಿ ಮರು ಹಂಚಿಕೆ ಮಾಡಬಹುದಾಗಿದೆ.\n"
> +
> +#: ../chkconfig.c:42
> +#, c-format
> +msgid "usage: %s [--list] [--type <type>] [name]\n"
> +msgstr "ಬಳಕೆ: %s [--list] [--type <type>] [name]\n"
> +
> +#: ../chkconfig.c:43
> +#, c-format
> +msgid " %s --add <name>\n"
> +msgstr " %s --add <name>\n"
> +
> +#: ../chkconfig.c:44
> +#, c-format
> +msgid " %s --del <name>\n"
> +msgstr " %s --del <name>\n"
> +
> +#: ../chkconfig.c:45
> +#, c-format
> +msgid " %s --override <name>\n"
> +msgstr " %s --override <name>\n"
> +
> +#: ../chkconfig.c:46
> +#, c-format
> +msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> +msgstr " %s [--level <levels>] [--type <type>] <name> %s\n"
> +
> +#: ../chkconfig.c:53
> +#, c-format
> +msgid ""
> +"service %s supports chkconfig, but is not referenced in any runlevel (run "
> +"'chkconfig --add %s')\n"
> +msgstr ""
> +"ಸೇವೆ %s chkconfig ಅನ್ನು ಅಶ್ರಯಿಸಿಕೊಳ್ಳಬಲ್ಲದು, ಆದರೆ ಇದನ್ನು ಯಾವುದೇ ಕ್ರಿಯಾಹಂತದಲ್ಲಿ "
> +"ಬಳಸಲಾಗಿಲ್ಲ (ಪ್ರಯೋಗಿಸು 'chkconfig --ಸೇರಿಸು %s')\n"
> +
> +#: ../chkconfig.c:55
> +#, c-format
> +msgid "service %s does not support chkconfig\n"
> +msgstr "ಸೇವೆ %s ಯು chkconfig ಅನ್ನು ಬೆಂಬಲಿಸಲಾರದು\n"
> +
> +#: ../chkconfig.c:57
> +#, c-format
> +msgid "error reading information on service %s: %s\n"
> +msgstr "%s ಸೇವೆಯ ಬಗೆಗಿನ ಮಾಹಿತಿಯನ್ನು ಓದುವಲ್ಲಿ ದೋಷ: %s\n"
> +
> +#: ../chkconfig.c:66
> +#, c-format
> +msgid "You do not have enough privileges to perform this operation.\n"
> +msgstr "ಈ ಕಾರ್ಯವನ್ನು ನಿರ್ವಹಿಸಲು ನಿಮ್ಮಲ್ಲಿ ಸವಲತ್ತುಗಳಿಲ್ಲ.\n"
> +
> +#: ../chkconfig.c:411 ../chkconfig.c:416 ../chkconfig.c:530
> +msgid "on"
> +msgstr "ಆನ್"
> +
> +#: ../chkconfig.c:411 ../chkconfig.c:416 ../chkconfig.c:530
> +msgid "off"
> +msgstr "ಆಫ್"
> +
> +#: ../chkconfig.c:492
> +#, c-format
> +msgid "xinetd based services:\n"
> +msgstr "xinetd ಆಧರಿತ ಸೇವೆಗಳು:\n"
> +
> +#: ../chkconfig.c:494
> +#, c-format
> +msgid "failed to open directory %s: %s\n"
> +msgstr " %s ಕಡತಕೋಶವನ್ನು ತೆರೆಯುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> +
> +#: ../chkconfig.c:638
> +#, c-format
> +msgid "%s version %s\n"
> +msgstr "%s ಆವೃತ್ತಿ %s\n"
> +
> +#: ../chkconfig.c:650
> +#, c-format
> +msgid "--type must be 'sysv' or 'xinetd'\n"
> +msgstr "--type ಯು 'sysv' ಅಥವ 'xinetd' ಆಗಿರಲೆ ಬೇಕು\n"
> +
> +#: ../chkconfig.c:658
> +#, c-format
> +msgid "only one of --list, --add, --del, or --override may be specified\n"
> +msgstr ""
> +"--list, --add, --del, ಅಥವ --override ಇವುಗಳಿಂದ ಯಾವುದಾದರೂ ಒಂದನ್ನು ಮಾತ್ರ "
> +"ಸೂಚಿಸಬಹುದಾಗಿದೆ\n"
> +
> +#: ../chkconfig.c:718
> +#, c-format
> +msgid "only one runlevel may be specified for a chkconfig query\n"
> +msgstr "ಒಂದು chkconfig ಮನವಿಗೆ ಕೇವಲ ಒಂದು ರನ್-ಲೆವೆಲನ್ನು ಮಾತ್ರ ಸೂಚಿಸಬಹುದಾಗಿದೆ\n"
> +
> +#: ../ntsysv.c:46
> +msgid "Press <F1> for more information on a service."
> +msgstr "ಸೇವೆಯ ಬಗೆಗಿನ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗೆ <F1> ಬಳಸಿ "
> +
> +#: ../ntsysv.c:83 ../ntsysv.c:120
> +msgid "Ok"
> +msgstr "ಸರಿ"
> +
> +#: ../ntsysv.c:83
> +msgid "Back"
> +msgstr "ಹಿಂದಕ್ಕೆ"
> +
> +#: ../ntsysv.c:83
> +msgid "Cancel"
> +msgstr "ರದ್ದುಪಡಿಸು"
> +
> +#: ../ntsysv.c:95
> +msgid "What services should be automatically started?"
> +msgstr "ಯಾವ ಸೇವೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಬಿಸಬೇಕು?"
> +
> +#: ../ntsysv.c:101
> +msgid "Services"
> +msgstr "ಸೇವೆಗಳು"
> +
> +#: ../ntsysv.c:183 ../ntsysv.c:210 ../ntsysv.c:248
> +#, c-format
> +msgid "error reading info for service %s: %s\n"
> +msgstr "%s ಸೇವೆಯ ಮಾಹಿತಿಯನ್ನು ಓದುವಲ್ಲಿ ದೋಷವಿದೆ : %s\n"
> +
> +#: ../ntsysv.c:257
> +#, c-format
> +msgid "error reading from directory %s: %s\n"
> +msgstr "ಕಡತಕೋಶ %s ದಿಂದ ಓದುವಲ್ಲಿ ದೋಷ: %s\n"
> +
> +#: ../ntsysv.c:293
> +#, c-format
> +msgid "You must be root to run %s.\n"
> +msgstr "%s ಅನ್ನು ಚಲಾಯಿಸಲು ನೀವು ನಿರ್ವಾಹಕರಾಗಿರಬೇಕು.\n"
> +
> +#: ../ntsysv.c:310
> +#, c-format
> +msgid "bad argument to --levels\n"
> +msgstr "--levels ಗೆ ತಪ್ಪು ಆರ್ಗ್ಯುಮೆಂಟ್\n"
> +
> +#: ../ntsysv.c:317
> +#, c-format
> +msgid "No services may be managed by ntsysv!\n"
> +msgstr "ಯಾವುದೇ ಸೇವೆಗಳನ್ನು ntsysv ಇಂದ ನಿರ್ವಹಿಸಲಾಗುವುದಿಲ್ಲ\n"
> +
> +#: ../leveldb.c:261
> +#, c-format
> +msgid "failed to open %s/init.d: %s\n"
> +msgstr "%s/init.d ಅನ್ನು ತೆರೆಯುವ ಯತ್ನ ವಿಪಲವಾಗಿದೆ: %s\n"
> +
> +#: ../leveldb.c:662
> +#, c-format
> +msgid "failed to glob pattern %s: %s\n"
> +msgstr "ವಿನ್ಯಾಸ %s ಅನ್ನು glob ಮಾಡುವಲ್ಲಿ ವಿಫಲ: %s\n"
> +
> +#: ../leveldb.c:705
> +#, c-format
> +msgid "cannot determine current run level\n"
> +msgstr "ಈಗಿನ ಕ್ರಿಯಾ ಹಂತವನ್ನು ಕಂಡುಹಿಡಿಯಲಾಗಿಲ್ಲ\n"
> +
> +#: ../leveldb.c:793
> +#, c-format
> +msgid "failed to make symlink %s: %s\n"
> +msgstr "symlink ಮಾಡುವಲ್ಲಿ ಅಡಚಣೆಯಾಗಿದೆ %s: %s\n"
> +
> +#: ../alternatives.c:63
> +#, c-format
> +msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> +msgstr "ಬದಲಿ ಆವೃತ್ತಿ %s - ಕೃತಿಸ್ವಾಮ್ಯ (C) 1997-2000 Red Hat, Inc.\n"
> +
> +#: ../alternatives.c:64
> +#, c-format
> +msgid ""
> +"This may be freely redistributed under the terms of the GNU Public License.\n"
> +"\n"
> +msgstr ""
> +"ಇದನ್ನು ಜಿ ಎನ್ ಯು ಸಾರ್ವರ್ತಿಕ ಪರವಾನಗಿಯ ಕರಾರುಗಳಡಿಯಲ್ಲಿ ಉಚಿತವಾಗಿ ಮರು ಹಂಚಿಕೆ "
> +"ಮಾಡಬಹುದಾಗಿದೆ.\n"
> +"\n"
> +
> +#: ../alternatives.c:65
> +#, c-format
> +msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> +msgstr "ಬಳಕೆ: alternatives --install <link> <name> <path> <priority>\n"
> +
> +#: ../alternatives.c:66
> +#, c-format
> +msgid " [--initscript <service>]\n"
> +msgstr " [--initscript <service>]\n"
> +
> +#: ../alternatives.c:67
> +#, c-format
> +msgid " [--slave <link> <name> <path>]*\n"
> +msgstr " [--slave <link> <name> <path>]*\n"
> +
> +#: ../alternatives.c:68
> +#, c-format
> +msgid " alternatives --remove <name> <path>\n"
> +msgstr " alternatives --remove <name> <path>\n"
> +
> +#: ../alternatives.c:69
> +#, c-format
> +msgid " alternatives --auto <name>\n"
> +msgstr " alternatives --auto <name>\n"
> +
> +#: ../alternatives.c:70
> +#, c-format
> +msgid " alternatives --config <name>\n"
> +msgstr " alternatives --config <name>\n"
> +
> +#: ../alternatives.c:71
> +#, c-format
> +msgid " alternatives --display <name>\n"
> +msgstr " alternatives --display <name>\n"
> +
> +#: ../alternatives.c:72
> +#, c-format
> +msgid " alternatives --set <name> <path>\n"
> +msgstr " alternatives --set <name> <path>\n"
> +
> +#: ../alternatives.c:73
> +#, c-format
> +msgid "\n"
> +msgstr "\n"
> +
> +#: ../alternatives.c:74
> +#, c-format
> +msgid "common options: --verbose --test --help --usage --version\n"
> +msgstr "ಸಾಮಾನ್ಯ ಆಯ್ಕೆಗಳು: --verbose --test --help --usage --version\n"
> +
> +#: ../alternatives.c:75
> +#, c-format
> +msgid " --altdir <directory> --admindir <directory>\n"
> +msgstr " --altdir <directory> --admindir <directory>\n"
> +
> +#: ../alternatives.c:172
> +#, c-format
> +msgid "reading %s\n"
> +msgstr "ಓದುತ್ತಿದೆ %s\n"
> +
> +#: ../alternatives.c:176
> +#, c-format
> +msgid "failed to open %s: %s\n"
> +msgstr "ತೆರೆಯಲಾಗುತ್ತಿಲ್ಲ %s: %s\n"
> +
> +#: ../alternatives.c:185
> +#, c-format
> +msgid "failed to read %s: %s\n"
> +msgstr "ಓದಲಾಗುತ್ತಿಲ್ಲ %s: %s\n"
> +
> +#: ../alternatives.c:194
> +#, c-format
> +msgid "%s empty!\n"
> +msgstr "%s ಕಾಲಿಯಾಗಿದೆ!\n"
> +
> +#: ../alternatives.c:203
> +#, c-format
> +msgid "bad mode on line 1 of %s\n"
> +msgstr "%s ನ ೧ ನೇ ಸಾಲಿನಲ್ಲಿ ತಪ್ಪು ಕ್ರಮ\n"
> +
> +#: ../alternatives.c:210
> +#, c-format
> +msgid "bad primary link in %s\n"
> +msgstr "%s ನಲ್ಲಿ ತಪ್ಪು ಪ್ರಾಥಮಿಕ ಕೊಂಡಿ\n"
> +
> +#: ../alternatives.c:222
> +#, c-format
> +msgid "path %s unexpected in %s\n"
> +msgstr "ಪಥ %s ವು %s ನಲ್ಲಿ ಅನಿರೀಕ್ಷಿತವಾಗಿದೆ\n"
> +
> +#: ../alternatives.c:231
> +#, c-format
> +msgid "missing path for slave %s in %s\n"
> +msgstr "ಪೂರಕ ಘಟಕ(slave) %s ಕ್ಕೆ %s ನಲ್ಲಿ ಪಥ ಕಾಣೆಯಾಗಿದೆ\n"
> +
> +#: ../alternatives.c:241
> +#, c-format
> +msgid "unexpected end of file in %s\n"
> +msgstr "%s ನಲ್ಲಿ ಕಡತದ ಅನಿರೀಕ್ಷಿತ ಅಂತ್ಯ\n"
> +
> +#: ../alternatives.c:250
> +#, c-format
> +msgid "path to alternate expected in %s\n"
> +msgstr "ಪರ್ಯಾಯಕ್ಕೆ %s ನಲ್ಲಿ ಪಥವನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ\n"
> +
> +#: ../alternatives.c:251 ../alternatives.c:272 ../alternatives.c:295
> +#: ../alternatives.c:314
> +#, c-format
> +msgid "unexpected line in %s: %s\n"
> +msgstr "%s ನಲ್ಲಿ ಅನಪೇಕ್ಷಿತ ಸಾಲು: %s\n"
> +
> +#: ../alternatives.c:271
> +#, c-format
> +msgid "numeric priority expected in %s\n"
> +msgstr "%s ನಲ್ಲಿ ಸಂಖ್ಯಾ ಆದ್ಯತೆಯನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ\n"
> +
> +#: ../alternatives.c:294
> +#, c-format
> +msgid "slave path expected in %s\n"
> +msgstr "%s ನಲ್ಲಿ ಪೂರಕ ಘಟಕ ಪಥವನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ\n"
> +
> +#: ../alternatives.c:322
> +#, c-format
> +msgid "failed to read link %s: %s\n"
> +msgstr "ಕೊಂಡಿ %s ಯನ್ನು ಓದುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> +
> +#: ../alternatives.c:336
> +#, c-format
> +msgid "link points to no alternative -- setting mode to manual\n"
> +msgstr ""
> +"ಕೊಂಡಿಯು ಯಾವುದೇ ಪರ್ಯಾಯಕ್ಕೆ ಸೂಚಿತವಾಗಿಲ್ಲ-- ಕ್ರಮವನ್ನು ಸ್ವಹಸ್ತ(manual)ಗೆ "
> +"ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ\n"
> +
> +#: ../alternatives.c:341
> +#, c-format
> +msgid "link changed -- setting mode to manual\n"
> +msgstr "ಕೊಂಡಿ ಬದಲಾಗಿದೆ-- ಕ್ರಮವನ್ನು ಸ್ವಹಸ್ತ(manual)ಗೆ ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ\n"
> +
> +#: ../alternatives.c:369 ../alternatives.c:376
> +#, c-format
> +msgid "would remove %s\n"
> +msgstr "%s ಅನ್ನು ತೆಗೆಯಲಾಗುತ್ತದೆ\n"
> +
> +#: ../alternatives.c:371 ../alternatives.c:378 ../alternatives.c:410
> +#, c-format
> +msgid "failed to remove link %s: %s\n"
> +msgstr "ಕೊಂಡಿ %s ಯನ್ನು ತೆಗೆಯುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> +
> +#: ../alternatives.c:394 ../alternatives.c:407
> +#, c-format
> +msgid "would link %s -> %s\n"
> +msgstr "ಕೊಂಡಿ %s -> %s ಮಾಡಲಾಗುತ್ತದೆ\n"
> +
> +#: ../alternatives.c:399 ../alternatives.c:416
> +#, c-format
> +msgid "failed to link %s -> %s: %s\n"
> +msgstr "ಕೊಂಡಿ %s -> %s ಮಾಡುವಲ್ಲಿ ವಿಫಲ: %s\n"
> +
> +#: ../alternatives.c:448
> +#, c-format
> +msgid "%s already exists\n"
> +msgstr "%s ವು ಈಗಾಗಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ\n"
> +
> +#: ../alternatives.c:450
> +#, c-format
> +msgid "failed to create %s: %s\n"
> +msgstr "%s ಅನ್ನು ರಚಿಸುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> +
> +#: ../alternatives.c:481
> +#, c-format
> +msgid "failed to replace %s with %s: %s\n"
> +msgstr "%s ಅನ್ನು %s ನೊಂದಿಗೆ ಬದಲಾಯಿಸುವುದರಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> +
> +#: ../alternatives.c:507 ../alternatives.c:516
> +#, c-format
> +msgid "running %s\n"
> +msgstr "%s ಅನ್ನು ಚಲಾಯಿಸಲಾಗುತ್ತಿದೆ\n"
> +
> +#: ../alternatives.c:543
> +#, c-format
> +msgid "the primary link for %s must be %s\n"
> +msgstr "%s ಗೆ ಪ್ರಾಥಮಿಕ ಕೊಂಡಿಯು %s ಆಗಿರಬೇಕು\n"
> +
> +#: ../alternatives.c:623
> +#, c-format
> +msgid "link %s incorrect for slave %s (%s %s)\n"
> +msgstr "ಕೊಂಡಿ%s ಯು ಪೂರಕ ಘಟಕ %s ಕ್ಕೆ ಸರಿ ಇಲ್ಲ (%s %s)\n"
> +
> +#: ../alternatives.c:664
> +#, c-format
> +msgid "%s - status is auto.\n"
> +msgstr "%s - ಸ್ಥಿತಿಯು ಸ್ವಯಂ(auto) ಆಗಿದೆ.\n"
> +
> +#: ../alternatives.c:666
> +#, c-format
> +msgid "%s - status is manual.\n"
> +msgstr "%s - ಸ್ಥಿತಿಯು ಹಸ್ತಮುಖೇನ(manual) ಆಗಿದೆ.\n"
> +
> +#: ../alternatives.c:668
> +#, c-format
> +msgid " link currently points to %s\n"
> +msgstr " ಕೊಂಡಿಯು ಪ್ರಸಕ್ತ %s ಕ್ಕೆ ಸೂಚಿತಗೊಂಡಿದೆ\n"
> +
> +#: ../alternatives.c:671
> +#, c-format
> +msgid "%s - priority %d\n"
> +msgstr "%s - ಆದ್ಯತೆ %d\n"
> +
> +#: ../alternatives.c:674
> +#, c-format
> +msgid " slave %s: %s\n"
> +msgstr " ಪೂರಕ ಘಟಕ %s: %s\n"
> +
> +#: ../alternatives.c:679
> +#, c-format
> +msgid "Current `best' version is %s.\n"
> +msgstr "ಪ್ರಸಕ್ತ `ಉತ್ತಮ`ಆವೃತ್ತಿಯು %s ಆಗಿದೆ.\n"
> +
> +#: ../alternatives.c:709
> +#, c-format
> +msgid "There is %d program that provides '%s'.\n"
> +msgstr "%d ಪ್ರೋಗ್ರಾಂ '%s' ಅನ್ನು ಒದಗಿಸುತ್ತದೆ.\n"
> +
> +#: ../alternatives.c:709
> +#, c-format
> +msgid "There are %d programs which provide '%s'.\n"
> +msgstr "%d ನಷ್ಟು ಪ್ರೋಗ್ರಾಂಗಳು '%s' ಅನ್ನು ಒದಗಿಸುತ್ತವೆ.\n"
> +
> +#: ../alternatives.c:711
> +#, c-format
> +msgid " Selection Command\n"
> +msgstr " ಆಯ್ಕೆ ಆಜ್ಞೆ\n"
> +
> +#: ../alternatives.c:720
> +#, c-format
> +msgid "Enter to keep the current selection[+], or type selection number: "
> +msgstr "ಪ್ರಸಕ್ತ ಆಯ್ಕೆಯನ್ನು [+] ಉಳಿಸಿಕೊಳ್ಳಲು ನಮೂದಿಸಿ, ಅಥವ ಆಯ್ಕಾ ಸಂಖ್ಯೆಯನ್ನು ಆರಿಸಿ: "
> +
> +#: ../alternatives.c:723
> +#, c-format
> +msgid ""
> +"\n"
> +"error reading choice\n"
> +msgstr ""
> +"\n"
> +"ಆಯ್ಕೆಯನ್ನು ಓದುವಲ್ಲಿ ದೋಷ\n"
> +
> +#: ../alternatives.c:750 ../alternatives.c:776
> +#, c-format
> +msgid "%s has not been configured as an alternative for %s\n"
> +msgstr "%s ವು %s ಗೆ ಒಂದು ಪರ್ಯಾಯವಾಗಿ ಸಂರಚಿತವಾಗಿಲ್ಲ\n"
> +
> +#: ../alternatives.c:792
> +#, c-format
> +msgid "(would remove %s\n"
> +msgstr "(%s ಅನ್ನು ತೆಗೆಯಲಾಗುತ್ತದೆ\n"
> +
> +#: ../alternatives.c:794
> +#, c-format
> +msgid "failed to remove %s: %s\n"
> +msgstr "%s ಅನ್ನು ತೆಗೆಯುವಲ್ಲಿ ವಿಫಲತೆ: %s\n"
> +
> +#: ../alternatives.c:916
> +#, c-format
> +msgid "altdir %s invalid\n"
> +msgstr "altdir %s ಅಮಾನ್ಯವಾಗಿದೆ\n"
> +
> +#: ../alternatives.c:922
> +#, c-format
> +msgid "admindir %s invalid\n"
> +msgstr "admindir %s ಅಮಾನ್ಯವಾಗಿದೆ\n"
> +
> +#: ../alternatives.c:932
> +#, c-format
> +msgid "alternatives version %s\n"
> +msgstr "ಬದಲಿಯ ಆವೃತ್ತಿ %s\n"
> --- chkconfig-1.3.46/po/ko.po
> +++ chkconfig-1.3.46/po/ko.po
> +# translation of chkconfig.master.ko.po to Korean
> +#
> +# Michelle J Kim <mkim at redhat.com>, 2003,2004.
> +# Michelle Ji Yeen Kim <mkim at redhat.com>, 2005.
> +# Eunju Kim <eukim at redhat.com>, 2007, 2008.
> +# Hyunsok Oh <hoh at redhat.com>, 2010.
> +msgid ""
> +msgstr ""
> +"Project-Id-Version: chkconfig.master.ko\n"
> +"Report-Msgid-Bugs-To: \n"
> +"POT-Creation-Date: 2010-03-03 17:22-0500\n"
> +"PO-Revision-Date: 2010-03-31 10:16+1000\n"
> +"Last-Translator: Hyunsok Oh <hoh at redhat.com>\n"
> +"Language-Team: Korean <ko at li.org>\n"
> +"MIME-Version: 1.0\n"
> +"Content-Type: text/plain; charset=UTF-8\n"
> +"Content-Transfer-Encoding: 8bit\n"
> +"X-Generator: KBabel 1.11.4\n"
> +"Plural-Forms: nplurals=2; plural=(n!=1);\n"
> +"\n"
> +
> +#: ../chkconfig.c:38
> +#, c-format
> +msgid "%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> +msgstr "%s 버전 %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"
> +
> +#: ../chkconfig.c:39
> +#, c-format
> +msgid "This may be freely redistributed under the terms of the GNU Public License.\n"
> +msgstr "이 프로그램은 GNU Public License(GPL)하에 자유롭게 재배포될 수 있습니다.\n"
> +
> +#: ../chkconfig.c:42
> +#, c-format
> +msgid "usage: %s [--list] [--type <type>] [name]\n"
> +msgstr "사용법: %s [--list] [--type <종류>] [이름]\n"
> +
> +#: ../chkconfig.c:43
> +#, c-format
> +msgid " %s --add <name>\n"
> +msgstr " %s --add <이름>\n"
> +
> +#: ../chkconfig.c:44
> +#, c-format
> +msgid " %s --del <name>\n"
> +msgstr " %s --del <이름>\n"
> +
> +#: ../chkconfig.c:45
> +#, c-format
> +msgid " %s --override <name>\n"
> +msgstr " %s --override <이름>\n"
> +
> +#: ../chkconfig.c:46
> +#, c-format
> +msgid " %s [--level <levels>] [--type <type>] <name> %s\n"
> +msgstr " %s [--level <레벨>] [--type <종류>] <이름> %s\n"
> +
> +#: ../chkconfig.c:53
> +#, c-format
> +msgid ""
> +"service %s supports chkconfig, but is not referenced in any runlevel (run "
> +"'chkconfig --add %s')\n"
> +msgstr ""
> +"%s 서비스는 chkconfig를 지원하지만 어떠한 런레벨에도 등록되지 않았습니다 "
> +"( 'chkconfig --add %s'를 실행하십시오)\n"
> +
> +#: ../chkconfig.c:55
> +#, c-format
> +msgid "service %s does not support chkconfig\n"
> +msgstr "%s 서비스는 chkconfig 를 지원하지 않습니다\n"
> +
> +#: ../chkconfig.c:57
> +#, c-format
> +msgid "error reading information on service %s: %s\n"
> +msgstr "%s 서비스의 정보를 읽는 도중 오류가 발생했습니다: %s\n"
> +
> +#: ../chkconfig.c:66
> +#, c-format
> +msgid "You do not have enough privileges to perform this operation.\n"
> +msgstr "이 작업을 실행할 권한이 없습니다.\n"
> +
> +# #
> +# # 이곳을 '켜짐' 과 '꺼짐'으로 번역하면,
> +# # 한글의 시각적 특성상 보기에 좀 헷갈립니다.
> +# # '끔' 과 '켬' 도 마찬가지 입니다. :-)
> +# #
> +#: ../chkconfig.c:411 ../chkconfig.c:416 ../chkconfig.c:530
> +msgid "on"
> +msgstr "활성"
> +
> +#: ../chkconfig.c:411 ../chkconfig.c:416 ../chkconfig.c:530
> +msgid "off"
> +msgstr "해제"
> +
> +#: ../chkconfig.c:492
> +#, c-format
> +msgid "xinetd based services:\n"
> +msgstr "xinetd 기반의 서비스:\n"
> +
> +#: ../chkconfig.c:494
> +#, c-format
> +msgid "failed to open directory %s: %s\n"
> +msgstr "%s 디렉토리를 여는데 실패했습니다: %s\n"
> +
> +#: ../chkconfig.c:638
> +#, c-format
> +msgid "%s version %s\n"
> +msgstr "%s 버전 %s\n"
> +
> +#: ../chkconfig.c:650
> +#, c-format
> +msgid "--type must be 'sysv' or 'xinetd'\n"
> +msgstr "--type은 'sysv' 또는 'xinetd'여야만 합니다\n"
> +
> +#: ../chkconfig.c:658
> +#, c-format
> +msgid "only one of --list, --add, --del, or --override may be specified\n"
> +msgstr "--list, --add, --del, --override의 옵션 중 하나만 지정해야 합니다\n"
> +
> +#: ../chkconfig.c:718
> +#, c-format
> +msgid "only one runlevel may be specified for a chkconfig query\n"
> +msgstr "chkconfig 질의에 대해 하나의 런레벨만 지정해야 합니다\n"
> +
> +#: ../ntsysv.c:46
> +msgid "Press <F1> for more information on a service."
> +msgstr "서비스에 대한 자세한 내용을 보려면 <F1> 키를 누르십시오."
> +
> +#: ../ntsysv.c:83 ../ntsysv.c:120
> +msgid "Ok"
> +msgstr "확인"
> +
> +#: ../ntsysv.c:83
> +msgid "Back"
> +msgstr "뒤로"
> +
> +#: ../ntsysv.c:83
> +msgid "Cancel"
> +msgstr "취소"
> +
> +#: ../ntsysv.c:95
> +msgid "What services should be automatically started?"
> +msgstr "어떤 서비스를 자동으로 시작하도록 하겠습니까?"
> +
> +#: ../ntsysv.c:101
> +msgid "Services"
> +msgstr "서비스"
> +
> +#: ../ntsysv.c:183 ../ntsysv.c:210 ../ntsysv.c:248
> +#, c-format
> +msgid "error reading info for service %s: %s\n"
> +msgstr "%s 서비스의 정보를 읽는 중 오류가 발생했습니다: %s\n"
> +
> +#: ../ntsysv.c:257
> +#, c-format
> +msgid "error reading from directory %s: %s\n"
> +msgstr "%s 디렉토리를 읽는 중 오류가 발생했습니다: %s\n"
> +
> +#: ../ntsysv.c:293
> +#, c-format
> +msgid "You must be root to run %s.\n"
> +msgstr "%s는 root 계정으로 실행해야 합니다.\n"
> +
> +#: ../ntsysv.c:310
> +#, c-format
> +msgid "bad argument to --levels\n"
> +msgstr "--levels 옵션에 잘못된 인수값이 주어졌습니다\n"
> +
> +#: ../ntsysv.c:317
> +#, c-format
> +msgid "No services may be managed by ntsysv!\n"
> +msgstr "ntsysv 명령으로 관리할 서비스가 없습니다!\n"
> +
> +#: ../leveldb.c:261
> +#, c-format
> +msgid "failed to open %s/init.d: %s\n"
> +msgstr "%s/init.d 를 여는데 실패했습니다: %s\n"
> +
> +#: ../leveldb.c:662
> +#, c-format
> +msgid "failed to glob pattern %s: %s\n"
> +msgstr "%s 패턴을 glob 명령에 사용하는데 실패했습니다: %s\n"
> +
> +#: ../leveldb.c:705
> +#, c-format
> +msgid "cannot determine current run level\n"
> +msgstr "현재의 런레벨을 확인할 수 없습니다\n"
> +
> +#: ../leveldb.c:793
> +#, c-format
> +msgid "failed to make symlink %s: %s\n"
> +msgstr "%s 심볼릭 링크 파일을 생성하는데 실패했습니다: %s\n"
> +
> +#: ../alternatives.c:63
> +#, c-format
> +msgid "alternatives version %s - Copyright (C) 2001 Red Hat, Inc.\n"
> +msgstr "대체 버전 %s - Copyright (C) 2001 Red Hat, Inc.\n"
> +
> +#: ../alternatives.c:64
> +#, c-format
> +msgid ""
> +"This may be freely redistributed under the terms of the GNU Public License.\n"
> +"\n"
> +msgstr ""
> +"GNU Public License하에서 이 프로그램을\n"
> +"자유롭게 재배포 할 수 있습니다.\n"
> +
> +#: ../alternatives.c:65
> +#, c-format
> +msgid "usage: alternatives --install <link> <name> <path> <priority>\n"
> +msgstr "사용법: alternatives --install <링크> <이름> <경로> <우선순위>\n"
> +
> +#: ../alternatives.c:66
> +#, c-format
> +msgid " [--initscript <service>]\n"
> +msgstr " [--initscript <서비스>]\n"
> +
> +#: ../alternatives.c:67
> +#, c-format
> +msgid " [--slave <link> <name> <path>]*\n"
> +msgstr " [--slave <링크> <이름> <경로>]*\n"
> +
> +#: ../alternatives.c:68
> +#, c-format
> +msgid " alternatives --remove <name> <path>\n"
> +msgstr " alternatives --remove <이름> <경로>\n"
> +
> +#: ../alternatives.c:69
> +#, c-format
> +msgid " alternatives --auto <name>\n"
> +msgstr " alternatives --auto <이름>\n"
> +
> +#: ../alternatives.c:70
> +#, c-format
> +msgid " alternatives --config <name>\n"
> +msgstr " alternatives --config <이름>\n"
> +
> +#: ../alternatives.c:71
> +#, c-format
> +msgid " alternatives --display <name>\n"
> +msgstr " alternatives --display <이름>\n"
> +
> +#: ../alternatives.c:72
> +#, c-format
> +msgid " alternatives --set <name> <path>\n"
> +msgstr " alternatives --set <이름> <경로>\n"
> +
> +#: ../alternatives.c:73
> +#, c-format
> +msgid "\n"
> +msgstr "\n"
> +
> +#: ../alternatives.c:74
> +#, c-format
> +msgid "common options: --verbose --test --help --usage --version\n"
> +msgstr "일반 옵션: --verbose --test --help --usage --version\n"
> +
> +#: ../alternatives.c:75
> +#, c-format
> +msgid " --altdir <directory> --admindir <directory>\n"
> +msgstr " --altdir <디렉토리> --admindir <디렉토리>\n"
> +
> +#: ../alternatives.c:172
> +#, c-format
> +msgid "reading %s\n"
> +msgstr "%s를 읽는 중\n"
> +
> +#: ../alternatives.c:176
> +#, c-format
> +msgid "failed to open %s: %s\n"
> +msgstr "%s를 여는데 실패했습니다: %s\n"
> +
> +#: ../alternatives.c:185
> +#, c-format
> +msgid "failed to read %s: %s\n"
> +msgstr "%s를 여는데 실패했습니다: %s\n"
> +
> +#: ../alternatives.c:194
> +#, c-format
> +msgid "%s empty!\n"
> +msgstr "%s가 비어있습니다!\n"
> +
> +#: ../alternatives.c:203
> +#, c-format
> +msgid "bad mode on line 1 of %s\n"
> +msgstr "%s의 첫번째 줄이 부적절한 모드입니다.\n"
> +
> +#: ../alternatives.c:210
> +#, c-format
> +msgid "bad primary link in %s\n"
> +msgstr "%s가 부적절한 일차 링크를 포함하고 있습니다\n"
> +
> +# %s의 순서에 따라 메시지를 구성해야 하므로
> +# %s에 예상치 못한 경로 %s가 있습니다.. 라는
> +# 형태로 번역해서는 안된다. 이하 %s가 둘이상
> +# 들어가는 msgid에 대해서는 모두 주의할것!
> +#: ../alternatives.c:222
> +#, c-format
> +
> +msgid "path %s unexpected in %s\n"
> +msgstr "예상치 못한 경로 %s가 %s에 들어가 있습니다\n"
> +
> +#: ../alternatives.c:231
> +#, c-format
> +msgid "missing path for slave %s in %s\n"
> +msgstr "슬레이브 %s로의 경로가 %s에서 빠져있습니다\n"
> +
> +#: ../alternatives.c:241
> +#, c-format
> +msgid "unexpected end of file in %s\n"
> +msgstr "%s에 예기치 않은 파일 끝 (EOF)이 있습니다\n"
> +
> +#: ../alternatives.c:250
> +#, c-format
> +msgid "path to alternate expected in %s\n"
> +msgstr "%s에 대체 경로가 필요합니다\n"
> +
> +#: ../alternatives.c:251 ../alternatives.c:272 ../alternatives.c:295
> +#: ../alternatives.c:314
> +#, c-format
> +msgid "unexpected line in %s: %s\n"
> +msgstr "%s에 잘못된 줄이 있습니다: %s\n"
> +
> +#: ../alternatives.c:271
> +#, c-format
> +msgid "numeric priority expected in %s\n"
> +msgstr "%s에 수치 우선 순위가 필요합니다\n"
> +
> +#: ../alternatives.c:294
> +#, c-format
> +msgid "slave path expected in %s\n"
> +msgstr "%s에 슬레이브 경로가 필요합니다\n"
> +
> +#: ../alternatives.c:322
> +#, c-format
> +msgid "failed to read link %s: %s\n"
> +msgstr "%s 링크를 읽기에 실패했습니다: %s\n"
> +
> +#: ../alternatives.c:336
> +#, c-format
> +msgid "link points to no alternative -- setting mode to manual\n"
> +msgstr "링크가 아무런 대체 경로와도 연결되지 않습니다 -- 수동으로 모드를 설정합니다\n"
> +
> +#: ../alternatives.c:341
> +#, c-format
> +msgid "link changed -- setting mode to manual\n"
> +msgstr "링크가 변경되었습니다 -- 수동으로 모드를 설정합니다\n"
> +
> +#: ../alternatives.c:369 ../alternatives.c:376
> +#, c-format
> +msgid "would remove %s\n"
> +msgstr "%s를 삭제합니다\n"
> +
> +#: ../alternatives.c:371 ../alternatives.c:378 ../alternatives.c:410
> +#, c-format
> +msgid "failed to remove link %s: %s\n"
> +msgstr "%s 링크를 삭제하는데 실패했습니다: %s\n"
> +
> +#: ../alternatives.c:394 ../alternatives.c:407
> +#, c-format
> +msgid "would link %s -> %s\n"
> +msgstr "%s -> %s로 링크합니다\n"
> +
> +#: ../alternatives.c:399 ../alternatives.c:416
> +#, c-format
> +msgid "failed to link %s -> %s: %s\n"
> +msgstr "%s -> %s로 링크하는데 실패했습니다: %s\n"
> +
> +#: ../alternatives.c:448
> +#, c-format
> +msgid "%s already exists\n"
> +msgstr "%s이 이미 존재합니다\n"
> +
> +#: ../alternatives.c:450
> +#, c-format
> +msgid "failed to create %s: %s\n"
> +msgstr "%s를 생성하는데 실패했습니다: %s\n"
> +
> +#: ../alternatives.c:481
> +#, c-format
> +msgid "failed to replace %s with %s: %s\n"
> +msgstr "%s를 %s로 대체하는데 실패했습니다: %s\n"
> +
> +#: ../alternatives.c:507 ../alternatives.c:516
> +#, c-format
> +msgid "running %s\n"
> +msgstr "%s를 실행 중\n"
> +
> +#: ../alternatives.c:543
> +#, c-format
> +msgid "the primary link for %s must be %s\n"
> +msgstr "%s의 일차 링크는 %s이어야 합니다\n"
> +
> +#: ../alternatives.c:623
> +#, c-format
> +msgid "link %s incorrect for slave %s (%s %s)\n"
> +msgstr "%s가 슬레이브 %s에 잘못 링크되었습니다 (%s %s)\n"
> +
> +#: ../alternatives.c:664
> +#, c-format
> +msgid "%s - status is auto.\n"
> +msgstr "%s - 상태가 자동입니다.\n"
> +
> +#: ../alternatives.c:666
> +#, c-format
> +msgid "%s - status is manual.\n"
> +msgstr "%s - 상태가 수동입니다.\n"
> +
> +#: ../alternatives.c:668
> +#, c-format
> +msgid " link currently points to %s\n"
> +msgstr "현재 %s로 링크되어 있습니다\n"
> +
> +#: ../alternatives.c:671
> +#, c-format
> +msgid "%s - priority %d\n"
> +msgstr "%s - 우선순위 %d\n"
> +
> +#: ../alternatives.c:674
> +#, c-format
> +msgid " slave %s: %s\n"
> +msgstr " 슬레이브 %s: %s\n"
> +
> +#: ../alternatives.c:679
> +#, c-format
> +msgid "Current `best' version is %s.\n"
> +msgstr "현재 '최고' 버전은 %s입니다.\n"
> +
> +#: ../alternatives.c:709
> +#, c-format
> +msgid "There is %d program that provides '%s'.\n"
> +msgstr "%d 개의 프로그램이 '%s'를 제공합니다.\n"
> +
> +#: ../alternatives.c:709
> +#, c-format
> +msgid "There are %d programs which provide '%s'.\n"
> +msgstr "%d 개의 프로그램이 '%s'를 제공합니다.\n"
> +
> +#: ../alternatives.c:711
> +#, c-format
> +msgid " Selection Command\n"
> +msgstr " 선택 명령\n"
> +
> +#: ../alternatives.c:720
> +#, c-format
> +msgid "Enter to keep the current selection[+], or type selection number: "
> +msgstr "현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오:"
> +
> +#: ../alternatives.c:723
> +#, c-format
> +msgid ""
> +"\n"
> +"error reading choice\n"
> +msgstr ""
> +"\n"
> +"선택을 읽는 중 오류가 발생했습니다\n"
> +
> +#: ../alternatives.c:750 ../alternatives.c:776
> +#, c-format
> +msgid "%s has not been configured as an alternative for %s\n"
> +msgstr "%s는 %s의 대체로 설정되지 않았습니다\n"
> +
> +#: ../alternatives.c:792
> +#, c-format
> +msgid "(would remove %s\n"
> +msgstr "(%s를 삭제합니다\n"
> +
> +#: ../alternatives.c:794
> +#, c-format
> +msgid "failed to remove %s: %s\n"
> +msgstr "%s를 삭제하는데 실패했습니다: %s\n"
> +
> +#: ../alternatives.c:916
> +#, c-format
> +msgid "altdir %s invalid\n"
> +msgstr "altdir %s가 올바르지 않습니다\n"
> +
> +#: ../alternatives.c:922
> +#, c-format
> +msgid "admindir %s invalid\n"
> +msgstr "admindir %s가 올바르지 않습니다\n"
> +
> +#: ../alternatives.c:932
> +#, c-format
> +msgid "alternatives version %s\n"
> +msgstr "대체 버전 %s\n"
> +
> --- chkconfig-1.3.46/po/ku.po
> +++ chkconfig-1.3.46/po/ku.po
> (renamed from chkconfig-1.3.44/po/ku.po)
> --- chkconfig-1.3.46/po/lo.po
> +++ chkconfig-1.3.46/po/lo.po
> (renamed from chkconfig-1.3.44/po/lo.po)
> --- chkconfig-1.3.46/po/lv.po
> +++ chkconfig-1.3.46/po/lv.po
> (renamed from chkconfig-1.3.44/po/lv.po)
> --- chkconfig-1.3.46/po/mai.po
> +++ chkconfig-1.3.46/po/mai.po
> (renamed from chkconfig-1.3.44/po/mai.po)
> --- chkconfig-1.3.46/po/mk.po
> +++ chkconfig-1.3.46/po/mk.po
> (renamed from chkconfig-1.3.44/po/mk.po)
> --- chkconfig-1.3.46/po/ml.po
> +++ chkconfig-1.3.46/po/ml.po
> (renamed from chkconfig-1.3.44/po/ml.po)
> --- chkconfig-1.3.46/po/mr.po
> +++ chkconfig-1.3.46/po/mr.po
> (renamed from chkconfig-1.3.44/po/mr.po)
> --- chkconfig-1.3.46/po/ms.po
> +++ chkconfig-1.3.46/po/ms.po
> (renamed from chkconfig-1.3.44/po/ms.po)
> --- chkconfig-1.3.46/po/my.po
> +++ chkconfig-1.3.46/po/my.po
> (renamed from chkconfig-1.3.44/po/my.po)
> --- chkconfig-1.3.46/po/nb.po
> +++ chkconfig-1.3.46/po/nb.po
> (renamed from chkconfig-1.3.44/po/nb.po)
> --- chkconfig-1.3.46/po/nl.po
> +++ chkconfig-1.3.46/po/nl.po
> (renamed from chkconfig-1.3.44/po/nl.po)
> --- chkconfig-1.3.46/po/nn.po
> +++ chkconfig-1.3.46/po/nn.po
> (renamed from chkconfig-1.3.44/po/nn.po)
> --- chkconfig-1.3.46/po/or.po
> +++ chkconfig-1.3.46/po/or.po
> (renamed from chkconfig-1.3.44/po/or.po)
> --- chkconfig-1.3.46/po/pa.po
> +++ chkconfig-1.3.46/po/pa.po
> (renamed from chkconfig-1.3.44/po/pa.po)
> --- chkconfig-1.3.46/po/pl.po
> +++ chkconfig-1.3.46/po/pl.po
> (renamed from chkconfig-1.3.44/po/pl.po)
> --- chkconfig-1.3.46/po/pt.po
> +++ chkconfig-1.3.46/po/pt.po
> (renamed from chkconfig-1.3.44/po/pt.po)
> --- chkconfig-1.3.46/po/pt_BR.po
> +++ chkconfig-1.3.46/po/pt_BR.po
> (renamed from chkconfig-1.3.44/po/pt_BR.po)
> --- chkconfig-1.3.46/po/ro.po
> +++ chkconfig-1.3.46/po/ro.po
> (renamed from chkconfig-1.3.44/po/ro.po)
> --- chkconfig-1.3.46/po/ru.po
> +++ chkconfig-1.3.46/po/ru.po
> (renamed from chkconfig-1.3.44/po/ru.po)
> --- chkconfig-1.3.46/po/si.po
> +++ chkconfig-1.3.46/po/si.po
> (renamed from chkconfig-1.3.44/po/si.po)
> --- chkconfig-1.3.46/po/sk.po
> +++ chkconfig-1.3.46/po/sk.po
> (renamed from chkconfig-1.3.44/po/sk.po)
> --- chkconfig-1.3.46/po/sl.po
> +++ chkconfig-1.3.46/po/sl.po
> (renamed from chkconfig-1.3.44/po/sl.po)
> --- chkconfig-1.3.46/po/sq.po
> +++ chkconfig-1.3.46/po/sq.po
> (renamed from chkconfig-1.3.44/po/sq.po)
> --- chkconfig-1.3.46/po/sr.po
> +++ chkconfig-1.3.46/po/sr.po
> (renamed from chkconfig-1.3.44/po/sr.po)
> --- chkconfig-1.3.46/po/sr at latin.po
> +++ chkconfig-1.3.46/po/sr at latin.po
> (renamed from chkconfig-1.3.44/po/sr at latin.po)
> --- chkconfig-1.3.46/po/sv.po
> +++ chkconfig-1.3.46/po/sv.po
> (renamed from chkconfig-1.3.44/po/sv.po)
> --- chkconfig-1.3.46/po/ta.po
> +++ chkconfig-1.3.46/po/ta.po
> (renamed from chkconfig-1.3.44/po/ta.po)
> --- chkconfig-1.3.46/po/te.po
> +++ chkconfig-1.3.46/po/te.po
> (renamed from chkconfig-1.3.44/po/te.po)
> --- chkconfig-1.3.46/po/tg.po
> +++ chkconfig-1.3.46/po/tg.po
> (renamed from chkconfig-1.3.44/po/tg.po)
> --- chkconfig-1.3.46/po/tr.po
> +++ chkconfig-1.3.46/po/tr.po
> (renamed from chkconfig-1.3.44/po/tr.po)
> --- chkconfig-1.3.46/po/uk.po
> +++ chkconfig-1.3.46/po/uk.po
> (renamed from chkconfig-1.3.44/po/uk.po)
> --- chkconfig-1.3.46/po/ur.po
> +++ chkconfig-1.3.46/po/ur.po
> (renamed from chkconfig-1.3.44/po/ur.po)
> --- chkconfig-1.3.46/po/vi.po
> +++ chkconfig-1.3.46/po/vi.po
> (renamed from chkconfig-1.3.44/po/vi.po)
> --- chkconfig-1.3.46/po/zh_CN.po
> +++ chkconfig-1.3.46/po/zh_CN.po
> (renamed from chkconfig-1.3.44/po/zh_CN.po)
> --- chkconfig-1.3.46/po/zh_TW.po
> +++ chkconfig-1.3.46/po/zh_TW.po
> (renamed from chkconfig-1.3.44/po/zh_TW.po)
>
> ++++++ chkconfig.yaml (new)
> --- chkconfig.yaml
> +++ chkconfig.yaml
> +Name: chkconfig
> +Summary: A system tool for maintaining the /etc/rc*.d hierarchy
> +Version: 1.3.46
> +Release: 1
> +Group: System/Base
> +License: GPLv2
> +URL: http://git.fedorahosted.org/git/chkconfig.git
> +Sources:
> + - http://fedorahosted.org/releases/c/h/%{name}/%{name}-%{version}.tar.bz2
> +Description: |
> + Chkconfig is a basic system utility. It updates and queries runlevel
> + information for system services. Chkconfig manipulates the numerous
> + symbolic links in /etc/rc.d, to relieve system administrators of some
> + of the drudgery of manually editing the symbolic links.
> +
> +PkgConfigBR:
> + - ncurses
> +PkgBR:
> + - newt-devel
> + - gettext
> + - popt-devel
> +Configure: none
> +Builder: make
> +LocaleName: "%{name}"
> +SubPackages:
> + - Name: ntsysv
> + AsWholeName: yes
> + Summary: A tool to set the stop/start of system services in a runlevel
> + Group: System/Base
> + Description: |
> + Ntsysv provides a simple interface for setting which system services
> + are started or stopped in various runlevels (instead of directly
> + manipulating the numerous symbolic links in /etc/rc.d). Unless you
> + specify a runlevel or runlevels on the command line (see the man
> + page), ntsysv configures the current runlevel (5 if you're using X).
> + Requires:
> + - chkconfig = %{version}-%{release}
> +
> _______________________________________________
> Meego-commits mailing list
> Meego-commits at meego.com
> http://lists.meego.com/listinfo/meego-commits
More information about the MeeGo-commits
mailing list