]> err.no Git - dpkg/commitdiff
1.4.1.1 changes by Wichert Akkerman
authorGuy Maor <maor@debian.org>
Sat, 13 Feb 1999 05:50:05 +0000 (05:50 +0000)
committerGuy Maor <maor@debian.org>
Sat, 13 Feb 1999 05:50:05 +0000 (05:50 +0000)
20 files changed:
TODO
debian/50dpkg-dev.el
debian/changelog
debian/control
debian/rules
debian/shlibs.default.i386
doc/manuals-version
main/dpkg.8
main/errors.c
main/filesdb.c
main/main.c
main/main.h
methods/disk.setup
po/en.po
po/fr.po
scripts/controllib.pl
scripts/dpkg-divert.pl
scripts/dpkg-genchanges.pl
scripts/update-alternatives.pl
scripts/update-rc.d.8

diff --git a/TODO b/TODO
index 816c203d5e715e8d5a375d8fd39fbdb57c749137..16aa6a85f968fccdec4f2251bc2eb97ad623b771 100644 (file)
--- a/TODO
+++ b/TODO
@@ -18,6 +18,7 @@ urgent
    and action logs (kept forever?)  957
  * start-stop-daemon process status check. 1480
  * remove old docs from /usr/doc/dpkg.
+ * WTA: fix translations for dpkg --help which broke after adding --stop-after
 
 other stuff unlikely to get done soon
  * Automatically remove <file>.gz if <file> can't be found ?
index 90fd1d3e89f121ae713f2cb5176ebc1513b08c02..41a0b15ec02125e791d880616adcec235a30b87f 100644 (file)
@@ -4,5 +4,5 @@
 ;; Copyright (C) 1997, Klee Dienes <klee@mit.edu>
 ;; I hereby release this progam into the public domain.
 
-(autoload 'debian-changelog-mode "/usr/lib/emacs/site-lisp/debian-changelog-mode.el"
+(autoload 'debian-changelog-mode "/usr/share/emacs/site-lisp/debian-changelog-mode.el"
         "Major mode for editing Debian-style change logs." t)
index c28b80e9b6264a7e8f826d9f8261be030cde4d14..60d2a915633884fa3734bf6981c4c6d7771cfe1a 100644 (file)
@@ -1,3 +1,33 @@
+dpkg (1.4.1.1) unstable; urgency=low
+
+  * Non-maintainer upload
+  * Install emacs-startup scripts with mode 0644 (lintian)
+  * Incorporate changes in NMU 1.4.0.32 made by Vincent Renardias
+    <vincent@waw.com> for slink:
+    + Apply patch from Jim Pick for update-alternatives.pl to
+      fix 'Important' bugs #30891 in dpkg and (#27382, #27383, #27696,
+      #27703, #27736, #27097(merged bugs)) in jdk1.1.
+  * Incorporate changes in NMU 1.4.0.33 made by me for slink:
+    + Fix illegal perl construct (Bug# 30985)
+    + Initialize oialtname->useinstead and oicontest->camefrom to 0 (Bug# 30397)
+    + Update shlibs.default for libncurses 4 (Bug# 30332)
+    + Suggest debian-keyring instead of developer-keyring (Bug# 27376, 30248)
+    + Abort dpkg-divert when attempting to divert a directory (Bug# 30126)
+    + Make dpkg-deb.1 aware that it is in section 1, not 8
+    + Fix section in reference to dpkg-deb in dpkg.8 (Bug# 29740)
+    + Fix typo in --force-help (Bug# 26193)
+    + Correct path for debian-changelog-mode.el (Bug# 24606)
+    + Make disk-method for dpkg use /var/run instead of /tmp to fix
+      symlink-attacks (Bug# 21399)
+    + Document -n and -f options for update-rc.d in manpage (Bug# 15913)
+    + Add --abort-after option to change after how many errors we abort and
+      change the default to 50 (Bug# 22940)
+    + Fix controllib.pl: don't check debian/substvars unless needed, and
+      don't depend on language settings (Bug# 31508)
+    + Allow a - in the architecture-field (Bug# 25537)
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Mon,  1 Feb 1999 00:44:01 +0100
+
 dpkg (1.4.1) unstable; urgency=low
 
   * Maintainer release by IWJ.
index 8bfcf11403bbfbac522920a0352c0d39b464f767..e00a27299820f2af1575eb1ce2d3f5e14a74db9b 100644 (file)
@@ -8,7 +8,7 @@ Package: dpkg
 Architecture: any
 Essential: yes
 Pre-Depends: ${shlibs:Pre-Depends}
-Suggests: developer-keyring
+Suggests: debian-keyring
 Description: Package maintenance system for Debian Linux
  This package contains the programs which handle the installation and
  removal of packages on your system.
index e0a72966f83245b05a0ea951ea20422332a49acb..bf698c2e6d1035a024e8cd80261a334d111e7af9 100755 (executable)
@@ -91,9 +91,11 @@ binary-trees: build
        fi
        cp debian/{prerm,postinst} $(mcidir)/.
        install -d debian/tmp-dev/etc/emacs/site-start.d
-       install -c debian/50dpkg-dev.el debian/tmp-dev/etc/emacs/site-start.d/
+       install -p -m 644 debian/50dpkg-dev.el \
+               debian/tmp-dev/etc/emacs/site-start.d/
        install -d debian/tmp-dev/etc/xemacs/site-start-19.d
-       install -c debian/50dpkg-dev.el debian/tmp-dev/etc/xemacs/site-start-19.d/
+       install -p -m 644 debian/50dpkg-dev.el \
+               debian/tmp-dev/etc/xemacs/site-start-19.d/
        chmod +x $(mcidir)/{postinst,prerm,preinst}
        $(MAKE) -C $(BUILD) top_distdir=. dist 
        $(MAKE) -C $(BUILD) \
index ea52269cbeb1e0ee1b3aad0b4ee56f0e392e7a9e..703abc74f812913c88b7b817188b04418031611e 100644 (file)
@@ -1,6 +1,6 @@
 libc 6         libc6
 libm 6         libc6
-libncurses 3.4  ncurses3.4
+libncurses 4  libncurses4
 libICE  6       xlib6g (>= 3.3-5)
 libPEX5 6       xlib6g (>= 3.3-5)
 libSM   6       xlib6g (>= 3.3-5)
index db29682903812897840cc6f00b318e6471ff7eef..07d249e097e15e31063d9f1c481e1bdf65f6d465 100644 (file)
@@ -1,2 +1,2 @@
-<!entity manuals-version "">
-<!entity dpkg-version "1.4.1">
+<!entity manuals-version "1.4.1.1">
+<!entity dpkg-version "1.4.1.1">
index 2eb475a4cb03f1886ce4d486a8f957bf6bbb8f04..9a62457dd94f9b7987aba7422ce0dd23b37009c4 100644 (file)
@@ -293,6 +293,9 @@ See \fBdpkg-deb\fP(8) for more information about the following actions.
 .SH OPTIONS
 .br
 .TP
+\fB--abort-after=\fP\fInumber\fP
+Change after how many errors dpkg will abort. The default is 50.
+.TP
 .BR -B | --auto-deconfigure
 When a package is removed, there is a possibility that another
 installed package depended on the removed package. Specifying this
@@ -519,7 +522,7 @@ convenient way to modify the package selection states.
 .br
 .SH SEE ALSO
 \fBdselect\fP(8),
-\fBdpkg-deb\fP(8),
+\fBdpkg-deb\fP(1),
 \fBdeb\fP(5),
 and
 \fBdeb-control\fP(5)
index 07eb2db7408bf07c7797985322fa7ce045dc76e6..f7ccb009fc2c2f747372bcab5c16f9789fdf990d 100644 (file)
@@ -66,7 +66,7 @@ void print_error_perpackage(const char *emsg, const char *arg) {
   *lastreport= nr;
   lastreport= &nr->next;
     
-  if (nerrs++ < 20) return;
+  if (nerrs++ < errabort) return;
   fprintf(stderr, _("dpkg: too many errors, stopping\n"));
   onerr_abort++;
 }
index c53db0eea68bc5b15af59da0109b07efcfdfa912..5ff4bdee504d749e71ab503551bdd3f99f1fdcbe 100644 (file)
@@ -353,6 +353,7 @@ void ensure_diversions(void) {
     if (linebuf[--l] != '\n') ohshit(_("diversions file has too-long line or EOF [i]"));
     linebuf[l]= 0;
     oialtname->camefrom= findnamenode(linebuf);
+    oialtname->useinstead= 0;    
     
     if (!fgets(linebuf,sizeof(linebuf),file))
       if (ferror(file)) ohshite(_("read error in diversions [ii]"));
@@ -362,6 +363,7 @@ void ensure_diversions(void) {
     if (linebuf[--l] != '\n') ohshit(_("diversions file has too-long line or EOF [ii]"));
     linebuf[l]= 0;
     oicontest->useinstead= findnamenode(linebuf);
+    oicontest->camefrom= 0;
     
     if (!fgets(linebuf,sizeof(linebuf),file))
       if (ferror(file)) ohshite(_("read error in diversions [iii]"));
index 047ff388ae65634b11c91daabc6f501c369eeb7d..4522cb12a6ed6f7a7c4fe9c351d82445efa824ba 100644 (file)
@@ -73,6 +73,7 @@ Usage: \n\
   dpkg -l|--list [<pattern> ...]          list packages concisely\n\
   dpkg -S|--search <pattern> ...          find package(s) owning file(s)\n\
   dpkg -C|--audit                         check for broken package(s)\n\
+  dpkg --abort-after <n>                  abort after encountering <n> errors\n
   dpkg --print-architecture               print target architecture (uses GCC)\n\
   dpkg --print-gnu-build-architecture     print GNU version of target arch\n\
   dpkg --print-installation-architecture  print host architecture (for inst'n)\n\
@@ -133,6 +134,7 @@ int fc_removeessential=0, fc_conflicts=0, fc_depends=0, fc_dependsversion=0;
 int fc_autoselect=1, fc_badpath=0, fc_overwritediverted=0, fc_architecture=0;
 int fc_nonroot=0, fc_overwritedir=0;
 
+int errabort = 50;
 const char *admindir= ADMINDIR;
 const char *instdir= "";
 struct packageinlist *ignoredependss=0;
@@ -236,6 +238,10 @@ static void ignoredepends(const struct cmdinfo *cip, const char *value) {
   }
 }
 
+static void setinteger(const struct cmdinfo *cip, const char *value) {
+       *cip->iassignto=atoi(value);
+}
+
 static void setforce(const struct cmdinfo *cip, const char *value) {
   const char *comma;
   int l;
@@ -247,7 +253,7 @@ static void setforce(const struct cmdinfo *cip, const char *value) {
   stop with error:    --refuse-<thing>,<thing>,... | --no-force-<thing>,...\n\
  Forcing things:\n\
   auto-select [*]        (De)select packages to install (remove) them\n\
-  dowgrade [*]           Replace a package with a lower version\n\
+  downgrade [*]          Replace a package with a lower version\n\
   configure-any          Configure any package which may help this one\n\
   hold                   Process incidental packages even when on hold\n\
   bad-path               PATH is missing important programs, problems likely\n\
@@ -334,6 +340,7 @@ static const struct cmdinfo cmdinfos[]= {
   { "largemem",           0,   0,  &f_largemem,    0,  0,             1              },
   { "smallmem",           0,   0,  &f_largemem,    0,  0,            -1              },
   { "root",               0,   1,  0, 0,               setroot                       },
+  { "abort-after",        0,   1,  &errabort,      0,  setinteger,    0              },
   { "admindir",           0,   1,  0, &admindir,       0                             },
   { "instdir",            0,   1,  0, &instdir,        0                             },
   { "ignore-depends",     0,   1,  0, 0,               ignoredepends                 },
index 3c9c747ad73fd33dab559bdf41a5155116d781d1..00c8886801e06da1e762fd80097206b3278fd983 100644 (file)
@@ -85,6 +85,7 @@ extern int fc_removeessential, fc_conflicts, fc_depends, fc_dependsversion;
 extern int fc_autoselect, fc_badpath, fc_overwritediverted, fc_architecture;
 extern int fc_nonroot, fc_overwritedir;
 
+extern int errabort;
 extern const char *admindir;
 extern const char *instdir;
 extern struct packageinlist *ignoredependss;
index 8bbb5cfe25e2e8d8e5363dd8a818721202e06e81..f7113cd3ddccc294106e0ad7abe99fb50ee4295b 100644 (file)
@@ -6,7 +6,7 @@ method=$2
 option=$3
 
 cd "$vardir/methods/disk"
-tp=/tmp/ddm$$
+tp=/var/run/ddm$$
 
 iarch=`dpkg --print-installation-architecture`
 
index a4d3fb59975dc85fb44763c0bc1836ef30142e1e..bbb4a543fade9c5069c35e7c2203ac9ceaa92ed5 100644 (file)
--- a/po/en.po
+++ b/po/en.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1998-11-01 17:14+0000\n"
+"POT-Creation-Date: 1999-01-31 05:45-0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1725,40 +1725,40 @@ msgstr "fgets gave an empty string from diversions [i]"
 msgid "diversions file has too-long line or EOF [i]"
 msgstr "diversions file has too-long line or EOF [i]"
 
-#: main/filesdb.c:358
+#: main/filesdb.c:359
 msgid "read error in diversions [ii]"
 msgstr "read error in diversions [ii]"
 
-#: main/filesdb.c:359
+#: main/filesdb.c:360
 msgid "unexpected EOF in diversions [ii]"
 msgstr "unexpected EOF in diversions [ii]"
 
-#: main/filesdb.c:361
+#: main/filesdb.c:362
 msgid "fgets gave an empty string from diversions [ii]"
 msgstr "fgets gave an empty string from diversions [ii]"
 
-#: main/filesdb.c:362 main/filesdb.c:371
+#: main/filesdb.c:363 main/filesdb.c:373
 msgid "diversions file has too-long line or EOF [ii]"
 msgstr "diversions file has too-long line or EOF [ii]"
 
-#: main/filesdb.c:367
+#: main/filesdb.c:369
 msgid "read error in diversions [iii]"
 msgstr "read error in diversions [iii]"
 
-#: main/filesdb.c:368
+#: main/filesdb.c:370
 msgid "unexpected EOF in diversions [iii]"
 msgstr "unexpected EOF in diversions [iii]"
 
-#: main/filesdb.c:370
+#: main/filesdb.c:372
 msgid "fgets gave an empty string from diversions [iii]"
 msgstr "fgets gave an empty string from diversions [iii]"
 
-#: main/filesdb.c:378
+#: main/filesdb.c:380
 #, c-format
 msgid "conflicting diversions involving `%.250s' or `%.250s'"
 msgstr "conflicting diversions involving `%.250s' or `%.250s'"
 
-#: main/filesdb.c:387
+#: main/filesdb.c:389
 msgid "read error in diversions [i]"
 msgstr "read error in diversions [i]"
 
@@ -1906,7 +1906,7 @@ msgstr ""
 "conditions.  There is NO warranty.  See dpkg --licence for details.\n"
 
 #: main/main.c:57
-#, fuzzy, c-format
+#, fuzzy
 msgid ""
 "Usage: \n"
 "  dpkg -i|--install      <.deb file name> ... | -R|--recursive <dir> ...\n"
@@ -1927,24 +1927,8 @@ msgid ""
 "  dpkg -l|--list [<pattern> ...]          list packages concisely\n"
 "  dpkg -S|--search <pattern> ...          find package(s) owning file(s)\n"
 "  dpkg -C|--audit                         check for broken package(s)\n"
-"  dpkg --print-architecture               print target architecture (uses "
-"GCC)\n"
-"  dpkg --print-gnu-build-architecture     print GNU version of target arch\n"
-"  dpkg --print-installation-architecture  print host architecture (for "
-"inst'n)\n"
-"  dpkg --compare-versions <a> <rel> <b>   compare version numbers - see "
-"below\n"
-"  dpkg --help | --version                 show this help / version number\n"
-"  dpkg --force-help | -Dh|--debug=help    help on forcing resp. debugging\n"
-"  dpkg --licence                          print copyright licencing terms\n"
-"\n"
-"Use dpkg -b|--build|-c|--contents|-e|--control|-I|--info|-f|--field|\n"
-" -x|--extract|-X|--vextract|--fsys-tarfile  on archives (type %s --help.)\n"
-"\n"
-"For internal use: dpkg --assert-support-predepends | --predep-package |\n"
-"  --assert-working-epoch\n"
-"\n"
-"Options:"
+"  dpkg --abort-after <n>                  abort after encountering <n> "
+"errors\n"
 msgstr ""
 "Usage: \n"
 "  dpkg -i|--install      <.deb file name> ... | -R|--recursive <dir> ...\n"
@@ -2007,7 +1991,7 @@ msgstr ""
 "\n"
 "Use `dselect' for user-friendly package management.\n"
 
-#: main/main.c:116
+#: main/main.c:117
 msgid ""
 "Type dpkg --help for help about installing and deinstalling packages [*];\n"
 "Use dselect for user-friendly package management;\n"
@@ -2031,22 +2015,22 @@ msgstr ""
 "Options marked [*] produce a lot of output - pipe it through `less' or "
 "`more' !"
 
-#: dpkg-deb/main.c:130 main/main.c:171 split/main.c:142
+#: dpkg-deb/main.c:130 main/main.c:173 split/main.c:142
 #, c-format
 msgid "conflicting actions --%s and --%s"
 msgstr "conflicting actions --%s and --%s"
 
-#: main/main.c:223
+#: main/main.c:225
 #, c-format
 msgid "null package name in --ignore-depends comma-separated list `%.250s'"
 msgstr "null package name in --ignore-depends comma-separated list `%.250s'"
 
-#: main/main.c:229
+#: main/main.c:231
 #, c-format
 msgid "--ignore-depends requires a legal package name. `%.250s' is not; %s"
 msgstr "--ignore-depends requires a legal package name. `%.250s' is not; %s"
 
-#: main/main.c:245
+#: main/main.c:251
 #, fuzzy
 msgid ""
 "dpkg forcing options - control behaviour when problems found:\n"
@@ -2054,7 +2038,7 @@ msgid ""
 "  stop with error:    --refuse-<thing>,<thing>,... | --no-force-<thing>,...\n"
 " Forcing things:\n"
 "  auto-select [*]        (De)select packages to install (remove) them\n"
-"  dowgrade [*]           Replace a package with a lower version\n"
+"  downgrade [*]          Replace a package with a lower version\n"
 "  configure-any          Configure any package which may help this one\n"
 "  hold                   Process incidental packages even when on hold\n"
 "  bad-path               PATH is missing important programs, problems "
@@ -2101,16 +2085,16 @@ msgstr ""
 "WARNING - use of options marked [!] can seriously damage your installation.\n"
 "Forcing options marked [*] are enabled by default.\n"
 
-#: main/main.c:277
+#: main/main.c:283
 #, c-format
 msgid "unknown force/refuse option `%.*s'"
 msgstr "unknown force/refuse option `%.*s'"
 
-#: main/main.c:353
+#: main/main.c:360
 msgid "failed to exec dpkg-deb"
 msgstr "failed to exec dpkg-deb"
 
-#: dpkg-deb/main.c:150 main/main.c:389 split/main.c:163
+#: dpkg-deb/main.c:150 main/main.c:396 split/main.c:163
 msgid "need an action option"
 msgstr "need an action option"
 
index 1487a29a295968391d9e6f76b7d55847c5ef2b75..7180fd68dc5d0ad848d82ba076f145853658d9f9 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -17,7 +17,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Debian dpkg 1.4.0.14\n"
-"POT-Creation-Date: 1998-11-01 17:14+0000\n"
+"POT-Creation-Date: 1999-01-31 05:45-0800\n"
 "PO-Revision-Date: 1997-05-13 22:07 EDT\n"
 "Last-Translator: Christophe Le Bars <clebars@debian.org>\n"
 "Language-Team: French\n"
@@ -1864,40 +1864,40 @@ msgstr "\"fgets\" a donn
 msgid "diversions file has too-long line or EOF [i]"
 msgstr "le fichier des détournements a une ligne trop longue ou EOF [i]"
 
-#: main/filesdb.c:358
+#: main/filesdb.c:359
 msgid "read error in diversions [ii]"
 msgstr "erreur de lecture dans les détournements [ii]"
 
-#: main/filesdb.c:359
+#: main/filesdb.c:360
 msgid "unexpected EOF in diversions [ii]"
 msgstr "EOF inattendu dans les détournements [ii]"
 
-#: main/filesdb.c:361
+#: main/filesdb.c:362
 msgid "fgets gave an empty string from diversions [ii]"
 msgstr "\"fgets\" a donné une chaine vide pour les détournements [ii]"
 
-#: main/filesdb.c:362 main/filesdb.c:371
+#: main/filesdb.c:363 main/filesdb.c:373
 msgid "diversions file has too-long line or EOF [ii]"
 msgstr "le fichier des détournements a une ligne trop longue ou EOF [ii]"
 
-#: main/filesdb.c:367
+#: main/filesdb.c:369
 msgid "read error in diversions [iii]"
 msgstr "erreur de lecture dans les détournements [iii]"
 
-#: main/filesdb.c:368
+#: main/filesdb.c:370
 msgid "unexpected EOF in diversions [iii]"
 msgstr "EOF inattendu dans les détournements [iii]"
 
-#: main/filesdb.c:370
+#: main/filesdb.c:372
 msgid "fgets gave an empty string from diversions [iii]"
 msgstr "\"fgets\" a donné une chaine vide pour les détournements [iii]"
 
-#: main/filesdb.c:378
+#: main/filesdb.c:380
 #, c-format
 msgid "conflicting diversions involving `%.250s' or `%.250s'"
 msgstr "détournements contradictoires impliquant `%.250s' ou `%.250s'"
 
-#: main/filesdb.c:387
+#: main/filesdb.c:389
 msgid "read error in diversions [i]"
 msgstr "erreur de lecture dans les détournements [i]"
 
@@ -2048,7 +2048,7 @@ msgstr ""
 "les détails.\n"
 
 #: main/main.c:57
-#, fuzzy, c-format
+#, fuzzy
 msgid ""
 "Usage: \n"
 "  dpkg -i|--install      <.deb file name> ... | -R|--recursive <dir> ...\n"
@@ -2069,24 +2069,8 @@ msgid ""
 "  dpkg -l|--list [<pattern> ...]          list packages concisely\n"
 "  dpkg -S|--search <pattern> ...          find package(s) owning file(s)\n"
 "  dpkg -C|--audit                         check for broken package(s)\n"
-"  dpkg --print-architecture               print target architecture (uses "
-"GCC)\n"
-"  dpkg --print-gnu-build-architecture     print GNU version of target arch\n"
-"  dpkg --print-installation-architecture  print host architecture (for "
-"inst'n)\n"
-"  dpkg --compare-versions <a> <rel> <b>   compare version numbers - see "
-"below\n"
-"  dpkg --help | --version                 show this help / version number\n"
-"  dpkg --force-help | -Dh|--debug=help    help on forcing resp. debugging\n"
-"  dpkg --licence                          print copyright licencing terms\n"
-"\n"
-"Use dpkg -b|--build|-c|--contents|-e|--control|-I|--info|-f|--field|\n"
-" -x|--extract|-X|--vextract|--fsys-tarfile  on archives (type %s --help.)\n"
-"\n"
-"For internal use: dpkg --assert-support-predepends | --predep-package |\n"
-"  --assert-working-epoch\n"
-"\n"
-"Options:"
+"  dpkg --abort-after <n>                  abort after encountering <n> "
+"errors\n"
 msgstr ""
 "Syntaxe: \n"
 "  dpkg -i|--install      <nom fichier .deb> ... | -R|--recursive <rép> ...\n"
@@ -2164,7 +2148,7 @@ msgstr ""
 "\n"
 "Use `dselect' for user-friendly package management.\n"
 
-#: main/main.c:116
+#: main/main.c:117
 msgid ""
 "Type dpkg --help for help about installing and deinstalling packages [*];\n"
 "Use dselect for user-friendly package management;\n"
@@ -2189,23 +2173,23 @@ msgstr ""
 "Les options marquées de [*] produisent un affichage important - tuber-les à "
 "travers `less' ou `more' !"
 
-#: dpkg-deb/main.c:130 main/main.c:171 split/main.c:142
+#: dpkg-deb/main.c:130 main/main.c:173 split/main.c:142
 #, c-format
 msgid "conflicting actions --%s and --%s"
 msgstr "actions conflictuelles --%s et --%s"
 
-#: main/main.c:223
+#: main/main.c:225
 #, c-format
 msgid "null package name in --ignore-depends comma-separated list `%.250s'"
 msgstr "nom de paquet vide dans la liste `%.250s' de --ignore-depends"
 
-#: main/main.c:229
+#: main/main.c:231
 #, c-format
 msgid "--ignore-depends requires a legal package name. `%.250s' is not; %s"
 msgstr ""
 "--ignore-depends requiert un nom de paquet légal. `%.250s' ne l'est pas; %s"
 
-#: main/main.c:245
+#: main/main.c:251
 #, fuzzy
 msgid ""
 "dpkg forcing options - control behaviour when problems found:\n"
@@ -2213,7 +2197,7 @@ msgid ""
 "  stop with error:    --refuse-<thing>,<thing>,... | --no-force-<thing>,...\n"
 " Forcing things:\n"
 "  auto-select [*]        (De)select packages to install (remove) them\n"
-"  dowgrade [*]           Replace a package with a lower version\n"
+"  downgrade [*]          Replace a package with a lower version\n"
 "  configure-any          Configure any package which may help this one\n"
 "  hold                   Process incidental packages even when on hold\n"
 "  bad-path               PATH is missing important programs, problems "
@@ -2267,16 +2251,16 @@ msgstr ""
 "votre installation.\n"
 "Les options de forçage marquées [*] sont activées par défaut.\n"
 
-#: main/main.c:277
+#: main/main.c:283
 #, c-format
 msgid "unknown force/refuse option `%.*s'"
 msgstr "option de forçage `%.*s' inconnue"
 
-#: main/main.c:353
+#: main/main.c:360
 msgid "failed to exec dpkg-deb"
 msgstr "échec pour exécuter \"dpkg-deb\""
 
-#: dpkg-deb/main.c:150 main/main.c:389 split/main.c:163
+#: dpkg-deb/main.c:150 main/main.c:396 split/main.c:163
 msgid "need an action option"
 msgstr "manque une option d'action"
 
index de961cf7ffd93517b123717ad7788799a492ed9b..a4df97ae464f5cfd685e05cb0d7e2833134c0ac1 100755 (executable)
@@ -90,7 +90,7 @@ sub substvars {
 sub outputclose {
     my ($dosubstvars) = @_;
     for $f (keys %f) { $substvar{"F:$f"}= $f{$f}; }
-    if (length($varlistfile)) {
+    if (length($varlistfile) and $dosubstvars) {
         $varlistfile="./$varlistfile" if $varlistfile =~ m/\s/;
         if (open(SV,"< $varlistfile")) {
             while (<SV>) {
@@ -101,7 +101,7 @@ sub outputclose {
                 $substvar{$1}= $';
             }
             close(SV);
-        } elsif ($! !~ m/no such file or directory/i) {
+        } elsif ($! != ENOENT ) {
             &error("unable to open substvars file $varlistfile: $!");
         }
     }
index ce58e8d93127143c1fd4dac6a55dde7e47ed3fd7..a6bb5fcd6cbdbff10f8d3b7ee734f188f4239e57 100755 (executable)
@@ -99,6 +99,7 @@ if ($mode eq 'add') {
     @ARGV == 1 || &badusage("--add needs a single argument");
     $file= $ARGV[0];
     $file =~ m/\n/ && &badusage("file may not contain newlines");
+       -d $file && &badusage("Cannot divert directories");
     $divertto= "$file.distrib" unless defined($divertto);
     $package= ':' unless defined($package);
     for ($i=0; $i<=$#contest; $i++) {
index 06e00c25258f11a2b0c3407569785f79f4d873ad..1b49949ed6958472a951358f9166b740bdf8e460 100755 (executable)
@@ -102,7 +102,7 @@ while (@ARGV) {
 $fileslistfile="./$fileslistfile" if $fileslistfile =~ m/^\s/;
 open(FL,"< $fileslistfile") || &syserr("cannot read files list file");
 while(<FL>) {
-    if (m/^(([-+.0-9a-z]+)_([^_]+)_(\w+)\.deb) (\S+) (\S+)$/) {
+    if (m/^(([-+.0-9a-z]+)_([^_]+)_([-\w]+)\.deb) (\S+) (\S+)$/) {
         defined($p2f{"$2 $4"}) &&
             &warn("duplicate files list entry for package $2 (line $.)");
        $f2p{$1}= $2;
index 722250ed365a532b1559a180baf0827e9de00043..4add41c9df740007787cc50c085cc3522929a44e 100755 (executable)
@@ -110,6 +110,7 @@ if (open(AF,"$admindir/$name")) {
     }
     while (($version= &gl("version")) ne '') {
         defined($versionnum{$version}) && &badfmt("duplicate path $tver");
+       if ( -r $version ) {
         push(@versions,$version);
         $versionnum{$version}= $i= $#versions;
         $priority= &gl("priority");
@@ -118,6 +119,14 @@ if (open(AF,"$admindir/$name")) {
         for ($j=0; $j<=$#slavenames; $j++) {
             $slavepath{$i,$j}= &gl("spath");
         }
+       } else {
+           # File not found - remove
+            &pr("Alternative for $name points to $version - which wasn't found.  Removing from list of alternatives.");
+           &gl("priority");
+           for ($j=0; $j<=$#slavenames; $j++) {
+               &gl("spath");
+           }
+       }
     }
     close(AF);
     $dataread=1;
index 480c86d0bd1a8c995a6374e4949ccd286d24c074..ba7909a35de7dd785d4cab37b181123baeb1e13a 100644 (file)
@@ -137,6 +137,15 @@ Any files in the
 directories that are not symbolic links to the script
 .BI /etc/init.d/ name
 will be left untouched.
+.SH OPTIONS
+.TP
+.I -n
+Don't do anything, just show what we would do.
+.TP
+.I -f
+Force removal of symlinks even if
+.BI /etc/init.d/ name
+still exists.
 .SH EXAMPLES
 Insert links using the defaults:
 .nf