Adam Heath лет назад: 24
Родитель
Сommit
9fab53b940
12 измененных файлов с 199 добавлено и 21 удалено
  1. 18 0
      ChangeLog
  2. 23 0
      debian/changelog
  3. 3 2
      debian/control
  4. 5 0
      debian/dpkg.cfg
  5. 1 0
      debian/dpkg.conffiles
  6. 114 2
      debian/dpkg.postinst
  7. 10 0
      debian/dpkg.postrm
  8. 4 1
      debian/rules
  9. 1 0
      lib/mlib.c
  10. 10 2
      main/dpkg.8
  11. 1 1
      main/processarc.c
  12. 9 13
      utils/start-stop-daemon.8

+ 18 - 0
ChangeLog

@@ -1,3 +1,21 @@
+Sat May 25 22:45:06 CDT 2002 Adam Heath <doogie@debian.org>
+
+  * Merge changes from 1.9.20 and 1.9.21.
+    * utils/start-stop-daemon.8: Fix some nroff formatting errors
+    ? po.ru.po: Fix mistranslation
+    * main/dpkg.8: document --force-confmiss, improve description for
+      --force-conf{old,new}
+    * lib/mlib.c: Detect truncated debs, and abort the unpack.
+    * debian/rules: install dpkg.cfg in docdir, install dpkg.postrm.  Also
+      install dselect.cfg in /etc/dpkg.
+    * debian/dpkg.cfg: add force-overwrite
+    * debian/dpkg.postrm: new file
+    ? po/sv.po: Removed fuzzy translation.
+    ? po/sv.po: Fixed broken c-format escapes which would make some error
+      messages display incorrectly.
+    * debian/control: Fix build-depends on zlib1g-dev to >= 1:1.1.3-19.1.
+    * debian/changelog: The missing 1.9 entries.
+
 Fri May 24 22:38:01 CDT 2002 Adam Heath <doogie@debian.org>
 Fri May 24 22:38:01 CDT 2002 Adam Heath <doogie@debian.org>
 
 
   * scripts/dpkg-scanpackages.8: Add dpkg-scansources to
   * scripts/dpkg-scanpackages.8: Add dpkg-scansources to

+ 23 - 0
debian/changelog

@@ -117,6 +117,29 @@ dpkg (1.10) unstable; urgency=low
 
 
  -- Wichert Akkerman <wakkerma@debian.org>  Mon, 20 Aug 2001 14:54:38 +0200
  -- Wichert Akkerman <wakkerma@debian.org>  Mon, 20 Aug 2001 14:54:38 +0200
 
 
+dpkg (1.9.21) unstable; urgency=low
+
+  * Fix corrupt Swedish translations that would some error messages display
+    incorrectly.
+  * Enable --force-overwrite by default in /etc/dpkg/dpkg.cfg
+  * dpkg.cfg is now no longer a conffile. This means the installer can
+    change defaults depending on how an install is done
+  * Detect truncated debs, and abort the unpack.  Closes: #138569.
+  * Improve dpkg(8) --force documentation
+  * Fix error in Russian dselect translation
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Thu, 16 May 2002 19:42:29 +0200
+
+dpkg (1.9.20) unstable; urgency=medium
+
+  * Fix assertion when --auto-deconfigure is set.  Closes: #137765.
+  * Fix segfault discovered by fixing the above.
+  * Fix segfault when getenv("PATH") returns null.  Closes: #136349
+  * Recompiled against updated zlib, to fix possible security issue.  Also
+    bumped build-depends to match.  Closes: #137931(grave)
+
+ -- Adam Heath <doogie@debian.org>  Sun, 17 Mar 2002 02:52:44 -0600
+
 dpkg (1.9.19) unstable; urgency=medium
 dpkg (1.9.19) unstable; urgency=medium
 
 
   * install-info continues to read all data from a pipe, until EOF.
   * install-info continues to read all data from a pipe, until EOF.

+ 3 - 2
debian/control

@@ -5,8 +5,9 @@ Maintainer: Dpkg Development <debian-dpkg@lists.debian.org>
 Uploaders: Wichert Akkerman <wakkerma@debian.org>, Adam Heath <doogie@debian.org>
 Uploaders: Wichert Akkerman <wakkerma@debian.org>, Adam Heath <doogie@debian.org>
 Origin: debian
 Origin: debian
 Bugs: debbugs://bugs.debian.org
 Bugs: debbugs://bugs.debian.org
-Standards-Version: 3.1.0
-Build-Depends: debiandoc-sgml, sgmltools-lite, libncurses-dev, gettext (>= 0.10.36), zlib1g-dev
+Standards-Version: 3.5.4
+Build-Depends: debiandoc-sgml, sgmltools-lite, libncurses-dev, gettext (>= 0.10.36), zlib1g-dev (>= 1:1.1.3-19.1)
+Uploaders: Wichert Akkerman <wakkerma@debian.org>, Adam Heath <doogie@debian.org>
 
 
 Package: dpkg
 Package: dpkg
 Architecture: any
 Architecture: any

+ 5 - 0
debian/dpkg.cfg

@@ -4,4 +4,9 @@
 # options are allowed. Values can be specific by putting them after
 # options are allowed. Values can be specific by putting them after
 # the option, seperated by whitespace and/or an `=' sign.
 # the option, seperated by whitespace and/or an `=' sign.
 #
 #
+# Do not enable debsign by default; since Debian does not use embedded
+# signature debsign would reject all packages.
 no-debsig
 no-debsig
+#
+# Allow file overlaps between packages. 
+force-overwrite

+ 1 - 0
debian/dpkg.conffiles

@@ -1,3 +1,4 @@
 /etc/dpkg/dpkg.cfg
 /etc/dpkg/dpkg.cfg
+/etc/dpkg/dselect.cfg
 /etc/dpkg/origins/debian
 /etc/dpkg/origins/debian
 /etc/alternatives/README
 /etc/alternatives/README

+ 114 - 2
debian/dpkg.postinst

@@ -2,8 +2,120 @@
 
 
 set -e
 set -e
 
 
-if [ "$1" != "configure" ] ; then
-	exit 0
+dupdaemonhelp () {
+	cat <<EOF
+
+Some daemons and similar services whose scripts have links in the
+/etc/rcN.d directories have both start (S) and stop (K) links in
+some runlevels.  Thus these services get stopped and immediately
+restarted at some runlevel changes, which is probably not what
+you want.  I can remove the probably-spurious K links if you like.
+
+Type Y to remove then, N to leave them, or L to list them.
+If you don't know what to do you can say N now and then delete
+them by hand later.
+
+EOF
+}
+
+if [ "x$1" = xconfigure ]; then
+	if [ -d /usr/doc -a ! -e /usr/doc/dpkg -a -d /usr/share/doc/dpkg ] ; then
+		ln -s ../share/doc/dpkg /usr/doc/dpkg
+	fi
+
+	if [ -z "$2" -a ! -f /etc/dpkg/dpkg.cfg ] ; then
+		cp /usr/share/doc/dpkg/dpkg.cfg /etc/dpkg
+	fi
+
+	case "$2" in
+	0.* | 1.0.* | 1.1.0 | 1.1.0[^0-9]* | '' )
+		for f in 0 1 2 3 4 5 6
+		do
+			cd /etc/rc$f.d
+			for g in K[0-9][0-9]*
+			do
+				if [ -n "`echo \"x$g\" | tr -d 0-9A-Za-z_-`" ]
+				then
+					continue
+				fi
+				h="`echo $g | sed -e 's/^K/S/'`"
+				if ! [ -L $h -a -L $g ] \
+				  || [ "`ls -Li $g 2>/dev/null | awk '{print $1}'`" != \
+				       "`ls -Li $h 2>/dev/null | awk '{print $1}'`" ]
+				then
+					continue
+				fi
+				removes="$removes rc$f.d/$g"
+			done
+		done
+		if [ -n "$removes" ]
+		then
+			cd /etc
+			dupdaemonhelp
+			while [ -n "$removes" ]
+			do
+				echo -n 'y=remove, n=leave, l=list, h=help ?  '
+				read response
+				case "$response" in
+				[Yy]*)
+					echo "Removing duplicate K links ..."
+					rm -v $removes
+					removes=""
+					;;
+				[Nn]*)
+					echo -e "OK, leaving them.\n"
+					removes=""
+					;;
+				[Ll]*)
+					echo
+					echo $removes
+					echo
+					;;
+				[Hh]*)
+					dupdaemonhelp
+					;;
+				esac
+			done
+		fi
+		;;
+	1.1.6 | 1.1.6elf | 1.2.[0123] | 1.2.[0123]elf )
+		response=''
+		while [ -z "$response" ]; do
+			echo -n '
+The version of dpkg you'\''re upgrading from had a problem with the
+install-info program used to maintain the /usr/info/dir file.  It may
+have corrupted the file, for example by placing new entries for the
+menu in it before the `* Menu'\'' line (thus making them ineffective) or
+by creating several identical sections.
+
+I can try to sort these problems out, but beware that this process is
+not guaranteed not to mess up a dir file which has things that look
+like menu entries in the introductory paragraphs.  The distributed dir
+files do not do this, so if you haven'\''t edited /usr/info/dir it'\''s
+almost certainly safe to say `yes'\'' to the next question.
+
+If you say `no'\'' you may wish to check and/or edit /usr/info/dir yourself.
+
+Try to check/repair /usr/info/dir automatically ?  [y/n]  '
+			read response
+			case "$response" in
+			[Yy]* | '')	response=yes ;;
+			[Nn]*)		response=no ;;
+			*)		response='' ;;
+			esac
+		done
+		if [ "$response" = yes ]; then
+			echo "
+Checking/repairing /usr/info/dir ..."
+			cleanup-info --unsafe
+			echo
+		else
+			echo "
+OK.
+"
+		fi
+		;;
+	esac
 fi
 fi
 
 
 if [ -d /usr/doc -a ! -e /usr/doc/dpkg -a -d /usr/share/doc/dpkg ] ; then
 if [ -d /usr/doc -a ! -e /usr/doc/dpkg -a -d /usr/share/doc/dpkg ] ; then

+ 10 - 0
debian/dpkg.postrm

@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+	rm -f /etc/dpkg/dpkg.cfg
+fi
+
+exit 0
+

+ 4 - 1
debian/rules

@@ -130,7 +130,7 @@ binary-dpkg-most binary-dpkg-static-most: binary-dpkg%-most: stamp-binary%
 	done
 	done
 
 
 	install -d -m 755 -o root -g root $(TMP_DPKG)/etc/dpkg
 	install -d -m 755 -o root -g root $(TMP_DPKG)/etc/dpkg
-	install -p -m 644 -o root -g root debian/dpkg.cfg \
+	install -p -m 644 -o root -g root debian/dselect.cfg \
 		$(TMP_DPKG)/etc/dpkg/
 		$(TMP_DPKG)/etc/dpkg/
 
 
 # Now that dpkg has been installed, Debianize it
 # Now that dpkg has been installed, Debianize it
@@ -146,6 +146,8 @@ binary-dpkg-most binary-dpkg-static-most: binary-dpkg%-most: stamp-binary%
 		$(TMP_DPKG)/usr/share/doc/dpkg$(static)/changelog.Debian
 		$(TMP_DPKG)/usr/share/doc/dpkg$(static)/changelog.Debian
 	rm -f $(TMP_DPKG)/usr/share/doc/dpkg$(static)/copyright
 	rm -f $(TMP_DPKG)/usr/share/doc/dpkg$(static)/copyright
 	gzip -9 $(TMP_DPKG)/usr/share/doc/dpkg$(static)/*
 	gzip -9 $(TMP_DPKG)/usr/share/doc/dpkg$(static)/*
+	install -p -m 644 -o root -g root debian/dpkg.cfg \
+		$(TMP_DPKG)/usr/share/doc/dpkg$(static)/
 	install -p -m 644 -o root -g root debian/copyright \
 	install -p -m 644 -o root -g root debian/copyright \
 		$(TMP_DPKG)/usr/share/doc/dpkg$(static)/
 		$(TMP_DPKG)/usr/share/doc/dpkg$(static)/
 
 
@@ -155,6 +157,7 @@ binary-dpkg-most binary-dpkg-static-most: binary-dpkg%-most: stamp-binary%
 	install -p -m 755 -o root -g root debian/dpkg.preinst $(TMP_DPKG)/DEBIAN/preinst
 	install -p -m 755 -o root -g root debian/dpkg.preinst $(TMP_DPKG)/DEBIAN/preinst
 	install -p -m 755 -o root -g root debian/dpkg.prerm $(TMP_DPKG)/DEBIAN/prerm
 	install -p -m 755 -o root -g root debian/dpkg.prerm $(TMP_DPKG)/DEBIAN/prerm
 	install -p -m 755 -o root -g root debian/dpkg.postinst $(TMP_DPKG)/DEBIAN/postinst
 	install -p -m 755 -o root -g root debian/dpkg.postinst $(TMP_DPKG)/DEBIAN/postinst
+	install -p -m 755 -o root -g root debian/dpkg.postrm $(TMP_DPKG)/DEBIAN/postrm
 
 
 	dpkg-shlibdeps -dPre-Depends -Tdebian/dpkg$(static).substvars \
 	dpkg-shlibdeps -dPre-Depends -Tdebian/dpkg$(static).substvars \
 		$(TMP_DPKG)/sbin/start-stop-daemon \
 		$(TMP_DPKG)/sbin/start-stop-daemon \

+ 1 - 0
lib/mlib.c

@@ -335,6 +335,7 @@ ssize_t buffer_copy(buffer_data_t read_data, buffer_data_t write_data, ssize_t l
     }
     }
   }
   }
   if (bytesread<0 || byteswritten<0) ohshite(_("failed in buffer_copy (%s)"), desc);
   if (bytesread<0 || byteswritten<0) ohshite(_("failed in buffer_copy (%s)"), desc);
+  if (limit > 0) ohshit(_("short read in buffer_copy (%s)"), desc);
 
 
   free(buf);
   free(buf);
   return totalread;
   return totalread;

+ 10 - 2
main/dpkg.8

@@ -375,12 +375,20 @@ Don't care about versions when checking dependencies.
 Install, even if it conflicts with another package. This is dangerous,
 Install, even if it conflicts with another package. This is dangerous,
 for it will usually cause overwriting of some files.
 for it will usually cause overwriting of some files.
 
 
+\fBconfmiss\fP:
+Always install a missing configuration file. This is dangerous,
+since it means not preserving a change (removing) made to the
+file.
+
 \fBconfnew\fP:
 \fBconfnew\fP:
 If a conffile has been modified always install the new version without
 If a conffile has been modified always install the new version without
-prompting.
+prompting, unless the \fB--force-confdef\fP is also specified, in
+which case the default action is preferred.
 
 
 \fBconfold\fP:
 \fBconfold\fP:
-If a conffile has been modified always keep the old version without prompting.
+If a conffile has been modified always keep the old version without
+prompting, unless the \fB--force-confdef\fP is also specified, in
+which case the default action is preferred.
 
 
 \fBconfdef\fP:
 \fBconfdef\fP:
 If a conffile has been modified always choose the default action. If
 If a conffile has been modified always choose the default action. If

+ 1 - 1
main/processarc.c

@@ -197,7 +197,7 @@ void process_archive(const char *filename) {
     pkg->files->next= 0;
     pkg->files->next= 0;
     pkg->files->name= pkg->files->msdosname= pkg->files->md5sum= 0;
     pkg->files->name= pkg->files->msdosname= pkg->files->md5sum= 0;
   }
   }
-  /* Always nfmalloc.  Otherwise, we may overwrite some other field. */
+  /* Always nfmalloc.  Otherwise, we may overwrite some other field(like md5sum). */
   pkg->files->size= nfmalloc(30);
   pkg->files->size= nfmalloc(30);
   sprintf(pkg->files->size,"%lu",(unsigned long)stab.st_size);
   sprintf(pkg->files->size,"%lu",(unsigned long)stab.st_size);
 
 

+ 9 - 13
utils/start-stop-daemon.8

@@ -44,8 +44,9 @@ Any arguments given after
 on the command line are passed unmodified to the program being
 on the command line are passed unmodified to the program being
 started.  If
 started.  If
 .B --retry
 .B --retry
-is specified then start-stop-daemon will check that the process(es)
-have terminated.
+is specified then 
+.B start-stop-daemon
+will check that the process(es) have terminated.
 
 
 With 
 With 
 .BR --stop ,
 .BR --stop ,
@@ -68,34 +69,29 @@ is specified).
 .TP
 .TP
 \fB-x\fP|\fB--exec\fP \fIexecutable\fP
 \fB-x\fP|\fB--exec\fP \fIexecutable\fP
 Check for processes that are instances of this executable (according to 
 Check for processes that are instances of this executable (according to 
-.B /proc/
-.I pid
-.B /exe 
+.B /proc/\fIpid\fB/exe\fP
 ).
 ).
 .TP
 .TP
 \fB-p\fP|\fB--pidfile\fP \fIpid-file\fP
 \fB-p\fP|\fB--pidfile\fP \fIpid-file\fP
 Check for processes whose process-id is specified in 
 Check for processes whose process-id is specified in 
-.I pid-file.
+.IR pid-file .
 .TP
 .TP
 \fB-u\fP|\fB--user\fP \fIusername\fP|\fIuid\fP
 \fB-u\fP|\fB--user\fP \fIusername\fP|\fIuid\fP
 Check for processes owned by the user specified by
 Check for processes owned by the user specified by
 .I username 
 .I username 
 or
 or
-.I uid.
+.IR uid .
 .TP
 .TP
 \fB-n\fP|\fB--name\fP \fIprocess-name\fP
 \fB-n\fP|\fB--name\fP \fIprocess-name\fP
 Check for processes with the name
 Check for processes with the name
 .I process-name
 .I process-name
 (according to
 (according to
-.B /proc/
-.I pid
-.B /stat 
-).
+.BR /proc/\fIpid\fB/stat\fP ).
 .TP
 .TP
 \fB-s\fP|\fB--signal\fP \fIsignal\fP
 \fB-s\fP|\fB--signal\fP \fIsignal\fP
 With
 With
-.BR --stop
-, specifies the signal to send to processes being stopped (default 15).
+.BR --stop ,
+specifies the signal to send to processes being stopped (default 15).
 .TP
 .TP
 \fB-R\fP|\fB--retry\fP \fItimeout\fP|\fIschedule\fP
 \fB-R\fP|\fB--retry\fP \fItimeout\fP|\fIschedule\fP
 With
 With