Explorar el Código

dpkg (1.3.3) experimental; urgency=low

  * Programmers' & policy manuals in source tree; HTML in /usr/doc/dpkg.
  * Old guidelines.info and text files in /usr/doc/dpkg removed.

  * dpkg-source sets permissions on extracted debianised source tree
    and does not copy ownerships out of archive even if running as root.

  * Emacs mode `dpkg changelog' renamed to `Debian changelog'.
  * Default changelog format renamed from `dpkg' to `debian'.

  * debian-changelog-mode sets fill-prefix correctly.
  * debian-changelog-mode urgencies except HIGH lowercase by default.
  * debian-changelog-mode displays keymap in doc string and so mode help.

  * More maintainers' PGP keys.

  * Remove built changelog parsers with `clean' target in source.

 -- Ian Jackson <ian@chiark.chu.cam.ac.uk>  Sat, 10 Aug 1996 23:35:51 +0100
Ian Jackson hace 30 años
padre
commit
f50dc4ae0a

+ 22 - 1
debian/changelog

@@ -1,3 +1,24 @@
+dpkg (1.3.3) experimental; urgency=low
+
+  * Programmers' & policy manuals in source tree; HTML in /usr/doc/dpkg.
+  * Old guidelines.info and text files in /usr/doc/dpkg removed.
+
+  * dpkg-source sets permissions on extracted debianised source tree
+    and does not copy ownerships out of archive even if running as root.
+
+  * Emacs mode `dpkg changelog' renamed to `Debian changelog'.
+  * Default changelog format renamed from `dpkg' to `debian'.
+
+  * debian-changelog-mode sets fill-prefix correctly.
+  * debian-changelog-mode urgencies except HIGH lowercase by default.
+  * debian-changelog-mode displays keymap in doc string and so mode help.
+
+  * More maintainers' PGP keys.
+
+  * Remove built changelog parsers with `clean' target in source.
+
+ -- Ian Jackson <ian@chiark.chu.cam.ac.uk>  Sat, 10 Aug 1996 23:35:51 +0100
+
 dpkg (1.3.2) experimental; urgency=LOW (MEDIUM for dpkg-source)
 dpkg (1.3.2) experimental; urgency=LOW (MEDIUM for dpkg-source)
 
 
   * Faster update-rc.d written in Perl by Miquel van Smoorenburg.
   * Faster update-rc.d written in Perl by Miquel van Smoorenburg.
@@ -1552,5 +1573,5 @@ Thu Aug 25 11:46:27 1994  Ian Murdock  (imurdock@debra.debian.org)
 ChangeLog begins Thu Aug 25 11:46:27 1994 for dpkg 0.93.5.
 ChangeLog begins Thu Aug 25 11:46:27 1994 for dpkg 0.93.5.
 
 
 Local variables:
 Local variables:
-mode: dpkg-changelog
+mode: debian-changelog
 End:
 End:

+ 0 - 3
debian/postinst

@@ -2,9 +2,6 @@
 
 
 set -e
 set -e
 
 
-install-info --section Development Development \
-	     --quiet /usr/info/guidelines.info.gz
-
 dupdaemonhelp () {
 dupdaemonhelp () {
 	cat <<'END'
 	cat <<'END'
 
 

+ 0 - 1
debian/rules

@@ -36,7 +36,6 @@ binary:	checkroot build
 		datadir=$(DIR)/debian/tmp/var/lib/dpkg \
 		datadir=$(DIR)/debian/tmp/var/lib/dpkg \
 		etcdir=$(DIR)/debian/tmp/etc \
 		etcdir=$(DIR)/debian/tmp/etc \
 		install
 		install
-	gzip -9 debian/tmp/usr/info/guidelines.info*
 	cp debian/copyright debian/tmp/usr/doc/copyright/dpkg
 	cp debian/copyright debian/tmp/usr/doc/copyright/dpkg
 	cp TODO debian/tmp/usr/doc/dpkg/WISHLIST
 	cp TODO debian/tmp/usr/doc/dpkg/WISHLIST
 	touch debian/tmp/var/lib/dpkg/{status,available}
 	touch debian/tmp/var/lib/dpkg/{status,available}

+ 19 - 15
doc/Makefile.in

@@ -35,15 +35,22 @@ INSTALL_DATA = @INSTALL_DATA@
 MAKEINFO = makeinfo
 MAKEINFO = makeinfo
 TEXI2DVI = texi2dvi
 TEXI2DVI = texi2dvi
 
 
-DPKGDOCS= auto-deconfiguration.txt dependency-ordering.txt \
- disappear-replace.txt diversions.text \
- essential-flag.txt version-ordering.txt developer-keys.pgp
+DPKGDOCS= developer-keys.pgp
+
+SGMLDOCS= programmer policy
 
 
-# Files folded into main guidelines document
+# Files folded into manuals
 OBSOLETEDOCS= descriptions.txt upgrades+errors.txt \
 OBSOLETEDOCS= descriptions.txt upgrades+errors.txt \
- maintainer-script-args.txt virtual-dependencies.txt
+ maintainer-script-args.txt virtual-dependencies.txt \
+ auto-deconfiguration.txt dependency-ordering.txt \
+ disappear-replace.txt diversions.text \
+ essential-flag.txt version-ordering.txt
+
+all:		$(DPKGDOCS) $(SGMLDOCS)
 
 
-all:		$(DPKGDOCS) guidelines.info
+$(SGMLDOCS):
+		debiandoc2html $@.sgml
+		touch $@
 
 
 guidelines.info: guidelines.texi
 guidelines.info: guidelines.texi
 		$(MAKEINFO) $(srcdir)/guidelines.texi
 		$(MAKEINFO) $(srcdir)/guidelines.texi
@@ -57,16 +64,12 @@ database-structure.monops: database-structure.ps
  bind def$$:/$$1 {} bind def:' database-structure.ps >ps
  bind def$$:/$$1 {} bind def:' database-structure.ps >ps
 		mv ps database-structure.monops
 		mv ps database-structure.monops
 
 
-#dpkg.dvi:
-#		$(TEXI2DVI) $(srcdir)/dpkg.texi
-#
-#dpkg.info:
-#		$(MAKEINFO) $(srcdir)/dpkg.texi
-
 clean:
 clean:
+		rm -f $(SGMLDOCS)
 		rm -f database-structure.ps database-structure.monops ps
 		rm -f database-structure.ps database-structure.monops ps
 		rm -f *.{aux,cp,dvi,fn,ky,log,pg,toc,tp,vr,bak}
 		rm -f *.{aux,cp,dvi,fn,ky,log,pg,toc,tp,vr,bak}
-		rm -f guidelines.info*
+		rm -f guidelines.info* *.sasp*
+		rm -rf {programmer,policy}.html
 
 
 distclean:
 distclean:
 		rm -f Makefile *.orig *~ *.~* ./#*#
 		rm -f Makefile *.orig *~ *.~* ./#*#
@@ -75,8 +78,9 @@ install:	all
 		$(INSTALL_DATA) deb.5 $(man5dir)/deb.$(man5)
 		$(INSTALL_DATA) deb.5 $(man5dir)/deb.$(man5)
 		$(INSTALL_DATA) deb-old.5 $(man5dir)/deb-old.$(man5)
 		$(INSTALL_DATA) deb-old.5 $(man5dir)/deb-old.$(man5)
 		$(INSTALL_DATA) deb-control.5 $(man5dir)/deb-control.$(man5)
 		$(INSTALL_DATA) deb-control.5 $(man5dir)/deb-control.$(man5)
-		$(INSTALL_DATA) guidelines.info guidelines.info-*[0-9] \
-			$(infodir)/.
+		set -e; for f in $(SGMLDOCS) ; do \
+			cp -r $$f.html $(dpkgdocdir)/$$f.html ; \
+		done
 		set -e; for d in $(DPKGDOCS) ; do \
 		set -e; for d in $(DPKGDOCS) ; do \
 			$(INSTALL_DATA) $$d $(dpkgdocdir)/$$d ; \
 			$(INSTALL_DATA) $$d $(dpkgdocdir)/$$d ; \
 		done
 		done

BIN
doc/developer-keys.pgp


+ 0 - 29
doc/junk

@@ -1,29 +0,0 @@
-
-@table @file
-@item virtual-package-names-list.text
-The list of virtual package names currently in use, together with the
-procedure for getting new virtual package names allocated.
-@item (obsolete) README.etc-skel
-A description of @file{/etc/skel} and @file{/usr/doc/examples}
-(@pxref{Skeleton and examples}).
-@item (obsolete) descriptions.txt
-The description of the package. How to write an extended and more useful
-description field (@pxref{Package description}).
-@item (obsolete) README.init
-How to use the features of Init under Debian GNU/Linux in packages
-(@pxref{Configuration of init}).
-@item (obsolete) mailers.txt
-How to properly configure packages to use the Debian GNU/Linux mail
-nnsystem (@pxref{Mail processing packages}).
-@item (obsolete) maintainer-script-args.txt
-All the ways that the package maintainer scripts inside a package can be
-called by dpkg (@pxref{Maintainer script arguments}).
-@item (obsolete) dpkg-upgrades+errors.txt
-What order things happen in during a package upgrade (@pxref{What
-happends during a package upgrade?}).
-@item (obsolete) virtual-dependencies.txt
-How to use ``virtual dependencies'' in packages (@pxref{Virtual
-dependencies}).
-@item (obsolete) dependency-ordering.txt
-How to properly order package names in the @file{DEPENDS} field.
-@end table

doc/auto-deconfiguration.txt → doc/obsolete/auto-deconfiguration.txt


doc/dependency-ordering.txt → doc/obsolete/dependency-ordering.txt


doc/descriptions.txt → doc/obsolete/descriptions.txt


doc/disappear-replace.txt → doc/obsolete/disappear-replace.txt


doc/diversions.text → doc/obsolete/diversions.text


doc/dpkg.texi → doc/obsolete/dpkg.texi


doc/dselect-methods.txt → doc/obsolete/dselect-methods.txt


doc/essential-flag.txt → doc/obsolete/essential-flag.txt


doc/guidelines.texi → doc/obsolete/guidelines.texi


doc/maintainer-script-args.txt → doc/obsolete/maintainer-script-args.txt


doc/upgrades+errors.txt → doc/obsolete/upgrades+errors.txt


doc/version-ordering.txt → doc/obsolete/version-ordering.txt


doc/virtual-dependencies.txt → doc/obsolete/virtual-dependencies.txt


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1222 - 0
doc/policy.sgml


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2990 - 0
doc/programmer.sgml


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 1443
doc/sgml/programmer.sgml


+ 3 - 3
scripts/Makefile.in

@@ -47,8 +47,8 @@ MAN8 =	update-rc.d start-stop-daemon update-alternatives install-info \
 SBIN =	update-rc.d start-stop-daemon update-alternatives install-info \
 SBIN =	update-rc.d start-stop-daemon update-alternatives install-info \
 	dpkg-scanpackages dpkg-divert cleanup-info
 	dpkg-scanpackages dpkg-divert cleanup-info
 LIB =	controllib.pl
 LIB =	controllib.pl
-ELISP =	dpkg-changelog-mode.el
-CHGLGS=	cl-dpkg
+ELISP =	debian-changelog-mode.el
+CHGLGS=	cl-debian
 
 
 INSTALL = @INSTALL@
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -79,7 +79,7 @@ INSTALL_DATA = @INSTALL_DATA@
 all:		$(EXC) $(SBIN) $(CHGLGS)
 all:		$(EXC) $(SBIN) $(CHGLGS)
 
 
 clean:
 clean:
-		rm -f $(EXC) $(SBIN) core *.new
+		rm -f $(EXC) $(SBIN) $(CHGLGS) core *.new
 
 
 distclean:	clean
 distclean:	clean
 		rm -f Makefile *.orig *~ *.~* ./#*# i386elf-hello-world.gz
 		rm -f Makefile *.orig *~ *.~* ./#*# i386elf-hello-world.gz

scripts/cl-dpkg.pl → scripts/cl-debian.pl


+ 0 - 143
scripts/cl-dpkg

@@ -1,143 +0,0 @@
-#!/usr/bin/perl
-#
-# Options:
-#  -v<version>
-#   changes since <version>
-
-$dpkglibdir= "/usr/lib/dpkg";
-$version= '1.3.0'; # This line modified by Makefile
-
-$controlfile= 'debian/control';
-$changelogfile= 'debian/changelog';
-$fileslistfile= 'debian/files';
-$varlistfile= 'debian/substvars';
-
-push(@INC,$dpkglibdir);
-require 'controllib.pl';
-
-$progname= "parsechangelog/$progname";
-
-$since='';
-
-sub usageversion {
-    print STDERR
-"Debian GNU/Linux parsechangelog/dpkg $version.  Copyright (C) 1996
-Ian Jackson.  This is free software; see the GNU General Public Licence
-version 2 or later for copying conditions.  There is NO warranty.
-
-Usage: parsechangelog/dpkg [-v<versionsince] | -h
-";
-}
-
-while (@ARGV) {
-    $_=shift(@ARGV);
-    if (m/^-v(.+)$/) {
-        $since= $1;
-    } elsif (m/^-h$/) {
-        &usageversion; exit(0);
-    } else {
-        &usageerr("unknown option or argument \`$_'");
-    }
-}
-
-%mapkv=(); # for future use
-$i=100;grep($fieldimps{$_}=$i--,
-          qw(Source Version Distribution Urgency Maintainer Date Changes));
-$i=1;grep($urgencies{$_}=$i++,
-          qw(low medium routine high urgent emergency));
-
-$expect='first heading';
-
-while (<STDIN>) {
-    s/\s*\n$//;
-#    printf(STDERR "%-39.39s %-39.39s\n",$expect,$_);
-    if (m/^(\w[-+0-9a-z.]+) \(([^\(\) \t]+)\)((\s+[-0-9a-z]+)+)\;/i) {
-        if ($expect eq 'first heading') {
-            $f{'Source'}= $1;
-            $f{'Version'}= $2;
-            $f{'Distribution'}= $3;
-            &error("-v<since> option specifies most recent version") if
-                $2 eq $since;
-            $f{'Distribution'} =~ s/^\s+//;
-        } elsif ($expect eq 'next heading or eof') {
-            last if $2 eq $since;
-            $f{'Changes'}.= " .\n";
-        } else {
-            &clerror("found start of entry where expected $expect");
-        }
-        $rhs= $'; $rhs =~ s/^\s+//;
-        undef %kvdone;
-        for $kv (split(/\s*,\s*/,$rhs)) {
-            $kv =~ m/^([-0-9a-z]+)\=\s*(.*\S)$/i ||
-                &clerror("bad key-value after \`;': \`$kv'");
-            $k=(uc substr($1,0,1)).(lc substr($1,1)); $v=$2;
-            $kvdone{$k}++ && &clwarn("repeated key-value $k");
-            if ($k eq 'Urgency') {
-                $v =~ m/^([-0-9a-z]+)((\s+.*)?)$/i ||
-                    &clerror("badly formatted urgency value, at changelog ");
-                $newurg= lc $1;
-                $newurgn= $urgencies{lc $1}; $newcomment= $2;
-                $newurgn ||
-                    &clwarn("unknown urgency value $newurg - comparing very low");
-                if (defined($f{'Urgency'})) {
-                    $f{'Urgency'} =~ m/^([-0-9a-z]+)((\s+.*)?)$/i ||
-                        &internerr("urgency >$f{'Urgency'}<");
-                    $oldurg= lc $1;
-                    $oldurgn= $urgencies{lc $1}; $oldcomment= $2;
-                } else {
-                    $oldurgn= -1;
-                    $oldcomment= '';
-                }
-                $f{'Urgency'}=
-                    (($newurgn > $oldurgn ? $newurg : $oldurg).
-                     $oldcomment.
-                     $newcomment);
-            } elsif (defined($mapkv{$k})) {
-                $f{$mapkv{$k}}= $v;
-            } elsif ($k =~ m/^X[BCS]+-/i) {
-                # Extensions - XB for putting in Binary,
-                # XC for putting in Control, XS for putting in Source
-                $f{$k}= $v;
-            } else {
-                &clwarn("unknown key-value key $k - copying to XS-$k");
-                $f{"XS-$k"}= $v;
-            }
-        }
-        $expect= 'start of change data'; $blanklines=0;
-        $f{'Changes'}.= " $_\n .\n";
-    } elsif (m/^\S/) {
-        &clerror("badly formatted heading line");
-    } elsif (m/^ \-\- (\S.*\S)  ((\w+\,\s*)?\d{1,2}\s+\w+\s+\d{4}\s+\d{1,2}:\d\d:\d\d\s+[-+]\d{4}(\s+\([^\\\(\)]\))?)$/) {
-        $expect eq 'more change data or trailer' ||
-            &clerror("found trailer where expected $expect");
-        $f{'Maintainer'}= $1 unless defined($f{'Maintainer'});
-        $f{'Date'}= $2 unless defined($f{'Date'});
-#        $f{'Changes'}.= " .\n $_\n";
-        $expect= 'next heading or eof';
-        last if $since eq '';
-    } elsif (m/^ \-\-/) {
-        &clerror("badly formatted trailer line");
-    } elsif (m/^\s{2,}\S/) {
-        $expect eq 'start of change data' || $expect eq 'more change data or trailer' ||
-            &clerror("found change data where expected $expect");
-        $f{'Changes'}.= (" .\n"x$blanklines)." $_\n"; $blanklines=0;
-        $expect= 'more change data or trailer';
-    } elsif (!m/\S/) {
-        next if $expect eq 'start of change data' || $expect eq 'next heading or eof';
-        $expect eq 'more change data or trailer' ||
-            &clerror("found blank line where expected $expect");
-        $blanklines++;
-    } else {
-        &clerror("unrecognised line");
-    }
-}
-
-$expect eq 'next heading or eof' || die "found eof where expected $expect";
-
-$f{'Changes'} =~ s/\n$//;
-$f{'Changes'} =~ s/^/\n/;
-
-&outputclose;
-
-sub clerror { &error("$_[0], at changelog line $."); }
-sub clwarn { &warn("$_[0], at changelog line $."); }

+ 60 - 55
scripts/dpkg-changelog-mode.el

@@ -1,4 +1,4 @@
-;; dpkg-changelog.el --- change log maintenance for dpkg-style changelogs
+;; debian-changelog.el --- change log maintenance for Debian-style changelogs
 
 
 ;; Keywords: maint
 ;; Keywords: maint
 
 
@@ -22,32 +22,33 @@
 
 
 (require 'add-log)
 (require 'add-log)
 
 
-(defvar dpkg-changelog-urgencies
-  '((?l."LOW") (?m."MEDIUM") (?h."HIGH"))
-  "alist of keystrokes vs. urgency values dpkg-changelog-urgency ^c^u.")
+(defvar debian-changelog-urgencies
+  '((?l."low") (?m."medium") (?h."HIGH"))
+  "alist of keystrokes vs. urgency values debian-changelog-urgency ^c^u.")
 
 
-(defvar dpkg-changelog-distributions
+(defvar debian-changelog-distributions
   '((?s."stable") (?u."unstable") (?c."contrib") (?n."non-free") (?e."experimental"))
   '((?s."stable") (?u."unstable") (?c."contrib") (?n."non-free") (?e."experimental"))
-  "alist of keystrokes vs. distribution values for dpkg-changelog-distribution ^c^d.")
+  "alist of keystrokes vs. distribution values for debian-changelog-distribution ^c^d.")
 
 
-(defvar dpkg-changelog-mode-map nil
-  "Keymap for dpkg changelog major mode.")
-(if dpkg-changelog-mode-map
+(defvar debian-changelog-mode-map nil
+  "Keymap for Debian changelog major mode.")
+(if debian-changelog-mode-map
     nil
     nil
-  (setq dpkg-changelog-mode-map (make-sparse-keymap))
-  (define-key dpkg-changelog-mode-map "\C-c\C-a" 'dpkg-changelog-add-entry)
-  (define-key dpkg-changelog-mode-map "\C-c\C-f" 'dpkg-changelog-finalise-last-version)
-  (define-key dpkg-changelog-mode-map "\C-c\C-c" 'dpkg-changelog-finalise-and-save)
-  (define-key dpkg-changelog-mode-map "\C-c\C-v" 'dpkg-changelog-add-version)
-  (define-key dpkg-changelog-mode-map "\C-c\C-d" 'dpkg-changelog-distribution)
-  (define-key dpkg-changelog-mode-map "\C-c\C-u" 'dpkg-changelog-urgency)
-  (define-key dpkg-changelog-mode-map "\C-c\C-e"
-    'dpkg-changelog-unfinalise-last-version))
-
-(defun dpkg-changelog-add-entry ()
-  "Add a new change entry to a dpkg-style changelog."
+  (setq debian-changelog-mode-map (make-sparse-keymap))
+  (define-key debian-changelog-mode-map "\C-c\C-a" 'debian-changelog-add-entry)
+  (define-key debian-changelog-mode-map "\C-c\C-f"
+    'debian-changelog-finalise-last-version)
+  (define-key debian-changelog-mode-map "\C-c\C-c" 'debian-changelog-finalise-and-save)
+  (define-key debian-changelog-mode-map "\C-c\C-v" 'debian-changelog-add-version)
+  (define-key debian-changelog-mode-map "\C-c\C-d" 'debian-changelog-distribution)
+  (define-key debian-changelog-mode-map "\C-c\C-u" 'debian-changelog-urgency)
+  (define-key debian-changelog-mode-map "\C-c\C-e"
+    'debian-changelog-unfinalise-last-version))
+
+(defun debian-changelog-add-entry ()
+  "Add a new change entry to a debian-style changelog."
   (interactive)
   (interactive)
-  (if (eq (dpkg-changelog-finalised-p) t)
+  (if (eq (debian-changelog-finalised-p) t)
       (error "most recent version has been finalised - use ^c^e or ^c^v"))
       (error "most recent version has been finalised - use ^c^e or ^c^v"))
   (goto-char (point-min))
   (goto-char (point-min))
   (re-search-forward "\n --")
   (re-search-forward "\n --")
@@ -58,7 +59,7 @@
   (insert "  * ")
   (insert "  * ")
   (save-excursion (insert "\n")))
   (save-excursion (insert "\n")))
 
 
-(defun dpkg-changelog-headervalue (arg re alist)
+(defun debian-changelog-headervalue (arg re alist)
   (let (a b v k
   (let (a b v k
         (lineend (save-excursion (end-of-line) (point))))
         (lineend (save-excursion (end-of-line) (point))))
     (save-excursion
     (save-excursion
@@ -78,28 +79,28 @@
       (if arg nil (insert (cdr v))))
       (if arg nil (insert (cdr v))))
     (if arg (goto-char a))))
     (if arg (goto-char a))))
 
 
-(defun dpkg-changelog-urgency (arg)
+(defun debian-changelog-urgency (arg)
   "Without argument, prompt for a key for a new urgency value (using
   "Without argument, prompt for a key for a new urgency value (using
-dpkg-changelog-urgencies).  With argument, delete the current urgency
+debian-changelog-urgencies).  With argument, delete the current urgency
 and position the cursor to type a new one."
 and position the cursor to type a new one."
   (interactive "P")
   (interactive "P")
-  (dpkg-changelog-headervalue
+  (debian-changelog-headervalue
    arg
    arg
    "\\;[^\n]* urgency=\\(\\sw+\\)"
    "\\;[^\n]* urgency=\\(\\sw+\\)"
-   dpkg-changelog-urgencies))
+   debian-changelog-urgencies))
 
 
-(defun dpkg-changelog-distribution (arg)
+(defun debian-changelog-distribution (arg)
   "Without argument, prompt for a key for a new distribution value (using
   "Without argument, prompt for a key for a new distribution value (using
-dpkg-changelog-distributions).  With argument, delete the current distribution
+debian-changelog-distributions).  With argument, delete the current distribution
 and position the cursor to type a new one."
 and position the cursor to type a new one."
   (interactive "P")
   (interactive "P")
-  (dpkg-changelog-headervalue
+  (debian-changelog-headervalue
    arg
    arg
    ") \\(.*\\)\\;"
    ") \\(.*\\)\\;"
-   dpkg-changelog-distributions))
+   debian-changelog-distributions))
 
 
-(defun dpkg-changelog-finalised-p ()
-  "Check whether the most recent dpkg-style changelog entry is
+(defun debian-changelog-finalised-p ()
+  "Check whether the most recent debian-style changelog entry is
 finalised yet (ie, has a maintainer name and email address and a
 finalised yet (ie, has a maintainer name and email address and a
 release date."
 release date."
   (save-excursion
   (save-excursion
@@ -118,10 +119,10 @@ release date."
       nil)
       nil)
      ("finalisation line has bad format (not ` -- maintainer <email>  date')"))))
      ("finalisation line has bad format (not ` -- maintainer <email>  date')"))))
 
 
-(defun dpkg-changelog-add-version ()
-  "Add a new version section to a dpkg-style changelog file."
+(defun debian-changelog-add-version ()
+  "Add a new version section to a debian-style changelog file."
   (interactive)
   (interactive)
-  (let ((f (dpkg-changelog-finalised-p)))
+  (let ((f (debian-changelog-finalised-p)))
     (and (stringp f) (error f))
     (and (stringp f) (error f))
     (or f (error "previous version not yet finalised")))
     (or f (error "previous version not yet finalised")))
   (goto-char (point-min))
   (goto-char (point-min))
@@ -133,30 +134,30 @@ release date."
            (let ((pkg (read-string "Package name: "))
            (let ((pkg (read-string "Package name: "))
                  (ver (read-version "New version (including any revision): ")))
                  (ver (read-version "New version (including any revision): ")))
              (concat pkg " (" ver ") unstable; urgency="
              (concat pkg " (" ver ") unstable; urgency="
-                     (cdr (car dpkg-changelog-urgencies)))))))
+                     (cdr (car debian-changelog-urgencies)))))))
     (insert headstring "\n\n  * ")
     (insert headstring "\n\n  * ")
     (save-excursion
     (save-excursion
       (if (re-search-backward "\;[^\n]* urgency=\\(\\sw+\\)" (point-min) t)
       (if (re-search-backward "\;[^\n]* urgency=\\(\\sw+\\)" (point-min) t)
           (progn (goto-char (match-beginning 1))
           (progn (goto-char (match-beginning 1))
                  (delete-region (point) (match-end 1))
                  (delete-region (point) (match-end 1))
-                 (insert (cdr (car dpkg-changelog-urgencies))))))
+                 (insert (cdr (car debian-changelog-urgencies))))))
     (save-excursion (insert "\n\n --\n\n"))))
     (save-excursion (insert "\n\n --\n\n"))))
 
 
-(defun dpkg-changelog-finalise-and-save ()
-  "Finalise, if necessary, and then save a dpkg-style changelog file."
+(defun debian-changelog-finalise-and-save ()
+  "Finalise, if necessary, and then save a debian-style changelog file."
   (interactive)
   (interactive)
-  (let ((f (dpkg-changelog-finalised-p)))
+  (let ((f (debian-changelog-finalised-p)))
     (and (stringp f) (error f))
     (and (stringp f) (error f))
-    (or f (dpkg-changelog-finalise-last-version)))
+    (or f (debian-changelog-finalise-last-version)))
   (save-buffer))
   (save-buffer))
 
 
-(defun dpkg-changelog-finalise-last-version ()
+(defun debian-changelog-finalise-last-version ()
   "Remove the `finalisation' information (maintainer's name and email
   "Remove the `finalisation' information (maintainer's name and email
 address and release date) so that new entries can be made."
 address and release date) so that new entries can be made."
   (interactive)
   (interactive)
   (or add-log-full-name (setq add-log-full-name (user-full-name)))
   (or add-log-full-name (setq add-log-full-name (user-full-name)))
   (or add-log-mailing-address (setq add-log-mailing-address user-mail-address))
   (or add-log-mailing-address (setq add-log-mailing-address user-mail-address))
-  (and (dpkg-changelog-finalised-p) (dpkg-changelog-unfinalise-last-version))
+  (and (debian-changelog-finalised-p) (debian-changelog-unfinalise-last-version))
   (save-excursion
   (save-excursion
     (goto-char (point-min))
     (goto-char (point-min))
     (re-search-forward "\n --\\([ \t]*\\)")
     (re-search-forward "\n --\\([ \t]*\\)")
@@ -170,11 +171,11 @@ address and release date) so that new entries can be made."
         (error (concat "expected newline after date from " dp)))
         (error (concat "expected newline after date from " dp)))
     (delete-char 1)))
     (delete-char 1)))
 
 
-(defun dpkg-changelog-unfinalise-last-version ()
+(defun debian-changelog-unfinalise-last-version ()
   "Remove the `finalisation' information (maintainer's name and email
   "Remove the `finalisation' information (maintainer's name and email
 address and release date) so that new entries can be made."
 address and release date) so that new entries can be made."
   (interactive)
   (interactive)
-  (if (dpkg-changelog-finalised-p) nil
+  (if (debian-changelog-finalised-p) nil
     (error "most recent version is not finalised"))
     (error "most recent version is not finalised"))
   (save-excursion
   (save-excursion
     (goto-char (point-min))
     (goto-char (point-min))
@@ -183,18 +184,22 @@ address and release date) so that new entries can be made."
       (end-of-line)
       (end-of-line)
       (delete-region dels (point)))))
       (delete-region dels (point)))))
 
 
-(defun dpkg-changelog-mode ()
-  "Major mode for editing dpkg-style change logs.
-Runs `dpkg-changelog-mode-hook'."
+(defun debian-changelog-mode ()
+  "Major mode for editing Debian-style change logs.
+Runs `debian-changelog-mode-hook' if it exists.
+
+Key bindings:
+
+\\{dpkg-changelog-mode-map}"
   (interactive)
   (interactive)
   (kill-all-local-variables)
   (kill-all-local-variables)
   (text-mode)
   (text-mode)
-  (setq major-mode 'dpkg-changelog-mode
-	mode-name "dpkg changelog"
+  (setq major-mode 'debian-changelog-mode
+	mode-name "Debian changelog"
         left-margin 2
         left-margin 2
-	fill-prefix "    "
+	fill-prefix "  "
 	fill-column 74)
 	fill-column 74)
-  (use-local-map dpkg-changelog-mode-map)
+  (use-local-map debian-changelog-mode-map)
   ;; Let each entry behave as one paragraph:
   ;; Let each entry behave as one paragraph:
   (set (make-local-variable 'paragraph-start) "\\*")
   (set (make-local-variable 'paragraph-start) "\\*")
   (set (make-local-variable 'paragraph-separate) "\\*\\|\\s-*$|\\S-")
   (set (make-local-variable 'paragraph-separate) "\\*\\|\\s-*$|\\S-")
@@ -203,6 +208,6 @@ Runs `dpkg-changelog-mode-hook'."
   ;; is grouped with what follows.
   ;; is grouped with what follows.
   (set (make-local-variable 'page-delimiter) "^\\<")
   (set (make-local-variable 'page-delimiter) "^\\<")
   (set (make-local-variable 'version-control) 'never)
   (set (make-local-variable 'version-control) 'never)
-  (run-hooks 'dpkg-changelog-mode-hook))
+  (run-hooks 'debian-changelog-mode-hook))
 
 
-(provide 'dpkg-changelog)
+(provide 'debian-changelog)

+ 1 - 1
scripts/dpkg-parsechangelog.pl

@@ -3,7 +3,7 @@
 $dpkglibdir= ".";
 $dpkglibdir= ".";
 $version= '1.3.0'; # This line modified by Makefile
 $version= '1.3.0'; # This line modified by Makefile
 
 
-$format='dpkg';
+$format='debian';
 $changelogfile='debian/changelog';
 $changelogfile='debian/changelog';
 @parserpath= ("/usr/local/lib/dpkg/parsechangelog",
 @parserpath= ("/usr/local/lib/dpkg/parsechangelog",
               "$dpkglibdir/parsechangelog");
               "$dpkglibdir/parsechangelog");

+ 4 - 3
scripts/dpkg-source.1

@@ -143,7 +143,9 @@ This option is understood by
 Specifies the format of the changelog.  By default the format is read
 Specifies the format of the changelog.  By default the format is read
 from a special line near the bottom of the changelog (see the
 from a special line near the bottom of the changelog (see the
 programmers' manual) or failing that defaults to
 programmers' manual) or failing that defaults to
-.BR dpkg .
+.BR debian ,
+the standard format described in the
+.IR "dpkg programmers' manual" .
 This option is understood by
 This option is understood by
 .BR dpkg-source ", " dpkg-gencontrol " and " dpkg-genchanges .
 .BR dpkg-source ", " dpkg-gencontrol " and " dpkg-genchanges .
 .SH DPKG-SOURCE OPTIONS
 .SH DPKG-SOURCE OPTIONS
@@ -387,8 +389,7 @@ not matter, since
 .BR $ ", " { " and " }
 .BR $ ", " { " and " }
 are not legal in package names or version numbers.
 are not legal in package names or version numbers.
 .SH SEE ALSO
 .SH SEE ALSO
-.B dpkg
-.IR "programmers' manual" ,
+.IR "dpkg programmers' manual" ,
 .IR "Debian policy manual" ,
 .IR "Debian policy manual" ,
 .BR dpkg\-deb (8),
 .BR dpkg\-deb (8),
 .BR dpkg (8),
 .BR dpkg (8),

+ 39 - 8
scripts/dpkg-source.pl

@@ -382,8 +382,7 @@ if ($opmode eq 'build') {
     defined($c2= open(CPIO,"-|")) || &syserr("fork for cpio");
     defined($c2= open(CPIO,"-|")) || &syserr("fork for cpio");
     if (!$c2) {
     if (!$c2) {
         open(STDIN,"<&GZIP") || &syserr("reopen gzip for cpio");
         open(STDIN,"<&GZIP") || &syserr("reopen gzip for cpio");
-        open(STDERR,"| egrep -v '^[0-9]+ blocks\$' >&2") ||
-            &syserr("reopen stderr for cpio to grep out blocks message");
+        &cpiostderr;
         exec('cpio','-0t'); &syserr("exec cpio");
         exec('cpio','-0t'); &syserr("exec cpio");
     }
     }
     $/= "\0";
     $/= "\0";
@@ -394,7 +393,7 @@ if ($opmode eq 'build') {
         $fn =~ m/\n/ &&
         $fn =~ m/\n/ &&
             &error("tarfile contains object with newline in its name ($pname)");
             &error("tarfile contains object with newline in its name ($pname)");
         $slash= substr($fn,length($expectprefix),1);
         $slash= substr($fn,length($expectprefix),1);
-        (($slash || '/' || $slash eq '') &&
+        (($slash eq '/' || $slash eq '') &&
          substr($fn,0,length($expectprefix)) eq $expectprefix) ||
          substr($fn,0,length($expectprefix)) eq $expectprefix) ||
              &error("tarfile contains object ($pname) not in expected directory".
              &error("tarfile contains object ($pname) not in expected directory".
                     " ($expectprefix)");
                     " ($expectprefix)");
@@ -529,6 +528,32 @@ if ($opmode eq 'build') {
         }
         }
     }
     }
 
 
+    $execmode= 0777 & ~umask;
+    (@s= stat('.')) || &syserr("cannot stat \`.'");
+    $dirmode= $execmode | ($s[2] & 02000);
+    $plainmode= $execmode & ~0111;
+    $fifomode= ($plainmode & 0222) | (($plainmode & 0222) << 1);
+    for $fn (@filesinarchive) {
+        $fn= substr($fn,length($expectprefix)+1);
+        $fn= "$newdirectory/$fn";
+        (@s= lstat($fn)) || &syserr("cannot stat extracted object \`$fn'");
+        $mode= $s[2];
+        if (-d _) {
+            $newmode= $dirmode;
+        } elsif (-f _) {
+            $newmode= ($mode & 0111) ? $execmode : $plainmode;
+        } elsif (-p _) {
+            $newmode= $fifomode;
+        } elsif (!-l _) {
+            &internerr("unknown object \`$fn' after extract (mode ".
+                       sprintf("0%o",$mode).")");
+        }
+printf STDERR "mode %07o newmode %07o %s\n",$mode,$newmode,$fn;
+        next if ($mode & 07777) == $newmode;
+        chmod($newmode,$fn) ||
+            &syserr(sprintf("cannot change mode of \`%s' to 0%o from 0%o",
+                            $fn,$newmode,$mode));
+    }
     exit(0);
     exit(0);
 }
 }
 
 
@@ -556,17 +581,23 @@ sub erasedir {
 
 
 sub extracttar {
 sub extracttar {
     &forkgzipread("$dscdir/$tarfile");
     &forkgzipread("$dscdir/$tarfile");
-    defined($c2= fork) || &syserr("fork for tar -x");
+    defined($c2= fork) || &syserr("fork for cpio -i");
     if (!$c2) {
     if (!$c2) {
-        open(STDIN,"<&GZIP") || &syserr("reopen gzip for tar -x");
-        exec('tar','-xf','-'); &syserr("exec tar -x");
+        open(STDIN,"<&GZIP") || &syserr("reopen gzip for cpio -i");
+        &cpiostderr;
+        exec('cpio','-Hustar','-im','--no-preserve-owner'); &syserr("exec cpio -i");
     }
     }
     close(GZIP);
     close(GZIP);
-    $c2 == waitpid($c2,0) || &syserr("wait for tar -x");
-    $? && subprocerr("tar -x");
+    $c2 == waitpid($c2,0) || &syserr("wait for cpio -i");
+    $? && subprocerr("cpio -i");
     &reapgzip;
     &reapgzip;
 }
 }
 
 
+sub cpiostderr {
+    open(STDERR,"| egrep -v '^[0-9]+ blocks\$' >&2") ||
+        &syserr("reopen stderr for cpio to grep out blocks message");
+}
+
 sub setfile {
 sub setfile {
     my ($varref)= @_;
     my ($varref)= @_;
     &error("repeated file type - files ".$$varref." and $file") if length($$varref);
     &error("repeated file type - files ".$$varref." and $file") if length($$varref);

+ 1 - 1
version.h

@@ -1 +1 @@
-#define DPKG_VERSION "1.3.2" /* This line modified by Makefile */
+#define DPKG_VERSION "1.3.3" /* This line modified by Makefile */