Browse Source

Merge branch 'master' of ssh://git.debian.org/git/dpkg/dpkg

Conflicts:

	man/po/pl.po
Robert Luberda 19 years ago
parent
commit
be0f3cb1f1
98 changed files with 31918 additions and 24335 deletions
  1. 191 0
      ChangeLog
  2. 1 1
      THANKS
  3. 0 2
      TODO
  4. 1 1
      configure.ac
  5. 71 7
      debian/changelog
  6. 2 0
      debian/control
  7. 1 1
      debian/copyright
  8. 1 0
      debian/dpkg-dev.install
  9. 19 0
      dpkg-deb/build.c
  10. 9 1
      dselect/po/ChangeLog
  11. 2 2
      dselect/po/et.po
  12. 10 6
      dselect/po/fr.po
  13. 12 19
      dselect/po/ko.po
  14. 14 7
      dselect/po/pt.po
  15. 4 3
      dselect/po/ro.po
  16. 1 2
      dselect/po/sv.po
  17. 2 2
      lib/mlib.c
  18. 1 1
      m4/perl.m4
  19. 75 2
      man/ChangeLog
  20. 9 1
      man/deb-control.5
  21. 14 1
      man/dpkg-buildpackage.1
  22. 2 2
      man/dpkg-deb.1
  23. 2 0
      man/dpkg-query.1
  24. 4 2
      man/dpkg-scanpackages.1
  25. 42 20
      man/dpkg-source.1
  26. 327 204
      man/po/de.po
  27. 207 152
      man/po/dpkg-man.pot
  28. 225 161
      man/po/es.po
  29. 234 163
      man/po/fr.po
  30. 224 159
      man/po/hu.po
  31. 228 160
      man/po/ja.po
  32. 221 159
      man/po/pt_BR.po
  33. 224 159
      man/po/ru.po
  34. 1 1
      man/po/sv.add
  35. 232 162
      man/po/sv.po
  36. 2 2
      man/start-stop-daemon.8
  37. 44 3
      po/ChangeLog
  38. 590 533
      po/bs.po
  39. 633 551
      po/ca.po
  40. 630 549
      po/cs.po
  41. 678 590
      po/da.po
  42. 609 559
      po/de.po
  43. 579 531
      po/dpkg.pot
  44. 631 549
      po/dz.po
  45. 634 549
      po/el.po
  46. 634 549
      po/es.po
  47. 610 546
      po/et.po
  48. 849 791
      po/eu.po
  49. 639 550
      po/fr.po
  50. 631 549
      po/gl.po
  51. 621 547
      po/hu.po
  52. 633 548
      po/id.po
  53. 633 551
      po/it.po
  54. 631 549
      po/ja.po
  55. 630 549
      po/km.po
  56. 669 584
      po/ko.po
  57. 596 534
      po/ku.po
  58. 631 549
      po/mr.po
  59. 631 549
      po/nb.po
  60. 720 603
      po/ne.po
  61. 633 549
      po/nl.po
  62. 634 549
      po/nn.po
  63. 604 536
      po/pa.po
  64. 635 553
      po/pl.po
  65. 713 623
      po/pt.po
  66. 633 551
      po/pt_BR.po
  67. 637 552
      po/ro.po
  68. 633 550
      po/ru.po
  69. 631 549
      po/sk.po
  70. 637 553
      po/sv.po
  71. 636 549
      po/tl.po
  72. 1019 857
      po/vi.po
  73. 631 552
      po/zh_CN.po
  74. 630 549
      po/zh_TW.po
  75. 1 0
      scripts/822-date.pl
  76. 1 1
      scripts/Dpkg.pm
  77. 38 0
      scripts/Dpkg/BuildOptions.pm
  78. 2 1
      scripts/Makefile.am
  79. 0 4
      scripts/changelog/debian.pl
  80. 2 1
      scripts/controllib.pl
  81. 445 0
      scripts/dpkg-buildpackage.pl
  82. 0 291
      scripts/dpkg-buildpackage.sh
  83. 3 3
      scripts/dpkg-divert.pl
  84. 8 5
      scripts/dpkg-genchanges.pl
  85. 16 17
      scripts/dpkg-gencontrol.pl
  86. 1 1
      scripts/dpkg-name.sh
  87. 1 1
      scripts/dpkg-scanpackages.pl
  88. 57 10
      scripts/dpkg-source.pl
  89. 18 0
      scripts/po/ChangeLog
  90. 2 0
      scripts/po/LINGUAS
  91. 1 0
      scripts/po/POTFILES.in
  92. 605 452
      scripts/po/ca.po
  93. 601 452
      scripts/po/dpkg-dev.pot
  94. 649 487
      scripts/po/fr.po
  95. 2746 0
      scripts/po/sv.po
  96. 4 2
      scripts/update-alternatives.pl
  97. 2 1
      src/cleanup.c
  98. 8 7
      src/remove.c

+ 191 - 0
ChangeLog

@@ -1,3 +1,194 @@
+2007-09-24  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-buildpackage.pl (signfile): Do not use absolute path
+	for 'rm'.
+
+2007-09-24  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-buildpackage.pl (usage): Fix typo
+	s/dpkg-genchangs/dpkg-genchanges/.
+
+2007-09-24  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-buildpackage.pl ($warnable_errors): Rename to ...
+	($warnable_error): ... this, and declare as 'our'.
+
+2007-09-24  Jari Aalto  <jari.aalto@cante.net>
+            Frank Lichtenheld  <djpig@debian.org>
+
+	* scripts/dpkg-source.pl: Allow use of -I
+	without filename pattern and load a list
+	of default patterns which is in effect as
+	similar as possible to the default regexp
+	of -i.
+
+2007-09-23  Frank Lichtenheld  <djpig@debian.org>
+
+	* scripts/dpkg-buildpackage.pl: Add new option
+	-j[<number>] that works like the make option of
+	the same name. It will be passed to debian/rules in
+	the MAKEFLAGS environment variable. Also the
+	parallel=<n> DEB_BUILD_OPTIONS option will be honored
+	and set correctly. The finally used value is determined by the
+	following order: -j > DEB_BUILD_OPTIONS > MAKEFLAGS.
+	Based on an idea by Robert Millan <rmh@aybabtu.com>.
+	* scripts/Dpkg/BuildOptions.pm: Added. Support code
+	for DEB_BUILD_OPTIONS handling by dpkg-buildpackage.
+	* scripts/Makefile.am: Adapt.
+
+2007-09-23  Jari Aalto  <jari.aalto@cante.net>
+
+	* scripts/dpkg-source.pl ($diff_ignore_default_regexp): Add
+	_MTN for monotone.
+
+2007-09-20  Frank Lichtenheld  <djpig@debian.org>
+
+	* scripts/dpkg-sources.pl (version): Don't use
+	printf if we don't need it, use print instead.
+
+	* scripts/dpkg-buildpackage.sh (usage): Fix typo
+	s/dpkg-genchangs/dpkg-genchanges/
+
+	* scripts/Dpkg.pm: Make the regex for determining
+	$progname more robust.
+
+	* scripts/dpkg-buildpackage.sh: Move to...
+	* scripts/dpkg-buildpackage.pl: Convert from
+	Shell to Perl.
+	* scripts/Makefile.am: Adapt to move.
+	* scripts/po/POTFILES.in: Add dpkg-buildpackage.pl.
+
+2007-09-18  Guillem Jover  <guillem@debian.org>
+
+	* lib/mlib.c (checksubprocerr): Warn instead of erroring out in case
+	of receiving a signal and having been asked to only warn.
+
+2007-09-18  Guillem Jover  <guillem@debian.org>
+
+	* src/remove.c (deferred_remove): Remove duplicate nested conditional,
+	and move its contents to the outer one.
+
+2007-09-14  Brian M. Carlson  <sandals@crustytoothpaste.ath.cx>
+
+	* src/remove.c (deferred_remove): Store the previous package status
+	when calling '<prerm> remove' and pass it to push_cleanup.
+	* src/cleanup.c (cu_prermremove): Restore previous stored status if
+	the '<postinst> abort-remove' call succeeds.
+
+2007-09-08  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-buildpackage.sh: Use fakeroot, if present, as default
+	value for the '-r' option.
+
+2007-09-06  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-genchanges.pl: Stop recognizing the obsolete Optional
+	field.
+	* scripts/dpkg-gencontrol.pl: Likewise.
+	* scripts/dpkg-source.pl: Likewise.
+
+2007-09-06  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-name.sh: Avoid escaped quotes messing with syntax
+	highlighting by using $() instead of backticks.
+	* scripts/dpkg-buildpackage.sh: Likewise.
+
+2007-09-06  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-genchanges.pl ($host_arch): Do not declare as 'our'.
+	* scripts/dpkg-gencontrol.pl ($host_arch): Likewise.
+
+2007-09-06  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-genchanges.pl (%fieldimps): Remove unused variable.
+	* scripts/dpkg-gencontrol.pl (%fieldimps): Likewise.
+	* scripts/dpkg-source.pl (%fieldimps): Likewise.
+	* scripts/controllib.pl (%fieldimps): Switch from 'our' to 'my'.
+
+2007-09-06  Guillem Jover  <guillem@debian.org>
+
+	* scripts/822-date.pl: Add $dpkglib into @INC, needed by the
+	controllib.pl require.
+
+2007-09-06  Guillem Jover  <guillem@debian.org>
+
+	* configure.ac: Bump version to 1.14.7~.
+
+2007-09-05  Guillem Jover  <guillem@debian.org>
+
+	* configure.ac: Release 1.14.6.
+
+2007-09-05  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-gencontrol.pl: Properly override Homepage field from
+	binary package stanzas.
+
+2007-08-31  Guillem Jover  <guillem@debian.org>
+
+	* dpkg-deb/build.c (arbitrary_fields): Add Tag.
+	* scripts/dpkg-genchanges.pl: Ignore Tag field.
+	* scripts/dpkg-gencontrol.pl: Parse Tag from binary package stanza.
+	(@control_fields): Add Tag.
+	* scripts/dpkg-scanpackages.pl (@fieldpri): Add Tag.
+	* scripts/dpkg-source.pl: Ignore Tag field from binary package stanza.
+
+2007-08-31  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-genchanges.pl: Ignore Vcs-Browser, Vcs-Arch, Vcs-Bzr,
+	Vcs-Cvs, Vcs-Darcs, Vcs-Git, Vcs-Hg, Vcs-Mtn and Vcs-Svn fields
+	from control file source stanza.
+	* scripts/dpkg-gencontrol.pl: Likewise.
+	* scripts/dpkg-source.pl: Parse them instead.
+	(@dsc_fields): Add them here.
+
+2007-08-31  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-genchanges.pl: Do not leave unknown fields unwarned
+	and explicitely ignore all known ones from control file source
+	package stanza.
+
+2007-08-30  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-genchanges.pl: Ignore XB- fields instead of XC- fields
+	from control file binary package stanzas.
+
+2007-08-28  Guillem Jover  <guillem@debian.org>
+
+	* scripts/update-alternatives.pl: Fix regression introduced on commit
+	from 2007-08-08, which was producing a warning due to usage of
+	uninitialized variables.
+
+2007-08-28  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-gencontrol.pl: Add comments about the second pass
+	parsing for dependency fields. Remove handling of uninteresting fields
+	in the second pass parsing.
+
+2007-08-24  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-gencontrol.pl: Allow a package stanza to override the
+	Homepage field from the source stanza.
+
+2007-08-20  Guillem Jover  <guillem@debian.org>
+
+	* dpkg-deb/build.c (arbitrary_fields): New variable.
+	(known_arbitrary_field): New function.
+	(do_build): Call known_arbitrary_field to not warn on known arbitrary
+	fields.
+	* scripts/dpkg-genchanges.pl: Ignore Homepage field.
+	* scripts/dpkg-gencontrol.pl: Parse Homepage from source package
+	stanza.
+	(@control_fields): Add Homepage.
+	* scripts/dpkg-scanpackages.pl (@fieldpri): Add Homepage.
+	* scripts/dpkg-source.pl: Parse Homepage from source package stanza.
+	(@dsc_fields): Add Homepage.
+
+2007-08-18  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-divert.pl (infol): Check if parameters are defined
+	before using them. Use defined instead of length to check for undef
+	variables.
+
 2007-08-14  Guillem Jover  <guillem@debian.org>
 
 	* lib/parsehelp.c (parseerr): Switch from ternary operator to compose

+ 1 - 1
THANKS

@@ -12,7 +12,7 @@ Charles Briscoe-Smith <cpbs@debian.org>
 Christian Haggstrom <chm@c00.info>
 Christophe Le Bars <clebars@teaser.fr>
 Colin Plumb <colin@nyx.net>
-Colin Watson <cjw44@flatline.org.uk>
+Colin Watson <cjwatson@debian.org>
 Dan Gohman <gohmandj@mrs.umn.edu>
 Daniel Jacobowitz <dan@debian.org>
 Darren Stalder <torin@daft.com>

+ 0 - 2
TODO

@@ -18,8 +18,6 @@ lenny
    - Add field Package-Type and friends.
    - Generate proper Packages files. (#383916)
 
- * Support Tag field.
-
 1.14.y
 ------
 

+ 1 - 1
configure.ac

@@ -1,7 +1,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT([dpkg], [1.14.6~], [debian-dpkg@lists.debian.org])
+AC_INIT([dpkg], [1.14.7~], [debian-dpkg@lists.debian.org])
 AC_CONFIG_SRCDIR([lib/dpkg.h])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([config])

+ 71 - 7
debian/changelog

@@ -1,4 +1,56 @@
-dpkg (1.14.6) UNRELEASED; urgency=low
+dpkg (1.14.7) UNRELEASED; urgency=low
+
+  [ Guillem Jover ]
+  * Add back $dpkglib into @INC, needed by the controllib.pl require in
+    822-date. Closes: #440962
+  * Document in dpkg-scanpackages that apt now requires Packages.bz2 in
+    preference to Packages.gz. Closes: #440973
+  * Stop recognizing the obsolete Optional field when building packages.
+  * Use fakeroot, if present, by default to gain root privileges in
+    dpkg-buildpackage.
+  * Fix typos in dpkg-deb.1 and start-stop-daemon.8. Closes: #441051
+    Thanks to A. Costa.
+  * After '<prerm> remove' fails and while doing the error unwinding, if
+    the '<postinst> abort-remove' call succeeds, preserve the old status
+    instead of unconditionally setting it to 'Installed'. Closes: #432893
+    Thanks to Brian M. Carlson.
+  * Add Vcs-Browser and Vcs-Git fields to debian/control.
+
+  [ Frank Lichtenheld ]
+  * Add _MTN to dpkg-source -i default regex. Suggested by Jari Aalto.
+  * Convert dpkg-buildpackage to a Perl script.
+  * dpkg-buildpackage accepts a -j<n> option now which will set
+    MAKEFLAGS(-j<n>) and DEB_BUILD_OPTIONS(parallel=<n>) accordingly.
+    parallel=<n> in DEB_BUILD_OPTIONS will be passed to MAKEFLAGS as
+    well. Based on an idea by Robert Millan. Closes: #440636
+  * Allow dpkg-source -I without a pattern which will load a default
+    list of pattern similar to -i without regexp. Patch by
+    Jari Aalto. Closes: #440972
+  * Rework documentation of dpkg-source's -i and -I options.
+    Closes: #323911, #440956
+
+  [ Updated dpkg translations ]
+  * Basque (Piarres Beobide). Closes: #440859
+  * Danish (Claus Hindsgaul). Closes: #441106
+  * French (Frédéric Bothamy).
+  * German (Sven Joachim). Closes: #440537
+  * Nepali (Shiva Prasad Pokharel). Closes: #437825
+  * Portuguese (Miguel Figueiredo). Closes: #441113
+  * Romanian (Eddy Petri?or).
+  * Vietnamese (Clytie Siddall). Closes: #440502
+  * Korean (Sunjae Park). Closes: #443190
+
+  [ Updated man pages translations ]
+  * German (Helge Kreutzmann).
+  * Swedish (Peter Karlsson).
+  * Korean (Sunjae Park). Closes: #443191
+
+  [ Updated scripts translations ]
+  * Correct a typo in the French translation. Closes: #443276
+
+ -- Frank Lichtenheld <djpig@debian.org>  Sun, 23 Sep 2007 02:40:20 +0200
+
+dpkg (1.14.6) unstable; urgency=low
 
   [ Frank Lichtenheld ]
   * Synchronise usage information of dpkg, dpkg-deb, and
@@ -11,7 +63,7 @@ dpkg (1.14.6) UNRELEASED; urgency=low
     - Unify ellipsis, argument separator, and remove redundant program name
       preceding the options.
     - Substitute 'FILES' header with 'SEE ALSO' in dpkg-buildpackage(1),
-      and remove leftover string from man page split.
+      and remove leftover string from man page split. Closes: #439306
     - Split option descriptions so that it gets easier to distinguish.
     - Unify author and copyright information formatting.
   * Move variables automatically modified at build time for the perl scripts
@@ -35,27 +87,39 @@ dpkg (1.14.6) UNRELEASED; urgency=low
     to a directory where the existing symlink on-disk points to the
     same place. Closes: #377682
     Thanks to Ian Jackson.
+  * Fix perl warnings:
+    - When removing a non diverted file with dpkg-divert. Closes: #438416
+  * Implement support for Homepage field. Closes: #142324
+  * Ignore XB- fields instead of XC- fields from control file binary package
+    stanzas in dpkg-genchanges.
+  * Explicitely ignore all known fields from the control file source package
+    stanza in dpkg-genchanges, instead of leaving unknown fields unwarned.
+  * Implement support for Vcs-Browser, Vcs-Arch, Vcs-Bzr, Vcs-Cvs, Vcs-Darcs,
+    Vcs-Git, Vcs-Hg, Vcs-Mtn and Vcs-Svn fields in control file source
+    package stanza.
+  * Implement support for Tag field.
 
   [ Updated scripts translations ]
   * French (Frédéric Bothamy, Christian Perrier).
+  * Swedish (Peter Karlsson).
 
   [ Updated dpkg translations ]
   * Dzongkha (Tshewang Norbu). Closes: #430931
-  * Swedish (Peter Karlsson).
   * Nepali (Shiva Prasad Pokharel). Closes: #435353
-  * Russian (Yuri Kozlov). Closes: #436147
   * Polish (Robert Luberda).
+  * Russian (Yuri Kozlov). Closes: #436147
+  * Swedish (Peter Karlsson).
 
   [ Updated dselect translations ]
-  * Swedish (Peter Karlsson).
   * Russian (Yuri Kozlov). Closes: #436149
+  * Swedish (Peter Karlsson).
 
   [ Updated man pages translations ]
   * German (Helge Kreutzmann).
-  * Swedish (Peter Karlsson).
   * Polish (Robert Luberda).
+  * Swedish (Peter Karlsson).
 
- -- Frank Lichtenheld <djpig@debian.org>  Tue, 03 Jul 2007 01:47:56 +0200
+ -- Guillem Jover <guillem@debian.org>  Wed, 05 Sep 2007 07:36:02 +0300
 
 dpkg (1.14.5) unstable; urgency=low
 

+ 2 - 0
debian/control

@@ -5,6 +5,8 @@ Maintainer: Dpkg Developers <team@dpkg.org>
 Uploaders: Frank Lichtenheld <djpig@debian.org>, Guillem Jover <guillem@debian.org>, Brendan O'Dea <bod@debian.org>, Christian Perrier <bubulle@debian.org>
 Origin: debian
 Bugs: debbugs://bugs.debian.org
+Vcs-Browser: http://git.debian.org/?p=dpkg/dpkg.git
+Vcs-Git: git://git.debian.org/git/dpkg/dpkg.git
 Standards-Version: 3.7.2
 Build-Depends: debhelper (>= 4.1.81), pkg-config, po4a (>= 0.23),
  libncurses5-dev | libncurses-dev, zlib1g-dev (>= 1:1.1.3-19.1), libbz2-dev,

+ 1 - 1
debian/copyright

@@ -1,6 +1,6 @@
 This is Debian's package maintenance system.
 
-Copyright © 2006 Frank Lichtenheld <djpig@debian.org>
+Copyright © 2006-2007 Frank Lichtenheld <djpig@debian.org>
 Copyright © 2004-2005 Scott James Remnant <scott@netsplit.com>
 Copyright © 2004-2005 Canonical Ltd.
 Copyright © 1999-2002 Wichert Akkerman <wakkerma@debian.org>

+ 1 - 0
debian/dpkg-dev.install

@@ -55,3 +55,4 @@ usr/share/man/*/*/dpkg-shlibdeps.1
 usr/share/man/*/dpkg-shlibdeps.1
 usr/share/man/*/*/dpkg-source.1
 usr/share/man/*/dpkg-source.1
+usr/share/perl5/Dpkg/BuildOptions.pm

+ 19 - 0
dpkg-deb/build.c

@@ -56,6 +56,22 @@ struct _finfo {
   struct _finfo* next;
 };
 
+const char *arbitrary_fields[]= {
+  "Homepage",
+  "Tag",
+  NULL
+};
+
+static int known_arbitrary_field(const struct arbitraryfield *field) {
+  const char **known;
+
+  for (known= arbitrary_fields; *known; known++)
+    if (strcasecmp(field->name, *known) == 0)
+      return 1;
+
+  return 0;
+}
+
 /* Do a quick check if vstring is a valid versionnumber. Valid in this case
  * means it contains at least one digit. If an error is found increment
  * *errs.
@@ -223,6 +239,9 @@ void do_build(const char *const *argv) {
       warns++;
     }
     for (field= checkedinfo->available.arbs; field; field= field->next) {
+      if (known_arbitrary_field(field))
+        continue;
+
       fprintf(stderr, _("warning, `%s' contains user-defined field `%s'\n"),
               controlfile, field->name);
       warns++;

+ 9 - 1
dselect/po/ChangeLog

@@ -1,8 +1,16 @@
+2007-09-19  Sunjae Park  <darehanl@gmail.com>
+
+	* ko.po: Updated to 285t.
+
+2007-08-18  Guillem Jover  <guillem@debian.org>
+
+	* *.po: Merged with dselect.pot.
+
 2007-08-06  Yuri Kozlov  <kozlov.y@gmail.com>
 
 	* ru.po: Updated to 285t.
 
-2007-07-29  Peter Karlsson <peterk@debian.org>
+2007-07-29  Peter Karlsson  <peterk@debian.org>
 
 	* sv.po: Updated to 285t.
 

+ 2 - 2
dselect/po/et.po

@@ -564,8 +564,8 @@ msgid ""
 "  /                search (just return to cancel)\n"
 "  \\                repeat last search\n"
 msgstr ""
-"Liikumisklahvid: Eelmine/Järgmine, Algusesse/Lõppu, Üles/Alla, "
-"Edasi/Tagasi:\n"
+"Liikumisklahvid: Eelmine/Järgmine, Algusesse/Lõppu, Üles/Alla, Edasi/"
+"Tagasi:\n"
 "  j, Nool alla          k, Nool üles            valiku liigutamine\n"
 "  N, Page-down, Tühik   P, Page-up, Backspace   nimekirja kerimine lehe "
 "võrra\n"

+ 10 - 6
dselect/po/fr.po

@@ -673,7 +673,8 @@ msgstr ""
 
 #: dselect/helpmsgs.cc:147
 msgid "Display, part 2: list highlight; information display"
-msgstr "Affichage, 2e partie : surlignage de la liste ; affichage d'informations"
+msgstr ""
+"Affichage, 2e partie : surlignage de la liste ; affichage d'informations"
 
 #: dselect/helpmsgs.cc:147
 msgid ""
@@ -1241,7 +1242,8 @@ msgstr "script de requ
 #: dselect/methparse.cc:53
 #, c-format
 msgid "syntax error in method options file `%.250s' -- %s"
-msgstr "erreur de syntaxe dans le fichier des options de méthode « %.250s » -- %s"
+msgstr ""
+"erreur de syntaxe dans le fichier des options de méthode « %.250s » -- %s"
 
 #: dselect/methparse.cc:58
 #, c-format
@@ -1251,7 +1253,8 @@ msgstr "erreur de lecture sur le fichier des options 
 #: dselect/methparse.cc:86
 #, c-format
 msgid "unable to read `%.250s' directory for reading methods"
-msgstr "impossible de lire le répertoire « %.250s » pour récupérer les méthodes"
+msgstr ""
+"impossible de lire le répertoire « %.250s » pour récupérer les méthodes"
 
 #: dselect/methparse.cc:100
 #, c-format
@@ -1270,7 +1273,8 @@ msgstr "impossible de lire le fichier des options de m
 
 #: dselect/methparse.cc:140
 msgid "non-digit where digit wanted"
-msgstr "caractère non numérique rencontré alors qu'un caractère numérique est attendu"
+msgstr ""
+"caractère non numérique rencontré alors qu'un caractère numérique est attendu"
 
 #: dselect/methparse.cc:143
 msgid "EOF in index string"
@@ -1322,7 +1326,8 @@ msgstr "impossible d'ouvrir le fichier de description d'option 
 #: dselect/methparse.cc:187
 #, c-format
 msgid "unable to stat option description file `%.250s'"
-msgstr "impossible d'analyser le nouveau fichier de description d'option « %.250s »"
+msgstr ""
+"impossible d'analyser le nouveau fichier de description d'option « %.250s »"
 
 #: dselect/methparse.cc:191
 #, c-format
@@ -1806,4 +1811,3 @@ msgstr "Vers. inst"
 #: dselect/pkgtop.cc:295
 msgid "Avail.ver"
 msgstr "Vers. dispo."
-

+ 12 - 19
dselect/po/ko.po

@@ -1,15 +1,16 @@
 # Chu-yeon Park <kokids@debian.org>, 2001.
 # Eungkyu Song <eungkyu@sparcs.kaist.ac.kr>, 2001.
 # Changwoo Ryu <cwryu@debian.org>, 2004.
+# Sunjae Park <darehanl@gmail.com>, 2007.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: dpkg\n"
 "Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
 "POT-Creation-Date: 2007-05-08 04:15+0300\n"
-"PO-Revision-Date: 2006-12-29 08:18+0900\n"
-"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
-"Language-Team: Korean <cwryu@debian.org>\n"
+"PO-Revision-Date: 2007-09-16 22:55-0400\n"
+"Last-Translator: Sunjae Park <darehanl@gmail.com>\n"
+"Language-Team: Korean <debian-l10n-korean@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
@@ -29,7 +30,7 @@ msgstr "도움말: "
 #: dselect/basecmds.cc:177
 msgid "Press ? for help menu, . for next topic, <space> to exit help."
 msgstr ""
-"도움말 메뉴는 ?, 다음 주제는 ., 도움말을 나가려면 <space>를 누르십시오."
+"도움말 메뉴는 ?, 다음 주제는 ., 도움말에서 나가시려면 <space>를 누르십시오."
 
 #: dselect/basecmds.cc:184
 msgid "Help information is available under the following topics:"
@@ -137,7 +138,6 @@ msgstr ""
 "\n"
 
 #: dselect/baselist.cc:259
-#, fuzzy
 msgid "Keybindings"
 msgstr "키바인딩"
 
@@ -301,7 +301,6 @@ msgid "Keystrokes"
 msgstr "키 입력"
 
 #: dselect/helpmsgs.cc:25
-#, fuzzy
 msgid ""
 "Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
 "  j, Down-arrow         k, Up-arrow             move highlight\n"
@@ -333,7 +332,7 @@ msgid ""
 "   D     set all to Directly requested state  n, \\  repeat last search\n"
 msgstr ""
 "이동 키: 이전/다음, 처음/끝, 위/아래, 앞/뒤:\n"
-"  n, 아래 화살표         p, 위 화살표            반전 막대 이동\n"
+"  j, 아래 화살표         k, 위 화살표            반전 막대 이동\n"
 "  N, Page-down, 스페이스 P, Page-up, 백스페이스  한 페이지 단위로 목록 스크"
 "롤\n"
 "  ^n                     ^p                      한 줄 단위로 목록 스크롤\n"
@@ -357,7 +356,7 @@ msgstr ""
 "   Q     확인, 끝내기 (의존성 무시)           o, O  정렬 옵션 순환\n"
 " X, Esc  나가기, 어떠한 바뀐 사항도 무시      v, V  상태 표시 옵션 바꾸기\n"
 "   R     이 목록 전 상태로 되돌리기            ^l   화면 다시 그리기\n"
-"   U     모두 제안하는 상태로                   /   찾기 (취소하려면 Return\n"
+"   U     모두 제안하는 상태로                   /   찾기 (취소하려면 엔터)\n"
 "   D     모두 직접 요청된 상태로                \\  마지막 찾기 반복\n"
 
 #: dselect/helpmsgs.cc:51
@@ -685,7 +684,6 @@ msgid "Keystrokes for method selection"
 msgstr "설치 방법 선택, 키 입력"
 
 #: dselect/helpmsgs.cc:191
-#, fuzzy
 msgid ""
 "Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
 "  j, Down-arrow         k, Up-arrow             move highlight\n"
@@ -710,7 +708,7 @@ msgid ""
 "  \\                repeat last search\n"
 msgstr ""
 "이동 키: 이전/다음, 처음/끝, 위/아래, 앞/뒤:\n"
-"  n, 아래 화살표         p, 위 화살표            반전 막대 이동\n"
+"  j, 아래 화살표         k, 위 화살표            반전 막대 이동\n"
 "  N, Page-down, 스페이스 P, Page-up, 백스페이스  한 페이지 단위로 목록 스크"
 "롤\n"
 "  ^n                     ^p                      한 줄 단위로 목록 스크롤\n"
@@ -1036,9 +1034,8 @@ msgid "[none]"
 msgstr "[없음]"
 
 #: dselect/methlist.cc:191
-#, fuzzy
 msgid "Explanation"
-msgstr "설명 : "
+msgstr "설명"
 
 #: dselect/methlist.cc:200
 msgid "No explanation available."
@@ -1372,7 +1369,7 @@ msgstr "꾸러미는 다음 꾸러미에 선의존:"
 
 #: dselect/pkgdisplay.cc:75
 msgid "breaks with"
-msgstr ""
+msgstr "망가뜨림"
 
 #: dselect/pkgdisplay.cc:76
 msgid "conflicts with"
@@ -1587,25 +1584,21 @@ msgstr ""
 
 # FIXME: bad msgid
 #: dselect/pkginfo.cc:95
-#, fuzzy
 msgid "Interrelationships"
 msgstr "꾸러미 관계"
 
 # FIXME: bad msgid
 #: dselect/pkginfo.cc:112
-#, fuzzy
 msgid "No description available."
 msgstr "상세 설명 없음."
 
 #: dselect/pkginfo.cc:130
-#, fuzzy
 msgid "Installed control file information"
-msgstr "설치된 제어 정보 : "
+msgstr "설치된 제어 파일 정보 "
 
 #: dselect/pkginfo.cc:146
-#, fuzzy
 msgid "Available control file information"
-msgstr "제어 파일 정보의 유효 버전"
+msgstr "현재 있는 제어 파일 정보"
 
 #: dselect/pkglist.cc:123 dselect/pkglist.cc:124
 msgid "<null>"

+ 14 - 7
dselect/po/pt.po

@@ -331,7 +331,8 @@ msgstr ""
 "  j, Seta-baixo         k, Seta-cima            mover destaque\n"
 "  N, Page-down, Espaço  P, Page-up, Backspace   rolar lista em 1 página\n"
 "  ^n                    ^p                      rolar lista em 1 linha\n"
-"  t, Home               e, End                  saltar p/ topo/final da lista\n"
+"  t, Home               e, End                  saltar p/ topo/final da "
+"lista\n"
 "  u                     d                       rolar info. em 1 página\n"
 "  ^u                    ^d                      rolar info. em 1 linha\n"
 "  B, Seta-esquerda      F, Seta-direita         mover ecrã em 1/3\n"
@@ -339,14 +340,18 @@ msgstr ""
 "\n"
 "Marcar pacotes para processamento posterior:\n"
 " +, Insert  instalar ou actualizar   =, H  manter no estado actual\n"
-" -, Delete  remover                  :, G  largar: actualizar ou deixar desinstalado\n"
+" -, Delete  remover                  :, G  largar: actualizar ou deixar "
+"desinstalado\n"
 " _          remover & purgar configuração\n"
 "                                            Miscelânea:\n"
-"Quit, exit, sobrescrever (note maiúsc.!)     ?, F1 pedir ajuda (também Ajuda)\n"
+"Quit, exit, sobrescrever (note maiúsc.!)     ?, F1 pedir ajuda (também "
+"Ajuda)\n"
 " Return  Confirm, sair (verificar depend.)   i, I  muda/circula por telas de "
 "opções.\n"
-"   Q     Confirma, deixa (ignora depend.)    o, O  circ. por opc. de classif.\n"
-" X, Esc, eXit, abandonar alterações          v, V mudar opções de mostrar estado\n"
+"   Q     Confirma, deixa (ignora depend.)    o, O  circ. por opc. de "
+"classif.\n"
+" X, Esc, eXit, abandonar alterações          v, V mudar opções de mostrar "
+"estado\n"
 "   R     Reverte ao estado antes desta lista ^l   redesenhar ecrã\n"
 "   U     colocar tudo no estado sUgerido      /    procurar (Enter p/"
 "cancelar)\n"
@@ -715,11 +720,13 @@ msgid ""
 "  /                search (just return to cancel)\n"
 "  \\                repeat last search\n"
 msgstr ""
-"Teclas de movimentação: Próx./Anterior, Topo/Final, Cima/Baixo, Trás/Frente:\n"
+"Teclas de movimentação: Próx./Anterior, Topo/Final, Cima/Baixo, Trás/"
+"Frente:\n"
 "  j, Seta-baixo         k, Seta-cima            mover destaque\n"
 "  N, Page-down, Espaço  P, Page-up, Backspace   rolar lista em 1 página\n"
 "  ^n                    ^p                      rolar lista em 1 linha\n"
-"  t, Home               e, End                  saltar p/topo/final da lista\n"
+"  t, Home               e, End                  saltar p/topo/final da "
+"lista\n"
 "  u                     d                       rolar info. em 1 página\n"
 "  ^u                    ^d                      rolar info. em 1 linha\n"
 "  B, Seta-esquerda      F, Seta-direita         rolar 1/3 da tela p/o lado\n"

+ 4 - 3
dselect/po/ro.po

@@ -25,7 +25,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms:  nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2;\n"
+"Plural-Forms:  nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
 "X-Generator: KBabel 1.11.4\n"
 
 #  spațiile sunt necesare!!
@@ -1133,7 +1134,8 @@ msgstr "nu pot aștepta după %.250s"
 #: dselect/method.cc:175
 #, c-format
 msgid "got wrong child's status - asked for %ld, got %ld"
-msgstr "am recepționat o stare greșită a procesului-fiu - cerut %ld, recepționat %ld"
+msgstr ""
+"am recepționat o stare greșită a procesului-fiu - cerut %ld, recepționat %ld"
 
 #: dselect/method.cc:186
 #, c-format
@@ -1761,4 +1763,3 @@ msgstr "Ver.disp"
 
 #~ msgid "available version of control info for "
 #~ msgstr "versiune disponibilă a informației de control pentru"
-

+ 1 - 2
dselect/po/sv.po

@@ -509,8 +509,7 @@ msgstr ""
 "mellan dem, paketbeskrivningarna och den interna kontrollinformationen.\n"
 "\n"
 "En samling \"föreslagna\" paket har beräknats, och de ursprungliga\n"
-"inställningarna i underlistan har satts till att matcha dessa, så att "
-"du\n"
+"inställningarna i underlistan har satts till att matcha dessa, så att du\n"
 "helt enkelt kan trycka Enter för att acceptera valen om du vill. Du kan\n"
 "avbryta ändringarna som orsakade problemen och gå tillbaka till huvudlistan\n"
 "genom att trycka ett versalt \"X\".\n"

+ 2 - 2
lib/mlib.c

@@ -118,8 +118,8 @@ int checksubprocerr(int status, const char *description, int flags) {
   } else if (WIFSIGNALED(status)) {
     n= WTERMSIG(status); if (!n || ((flags & PROCPIPE) && n==SIGPIPE)) return 0;
     if (flags & PROCWARN)
-      ohshit(_("dpkg: warning - %s killed by signal (%s)%s\n"),
-	     description, strsignal(n), WCOREDUMP(status) ? _(", core dumped") : "");
+      fprintf(stderr, _("dpkg: warning - %s killed by signal (%s)%s\n"),
+              description, strsignal(n), WCOREDUMP(status) ? _(", core dumped") : "");
     else
       ohshit(_("subprocess %s killed by signal (%s)%s"),
 	     description, strsignal(n), WCOREDUMP(status) ? _(", core dumped") : "");

+ 1 - 1
m4/perl.m4

@@ -5,5 +5,5 @@ AC_DEFUN([DPKG_PROG_PERL],
 [AC_ARG_VAR([PERL], [Perl interpreter])dnl
 AC_PATH_PROG([PERL], [perl], [/usr/bin/perl])dnl
 AC_ARG_VAR([PERL_LIBDIR], [Perl library directory])dnl
-PERL_LIBDIR=`$PERL -MConfig -e 'print $Config{vendorlib}'`dnl
+PERL_LIBDIR=`$PERL -MConfig -e 'my $r=$Config{vendorlibexp};$r=~s/$Config{vendorprefixexp}/\\$(prefix)/; print $r'`dnl
 ])# DPKG_PROG_PERL

+ 75 - 2
man/ChangeLog

@@ -1,6 +1,79 @@
+2007-09-24  Frank Lichtenheld  <djpig@debian.org>
+
+	* dpkg-source.1: Rework documentation of -i
+	and -I options to give clearer explanations and
+	explain the differences between the two in syntax
+	and semantics.
+
+2007-09-24  Jari Aalto  <jari.aalto@cante.net>
+
+	* dpkg-source.1: Document new behaviour
+	of -I option.
+
+2007-09-23  Frank Lichtenheld  <djpig@debian.org>
+
+	* dpkg-buildpackage.1: Document the new -j
+	option.
+
+2007-09-23  Peter Karlsson  <peterk@debian.org>
+
+	* po/sv.add: Fixed typo.
+
+2007-09-15  Guillem Jover  <guillem@debian.org>
+
+	* po/dpkg-man.pot: Regenerated.
+	* po/*.po: Merged with dpkg-man.pot.
+
+2007-09-09  Helge Kreutzmann  <debian@helgefjell.de>
+
+	* po/de.po: Updated to 1254t135f.
+
+2007-09-08  Guillem Jover  <guillem@debian.org>
+
+	* dpkg-scanpackages.1: Document that gzipped files are also used by
+	apt.
+
+2007-09-08  A. Costa  <agcosta@gis.net>
+
+	* dpkg-deb.1: Fix typo ('seperated' -> 'separated').
+	* start-stop-daemon.8: Fix typo ('themself' -> 'themselves').
+
+2007-09-06  Guillem Jover  <guillem@debian.org>
+
+	* dpkg-scanpackages.1: Replace gzip with bzip2 as the requirement for
+	compressed Packages files for apt.
+
+2007-09-05  Peter Karlsson  <peterk@debian.org>
+
+	* po/sv.po: Updated to 1289t.
+
+2007-09-05  Guillem Jover  <guillem@debian.org>
+
+	* po/dpkg-man.pot: Regenerated.
+	* po/*.po: Merged with dpkg-man.pot.
+
+2007-08-31  Guillem Jover  <guillem@debian.org>
+
+	* deb-control.5: Document Tag field.
+	* dpkg-query.1: Document Tag as a recognized field.
+
+2007-08-25  Peter Karlsson  <peterk@debian.org>
+
+	* po/sv.po: Updated to 1285t.
+
+2007-08-20  Guillem Jover  <guillem@debian.org>
+
+	* deb-control.5: Document Homepage field.
+	* dpkg-query.1: Document Homepage as a recognized field.
+
+2007-08-18  Guillem Jover  <guillem@debian.org>
+
+	* po/dpkg-man.pot: Regenerated.
+	* po/*.po: Merged with dpkg-man.pot.
+
 2007-08-14  Robert Luberda  <robert@debian.org>
 
-        * po/pl.po: Update to 1002t14f269u.
+	* po/pl.po: Update to 1002t14f269u.
 
 2007-08-05  Peter Karlsson  <peterk@debian.org>
 
@@ -8,7 +81,7 @@
 
 2007-08-05  Helge Kreutzmann  <debian@helgefjell.de>
 
-        * po/de.po: Updated to 1111t6f165u.
+	* po/de.po: Updated to 1111t6f165u.
 
 2007-07-31  Peter Karlsson  <peterk@debian.org>
 

+ 9 - 1
man/deb-control.5

@@ -1,6 +1,6 @@
 .\" Author: Raul Miller
 .\" Includes text from the debian Guidelines by Ian Jackson, Ian Murdock
-.TH deb\-control 5 "2007-05-15" "Debian Project" "Debian"
+.TH deb\-control 5 "2007-08-31" "Debian Project" "Debian"
 .SH NAME
 deb\-control \- Debian packages' master control file format
 .
@@ -85,6 +85,13 @@ etc. Note that the
 option is meant for packages that are architecture independent. Some examples
 of this are shell and Perl scripts, and documentation.
 .TP
+.BR Homepage: " <url>"
+The upstream project home page URL.
+.TP
+.BR Tag: " <tag list>"
+List of tags describing the qualities of the package. The description and
+list of supported tags can be found in the \fBdebtags\fP package.
+.TP
 .BR Source: " <source name>"
 The name of the source package that this binary package came from, if
 different than the name of the package itself.
@@ -213,5 +220,6 @@ Description: GNU grep, egrep and fgrep.
 .
 .SH SEE ALSO
 .BR deb (5),
+.BR debtags (1),
 .BR dpkg (1),
 .BR dpkg-deb (1).

+ 14 - 1
man/dpkg-buildpackage.1

@@ -47,6 +47,17 @@ Specify the Debian architecture we build for. The architecture of the
 machine we build on is determined automatically, and is also the default
 for the host machine.
 .TP
+.BI \-j jobs
+Number of jobs allowed to be run simultaneously, equivalent to the
+.BR make (1)
+option of the same name. Will add itself to the MAKEFLAGS
+environment variable, which should cause all subsequent make
+invocations to inherit the option. Also adds \fBparallel=\fP\fIjobs\fP
+to the DEB_BUILD_OPTIONS environment variable which allows
+debian/rules files to use this information for their own purposes.
+If no \fB-j\fP option is given, an existing value for \fBparallel\fP will be
+honoured and added to MAKEFLAGS.
+.TP
 .BI \-v version
 Use changelog information from all versions strictly later than
 .IR version .
@@ -161,7 +172,7 @@ Do not sign the .changes file.
 Passed unchanged to
 .BR dpkg\-source .
 .TP
-.BI \-I filename
+.BI \-I [\fIpattern\fP]
 Passed unchanged to
 .BR dpkg\-source .
 May be repeated multiple times.
@@ -192,6 +203,8 @@ and initial arguments for
 Copyright (C) 1995-1996 Ian Jackson
 .br
 Copyright (C) 2000 Wichert Akkerman
+.br
+Copyright (C) 2007 Frank Lichtenheld
 .sp
 This is free software; see the GNU General Public Licence version 2 or later
 for copying conditions. There is NO WARRANTY.

+ 2 - 2
man/dpkg-deb.1

@@ -1,4 +1,4 @@
-.TH dpkg\-deb 1 "2007-07-18" "Debian Project" "dpkg suite"
+.TH dpkg\-deb 1 "2007-09-08" "Debian Project" "dpkg suite"
 .SH NAME
 dpkg\-deb \- Debian package archive (.deb) manipulation tool
 .
@@ -97,7 +97,7 @@ Provides information about a binary package archive in the format
 specified by the
 .B \-\-showformat
 argument. The default format displays the package's name and version
-on one line, seperated by a tabulator.
+on one line, separated by a tabulator.
 .TP
 .BR \-f ", " \-\-field " \fIarchive\fP [\fIcontrol-field-name\fP...]"
 Extracts control file information from a binary package archive.

+ 2 - 0
man/dpkg-query.1

@@ -109,6 +109,7 @@ alignment will be used. The following \fIfield\fRs are recognised:
     \fBEnhances\fP
     \fBEssential\fP
     \fBFilename\fP
+    \fBHomepage\fP
     \fBInstalled\-Size\fP
     \fBMD5sum\fP
     \fBMSDOS\-Filename\fP
@@ -126,6 +127,7 @@ alignment will be used. The following \fIfield\fRs are recognised:
     \fBSource\fP
     \fBStatus\fP
     \fBSuggests\fP
+    \fBTag\fP
     \fBVersion\fP
 .fi
 

+ 4 - 2
man/dpkg-scanpackages.1

@@ -13,7 +13,7 @@
 .\" You should have received a copy of the GNU General Public
 .\" License along with dpkg; if not, write to the Free Software
 .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-.TH dpkg\-scanpackages 1 "2007-06-12" "Debian Project" "dpkg utilities"
+.TH dpkg\-scanpackages 1 "2007-09-08" "Debian Project" "dpkg utilities"
 .SH NAME
 dpkg\-scanpackages \- create Packages index files
 .
@@ -43,8 +43,10 @@ of machines.
 If you want to access the generated Packages file with
 .B apt
 you will probably need to compress the file with
+.BR bzip2 (1)
+(generating a Packages.bz2 file) or
 .BR gzip (1)
-(generating a Packages.gz file). apt ignores uncompressed Packages
+(generatinc a Packages.gz file). apt ignores uncompressed Packages
 files except on local access (i.e.
 .B file://
 sources).

+ 42 - 20
man/dpkg-source.1

@@ -1,5 +1,5 @@
 .\" Authors: Ian Jackson
-.TH dpkg\-source 1 "2007-07-18" "Debian Project" "dpkg utilities"
+.TH dpkg\-source 1 "2007-09-24" "Debian Project" "dpkg utilities"
 .SH NAME
 dpkg\-source \- Debian source package (.dsc) manipulation tool
 .
@@ -112,31 +112,48 @@ filtered out of the list of files for the diff. (This list is
 generated by a find command.) \fB\-i\fR by itself enables the option,
 with a default that will filter out control files and directories of the
 most common revision control systems, backup and swap files and Libtool
-build output directories.
+build output directories. There can only be one active regexp, of multiple
+\-i options only the last one will take effect.
+
 
 This is very helpful in cutting out extraneous files that get included
-in the .diff.gz, (eg: "debian/BUGS_TODO/*" or "debian/RCS/*,v"). For
-instance, if you maintain a package that you track via remote CVS,
-where you don't have access permissions for committing the debian
-control files and making tags for \fIcvs\-buildpackage(1)\fR, it is
-necessary to perform an extra checkout/update into a directory you
-keep pristine, to generate the .orig.tar.gz from. That directory will
-have CVS/Entries files in it that will contain timestamps that differ
-from the ones in your working directory, thus causing them to be
-unnecessarily included in every .diff.gz, unless you use the \fB\-i\fR
-switch.
-.TP
-.BI \-I filename
-If this option is specified, the filename will be passed to tar's \-\-exclude
+in the .diff.gz, e.g. if you maintain your source in a revision control
+system and want to use a checkout to build a source package without
+including the additional files and directories that it will usually
+contain (e.g. CVS/, .cvsignore, .svn/). The default regexp is already
+very exhaustive, but if you need to replace it, please note that by
+default it can match any part of a path, so if you want to match the
+begin of a filename or only full filenames, you will need to provide
+the neccessary anchors (e.g. '(^|/)', '($|/)') yourself.
+.TP
+.BR \-I [\fIfile-pattern\fP]
+If this option is specified, the pattern will be passed to
+.BR tar (1)'s
+\-\-exclude
 option when it is called to generate a .orig.tar.gz or .tar.gz file. For
 example, \-ICVS will make tar skip over CVS directories when generating
 a .tar.gz file. The option may be repeated multiple times to list multiple
-filenames to exclude.
+patterns to exclude.
+
+\fB\-I\fR by itself adds default \-\-exclude options that will
+filter out control files and directories of the most common revision
+control systems, backup and swap files and Libtool build output
+directories.
 .PP
-All the
-.BI \-s X
-options are mutually exclusive. If you specify more than one only the
-last one will be used.
+.B Note:
+While they have similar purposes, \fB-i\fP and \fB-I\fP have very
+different syntax and semantics. \fB-i\fP can only be specified once and
+takes a perl compatible regular expression which is matched against
+the full relative path of each file. \fB-I\fP can specified
+multiple times and takes a filename pattern with shell wildcards.
+The pattern is applied to the full relative path but also
+to each part of the path individually. The exact semantic of tar's
+\-\-exclude option is somewhat complicated, see
+http://www.gnu.org/software/tar/manual/tar.html#wildcards for a full
+documentation.
+
+The default regexp and patterns for both options can be seen
+in the output of the \fB\-\-help\fP command.
 .TP
 .B Build options (with -b):
 .PP
@@ -227,6 +244,11 @@ Unpacks the original source tree.
 Ensures that the original source is neither copied to the current
 directory nor unpacked. Any original source tree that was in the
 current directory is still removed.
+.PP
+All the
+.BI \-s X
+options are mutually exclusive. If you specify more than one only the
+last one will be used.
 .
 .SH BUGS
 The point at which field overriding occurs compared to certain

File diff suppressed because it is too large
+ 327 - 204
man/po/de.po


File diff suppressed because it is too large
+ 207 - 152
man/po/dpkg-man.pot


File diff suppressed because it is too large
+ 225 - 161
man/po/es.po


File diff suppressed because it is too large
+ 234 - 163
man/po/fr.po


File diff suppressed because it is too large
+ 224 - 159
man/po/hu.po


File diff suppressed because it is too large
+ 228 - 160
man/po/ja.po


File diff suppressed because it is too large
+ 221 - 159
man/po/pt_BR.po


File diff suppressed because it is too large
+ 224 - 159
man/po/ru.po


+ 1 - 1
man/po/sv.add

@@ -1,3 +1,3 @@
 PO4A-HEADER:mode=after;position=^\.TH;beginboundary=FakePo4aBoundary
 .SH "ÖVERSÄTTNING"
-Peter Karlsson och Debian Nylander.
+Peter Karlsson och Daniel Nylander.

File diff suppressed because it is too large
+ 232 - 162
man/po/sv.po


+ 2 - 2
man/start-stop-daemon.8

@@ -1,4 +1,4 @@
-.TH start\-stop\-daemon 8 "2007-03-06" "Debian Project" "dpkg utilities"
+.TH start\-stop\-daemon 8 "2007-09-08" "Debian Project" "dpkg utilities"
 .SH NAME
 start\-stop\-daemon \- start and stop system daemon programs
 .
@@ -213,7 +213,7 @@ cannot check the exit status if the process fails to execute for
 .B any
 reason. This is a last resort, and is only meant for programs that either
 make no sense forking on their own, or where it's not feasible to add the
-code for them to do this themself.
+code for them to do this themselves.
 .TP
 .BR \-N ", " \-\-nicelevel " \fIint\fP"
 This alters the priority of the process before starting it.

+ 44 - 3
po/ChangeLog

@@ -1,6 +1,47 @@
+2007-09-19  Sunjae Park  <darehanl@gmail.com>
+
+	* ko.po: Updated to 929t.
+
+2007-09-07  Claus Hindsgaul  <claus.hindsgaul@gmail.com>
+
+	* da.po: Updated to 929t.
+
+2007-09-06  Miguel Figueiredo  <elmig@debianpt.org>
+
+	* pt.po: Updated to 929t.
+
+2007-09-05  Piarres Beobide  <pi@beobide.net>
+
+	* eu.po: Updated to 929t.
+
+2007-09-04  Frédéric Bothamy  <frederic.bothamy@free.fr>
+
+	* fr.po: Updated to 929t.
+
+2007-09-02  Sven Joachim  <svenjoac@gmx.de>
+
+	* de.po: Updated to 929t.
+
+2007-09-02  Clytie Siddall  <clytie@riverland.net.au>
+
+	* vi.po: Updated to 929t.
+
+2007-08-26  Shiva Prasad Pokharel  <pokharelshiv@gmail.com>
+
+	* ne.po: Updated to 903t23f3u.
+
+2007-08-25  Peter Karlsson  <peterk@debian.org>
+
+	* sv.po: Updated to 929t.
+
+2007-08-18  Guillem Jover  <guillem@debian.org>
+
+	* dpkg.pot: Regenerated.
+	* *.po: Merged with dpkg.pot.
+
 2007-08-14  Robert Luberda  <robert@debian.org>
 
-        * pl.po: Updated to 921t.
+	* pl.po: Updated to 921t.
 
 2007-08-06  Yuri Kozlov  <kozlov.y@gmail.com>
 
@@ -28,11 +69,11 @@
 
 2007-06-18  Ivar Smolin  <okul@linux.ee>
 
-	* et.po: Updated to 463t458u
+	* et.po: Updated to 463t458u.
 
 2007-06-05  Ivar Smolin  <okul@linux.ee>
 
-	* et.po: Updated to 441t480u
+	* et.po: Updated to 441t480u.
 
 2007-06-01  Clytie Siddall  <clytie@riverland.net.au>
 

File diff suppressed because it is too large
+ 590 - 533
po/bs.po


File diff suppressed because it is too large
+ 633 - 551
po/ca.po


File diff suppressed because it is too large
+ 630 - 549
po/cs.po


File diff suppressed because it is too large
+ 678 - 590
po/da.po


File diff suppressed because it is too large
+ 609 - 559
po/de.po


File diff suppressed because it is too large
+ 579 - 531
po/dpkg.pot


File diff suppressed because it is too large
+ 631 - 549
po/dz.po


File diff suppressed because it is too large
+ 634 - 549
po/el.po


File diff suppressed because it is too large
+ 634 - 549
po/es.po


File diff suppressed because it is too large
+ 610 - 546
po/et.po


File diff suppressed because it is too large
+ 849 - 791
po/eu.po


File diff suppressed because it is too large
+ 639 - 550
po/fr.po


File diff suppressed because it is too large
+ 631 - 549
po/gl.po


File diff suppressed because it is too large
+ 621 - 547
po/hu.po


File diff suppressed because it is too large
+ 633 - 548
po/id.po


File diff suppressed because it is too large
+ 633 - 551
po/it.po


File diff suppressed because it is too large
+ 631 - 549
po/ja.po


File diff suppressed because it is too large
+ 630 - 549
po/km.po


File diff suppressed because it is too large
+ 669 - 584
po/ko.po


File diff suppressed because it is too large
+ 596 - 534
po/ku.po


File diff suppressed because it is too large
+ 631 - 549
po/mr.po


File diff suppressed because it is too large
+ 631 - 549
po/nb.po


File diff suppressed because it is too large
+ 720 - 603
po/ne.po


File diff suppressed because it is too large
+ 633 - 549
po/nl.po


File diff suppressed because it is too large
+ 634 - 549
po/nn.po


File diff suppressed because it is too large
+ 604 - 536
po/pa.po


File diff suppressed because it is too large
+ 635 - 553
po/pl.po


File diff suppressed because it is too large
+ 713 - 623
po/pt.po


File diff suppressed because it is too large
+ 633 - 551
po/pt_BR.po


File diff suppressed because it is too large
+ 637 - 552
po/ro.po


File diff suppressed because it is too large
+ 633 - 550
po/ru.po


File diff suppressed because it is too large
+ 631 - 549
po/sk.po


File diff suppressed because it is too large
+ 637 - 553
po/sv.po


File diff suppressed because it is too large
+ 636 - 549
po/tl.po


File diff suppressed because it is too large
+ 1019 - 857
po/vi.po


File diff suppressed because it is too large
+ 631 - 552
po/zh_CN.po


File diff suppressed because it is too large
+ 630 - 549
po/zh_TW.po


+ 1 - 0
scripts/822-date.pl

@@ -8,6 +8,7 @@ use Dpkg::Gettext;
 
 textdomain("dpkg-dev");
 
+push(@INC, $dpkglibdir);
 require 'controllib.pl';
 
 @ARGV && die _g("Usage: 822-date")."\n";

+ 1 - 1
scripts/Dpkg.pm

@@ -6,7 +6,7 @@ use warnings;
 use base qw(Exporter);
 our @EXPORT = qw($version $progname $admindir $dpkglibdir $pkgdatadir);
 
-our ($progname) = $0 =~ m:.*/(.*):;
+our ($progname) = $0 =~ m#(?:.*/)?([^/]*)#;
 
 # The following lines are automatically fixed at install time
 our $version = "1.14";

+ 38 - 0
scripts/Dpkg/BuildOptions.pm

@@ -0,0 +1,38 @@
+package Dpkg::BuildOptions;
+
+use strict;
+use warnings;
+
+sub parse {
+    my ($env) = @_;
+
+    $env ||= $ENV{DEB_BUILD_OPTIONS};
+
+    unless ($env) { return {}; }
+
+    my %opts;
+    if ($env =~ s/(noopt|nostrip),?//ig) {
+	$opts{lc $1} = '';
+    } elsif ($env =~ s/(parallel)=(-?\d+),?//ig) {
+	$opts{lc $1} = $2;
+    }
+
+    return \%opts;
+}
+
+sub set {
+    my ($opts, $overwrite) = @_;
+
+    my $env = $overwrite ? '' : $ENV{DEB_BUILD_OPTIONS}||'';
+    if ($env) { $env .= ',' }
+
+    while (my ($k, $v) = each %$opts) {
+	if ($v) {
+	    $env .= "$k=$v,";
+	} else {
+	    $env .= "$k,";
+	}
+    }
+}
+
+1;

+ 2 - 1
scripts/Makefile.am

@@ -31,7 +31,7 @@ EXTRA_DIST = \
 	README.alternatives \
 	822-date.pl \
 	dpkg-architecture.pl \
-	dpkg-buildpackage.sh \
+	dpkg-buildpackage.pl \
 	dpkg-checkbuilddeps.pl \
 	dpkg-distaddfile.pl \
 	dpkg-genchanges.pl \
@@ -55,6 +55,7 @@ CLEANFILES = \
 
 perllibdir = $(PERL_LIBDIR)
 nobase_dist_perllib_DATA = \
+	Dpkg/BuildOptions.pm \
 	Dpkg/Gettext.pm \
 	Dpkg.pm
 

+ 0 - 4
scripts/changelog/debian.pl

@@ -1,8 +1,4 @@
 #!/usr/bin/perl
-#
-# Options:
-#  -v<version>
-#   changes since <version>
 
 use strict;
 use warnings;

+ 2 - 1
scripts/controllib.pl

@@ -15,7 +15,6 @@ our %f;             # - fields ???
 our %fi;            # - map of fields values. keys are of the form "S# key"
                     #   where S is source (L is changelog, C is control)
                     #   and # is an index
-our %fieldimps;
 our %p2i;           # - map from datafile+packagename to index in controlfile
                     #   (used if multiple packages can be listed). Key is
                     #   "S key" where S is the source and key is the packagename
@@ -340,6 +339,8 @@ sub substvars {
     return $v;
 }
 
+my %fieldimps;
+
 sub set_field_importance(@)
 {
     my @fields = @_;

+ 445 - 0
scripts/dpkg-buildpackage.pl

@@ -0,0 +1,445 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Cwd;
+use File::Basename;
+
+use Dpkg;
+use Dpkg::Gettext;
+use Dpkg::BuildOptions;
+
+push (@INC, $dpkglibdir);
+require 'controllib.pl';
+
+our $warnable_error;
+
+textdomain("dpkg-dev");
+
+sub showversion {
+    printf _g("Debian %s version %s.\n"), $progname, $version;
+
+    print _g("
+Copyright (C) 1996 Ian Jackson.
+Copyright (C) 2000 Wichert Akkerman
+Copyright (C) 2007 Frank Lichtenheld");
+
+    print _g("
+This is free software; see the GNU General Public Licence version 2 or
+later for copying conditions. There is NO warranty.
+");
+}
+
+sub usage {
+	printf _g("
+Usage: %s [<options> ...]
+
+Options:
+  -r<gain-root-command>
+                 command to gain root privileges (default is fakeroot if it
+                 exists).
+  -p<sign-command>
+  -d             do not check build dependencies and conflicts.
+  -D             check build dependencies and conflicts.
+  -j[<number>]   specify jobs to run simultaneously } passed to debian/rules
+  -k<keyid>      the key to use for signing.
+  -sgpg          the sign-command is called like GPG.
+  -spgp          the sign-command is called like PGP.
+  -us            unsigned source.
+  -uc            unsigned changes.
+  -a<arch>       Debian architecture we build for (implies -d).
+  -b             binary-only, do not build source. } also passed to
+  -B             binary-only, no arch-indep files. } dpkg-genchanges
+  -S             source only, no binary files.     }
+  -t<system>     set GNU system type.           } passed to dpkg-architecture
+  -v<version>    changes since version <version>.      }
+  -m<maint>      maintainer for package is <maint>.    }
+  -e<maint>      maintainer for release is <maint>.    } only passed
+  -C<descfile>   changes are described in <descfile>.  } to dpkg-genchanges
+  -si (default)  src includes orig for rev. 0 or 1.    }
+  -sa            uploaded src always includes orig.    }
+  -sd            uploaded src is diff and .dsc only.   }
+  -sn            force Debian native source format.      } only passed
+  -s[sAkurKUR]   see dpkg-source for explanation.        } to dpkg-source
+  -nc            do not clean source tree (implies -b).
+  -tc            clean source tree when finished.
+  -ap            add pause before starting signature process.
+  -W             turn certain errors into warnings.       } passed to
+  -E             when -W is turned on, -E turns it off.   } dpkg-source
+  -i[<regex>]    ignore diffs of files matching regex.    } only passed
+  -I[<pattern>]  filter out files when building tarballs. } to dpkg-source
+  --admindir=<directory>
+                 change the administrative directory.
+  -h, --help     show this help message.
+      --version  show the version.
+"), $progname;
+}
+
+sub testcommand {
+    my ($cmd) = @_;
+
+    return -x "/usr/bin/$cmd";
+}
+
+my $rootcommand = '';
+if (testcommand('fakeroot')) {
+    $rootcommand = 'fakeroot';
+}
+
+my $signcommand = '';
+if ( ( ($ENV{GNUPGHOME} && -e $ENV{GNUPGHOME})
+       || ($ENV{HOME} && -e "$ENV{HOME}/.gnupg") )
+     && testcommand('gpg')) {
+	 $signcommand = 'gpg';
+} elsif (testcommand('pgp')) {
+	$signcommand = 'pgp'
+}
+
+my ($admindir, $signkey, $forcesigninterface, $usepause, $noclean,
+    $sourcestyle, $cleansource,
+    $binaryonly, $sourceonly, $since, $maint,
+    $changedby, $desc, $parallel);
+my (@checkbuilddep_args, @passopts, @tarignore);
+my $checkbuilddep = 1;
+my $signsource = 1;
+my $signchanges = 1;
+my $diffignore = '';
+my $binarytarget = 'binary';
+my $targetarch = my $targetgnusystem = '';
+
+while (@ARGV) {
+    $_ = shift @ARGV;
+
+    if (/^(--help|-h)$/) {
+	usage;
+	exit 0;
+    } elsif (/^--version$/) {
+	showversion;
+	exit 0;
+    } elsif (/^--admindir=(.*)$/) {
+	$admindir = $1;
+    } elsif (/^-j(\d*)$/) {
+	$parallel = $1 || '-1';
+    } elsif (/^-r(.*)$/) {
+	$rootcommand = $1;
+    } elsif (/^-p(.*)$/) {
+	$signcommand = $1;
+    } elsif (/^-k(.*)$/) {
+	$signkey = $1;
+    } elsif (/^-([dD])$/) {
+	$checkbuilddep = ($1 eq 'D');
+    } elsif (/^-s(gpg|pgp)$/) {
+	$forcesigninterface = $1;
+    } elsif (/^-us$/) {
+	$signsource = 0;
+    } elsif (/^-uc$/) {
+	$signchanges = 0;
+    } elsif (/^-ap$/) {
+	$usepause = 1;
+    } elsif (/^-a(.*)$/) {
+	$targetarch = $1;
+	$checkbuilddep = 0;
+    } elsif (/^-s[iad]$/) {
+	$sourcestyle = $_;
+    } elsif (/^-s[nsAkurKUR]$/) {
+	push @passopts, $_; # passed to dpkg-source
+    } elsif (/^-i.*$/) {
+	$diffignore = $_;
+    } elsif (/^-I.*$/) {
+	push @tarignore, $_;
+    } elsif (/^-tc$/) {
+	$cleansource = 1;
+    } elsif (/^-t(.*)$/) {
+	$targetgnusystem = $1; # Order DOES matter!
+    } elsif (/^-nc$/) {
+	$noclean = 1;
+	if ($sourceonly) {
+	    usageerr(sprintf(_g("cannot combine %s and %s"), '-nc', '-S'));
+	}
+	unless ($binaryonly) {
+	    $binaryonly = '-b';
+	}
+    } elsif (/^-b$/) {
+	$binaryonly = '-b';
+	@checkbuilddep_args = ();
+	$binarytarget = 'binary';
+	if ($sourceonly) {
+	    usageerr(sprintf(_g("cannot combine %s and %s"), '-b', '-S'));
+	}
+    } elsif (/^-B$/) {
+	$binaryonly = '-B';
+	@checkbuilddep_args = ('-B');
+	$binarytarget = 'binary-arch';
+	if ($sourceonly) {
+	    usageerr(sprintf(_g("cannot combine %s and %s"), '-B', '-S'));
+	}
+    } elsif (/^-S$/) {
+	$sourceonly = '-S';
+	$checkbuilddep = 0;
+	if ($binaryonly) {
+	    usageerr(sprintf(_g("cannot combine %s and %s"), $binaryonly, '-S'));
+	}
+    } elsif (/^-v(.*)$/) {
+	$since = $1;
+    } elsif (/^-m(.*)$/) {
+	$maint = $1;
+    } elsif (/^-e(.*)$/) {
+	$changedby = $1;
+    } elsif (/^-C(.*)$/) {
+	$desc = $1;
+    } elsif (/^-W$/) {
+	$warnable_error = 1;
+	push @passopts, '-W';
+    } elsif (/^-E$/) {
+	$warnable_error = 0;
+	push @passopts, '-E';
+    } else {
+	usageerr(sprintf(_g("unknown option or argument %s"), $_));
+    }
+}
+
+unless ($signcommand) {
+    $signsource = 0;
+    $signchanges = 0;
+}
+
+my $signinterface;
+if ($forcesigninterface) {
+    $signinterface = $forcesigninterface;
+} else {
+    $signinterface = $signcommand;
+}
+
+if ($signcommand && ($signinterface !~ /^(gpg|pgp)$/)) {
+    warning(_g("unknown sign command, assuming pgp style interface"));
+}
+
+if ($parallel || $ENV{DEB_BUILD_OPTIONS}) {
+    my $build_opts = Dpkg::BuildOptions::parse();
+
+    $parallel ||= $build_opts->{parallel};
+    if (defined $parallel) {
+	$ENV{MAKEFLAGS} ||= '';
+	if ($parallel eq '-1') {
+	    $ENV{MAKEFLAGS} .= " -j";
+	} else {
+	    $ENV{MAKEFLAGS} .= " -j$parallel";
+	}
+    }
+    $build_opts->{parallel} = $parallel;
+    Dpkg::BuildOptions::set($build_opts);
+}
+
+my $cwd = cwd();
+my $dir = basename($cwd);
+
+my %changes;
+open CHANGELOG, '-|', 'dpkg-parsechangelog' or subprocerr('dpkg-parsechangelog');
+# until we have a better parsecdata function this
+# should suffice
+while ($_ = <CHANGELOG>) {
+    chomp;
+    /^(\S+):\s*(.*)$/ && do {
+	$changes{lc $1} = $2;
+    };
+}
+close CHANGELOG or subprocerr('dpkg-parsechangelog');
+
+sub mustsetvar {
+    my ($var, $text) = @_;
+
+    error(sprintf(_g("unable to determine %s", $text)))
+	unless defined($var);
+
+    print "$progname: $text $var\n";
+    return $var;
+}
+
+my $pkg = mustsetvar($changes{source}, _g('source package'));
+my $version = mustsetvar($changes{version}, _g('source version'));
+
+my $maintainer;
+if ($changedby) {
+    $maintainer = $changedby;
+} elsif ($maint) {
+    $maintainer = $maint;
+} else {
+    $maintainer = mustsetvar($changes{maintainer}, _g('source changed by'));
+}
+
+open my $arch_env, '-|', 'dpkg-architecture', "-a$targetarch",
+    "-t$targetgnusystem", '-s', '-f' or subprocerr('dpkg-architecture');
+while ($_ = <$arch_env>) {
+    chomp;
+    my @cmds = split /\s*;\s*/;
+    foreach (@cmds) {
+	/^\s*(\w+)=([\w-]*)\s*$/ && do {
+	    $ENV{$1} = $2;
+	};
+    }
+}
+close $arch_env or subprocerr('dpkg-architecture');
+
+my $arch;
+unless ($sourceonly) {
+    $arch = mustsetvar($ENV{'DEB_HOST_ARCH'}, _g('host architecture'));
+} else {
+    $arch = 'source';
+}
+
+(my $sversion = $version) =~ s/^\d+://;
+
+my $pv = "${pkg}_$sversion";
+my $pva = "${pkg}_${sversion}_$arch";
+
+sub signfile {
+    my ($file) = @_;
+    print STDERR " signfile $file\n";
+    my $qfile = quotemeta($file);
+
+    if ($signinterface eq 'gpg') {
+	system("(cat ../$qfile ; echo '') | ".
+	       "$signcommand --local-user ".quotemeta($signkey||$maintainer).
+	       " --clearsign --armor --textmode  > ../$qfile.asc");
+    } else {
+	system("$signcommand -u ".quotemeta($signkey||$maintainer).
+	       " +clearsig=on -fast <../$qfile >../$qfile.asc");
+    }
+    my $status = $?;
+    unless ($status) {
+	system('mv', '--', "../$file.asc", "../$file")
+	    and subprocerr('mv');
+    } else {
+	system('rm', '-f', "../$file.asc")
+	    and subprocerr('rm -f');
+    }
+    print "\n";
+    return $status
+}
+
+
+sub withecho {
+    print STDERR " @_\n";
+    system(@_)
+	and subprocerr("@_");
+}
+
+if ($checkbuilddep) {
+    if ($admindir) {
+	push @checkbuilddep_args, "--admindir=$admindir";
+    }
+
+    if (system('dpkg-checkbuilddeps', @checkbuilddep_args)) {
+	warning(_g("Build dependencies/conflicts unsatisfied; aborting."));
+	warning(_g("(Use -d flag to override.)"));
+	exit 3;
+    }
+}
+
+unless ($noclean) {
+    withecho($rootcommand, 'debian/rules', 'clean');
+}
+unless ($binaryonly) {
+    chdir('..') or failure('chdir ..');
+    my @opts = @passopts;
+    if ($diffignore) { push @opts, $diffignore }
+    push @opts, @tarignore;
+    withecho('dpkg-source', @opts, '-b', $dir);
+    chdir($dir) or failure("chdir $dir");
+}
+unless ($sourceonly) {
+    withecho('debian/rules', 'build');
+    withecho($rootcommand, 'debian/rules', $binarytarget);
+}
+if ($usepause &&
+    ($signchanges || ( !$binaryonly && $signsource )) ) {
+    print _g("Press the return key to start signing process\n");
+    getc();
+}
+
+my $signerrors;
+unless ($binaryonly) {
+    if ($signsource && signfile("$pv.dsc")) {
+	$signerrors = _g("Failed to sign .dsc and .changes file");
+	$signchanges = 0;
+    }
+}
+
+my @change_opts;
+
+if ($binaryonly) { push @change_opts, $binaryonly }
+if ($sourceonly) { push @change_opts, $sourceonly }
+if ($sourcestyle) { push @change_opts, $sourcestyle }
+
+if ($maint) { push @change_opts, "-m$maint" }
+if ($changedby) { push @change_opts, "-e$changedby" }
+if ($since) { push @change_opts, "-v$since" }
+if ($desc) { push @change_opts, "-C$desc" }
+
+my $chg = "../$pva.changes";
+print STDERR " dpkg-genchanges @change_opts >$chg\n";
+open CHANGES, '-|', 'dpkg-genchanges', @change_opts
+    or subprocerr('dpkg-genchanges');
+
+open OUT, '>', $chg or syserr(_g('write changes file'));
+
+my $infiles = my $files = '';
+while ($_ = <CHANGES>) {
+    print OUT $_ or syserr(_g('write changes file'));
+    chomp;
+
+    if (/^Files:/i) {
+	$infiles = 1;
+    } elsif ($infiles && /^\s+(.*)$/) {
+	$files .= " $1 ";
+    } elsif ($infiles && /^\S/) {
+	$infiles = 0;
+    }
+}
+
+close CHANGES or subprocerr(_g('dpkg-genchanges'));
+close OUT or syserr(_g('write changes file'));
+
+sub fileomitted {
+    my ($regex) = @_;
+
+    return $files !~ /$regex/;
+}
+
+my $srcmsg;
+if (fileomitted '\.deb') {
+    # source only upload
+    if (fileomitted '\.diff\.gz') {
+	$srcmsg = _g('source only upload: Debian-native package');
+    } elsif (fileomitted '\.orig\.tar\.gz') {
+	$srcmsg = _g('source only, diff-only upload (original source NOT included)');
+    } else {
+	$srcmsg = _g('source only upload (original source is included)');
+    }
+} else {
+    $srcmsg = _g('full upload (original source is included)');
+    if (fileomitted '\.dsc') {
+	$srcmsg = _g('binary only upload (no source included)');
+    } elsif (fileomitted '\.diff\.gz') {
+	$srcmsg = _g('full upload; Debian-native package (full source is included)');
+    } elsif (fileomitted '\.orig\.tar\.gz') {
+	$srcmsg = _g('binary and diff upload (original source NOT included)');
+    } else {
+	$srcmsg = _g('full upload (original source is included)');
+    }
+}
+
+if ($signchanges && signfile("$pva.changes")) {
+    $signerrors = _g("Failed to sign .changes file");
+}
+
+if ($cleansource) {
+    withecho($rootcommand, 'debian/rules', 'clean');
+}
+
+print "$progname: $srcmsg\n";
+if ($signerrors) {
+    warning($signerrors);
+    exit 1;
+}

+ 0 - 291
scripts/dpkg-buildpackage.sh

@@ -1,291 +0,0 @@
-#!/bin/sh
-
-set -e
-
-version="1.10.10"; # This line modified by Makefile
-
-progname="`basename \"$0\"`"
-
-showversion () {
-	echo "Debian $progname version $version."
-
-	echo "
-Copyright (C) 1996 Ian Jackson.
-Copyright (C) 2000 Wichert Akkerman
-This is free software; see the GNU General Public Licence version 2 or
-later for copying conditions. There is NO warranty."
-}
-
-usage () {
-	cat <<END
-Usage: $progname [<options> ...]
-
-Options:
-  -r<gain-root-command>
-  -p<sign-command>
-  -d             do not check build dependencies and conflicts.
-  -D             check build dependencies and conflicts.
-  -k<keyid>      the key to use for signing.
-  -sgpg          the sign-command is called like GPG.
-  -spgp          the sign-command is called like PGP.
-  -us            unsigned source.
-  -uc            unsigned changes.
-  -a<arch>       Debian architecture we build for (implies -d).
-  -b             binary-only, do not build source. } also passed to
-  -B             binary-only, no arch-indep files. } dpkg-genchanges
-  -S             source only, no binary files.     }
-  -t<system>     set GNU system type.           } passed to dpkg-architecture
-  -v<version>    changes since version <version>.      }
-  -m<maint>      maintainer for package is <maint>.    }
-  -e<maint>      maintainer for release is <maint>.    } only passed
-  -C<descfile>   changes are described in <descfile>.  } to dpkg-genchangs
-  -si (default)  src includes orig for rev. 0 or 1.    }
-  -sa            uploaded src always includes orig.    }
-  -sd            uploaded src is diff and .dsc only.   }
-  -sn            force Debian native source format.      } only passed
-  -s[sAkurKUR]   see dpkg-source for explanation.        } to dpkg-source
-  -nc            do not clean source tree (implies -b).
-  -tc            clean source tree when finished.
-  -ap            add pause before starting signature process.
-  -W             turn certain errors into warnings.       } passed to
-  -E             when -W is turned on, -E turned it off.  } dpkg-source
-  -i[<regex>]    ignore diffs of files matching regex.    } only passed
-  -I<filename>   filter out files when building tarballs. } to dpkg-source
-  --admindir=<directory>
-                 change the administrative directory.
-  -h, --help     show this help message.
-      --version  show the version.
-END
-}
-
-rootcommand=''
-signcommand=""
-if [ -e "$GNUPGHOME" ] || [ -e "$HOME/.gnupg" ] && \
-		command -v gpg > /dev/null 2>&1; then
-	signcommand=gpg
-elif command -v pgp > /dev/null 2>&1 ; then
-	signcommand=pgp
-fi
-
-signsource='withecho signfile'
-signchanges='withecho signfile'
-cleansource=false
-checkbuilddep=true
-checkbuilddep_args=''
-binarytarget=binary
-sourcestyle=''
-changesversion=''
-since=''
-maint=''
-desc=''
-noclean=false
-usepause=false
-warnable_error=0
-passopts=''
-admindir=''
-
-while [ $# != 0 ]
-do
-	value="`echo x\"$1\" | sed -e 's/x--.*=//;s/^x-.//'`"
-	case "$1" in
-	-h|--help)
-		usage; exit 0 ;;
-	--version)
-		showversion; exit 0 ;;
-	--admindir=*)
-		admindir="$value" ;;
-	-r*)	rootcommand="$value" ;;
-	-p*)	signcommand="$value" ;;
-	-k*)	signkey="$value" ;;
-	-d)	checkbuilddep=false ;;
-	-D)	checkbuilddep=true ;;
-	-sgpg)  forcesigninterface=gpg ;;
-	-spgp)  forcesigninterface=pgp ;;
-	-us)	signsource=: ;;
-	-uc)	signchanges=: ;;
-	-ap)	usepause="true";;
-	-a*)    targetarch="$value"; checkbuilddep=false ;;
-	-si)	sourcestyle=-si ;;
-	-sa)	sourcestyle=-sa ;;
-	-sd)	sourcestyle=-sd ;;
-	-s[nsAkurKUR])    passopts="$passopts $1";; # passed to dpkg-source
-        -i*)    diffignore=$1;;
-	-I*)	tarignore="$tarignore $1";;
-	-tc)	cleansource=true ;;
-	-t*)    targetgnusystem="$value" ;;          # Order DOES matter!
-	-nc)	noclean=true; if [ -z "$binaryonly" ]; then binaryonly=-b; fi ;;
-	-b)	binaryonly=-b;
-		checkbuilddep_args='';
-		binarytarget=binary;
-		[ "$sourceonly" ] && \
-			{ echo >&2 "$progname: cannot combine $1 and -S" ; exit 2 ; } ;;
-	-B)	binaryonly=-B; checkbuilddep_args=-B; binarytarget=binary-arch; [ "$sourceonly" ] && \
-			{ echo >&2 "$progname: cannot combine $1 and -S" ; exit 2 ; } ;;
-	-S)	sourceonly=-S; checkbuilddep=false; [ "$binaryonly" ] && \
-			{ echo >&2 "$progname: cannot combine $binaryonly and $1" ; exit 2 ; } ;;
-	-v*)	since="$value" ;;
-	-m*)	maint="$value" ;;
-	-e*)	changedby="$value" ;;
-	-C*)	desc="$value" ;;
-	-W)	warnable_error=1; passopts="$passopts -W";;
-	-E)	warnable_error=0; passopts="$passopts -E";;
-	*)	echo >&2 "$progname: unknown option or argument $1"
-		usage; exit 2 ;;
-	esac
-	shift
-done
-
-if [ -z "$signcommand"  ] ; then
-	signsource=:
-	signchanges=:
-fi
-
-if test -n "$forcesigninterface" ; then
-  signinterface=$forcesigninterface
-else
-  signinterface=$signcommand
-fi
-if [ -n "$signcommand" ] && [ "$signinterface" != "gpg" ] && [ "$signinterface" != "pgp" ] ; then
-    echo >&2 "$progname: unknown sign command, assuming pgp style interface"
-fi
-
-mustsetvar () {
-	if [ "x$2" = x ]; then
-		echo >&2 "$progname: unable to determine $3" ; \
-		exit 1
-	else
-		echo "$progname: $3 $2" ; \
-		eval "$1=\"\$2\""
-	fi
-}
-
-curd="`pwd`"
-dirn="`basename \"$curd\"`"
-mustsetvar package "`dpkg-parsechangelog | sed -n 's/^Source: //p'`" "source package is"
-mustsetvar changesversion "`dpkg-parsechangelog | sed -n 's/^Version: //p'`" "source version is"
-if [ -n "$changedby" ]; then maintainer="$changedby";
-elif [ -n "$maint" ]; then maintainer="$maint";
-else mustsetvar maintainer "`dpkg-parsechangelog | sed -n 's/^Maintainer: //p'`" "source changed by"; fi
-eval `dpkg-architecture -a${targetarch} -t${targetgnusystem} -s -f`
-
-if [ x$sourceonly = x ]; then
-	mustsetvar arch "`dpkg-architecture -a${targetarch} -t${targetgnusystem} -qDEB_HOST_ARCH`" "host architecture"
-else
-	arch=source
-fi
-mustsetvar sversion "`echo \"$changesversion\" | perl -pe 's/^\d+://'`" "source version without epoch"
-pv="${package}_${sversion}"
-pva="${package}_${sversion}_${arch}"
-
-signfile () {
-	if test "$signinterface" = "gpg" ; then
-		(cat "../$1" ; echo "") | \
-		$signcommand --local-user "${signkey:-$maintainer}" --clearsign --armor \
-			--textmode  > "../$1.asc" 
-	else
-		$signcommand -u "${signkey:-$maintainer}" +clearsig=on -fast <"../$1" \
-			>"../$1.asc"
-	fi
-	status=$?
-	if [ $status -eq 0 ]; then
-		mv -- "../$1.asc" "../$1"
-	else
-		/bin/rm -f "../$1.asc"
-	fi
-	echo
-	return $status
-}
-
-withecho () {
-        echo " $@" >&2
-	"$@"
-}
-
-if [ "$checkbuilddep" = "true" ]; then
-	if [ -n "$admindir" ]; then
-		checkbuilddep_args="$checkbuilddep_args --admindir=$admindir"
-	fi
-
-	if ! dpkg-checkbuilddeps $checkbuilddep_args; then
-		echo >&2 "$progname: Build dependencies/conflicts unsatisfied; aborting."
-		echo >&2 "$progname: (Use -d flag to override.)"
-		exit 3
-	fi
-fi
-
-set -- $binaryonly $sourceonly $sourcestyle
-if [ -n "$maint"	]; then set -- "$@" "-m$maint"		; fi
-if [ -n "$changedby"	]; then set -- "$@" "-e$changedby"	; fi
-if [ -n "$since"	]; then set -- "$@" "-v$since"		; fi
-if [ -n "$desc"		]; then set -- "$@" "-C$desc"		; fi
-
-if [ x$noclean != xtrue ]; then
-	withecho $rootcommand debian/rules clean
-fi
-if [ x$binaryonly = x ]; then
-	cd ..; withecho dpkg-source $passopts $diffignore $tarignore -b "$dirn"; cd "$dirn"
-fi
-if [ x$sourceonly = x ]; then
-	withecho debian/rules build 
-	withecho $rootcommand debian/rules $binarytarget
-fi
-if [ "$usepause" = "true" ] && \
-   ( [ "$signchanges" != ":" ] || ( [ -z "$binaryonly" ] && [ "$signsource" != ":" ] ) ) ; then
-    echo Press the return key to start signing process
-    read dummy_stuff
-fi
-
-signerrors=
-if [ x$binaryonly = x ]; then
-	if ! $signsource "$pv.dsc"; then
-		signerrors="(WARNING: Failed to sign .dsc and .changes file)"
-		signchanges=:
-	fi
-fi
-chg=../"$pva.changes"
-withecho dpkg-genchanges "$@" >"$chg"
-
-fileomitted () {
-	set +e
-	test -z "`sed -n '/^Files:/,/^[^ ]/ s/'$1'$//p' <$chg`"
-	fir=$?
-	set -e
-	return $fir
-}	
-
-
-if fileomitted '\.deb'; then
-	# source only upload
-	if fileomitted '\.diff\.gz'; then
-		srcmsg='source only upload: Debian-native package'
-	elif fileomitted '\.orig\.tar\.gz'; then
-		srcmsg='source only, diff-only upload (original source NOT included)'
-	else
-		srcmsg='source only upload (original source is included)'
-	fi
-else
-	srcmsg='full upload (original source is included)'
-	if fileomitted '\.dsc'; then
-		srcmsg='binary only upload (no source included)'
-	elif fileomitted '\.diff\.gz'; then
-		srcmsg='full upload; Debian-native package (full source is included)'
-	elif fileomitted '\.orig\.tar\.gz'; then
-		srcmsg='binary and diff upload (original source NOT included)'
-	else
-		srcmsg='full upload (original source is included)'
-	fi
-fi
-
-if ! $signchanges "$pva.changes"; then
-	signerrors="(WARNING: Failed to sign .changes file)"
-fi
-
-if $cleansource; then
-	withecho $rootcommand debian/rules clean
-fi
-
-echo "dpkg-buildpackage: $srcmsg"
-if [ -n "$signerrors" ]; then
-	echo >&2 $signerrors
-	exit 1
-fi

+ 3 - 3
scripts/dpkg-divert.pl

@@ -217,10 +217,10 @@ if ($mode eq 'add') {
 }
 
 sub infol {
-    return (($_[2] eq ':' ? "local " : length($_[2]) ? "" : "any ").
+    return ((defined($_[2]) ? ($_[2] eq ':' ? "local " : "") : "any ").
             "diversion of $_[0]".
-            (length($_[1]) ? " to $_[1]" : "").
-            (length($_[2]) && $_[2] ne ':' ? " by $_[2]" : ""));
+            (defined($_[1]) ? " to $_[1]" : "").
+            (defined($_[2]) && $_[2] ne ':' ? " by $_[2]" : ""));
 }
 
 sub checkrename {

+ 8 - 5
scripts/dpkg-genchanges.pl

@@ -13,10 +13,8 @@ require 'controllib.pl';
 
 our (%f, %fi);
 our %p2i;
-our %fieldimps;
 our %substvar;
 our $sourcepackage;
-our $host_arch;
 
 textdomain("dpkg-dev");
 
@@ -208,7 +206,11 @@ for $_ (keys %fi) {
 	elsif (m/^Section$|^Priority$/i) { $sourcedefault{$_}= $v; }
 	elsif (m/^Maintainer$/i) { $f{$_}= $v; }
 	elsif (s/^X[BS]*C[BS]*-//i) { $f{$_}= $v; }
-	elsif (m/|^X[BS]+-|^Standards-Version$/i) { }
+	elsif (m/^X[BS]+-/i ||
+	       m/^Build-(Depends|Conflicts)(-Indep)?$/i ||
+	       m/^(Standards-Version|Uploaders|Homepage|Origin|Bugs)$/i ||
+	       m/^Vcs-(Browser|Arch|Bzr|Cvs|Darcs|Git|Hg|Mtn|Svn)$/i) {
+	}
 	else { &unknown(_g('general section of control info file')); }
     } elsif (s/^C(\d+) //) {
 	my $i = $1;
@@ -251,8 +253,9 @@ for $_ (keys %fi) {
 		}
 		push(@archvalues,$v) unless !$v || $archadded{$v}++;
 	    } elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/ ||
-		     m/^(Recommends|Suggests|Enhances|Optional|Conflicts|Breaks|Replaces)$/ ||
-		     m/^X[CS]+-/i) {
+		     m/^(Recommends|Suggests|Enhances|Conflicts|Breaks|Replaces)$/ ||
+		     m/^Tag$/i ||
+		     m/^X[BS]+-/i) {
 	    } else {
 		&unknown(_g("package's section of control info file"));
 	    }

+ 16 - 17
scripts/dpkg-gencontrol.pl

@@ -13,17 +13,15 @@ require 'controllib.pl';
 
 our %substvar;
 our (%f, %fi);
-our %fieldimps;
 our %p2i;
 our @pkg_dep_fields;
 our $sourcepackage;
-our $host_arch;
 
 textdomain("dpkg-dev");
 
 my @control_fields = (qw(Package Source Version Architecture Essential Origin
                          Bugs Maintainer Installed-Size), @pkg_dep_fields,
-                      qw(Section Priority Description));
+                      qw(Section Priority Homepage Description Tag));
 
 my $controlfile = 'debian/control';
 my $changelogfile = 'debian/changelog';
@@ -148,18 +146,26 @@ for $_ (keys %fi) {
 #print STDERR "G key >$_< value >$v<\n";
 	if (m/^(Origin|Bugs|Maintainer)$/) {
 	    $f{$_} = $v;
+	} elsif (m/^Homepage$/) {
+	    # Binary package stanzas can override these fields
+	    $f{$_} = $v if !defined($f{$_});
 	} elsif (m/^Source$/) {
 	    setsourcepackage($v);
 	}
         elsif (s/^X[CS]*B[CS]*-//i) { $f{$_}= $v; }
-	elsif (m/^X[CS]+-|^(Standards-Version|Uploaders)$|^Build-(Depends|Conflicts)(-Indep)?$/i) { }
+	elsif (m/^X[CS]+-/i ||
+	       m/^Build-(Depends|Conflicts)(-Indep)?$/i ||
+	       m/^(Standards-Version|Uploaders)$/i ||
+	       m/^Vcs-(Browser|Arch|Bzr|Cvs|Darcs|Git|Hg|Mtn|Svn)$/i) {
+	}
 	elsif (m/^Section$|^Priority$/) { $spdefault{$_}= $v; }
         else { $_ = "C $_"; &unknown(_g('general section of control info file')); }
     } elsif (s/^C$myindex //) {
 #print STDERR "P key >$_< value >$v<\n";
-        if (m/^(Package|Description|Essential|Optional)$/) {
+        if (m/^(Package|Description|Homepage|Tag|Essential)$/) {
             $f{$_}= $v;
         } elsif (exists($pkg_dep_fields{$_})) {
+	    # Delay the parsing until later
         } elsif (m/^Section$|^Priority$/) {
             $spvalue{$_}= $v;
         } elsif (m/^Architecture$/) {
@@ -213,25 +219,18 @@ $f{'Version'} = $forceversion if defined($forceversion);
 &init_substvars;
 init_substvar_arch();
 
+# Process dependency fields in a second pass, now that substvars have been
+# initialized.
+
 for $_ (keys %fi) {
     my $v = $fi{$_};
 
-    if (s/^C //) {
-    } elsif (s/^C$myindex //) {
-        if (m/^(Package|Description|Essential|Optional)$/) {
-        } elsif (exists($pkg_dep_fields{$_})) {
+    if (s/^C$myindex //) {
+        if (exists($pkg_dep_fields{$_})) {
            my $dep = parsedep(substvars($v), 1, 1);
            &error(sprintf(_g("error occurred while parsing %s"), $_)) unless defined $dep;
             $f{$_}= showdep($dep, 0);
-        } elsif (m/^Section$|^Priority$/) {
-        } elsif (m/^Architecture$/) {
-        } elsif (s/^X[CS]*B[CS]*-//i) {
-        } elsif (!m/^X[CS]+-/i) {
         }
-    } elsif (m/^C\d+ /) {
-    } elsif (s/^L //) {
-    } elsif (m/o:/) {
-    } else {
     }
 }
 

+ 1 - 1
scripts/dpkg-name.sh

@@ -3,7 +3,7 @@
 set -e
 
 # Time-stamp: <96/05/03 13:59:41 root>
-prog="`basename \"${0}\"`"
+prog="$(basename "${0}")"
 version="1.2.3"; # This line modified by Makefile
 purpose="rename Debian packages to full package names"
 

+ 1 - 1
scripts/dpkg-scanpackages.pl

@@ -26,7 +26,7 @@ my %kmap= (optional         => 'suggests',
 
 my @fieldpri = (qw(Package Source Version Architecture Essential Origin Bugs
                    Maintainer Installed-Size), @pkg_dep_fields, qw(Filename
-                   Size MD5sum Section Priority Description));
+                   Size MD5sum Section Priority Homepage Description Tag));
 
 # This maps the fields into the proper case
 my %field_case;

+ 57 - 10
scripts/dpkg-source.pl

@@ -31,9 +31,40 @@ my $diff_ignore_default_regexp = '
 (?:^|/)(?:DEADJOE|\.cvsignore|\.arch-inventory|\.bzrignore|\.gitignore)$|
 # File or directory names that should be ignored
 (?:^|/)(?:CVS|RCS|\.deps|\{arch\}|\.arch-ids|\.svn|\.hg|_darcs|\.git|
-\.shelf|\.bzr(?:\.backup|tags)?)(?:$|/.*$)
+\.shelf|_MTN|\.bzr(?:\.backup|tags)?)(?:$|/.*$)
 ';
 
+no warnings 'qw';
+my @tar_ignore_default_pattern = qw(
+*.a
+*.la
+*.o
+*.so
+*.swp
+*~
+,,*
+.[#~]*
+.arch-ids
+.arch-inventory
+.bzr
+.bzr.backup
+.bzr.tags
+.bzrignore
+.cvsignore
+.deps
+.git
+.gitignore
+.hg
+.shelf
+.svn
+CVS
+DEADJOE
+RCS
+_MTN
+_darcs
+{arch}
+);
+
 # Take out comments and newlines
 $diff_ignore_default_regexp =~ s/^#.*$//mg;
 $diff_ignore_default_regexp =~ s/\n//sg;
@@ -66,7 +97,7 @@ use Cwd;
 push (@INC, $dpkglibdir);
 require 'controllib.pl';
 
-our (%f, %fi, %fieldimps);
+our (%f, %fi);
 our $sourcepackage;
 our $warnable_error;
 our $quiet_warnings;
@@ -76,7 +107,10 @@ our @src_dep_fields;
 textdomain("dpkg-dev");
 
 my @dsc_fields = (qw(Format Source Binary Architecture Version Origin
-                     Maintainer Uploaders Standards-Version), @src_dep_fields);
+                     Maintainer Uploaders Homepage Standards-Version
+                     Vcs-Browser Vcs-Arch Vcs-Bzr Vcs-Cvs Vcs-Darcs
+                     Vcs-Git Vcs-Hg Vcs-Mtn Vcs-Svn),
+                  @src_dep_fields);
 
 
 # Make sure patch doesn't get any funny ideas
@@ -94,10 +128,10 @@ $SIG{'QUIT'} = \&exit_handler;
 sub version {
     printf _g("Debian %s version %s.\n"), $progname, $version;
 
-    printf _g("
+    print _g("
 Copyright (C) 1996 Ian Jackson and Klee Dienes.");
 
-    printf _g("
+    print _g("
 This is free software; see the GNU General Public Licence version 2 or
 later for copying conditions. There is NO warranty.
 ");
@@ -126,7 +160,8 @@ Build options:
   -q                       quiet operation, do not print warnings.
   -i[<regexp>]             filter out files to ignore diffs of
                              (defaults to: '%s').
-  -I<filename>             filter out files when building tarballs.
+  -I[<pattern>]            filter out files when building tarballs
+                             (defaults to: %s).
   -sa                      auto select orig source (-sA is default).
   -sk                      use packed orig source (unpack & keep).
   -sp                      use packed orig source (unpack & remove).
@@ -144,7 +179,9 @@ Extract options:
 General options:
   -h, --help               show this help message.
       --version            show the version.
-"), $progname, $diff_ignore_default_regexp;
+"), $progname,
+    $diff_ignore_default_regexp,
+    join('', map { " -I$_" } @tar_ignore_default_pattern);
 }
 
 sub handleformat {
@@ -155,6 +192,7 @@ sub handleformat {
 
 
 my $opmode;
+my $tar_ignore_default_pattern_done;
 
 while (@ARGV && $ARGV[0] =~ m/^-/) {
     $_=shift(@ARGV);
@@ -180,6 +218,13 @@ while (@ARGV && $ARGV[0] =~ m/^-/) {
         $diff_ignore_regexp = $1 ? $1 : $diff_ignore_default_regexp;
     } elsif (m/^-I(.+)$/) {
         push @tar_ignore, "--exclude=$1";
+    } elsif (m/^-I$/) {
+        unless ($tar_ignore_default_pattern_done) {
+            push @tar_ignore,
+                 map { "--exclude=$_" } @tar_ignore_default_pattern;
+            # Prevent adding multiple times
+            $tar_ignore_default_pattern_done = 1;
+        }
     } elsif (m/^-V(\w[-:0-9A-Za-z]*)[=:]/) {
         $substvar{$1}= "$'";
     } elsif (m/^-T/) {
@@ -238,8 +283,10 @@ if ($opmode eq 'build') {
         if (s/^C //) {
 	    if (m/^Source$/i) {
 		setsourcepackage($v);
+	    } elsif (m/^(Standards-Version|Origin|Maintainer|Homepage)$/i ||
+	             m/^Vcs-(Browser|Arch|Bzr|Cvs|Darcs|Git|Hg|Mtn|Svn)$/i) {
+		$f{$_}= $v;
 	    }
-            elsif (m/^(Standards-Version|Origin|Maintainer)$/i) { $f{$_}= $v; }
 	    elsif (m/^Uploaders$/i) { ($f{$_}= $v) =~ s/[\r\n]//g; }
 	    elsif (m/^Build-(Depends|Conflicts)(-Indep)?$/i) {
 		my $dep = parsedep(substvars($v),1);
@@ -280,8 +327,8 @@ if ($opmode eq 'build') {
             } elsif (s/^X[BC]*S[BC]*-//i) {
                 $f{$_}= $v;
             } elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/i ||
-                     m/^(Recommends|Suggests|Optional|Conflicts|Replaces)$/i ||
-                     m/^(Breaks|Enhances|Description|Section|Priority)$/i ||
+                     m/^(Recommends|Suggests|Conflicts|Replaces)$/i ||
+                     m/^(Breaks|Enhances|Description|Tag|Section|Priority)$/i ||
                      m/^X[BC]+-/i) {
             } else {
                 &unknown(_g("package's section of control info file"));

+ 18 - 0
scripts/po/ChangeLog

@@ -1,3 +1,21 @@
+2007-09-23  Frank Lichtenheld  <djpig@debian.org>
+
+	* dpkg-dev.pot: Regenerated.
+	* *.po: Merged with dpkg-dev.pot.
+
+2007-09-20  Christian Perrier  <bubulle@debian.org>
+
+	* fr.po: Typo correction
+
+2007-08-30  Peter Karlsson  <peterk@debian.org>
+
+	* LINGUAS, sv.po: Added Swedish.
+
+2007-08-18  Guillem Jover  <guillem@debian.org>
+
+	* dpkg-dev.pot: Regenerated.
+	* *.po: Merged with dpkg-dev.pot.
+
 2007-07-08  Frédéric Bothamy  <frederic.bothamy@free.fr>
 
 	* fr.po: Proofread.

+ 2 - 0
scripts/po/LINGUAS

@@ -10,3 +10,5 @@ ca
 # French - Philippe Batailler <philippe.batailler@free.fr>
 fr
 
+# Swedish - Peter Karlsson <peterk@debian.org>
+sv

+ 1 - 0
scripts/po/POTFILES.in

@@ -3,6 +3,7 @@
 scripts/822-date.pl
 scripts/controllib.pl
 scripts/dpkg-architecture.pl
+scripts/dpkg-buildpackage.pl
 scripts/dpkg-checkbuilddeps.pl
 scripts/dpkg-distaddfile.pl
 scripts/dpkg-genchanges.pl

File diff suppressed because it is too large
+ 605 - 452
scripts/po/ca.po


File diff suppressed because it is too large
+ 601 - 452
scripts/po/dpkg-dev.pot


File diff suppressed because it is too large
+ 649 - 487
scripts/po/fr.po


File diff suppressed because it is too large
+ 2746 - 0
scripts/po/sv.po


+ 4 - 2
scripts/update-alternatives.pl

@@ -595,12 +595,14 @@ if ($mode eq 'auto') {
 	    unlink("$slink") || $! == &ENOENT ||
 	        &quit(sprintf(_g("unable to remove %s: %s"), $slink, $!));
         } else {
-	    if (!defined($linkname= readlink($slink)) && $! != ENOENT) {
+	    $linkname = readlink($slink);
+	    if (!defined($linkname) && $! != ENOENT) {
 		pr(sprintf(_g("warning: %s is supposed to be a slave symlink to\n".
 		              " %s, or nonexistent; however, readlink failed: %s"),
 		           $slink, "$altdir/$sname", $!))
 		    if $verbosemode > 0;
-	    } elsif ($linkname ne "$altdir/$sname") {
+	    } elsif (!defined($linkname) ||
+	            (defined($linkname) && $linkname ne "$altdir/$sname")) {
 		unlink("$slink.dpkg-tmp") || $! == ENOENT ||
 		    quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
 		                 "$slink.dpkg-tmp", $!));

+ 2 - 1
src/cleanup.c

@@ -233,11 +233,12 @@ void cu_postrmupgrade(int argc, void **argv) {
 
 void cu_prermremove(int argc, void **argv) {
   struct pkginfo *pkg= (struct pkginfo*)argv[0];
+  enum pkgstatus *oldpkgstatus= (enum pkgstatus*)argv[1];
 
   if (cleanup_pkg_failed++) return;
   maintainer_script_installed(pkg,POSTINSTFILE,"post-installation",
                               "abort-remove", NULL);
-  pkg->status= stat_installed;
+  pkg->status= *oldpkgstatus;
   pkg->eflag &= ~eflagf_reinstreq;
   modstatdb_note(pkg);
   cleanup_pkg_failed--;

+ 8 - 7
src/remove.c

@@ -164,14 +164,15 @@ void deferred_remove(struct pkginfo *pkg) {
   printf(_("Removing %s ...\n"),pkg->name);
   log_action("remove", pkg);
   if (pkg->status == stat_halfconfigured || pkg->status == stat_installed) {
+    static enum pkgstatus oldpkgstatus;
 
-    if (pkg->status == stat_installed || pkg->status == stat_halfconfigured) {
-      pkg->status= stat_halfconfigured;
-      modstatdb_note(pkg);
-      push_cleanup(cu_prermremove,~ehflag_normaltidy, 0,0, 1,(void*)pkg);
-      maintainer_script_installed(pkg, PRERMFILE, "pre-removal",
-                                  "remove", NULL);
-    }
+    oldpkgstatus= pkg->status;
+    pkg->status= stat_halfconfigured;
+    modstatdb_note(pkg);
+    push_cleanup(cu_prermremove, ~ehflag_normaltidy, 0, 0, 2,
+                 (void *)pkg, (void *)&oldpkgstatus);
+    maintainer_script_installed(pkg, PRERMFILE, "pre-removal",
+                                "remove", NULL);
 
     pkg->status= stat_unpacked; /* Will turn into halfinstalled soon ... */
   }