Просмотр исходного кода

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

Conflicts:

	man/po/pl.po
Robert Luberda лет назад: 19
Родитель
Сommit
be0f3cb1f1
98 измененных файлов с 31918 добавлено и 24335 удалено
  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>
 2007-08-14  Guillem Jover  <guillem@debian.org>
 
 
 	* lib/parsehelp.c (parseerr): Switch from ternary operator to compose
 	* 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>
 Christian Haggstrom <chm@c00.info>
 Christophe Le Bars <clebars@teaser.fr>
 Christophe Le Bars <clebars@teaser.fr>
 Colin Plumb <colin@nyx.net>
 Colin Plumb <colin@nyx.net>
-Colin Watson <cjw44@flatline.org.uk>
+Colin Watson <cjwatson@debian.org>
 Dan Gohman <gohmandj@mrs.umn.edu>
 Dan Gohman <gohmandj@mrs.umn.edu>
 Daniel Jacobowitz <dan@debian.org>
 Daniel Jacobowitz <dan@debian.org>
 Darren Stalder <torin@daft.com>
 Darren Stalder <torin@daft.com>

+ 0 - 2
TODO

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

+ 1 - 1
configure.ac

@@ -1,7 +1,7 @@
 # Process this file with autoconf to produce a configure script.
 # Process this file with autoconf to produce a configure script.
 
 
 AC_PREREQ(2.59)
 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_SRCDIR([lib/dpkg.h])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([config])
 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 ]
   [ Frank Lichtenheld ]
   * Synchronise usage information of dpkg, dpkg-deb, and
   * 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
     - Unify ellipsis, argument separator, and remove redundant program name
       preceding the options.
       preceding the options.
     - Substitute 'FILES' header with 'SEE ALSO' in dpkg-buildpackage(1),
     - 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.
     - Split option descriptions so that it gets easier to distinguish.
     - Unify author and copyright information formatting.
     - Unify author and copyright information formatting.
   * Move variables automatically modified at build time for the perl scripts
   * 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
     to a directory where the existing symlink on-disk points to the
     same place. Closes: #377682
     same place. Closes: #377682
     Thanks to Ian Jackson.
     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 ]
   [ Updated scripts translations ]
   * French (Frédéric Bothamy, Christian Perrier).
   * French (Frédéric Bothamy, Christian Perrier).
+  * Swedish (Peter Karlsson).
 
 
   [ Updated dpkg translations ]
   [ Updated dpkg translations ]
   * Dzongkha (Tshewang Norbu). Closes: #430931
   * Dzongkha (Tshewang Norbu). Closes: #430931
-  * Swedish (Peter Karlsson).
   * Nepali (Shiva Prasad Pokharel). Closes: #435353
   * Nepali (Shiva Prasad Pokharel). Closes: #435353
-  * Russian (Yuri Kozlov). Closes: #436147
   * Polish (Robert Luberda).
   * Polish (Robert Luberda).
+  * Russian (Yuri Kozlov). Closes: #436147
+  * Swedish (Peter Karlsson).
 
 
   [ Updated dselect translations ]
   [ Updated dselect translations ]
-  * Swedish (Peter Karlsson).
   * Russian (Yuri Kozlov). Closes: #436149
   * Russian (Yuri Kozlov). Closes: #436149
+  * Swedish (Peter Karlsson).
 
 
   [ Updated man pages translations ]
   [ Updated man pages translations ]
   * German (Helge Kreutzmann).
   * German (Helge Kreutzmann).
-  * Swedish (Peter Karlsson).
   * Polish (Robert Luberda).
   * 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
 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>
 Uploaders: Frank Lichtenheld <djpig@debian.org>, Guillem Jover <guillem@debian.org>, Brendan O'Dea <bod@debian.org>, Christian Perrier <bubulle@debian.org>
 Origin: debian
 Origin: debian
 Bugs: debbugs://bugs.debian.org
 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
 Standards-Version: 3.7.2
 Build-Depends: debhelper (>= 4.1.81), pkg-config, po4a (>= 0.23),
 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,
  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.
 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 Scott James Remnant <scott@netsplit.com>
 Copyright © 2004-2005 Canonical Ltd.
 Copyright © 2004-2005 Canonical Ltd.
 Copyright © 1999-2002 Wichert Akkerman <wakkerma@debian.org>
 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-shlibdeps.1
 usr/share/man/*/*/dpkg-source.1
 usr/share/man/*/*/dpkg-source.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;
   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
 /* 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
  * means it contains at least one digit. If an error is found increment
  * *errs.
  * *errs.
@@ -223,6 +239,9 @@ void do_build(const char *const *argv) {
       warns++;
       warns++;
     }
     }
     for (field= checkedinfo->available.arbs; field; field= field->next) {
     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"),
       fprintf(stderr, _("warning, `%s' contains user-defined field `%s'\n"),
               controlfile, field->name);
               controlfile, field->name);
       warns++;
       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>
 2007-08-06  Yuri Kozlov  <kozlov.y@gmail.com>
 
 
 	* ru.po: Updated to 285t.
 	* 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.
 	* sv.po: Updated to 285t.
 
 

+ 2 - 2
dselect/po/et.po

@@ -564,8 +564,8 @@ msgid ""
 "  /                search (just return to cancel)\n"
 "  /                search (just return to cancel)\n"
 "  \\                repeat last search\n"
 "  \\                repeat last search\n"
 msgstr ""
 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"
 "  j, Nool alla          k, Nool üles            valiku liigutamine\n"
 "  N, Page-down, Tühik   P, Page-up, Backspace   nimekirja kerimine lehe "
 "  N, Page-down, Tühik   P, Page-up, Backspace   nimekirja kerimine lehe "
 "võrra\n"
 "võrra\n"

+ 10 - 6
dselect/po/fr.po

@@ -673,7 +673,8 @@ msgstr ""
 
 
 #: dselect/helpmsgs.cc:147
 #: dselect/helpmsgs.cc:147
 msgid "Display, part 2: list highlight; information display"
 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
 #: dselect/helpmsgs.cc:147
 msgid ""
 msgid ""
@@ -1241,7 +1242,8 @@ msgstr "script de requ
 #: dselect/methparse.cc:53
 #: dselect/methparse.cc:53
 #, c-format
 #, c-format
 msgid "syntax error in method options file `%.250s' -- %s"
 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
 #: dselect/methparse.cc:58
 #, c-format
 #, c-format
@@ -1251,7 +1253,8 @@ msgstr "erreur de lecture sur le fichier des options 
 #: dselect/methparse.cc:86
 #: dselect/methparse.cc:86
 #, c-format
 #, c-format
 msgid "unable to read `%.250s' directory for reading methods"
 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
 #: dselect/methparse.cc:100
 #, c-format
 #, c-format
@@ -1270,7 +1273,8 @@ msgstr "impossible de lire le fichier des options de m
 
 
 #: dselect/methparse.cc:140
 #: dselect/methparse.cc:140
 msgid "non-digit where digit wanted"
 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
 #: dselect/methparse.cc:143
 msgid "EOF in index string"
 msgid "EOF in index string"
@@ -1322,7 +1326,8 @@ msgstr "impossible d'ouvrir le fichier de description d'option 
 #: dselect/methparse.cc:187
 #: dselect/methparse.cc:187
 #, c-format
 #, c-format
 msgid "unable to stat option description file `%.250s'"
 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
 #: dselect/methparse.cc:191
 #, c-format
 #, c-format
@@ -1806,4 +1811,3 @@ msgstr "Vers. inst"
 #: dselect/pkgtop.cc:295
 #: dselect/pkgtop.cc:295
 msgid "Avail.ver"
 msgid "Avail.ver"
 msgstr "Vers. dispo."
 msgstr "Vers. dispo."
-

+ 12 - 19
dselect/po/ko.po

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

+ 14 - 7
dselect/po/pt.po

@@ -331,7 +331,8 @@ msgstr ""
 "  j, Seta-baixo         k, Seta-cima            mover destaque\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, Page-down, Espaço  P, Page-up, Backspace   rolar lista em 1 página\n"
 "  ^n                    ^p                      rolar lista em 1 linha\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 página\n"
 "  ^u                    ^d                      rolar info. em 1 linha\n"
 "  ^u                    ^d                      rolar info. em 1 linha\n"
 "  B, Seta-esquerda      F, Seta-direita         mover ecrã em 1/3\n"
 "  B, Seta-esquerda      F, Seta-direita         mover ecrã em 1/3\n"
@@ -339,14 +340,18 @@ msgstr ""
 "\n"
 "\n"
 "Marcar pacotes para processamento posterior:\n"
 "Marcar pacotes para processamento posterior:\n"
 " +, Insert  instalar ou actualizar   =, H  manter no estado actual\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"
 " _          remover & purgar configuração\n"
 "                                            Miscelânea:\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 "
 " Return  Confirm, sair (verificar depend.)   i, I  muda/circula por telas de "
 "opções.\n"
 "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"
 "   R     Reverte ao estado antes desta lista ^l   redesenhar ecrã\n"
 "   U     colocar tudo no estado sUgerido      /    procurar (Enter p/"
 "   U     colocar tudo no estado sUgerido      /    procurar (Enter p/"
 "cancelar)\n"
 "cancelar)\n"
@@ -715,11 +720,13 @@ msgid ""
 "  /                search (just return to cancel)\n"
 "  /                search (just return to cancel)\n"
 "  \\                repeat last search\n"
 "  \\                repeat last search\n"
 msgstr ""
 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"
 "  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, Page-down, Espaço  P, Page-up, Backspace   rolar lista em 1 página\n"
 "  ^n                    ^p                      rolar lista em 1 linha\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 página\n"
 "  ^u                    ^d                      rolar info. em 1 linha\n"
 "  ^u                    ^d                      rolar info. em 1 linha\n"
 "  B, Seta-esquerda      F, Seta-direita         rolar 1/3 da tela p/o lado\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"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\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"
 "X-Generator: KBabel 1.11.4\n"
 
 
 #  spațiile sunt necesare!!
 #  spațiile sunt necesare!!
@@ -1133,7 +1134,8 @@ msgstr "nu pot aștepta după %.250s"
 #: dselect/method.cc:175
 #: dselect/method.cc:175
 #, c-format
 #, c-format
 msgid "got wrong child's status - asked for %ld, got %ld"
 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
 #: dselect/method.cc:186
 #, c-format
 #, c-format
@@ -1761,4 +1763,3 @@ msgstr "Ver.disp"
 
 
 #~ msgid "available version of control info for "
 #~ msgid "available version of control info for "
 #~ msgstr "versiune disponibilă a informației de control pentru"
 #~ 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"
 "mellan dem, paketbeskrivningarna och den interna kontrollinformationen.\n"
 "\n"
 "\n"
 "En samling \"föreslagna\" paket har beräknats, och de ursprungliga\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"
 "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"
 "avbryta ändringarna som orsakade problemen och gå tillbaka till huvudlistan\n"
 "genom att trycka ett versalt \"X\".\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)) {
   } else if (WIFSIGNALED(status)) {
     n= WTERMSIG(status); if (!n || ((flags & PROCPIPE) && n==SIGPIPE)) return 0;
     n= WTERMSIG(status); if (!n || ((flags & PROCPIPE) && n==SIGPIPE)) return 0;
     if (flags & PROCWARN)
     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
     else
       ohshit(_("subprocess %s killed by signal (%s)%s"),
       ohshit(_("subprocess %s killed by signal (%s)%s"),
 	     description, strsignal(n), WCOREDUMP(status) ? _(", core dumped") : "");
 	     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_ARG_VAR([PERL], [Perl interpreter])dnl
 AC_PATH_PROG([PERL], [perl], [/usr/bin/perl])dnl
 AC_PATH_PROG([PERL], [perl], [/usr/bin/perl])dnl
 AC_ARG_VAR([PERL_LIBDIR], [Perl library directory])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
 ])# 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>
 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>
 2007-08-05  Peter Karlsson  <peterk@debian.org>
 
 
@@ -8,7 +81,7 @@
 
 
 2007-08-05  Helge Kreutzmann  <debian@helgefjell.de>
 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>
 2007-07-31  Peter Karlsson  <peterk@debian.org>
 
 

+ 9 - 1
man/deb-control.5

@@ -1,6 +1,6 @@
 .\" Author: Raul Miller
 .\" Author: Raul Miller
 .\" Includes text from the debian Guidelines by Ian Jackson, Ian Murdock
 .\" 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
 .SH NAME
 deb\-control \- Debian packages' master control file format
 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
 option is meant for packages that are architecture independent. Some examples
 of this are shell and Perl scripts, and documentation.
 of this are shell and Perl scripts, and documentation.
 .TP
 .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>"
 .BR Source: " <source name>"
 The name of the source package that this binary package came from, if
 The name of the source package that this binary package came from, if
 different than the name of the package itself.
 different than the name of the package itself.
@@ -213,5 +220,6 @@ Description: GNU grep, egrep and fgrep.
 .
 .
 .SH SEE ALSO
 .SH SEE ALSO
 .BR deb (5),
 .BR deb (5),
+.BR debtags (1),
 .BR dpkg (1),
 .BR dpkg (1),
 .BR dpkg-deb (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
 machine we build on is determined automatically, and is also the default
 for the host machine.
 for the host machine.
 .TP
 .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
 .BI \-v version
 Use changelog information from all versions strictly later than
 Use changelog information from all versions strictly later than
 .IR version .
 .IR version .
@@ -161,7 +172,7 @@ Do not sign the .changes file.
 Passed unchanged to
 Passed unchanged to
 .BR dpkg\-source .
 .BR dpkg\-source .
 .TP
 .TP
-.BI \-I filename
+.BI \-I [\fIpattern\fP]
 Passed unchanged to
 Passed unchanged to
 .BR dpkg\-source .
 .BR dpkg\-source .
 May be repeated multiple times.
 May be repeated multiple times.
@@ -192,6 +203,8 @@ and initial arguments for
 Copyright (C) 1995-1996 Ian Jackson
 Copyright (C) 1995-1996 Ian Jackson
 .br
 .br
 Copyright (C) 2000 Wichert Akkerman
 Copyright (C) 2000 Wichert Akkerman
+.br
+Copyright (C) 2007 Frank Lichtenheld
 .sp
 .sp
 This is free software; see the GNU General Public Licence version 2 or later
 This is free software; see the GNU General Public Licence version 2 or later
 for copying conditions. There is NO WARRANTY.
 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
 .SH NAME
 dpkg\-deb \- Debian package archive (.deb) manipulation tool
 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
 specified by the
 .B \-\-showformat
 .B \-\-showformat
 argument. The default format displays the package's name and version
 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
 .TP
 .BR \-f ", " \-\-field " \fIarchive\fP [\fIcontrol-field-name\fP...]"
 .BR \-f ", " \-\-field " \fIarchive\fP [\fIcontrol-field-name\fP...]"
 Extracts control file information from a binary package archive.
 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
     \fBEnhances\fP
     \fBEssential\fP
     \fBEssential\fP
     \fBFilename\fP
     \fBFilename\fP
+    \fBHomepage\fP
     \fBInstalled\-Size\fP
     \fBInstalled\-Size\fP
     \fBMD5sum\fP
     \fBMD5sum\fP
     \fBMSDOS\-Filename\fP
     \fBMSDOS\-Filename\fP
@@ -126,6 +127,7 @@ alignment will be used. The following \fIfield\fRs are recognised:
     \fBSource\fP
     \fBSource\fP
     \fBStatus\fP
     \fBStatus\fP
     \fBSuggests\fP
     \fBSuggests\fP
+    \fBTag\fP
     \fBVersion\fP
     \fBVersion\fP
 .fi
 .fi
 
 

+ 4 - 2
man/dpkg-scanpackages.1

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

+ 42 - 20
man/dpkg-source.1

@@ -1,5 +1,5 @@
 .\" Authors: Ian Jackson
 .\" 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
 .SH NAME
 dpkg\-source \- Debian source package (.dsc) manipulation tool
 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,
 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
 with a default that will filter out control files and directories of the
 most common revision control systems, backup and swap files and Libtool
 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
 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
 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
 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
 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
 .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
 .TP
 .B Build options (with -b):
 .B Build options (with -b):
 .PP
 .PP
@@ -227,6 +244,11 @@ Unpacks the original source tree.
 Ensures that the original source is neither copied to the current
 Ensures that the original source is neither copied to the current
 directory nor unpacked. Any original source tree that was in the
 directory nor unpacked. Any original source tree that was in the
 current directory is still removed.
 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
 .SH BUGS
 The point at which field overriding occurs compared to certain
 The point at which field overriding occurs compared to certain

Разница между файлами не показана из-за своего большого размера
+ 327 - 204
man/po/de.po


Разница между файлами не показана из-за своего большого размера
+ 207 - 152
man/po/dpkg-man.pot


Разница между файлами не показана из-за своего большого размера
+ 225 - 161
man/po/es.po


Разница между файлами не показана из-за своего большого размера
+ 234 - 163
man/po/fr.po


Разница между файлами не показана из-за своего большого размера
+ 224 - 159
man/po/hu.po


Разница между файлами не показана из-за своего большого размера
+ 228 - 160
man/po/ja.po


Разница между файлами не показана из-за своего большого размера
+ 221 - 159
man/po/pt_BR.po


Разница между файлами не показана из-за своего большого размера
+ 224 - 159
man/po/ru.po


+ 1 - 1
man/po/sv.add

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

Разница между файлами не показана из-за своего большого размера
+ 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
 .SH NAME
 start\-stop\-daemon \- start and stop system daemon programs
 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
 .B any
 reason. This is a last resort, and is only meant for programs that either
 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
 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
 .TP
 .BR \-N ", " \-\-nicelevel " \fIint\fP"
 .BR \-N ", " \-\-nicelevel " \fIint\fP"
 This alters the priority of the process before starting it.
 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>
 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>
 2007-08-06  Yuri Kozlov  <kozlov.y@gmail.com>
 
 
@@ -28,11 +69,11 @@
 
 
 2007-06-18  Ivar Smolin  <okul@linux.ee>
 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>
 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>
 2007-06-01  Clytie Siddall  <clytie@riverland.net.au>
 
 

Разница между файлами не показана из-за своего большого размера
+ 590 - 533
po/bs.po


Разница между файлами не показана из-за своего большого размера
+ 633 - 551
po/ca.po


Разница между файлами не показана из-за своего большого размера
+ 630 - 549
po/cs.po


Разница между файлами не показана из-за своего большого размера
+ 678 - 590
po/da.po


Разница между файлами не показана из-за своего большого размера
+ 609 - 559
po/de.po


Разница между файлами не показана из-за своего большого размера
+ 579 - 531
po/dpkg.pot


Разница между файлами не показана из-за своего большого размера
+ 631 - 549
po/dz.po


Разница между файлами не показана из-за своего большого размера
+ 634 - 549
po/el.po


Разница между файлами не показана из-за своего большого размера
+ 634 - 549
po/es.po


Разница между файлами не показана из-за своего большого размера
+ 610 - 546
po/et.po


Разница между файлами не показана из-за своего большого размера
+ 849 - 791
po/eu.po


Разница между файлами не показана из-за своего большого размера
+ 639 - 550
po/fr.po


Разница между файлами не показана из-за своего большого размера
+ 631 - 549
po/gl.po


Разница между файлами не показана из-за своего большого размера
+ 621 - 547
po/hu.po


Разница между файлами не показана из-за своего большого размера
+ 633 - 548
po/id.po


Разница между файлами не показана из-за своего большого размера
+ 633 - 551
po/it.po


Разница между файлами не показана из-за своего большого размера
+ 631 - 549
po/ja.po


Разница между файлами не показана из-за своего большого размера
+ 630 - 549
po/km.po


Разница между файлами не показана из-за своего большого размера
+ 669 - 584
po/ko.po


Разница между файлами не показана из-за своего большого размера
+ 596 - 534
po/ku.po


Разница между файлами не показана из-за своего большого размера
+ 631 - 549
po/mr.po


Разница между файлами не показана из-за своего большого размера
+ 631 - 549
po/nb.po


Разница между файлами не показана из-за своего большого размера
+ 720 - 603
po/ne.po


Разница между файлами не показана из-за своего большого размера
+ 633 - 549
po/nl.po


Разница между файлами не показана из-за своего большого размера
+ 634 - 549
po/nn.po


Разница между файлами не показана из-за своего большого размера
+ 604 - 536
po/pa.po


Разница между файлами не показана из-за своего большого размера
+ 635 - 553
po/pl.po


Разница между файлами не показана из-за своего большого размера
+ 713 - 623
po/pt.po


Разница между файлами не показана из-за своего большого размера
+ 633 - 551
po/pt_BR.po


Разница между файлами не показана из-за своего большого размера
+ 637 - 552
po/ro.po


Разница между файлами не показана из-за своего большого размера
+ 633 - 550
po/ru.po


Разница между файлами не показана из-за своего большого размера
+ 631 - 549
po/sk.po


Разница между файлами не показана из-за своего большого размера
+ 637 - 553
po/sv.po


Разница между файлами не показана из-за своего большого размера
+ 636 - 549
po/tl.po


Разница между файлами не показана из-за своего большого размера
+ 1019 - 857
po/vi.po


Разница между файлами не показана из-за своего большого размера
+ 631 - 552
po/zh_CN.po


Разница между файлами не показана из-за своего большого размера
+ 630 - 549
po/zh_TW.po


+ 1 - 0
scripts/822-date.pl

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

+ 1 - 1
scripts/Dpkg.pm

@@ -6,7 +6,7 @@ use warnings;
 use base qw(Exporter);
 use base qw(Exporter);
 our @EXPORT = qw($version $progname $admindir $dpkglibdir $pkgdatadir);
 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
 # The following lines are automatically fixed at install time
 our $version = "1.14";
 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 \
 	README.alternatives \
 	822-date.pl \
 	822-date.pl \
 	dpkg-architecture.pl \
 	dpkg-architecture.pl \
-	dpkg-buildpackage.sh \
+	dpkg-buildpackage.pl \
 	dpkg-checkbuilddeps.pl \
 	dpkg-checkbuilddeps.pl \
 	dpkg-distaddfile.pl \
 	dpkg-distaddfile.pl \
 	dpkg-genchanges.pl \
 	dpkg-genchanges.pl \
@@ -55,6 +55,7 @@ CLEANFILES = \
 
 
 perllibdir = $(PERL_LIBDIR)
 perllibdir = $(PERL_LIBDIR)
 nobase_dist_perllib_DATA = \
 nobase_dist_perllib_DATA = \
+	Dpkg/BuildOptions.pm \
 	Dpkg/Gettext.pm \
 	Dpkg/Gettext.pm \
 	Dpkg.pm
 	Dpkg.pm
 
 

+ 0 - 4
scripts/changelog/debian.pl

@@ -1,8 +1,4 @@
 #!/usr/bin/perl
 #!/usr/bin/perl
-#
-# Options:
-#  -v<version>
-#   changes since <version>
 
 
 use strict;
 use strict;
 use warnings;
 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"
 our %fi;            # - map of fields values. keys are of the form "S# key"
                     #   where S is source (L is changelog, C is control)
                     #   where S is source (L is changelog, C is control)
                     #   and # is an index
                     #   and # is an index
-our %fieldimps;
 our %p2i;           # - map from datafile+packagename to index in controlfile
 our %p2i;           # - map from datafile+packagename to index in controlfile
                     #   (used if multiple packages can be listed). Key is
                     #   (used if multiple packages can be listed). Key is
                     #   "S key" where S is the source and key is the packagename
                     #   "S key" where S is the source and key is the packagename
@@ -340,6 +339,8 @@ sub substvars {
     return $v;
     return $v;
 }
 }
 
 
+my %fieldimps;
+
 sub set_field_importance(@)
 sub set_field_importance(@)
 {
 {
     my @fields = @_;
     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 {
 sub infol {
-    return (($_[2] eq ':' ? "local " : length($_[2]) ? "" : "any ").
+    return ((defined($_[2]) ? ($_[2] eq ':' ? "local " : "") : "any ").
             "diversion of $_[0]".
             "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 {
 sub checkrename {

+ 8 - 5
scripts/dpkg-genchanges.pl

@@ -13,10 +13,8 @@ require 'controllib.pl';
 
 
 our (%f, %fi);
 our (%f, %fi);
 our %p2i;
 our %p2i;
-our %fieldimps;
 our %substvar;
 our %substvar;
 our $sourcepackage;
 our $sourcepackage;
-our $host_arch;
 
 
 textdomain("dpkg-dev");
 textdomain("dpkg-dev");
 
 
@@ -208,7 +206,11 @@ for $_ (keys %fi) {
 	elsif (m/^Section$|^Priority$/i) { $sourcedefault{$_}= $v; }
 	elsif (m/^Section$|^Priority$/i) { $sourcedefault{$_}= $v; }
 	elsif (m/^Maintainer$/i) { $f{$_}= $v; }
 	elsif (m/^Maintainer$/i) { $f{$_}= $v; }
 	elsif (s/^X[BS]*C[BS]*-//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')); }
 	else { &unknown(_g('general section of control info file')); }
     } elsif (s/^C(\d+) //) {
     } elsif (s/^C(\d+) //) {
 	my $i = $1;
 	my $i = $1;
@@ -251,8 +253,9 @@ for $_ (keys %fi) {
 		}
 		}
 		push(@archvalues,$v) unless !$v || $archadded{$v}++;
 		push(@archvalues,$v) unless !$v || $archadded{$v}++;
 	    } elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/ ||
 	    } 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 {
 	    } else {
 		&unknown(_g("package's section of control info file"));
 		&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 %substvar;
 our (%f, %fi);
 our (%f, %fi);
-our %fieldimps;
 our %p2i;
 our %p2i;
 our @pkg_dep_fields;
 our @pkg_dep_fields;
 our $sourcepackage;
 our $sourcepackage;
-our $host_arch;
 
 
 textdomain("dpkg-dev");
 textdomain("dpkg-dev");
 
 
 my @control_fields = (qw(Package Source Version Architecture Essential Origin
 my @control_fields = (qw(Package Source Version Architecture Essential Origin
                          Bugs Maintainer Installed-Size), @pkg_dep_fields,
                          Bugs Maintainer Installed-Size), @pkg_dep_fields,
-                      qw(Section Priority Description));
+                      qw(Section Priority Homepage Description Tag));
 
 
 my $controlfile = 'debian/control';
 my $controlfile = 'debian/control';
 my $changelogfile = 'debian/changelog';
 my $changelogfile = 'debian/changelog';
@@ -148,18 +146,26 @@ for $_ (keys %fi) {
 #print STDERR "G key >$_< value >$v<\n";
 #print STDERR "G key >$_< value >$v<\n";
 	if (m/^(Origin|Bugs|Maintainer)$/) {
 	if (m/^(Origin|Bugs|Maintainer)$/) {
 	    $f{$_} = $v;
 	    $f{$_} = $v;
+	} elsif (m/^Homepage$/) {
+	    # Binary package stanzas can override these fields
+	    $f{$_} = $v if !defined($f{$_});
 	} elsif (m/^Source$/) {
 	} elsif (m/^Source$/) {
 	    setsourcepackage($v);
 	    setsourcepackage($v);
 	}
 	}
         elsif (s/^X[CS]*B[CS]*-//i) { $f{$_}= $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; }
 	elsif (m/^Section$|^Priority$/) { $spdefault{$_}= $v; }
         else { $_ = "C $_"; &unknown(_g('general section of control info file')); }
         else { $_ = "C $_"; &unknown(_g('general section of control info file')); }
     } elsif (s/^C$myindex //) {
     } elsif (s/^C$myindex //) {
 #print STDERR "P key >$_< value >$v<\n";
 #print STDERR "P key >$_< value >$v<\n";
-        if (m/^(Package|Description|Essential|Optional)$/) {
+        if (m/^(Package|Description|Homepage|Tag|Essential)$/) {
             $f{$_}= $v;
             $f{$_}= $v;
         } elsif (exists($pkg_dep_fields{$_})) {
         } elsif (exists($pkg_dep_fields{$_})) {
+	    # Delay the parsing until later
         } elsif (m/^Section$|^Priority$/) {
         } elsif (m/^Section$|^Priority$/) {
             $spvalue{$_}= $v;
             $spvalue{$_}= $v;
         } elsif (m/^Architecture$/) {
         } elsif (m/^Architecture$/) {
@@ -213,25 +219,18 @@ $f{'Version'} = $forceversion if defined($forceversion);
 &init_substvars;
 &init_substvars;
 init_substvar_arch();
 init_substvar_arch();
 
 
+# Process dependency fields in a second pass, now that substvars have been
+# initialized.
+
 for $_ (keys %fi) {
 for $_ (keys %fi) {
     my $v = $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);
            my $dep = parsedep(substvars($v), 1, 1);
            &error(sprintf(_g("error occurred while parsing %s"), $_)) unless defined $dep;
            &error(sprintf(_g("error occurred while parsing %s"), $_)) unless defined $dep;
             $f{$_}= showdep($dep, 0);
             $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
 set -e
 
 
 # Time-stamp: <96/05/03 13:59:41 root>
 # Time-stamp: <96/05/03 13:59:41 root>
-prog="`basename \"${0}\"`"
+prog="$(basename "${0}")"
 version="1.2.3"; # This line modified by Makefile
 version="1.2.3"; # This line modified by Makefile
 purpose="rename Debian packages to full package names"
 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
 my @fieldpri = (qw(Package Source Version Architecture Essential Origin Bugs
                    Maintainer Installed-Size), @pkg_dep_fields, qw(Filename
                    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
 # This maps the fields into the proper case
 my %field_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)$|
 (?:^|/)(?:DEADJOE|\.cvsignore|\.arch-inventory|\.bzrignore|\.gitignore)$|
 # File or directory names that should be ignored
 # File or directory names that should be ignored
 (?:^|/)(?:CVS|RCS|\.deps|\{arch\}|\.arch-ids|\.svn|\.hg|_darcs|\.git|
 (?:^|/)(?: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
 # Take out comments and newlines
 $diff_ignore_default_regexp =~ s/^#.*$//mg;
 $diff_ignore_default_regexp =~ s/^#.*$//mg;
 $diff_ignore_default_regexp =~ s/\n//sg;
 $diff_ignore_default_regexp =~ s/\n//sg;
@@ -66,7 +97,7 @@ use Cwd;
 push (@INC, $dpkglibdir);
 push (@INC, $dpkglibdir);
 require 'controllib.pl';
 require 'controllib.pl';
 
 
-our (%f, %fi, %fieldimps);
+our (%f, %fi);
 our $sourcepackage;
 our $sourcepackage;
 our $warnable_error;
 our $warnable_error;
 our $quiet_warnings;
 our $quiet_warnings;
@@ -76,7 +107,10 @@ our @src_dep_fields;
 textdomain("dpkg-dev");
 textdomain("dpkg-dev");
 
 
 my @dsc_fields = (qw(Format Source Binary Architecture Version Origin
 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
 # Make sure patch doesn't get any funny ideas
@@ -94,10 +128,10 @@ $SIG{'QUIT'} = \&exit_handler;
 sub version {
 sub version {
     printf _g("Debian %s version %s.\n"), $progname, $version;
     printf _g("Debian %s version %s.\n"), $progname, $version;
 
 
-    printf _g("
+    print _g("
 Copyright (C) 1996 Ian Jackson and Klee Dienes.");
 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
 This is free software; see the GNU General Public Licence version 2 or
 later for copying conditions. There is NO warranty.
 later for copying conditions. There is NO warranty.
 ");
 ");
@@ -126,7 +160,8 @@ Build options:
   -q                       quiet operation, do not print warnings.
   -q                       quiet operation, do not print warnings.
   -i[<regexp>]             filter out files to ignore diffs of
   -i[<regexp>]             filter out files to ignore diffs of
                              (defaults to: '%s').
                              (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).
   -sa                      auto select orig source (-sA is default).
   -sk                      use packed orig source (unpack & keep).
   -sk                      use packed orig source (unpack & keep).
   -sp                      use packed orig source (unpack & remove).
   -sp                      use packed orig source (unpack & remove).
@@ -144,7 +179,9 @@ Extract options:
 General options:
 General options:
   -h, --help               show this help message.
   -h, --help               show this help message.
       --version            show the version.
       --version            show the version.
-"), $progname, $diff_ignore_default_regexp;
+"), $progname,
+    $diff_ignore_default_regexp,
+    join('', map { " -I$_" } @tar_ignore_default_pattern);
 }
 }
 
 
 sub handleformat {
 sub handleformat {
@@ -155,6 +192,7 @@ sub handleformat {
 
 
 
 
 my $opmode;
 my $opmode;
+my $tar_ignore_default_pattern_done;
 
 
 while (@ARGV && $ARGV[0] =~ m/^-/) {
 while (@ARGV && $ARGV[0] =~ m/^-/) {
     $_=shift(@ARGV);
     $_=shift(@ARGV);
@@ -180,6 +218,13 @@ while (@ARGV && $ARGV[0] =~ m/^-/) {
         $diff_ignore_regexp = $1 ? $1 : $diff_ignore_default_regexp;
         $diff_ignore_regexp = $1 ? $1 : $diff_ignore_default_regexp;
     } elsif (m/^-I(.+)$/) {
     } elsif (m/^-I(.+)$/) {
         push @tar_ignore, "--exclude=$1";
         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]*)[=:]/) {
     } elsif (m/^-V(\w[-:0-9A-Za-z]*)[=:]/) {
         $substvar{$1}= "$'";
         $substvar{$1}= "$'";
     } elsif (m/^-T/) {
     } elsif (m/^-T/) {
@@ -238,8 +283,10 @@ if ($opmode eq 'build') {
         if (s/^C //) {
         if (s/^C //) {
 	    if (m/^Source$/i) {
 	    if (m/^Source$/i) {
 		setsourcepackage($v);
 		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/^Uploaders$/i) { ($f{$_}= $v) =~ s/[\r\n]//g; }
 	    elsif (m/^Build-(Depends|Conflicts)(-Indep)?$/i) {
 	    elsif (m/^Build-(Depends|Conflicts)(-Indep)?$/i) {
 		my $dep = parsedep(substvars($v),1);
 		my $dep = parsedep(substvars($v),1);
@@ -280,8 +327,8 @@ if ($opmode eq 'build') {
             } elsif (s/^X[BC]*S[BC]*-//i) {
             } elsif (s/^X[BC]*S[BC]*-//i) {
                 $f{$_}= $v;
                 $f{$_}= $v;
             } elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/i ||
             } 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) {
                      m/^X[BC]+-/i) {
             } else {
             } else {
                 &unknown(_g("package's section of control info file"));
                 &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>
 2007-07-08  Frédéric Bothamy  <frederic.bothamy@free.fr>
 
 
 	* fr.po: Proofread.
 	* fr.po: Proofread.

+ 2 - 0
scripts/po/LINGUAS

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

+ 1 - 0
scripts/po/POTFILES.in

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

Разница между файлами не показана из-за своего большого размера
+ 605 - 452
scripts/po/ca.po


Разница между файлами не показана из-за своего большого размера
+ 601 - 452
scripts/po/dpkg-dev.pot


Разница между файлами не показана из-за своего большого размера
+ 649 - 487
scripts/po/fr.po


Разница между файлами не показана из-за своего большого размера
+ 2746 - 0
scripts/po/sv.po


+ 4 - 2
scripts/update-alternatives.pl

@@ -595,12 +595,14 @@ if ($mode eq 'auto') {
 	    unlink("$slink") || $! == &ENOENT ||
 	    unlink("$slink") || $! == &ENOENT ||
 	        &quit(sprintf(_g("unable to remove %s: %s"), $slink, $!));
 	        &quit(sprintf(_g("unable to remove %s: %s"), $slink, $!));
         } else {
         } 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".
 		pr(sprintf(_g("warning: %s is supposed to be a slave symlink to\n".
 		              " %s, or nonexistent; however, readlink failed: %s"),
 		              " %s, or nonexistent; however, readlink failed: %s"),
 		           $slink, "$altdir/$sname", $!))
 		           $slink, "$altdir/$sname", $!))
 		    if $verbosemode > 0;
 		    if $verbosemode > 0;
-	    } elsif ($linkname ne "$altdir/$sname") {
+	    } elsif (!defined($linkname) ||
+	            (defined($linkname) && $linkname ne "$altdir/$sname")) {
 		unlink("$slink.dpkg-tmp") || $! == ENOENT ||
 		unlink("$slink.dpkg-tmp") || $! == ENOENT ||
 		    quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
 		    quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
 		                 "$slink.dpkg-tmp", $!));
 		                 "$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) {
 void cu_prermremove(int argc, void **argv) {
   struct pkginfo *pkg= (struct pkginfo*)argv[0];
   struct pkginfo *pkg= (struct pkginfo*)argv[0];
+  enum pkgstatus *oldpkgstatus= (enum pkgstatus*)argv[1];
 
 
   if (cleanup_pkg_failed++) return;
   if (cleanup_pkg_failed++) return;
   maintainer_script_installed(pkg,POSTINSTFILE,"post-installation",
   maintainer_script_installed(pkg,POSTINSTFILE,"post-installation",
                               "abort-remove", NULL);
                               "abort-remove", NULL);
-  pkg->status= stat_installed;
+  pkg->status= *oldpkgstatus;
   pkg->eflag &= ~eflagf_reinstreq;
   pkg->eflag &= ~eflagf_reinstreq;
   modstatdb_note(pkg);
   modstatdb_note(pkg);
   cleanup_pkg_failed--;
   cleanup_pkg_failed--;

+ 8 - 7
src/remove.c

@@ -164,14 +164,15 @@ void deferred_remove(struct pkginfo *pkg) {
   printf(_("Removing %s ...\n"),pkg->name);
   printf(_("Removing %s ...\n"),pkg->name);
   log_action("remove", pkg);
   log_action("remove", pkg);
   if (pkg->status == stat_halfconfigured || pkg->status == stat_installed) {
   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 ... */
     pkg->status= stat_unpacked; /* Will turn into halfinstalled soon ... */
   }
   }