]> err.no Git - dpkg/commitdiff
dpkg (1.1.5); priority=MEDIUM (HIGH for diversions users)
authorIan Jackson <ian@chiark.chu.cam.ac.uk>
Wed, 10 Apr 1996 12:59:30 +0000 (13:59 +0100)
committerIan Jackson <ian@chiark.chu.cam.ac.uk>
Wed, 10 Apr 1996 12:59:30 +0000 (13:59 +0100)
  * Fixed coredump when using diversions.  (Bug#2603.)
  * Fixed typo in dpkg-divert which could lose diversions.  (Bug#2662.)

  * diversions.text provides better examples.

 -- Ian Jackson <ian@chiark.chu.cam.ac.uk>  Wed, 10 Apr 1996 13:59:30 +0100

debian.Changelog
debian.rules
doc/diversions.text
main/filesdb.c
main/filesdb.h
main/main.c
scripts/dpkg-divert.pl
version.h

index 0a1bd71e2295607d9100e151e14d17a8b6c00607..f024177acfd34e406e440ba7a8f6d2e4eccf3aaa 100644 (file)
@@ -1,3 +1,12 @@
+dpkg (1.1.5); priority=MEDIUM (HIGH for diversions users)
+
+  * Fixed coredump when using diversions.  (Bug#2603.)
+  * Fixed typo in dpkg-divert which could lose diversions.  (Bug#2662.)
+
+  * diversions.text provides better examples.
+
+ -- Ian Jackson <ian@chiark.chu.cam.ac.uk>  Wed, 10 Apr 1996 13:59:30 +0100
+
 dpkg (1.1.4); priority=MEDIUM
 
   * Allow overwriting of conflicting packages being removed.  (Bug#2614.)
index a981e8f87c2c293e590fda046e340916f504ead2..49ffb0894536ea2e404130cad2852bb3bf2fe683 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/make -f
 
 package=dpkg
-version=1.1.4
+version=1.1.5
 
 archi=$(shell dpkg --print-architecture)
 DIR:=$(shell pwd)
index 8cfec095a629597082abf04f53a0de471b3320ad..ade33af5f1ff7ab9c5b071d09df40160da71ce48 100644 (file)
@@ -1,5 +1,6 @@
 (These messages have been edited to conform to the terminology
-eventually decided on.)
+eventually decided on, and to make them give better and clearer
+examples.)
 
 ------- start of digest (2 messages) (RFC 934 encapsulation) -------
 Resent-Message-Id: <m0tcceI-0002c6C@chiark.chu.cam.ac.uk>
@@ -100,12 +101,16 @@ diagrammatically:
      |  ...              |                 \____________________/
      |...................|
      |preinst:           |
-     | dpkg-divert --divert /bin/ls.mono \
-     |   --package colour-ls /bin/ls
+     | case "$1" in install)
+     |  dpkg-divert --rename --divert /bin/ls.mono \
+     |              --package colour-ls /bin/ls ;;
+     | esac              |
      |...................|
      |postrm:            |
-     | dpkg-divert --remove --divert /bin/ls.mono \
-     |   --package colour-ls /bin/ls
+     | case "$1" in remove|abort-install)
+     |   dpkg-divert --remove --rename --divert /bin/ls.mono \
+     |               --package colour-ls /bin/ls ;;
+     | esac              |
      |___________________|
 
 We need a name that applies to `/usr/sbin/smail.real' and
index 642af3683c460488841060df7f42f5d4099e0b50..8a0a786f66f12a1e4656004c788eb40b91464569 100644 (file)
@@ -338,9 +338,10 @@ void ensure_diversions(void) {
   diversionsfile= file;
 
   for (ov= diversions; ov; ov= ov->next) {
+    ov->useinstead->divert->camefrom->divert= 0;
     ov->useinstead->divert= 0;
-    ov->camefrom->divert= 0;
   }
+  diversions= 0;
   if (!file) { onerr_abort--; return; }
 
   while (fgets(linebuf,sizeof(linebuf),file)) {
@@ -375,10 +376,13 @@ void ensure_diversions(void) {
 
     if (oialtname->camefrom->divert || oicontest->useinstead->divert)
       ohshit("conflicting diversions involving `%.250s' or `%.250s'",
-             oicontest->camefrom->name, oicontest->useinstead->name);
+             oialtname->camefrom->name, oicontest->useinstead->name);
 
     oialtname->camefrom->divert= oicontest;
     oicontest->useinstead->divert= oialtname;
+
+    oicontest->next= diversions;
+    diversions= oicontest;
   }
   if (ferror(file)) ohshite("read error in diversions [i]");
 
index f650c51f59017953b50716c86a548809ef7faf76..7a3ecf29f9ea66826dda7c821db2ee16d7aa6aaa 100644 (file)
@@ -75,15 +75,15 @@ struct diversion {
    * instead.  Both files have entries in the filesdb database, and
    * they refer to each other via these diversion structures.
    *
-   * The contended filename's filenamenode has an diversion entry
+   * The contested filename's filenamenode has an diversion entry
    * with useinstead set to point to the redirected filename's
    * filenamenode; the redirected filenamenode has camefrom set to the
-   * contended filenamenode.  Both sides' diversion entries will
+   * contested filenamenode.  Both sides' diversion entries will
    * have pkg set to the package (if any) which is allowed to use the
    * contended filename.
    *
    * Packages that contain either version of the file will all
-   * refer to the contended filenamenode in their per-file package lists
+   * refer to the contested filenamenode in their per-file package lists
    * (both in core and on disk).  References are redirected to the other
    * filenamenode's filename where appropriate.
    */
index 5655410522c7316147312d3786e0675ec55768db..22d866c4254039e4cc9c633534aaae5b584ca189 100644 (file)
@@ -90,7 +90,7 @@ const struct cmdinfo *cipaction= 0;
 int f_pending=0, f_recursive=0, f_alsoselect=1, f_skipsame=0, f_noact=0;
 int f_autodeconf=0, f_largemem=0;
 unsigned long f_debug=0;
-int fc_downgrade=1, fc_configureany=0, fc_hold=0, fc_removereinstreq=0, fc_overwrite= 0;
+int fc_downgrade=1, fc_configureany=0, fc_hold=0, fc_removereinstreq=0, fc_overwrite=1;
 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;
 
index dff1854ca6f0fc253b2ee2d6acbec38abd9158e0..08ecd286a07792cf9ee0f81ad3fccd50262a1ce2 100644 (file)
@@ -133,11 +133,11 @@ if ($mode eq 'add') {
         $orgfile= $contest[$i];
         $orgdivertto= $altname[$i];
         @contest= (($i > 0 ? @contest[0..$i-1] : ()),
-                   ($i < $#contest ? @contest[$i+1,$#contest] : ()));
+                   ($i < $#contest ? @contest[$i+1..$#contest] : ()));
         @altname= (($i > 0 ? @altname[0..$i-1] : ()),
-                   ($i < $#altname ? @altname[$i+1,$#altname] : ()));
+                   ($i < $#altname ? @altname[$i+1..$#altname] : ()));
         @package= (($i > 0 ? @package[0..$i-1] : ()),
-                   ($i < $#package ? @package[$i+1,$#package] : ()));
+                   ($i < $#package ? @package[$i+1..$#package] : ()));
         &checkrename($orgdivertto,$orgfile);
         &dorename($orgdivertto,$orgfile);
         &save;
index ce5a0ea267a7cd49eede280d179c276d66689b80..8c7a769d891bdd323eb15718f2e5dcaa75cb96d3 100644 (file)
--- a/version.h
+++ b/version.h
@@ -1 +1 @@
-#define DPKG_VERSION "1.1.4" /* This line modified by Makefile */
+#define DPKG_VERSION "1.1.5" /* This line modified by Makefile */