summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scripts/Dpkg/Archive/Ar.pm440
-rw-r--r--scripts/Dpkg/BuildDriver.pm196
-rw-r--r--scripts/Dpkg/BuildDriver/DebianRules.pm298
-rw-r--r--scripts/Dpkg/Control/FieldsCore.pm5
-rw-r--r--scripts/Dpkg/OpenPGP/Backend/GnuPG.pm14
-rw-r--r--scripts/Dpkg/OpenPGP/ErrorCodes.pm19
-rw-r--r--scripts/Dpkg/Shlibs/Cppfilt.pm10
-rw-r--r--scripts/Dpkg/Source/Package.pm33
-rw-r--r--scripts/Dpkg/Source/Package/V1.pm3
-rw-r--r--scripts/Dpkg/Source/Package/V2.pm3
-rw-r--r--scripts/Dpkg/Source/Package/V3/Bzr.pm4
-rw-r--r--scripts/Dpkg/Substvars.pm34
-rw-r--r--scripts/Dpkg/Vendor/Debian.pm37
-rw-r--r--scripts/Dpkg/Vendor/Ubuntu.pm2
-rw-r--r--scripts/Makefile.am11
-rw-r--r--scripts/Makefile.in79
-rwxr-xr-xscripts/dpkg-ar.pl127
-rwxr-xr-xscripts/dpkg-buildpackage.pl317
-rwxr-xr-xscripts/dpkg-genbuildinfo.pl6
-rwxr-xr-xscripts/dpkg-shlibdeps.pl72
-rwxr-xr-xscripts/dpkg-source.pl3
-rw-r--r--scripts/mk/Makefile.am21
-rw-r--r--scripts/mk/Makefile.in97
-rw-r--r--scripts/mk/architecture.mk18
-rw-r--r--scripts/mk/buildapi.mk11
-rw-r--r--scripts/mk/buildflags.mk56
-rw-r--r--scripts/mk/buildopts.mk13
-rw-r--r--scripts/mk/buildtools.mk23
-rw-r--r--scripts/mk/default.mk8
-rw-r--r--scripts/mk/pkg-info.mk36
-rw-r--r--scripts/mk/vendor.mk15
-rw-r--r--scripts/po/Makefile.in.in24
-rw-r--r--scripts/po/POTFILES.in14
-rw-r--r--scripts/po/ca.gmobin121651 -> 118502 bytes
-rw-r--r--scripts/po/ca.po473
-rw-r--r--scripts/po/de.gmobin121226 -> 121524 bytes
-rw-r--r--scripts/po/de.po467
-rw-r--r--scripts/po/dpkg-dev.pot371
-rw-r--r--scripts/po/es.gmobin53962 -> 53574 bytes
-rw-r--r--scripts/po/es.po453
-rw-r--r--scripts/po/fr.gmobin113434 -> 110270 bytes
-rw-r--r--scripts/po/fr.po493
-rw-r--r--scripts/po/nl.gmobin106650 -> 103509 bytes
-rw-r--r--scripts/po/nl.po465
-rw-r--r--scripts/po/pl.gmobin56253 -> 55896 bytes
-rw-r--r--scripts/po/pl.po459
-rw-r--r--scripts/po/pt.gmobin106808 -> 103740 bytes
-rw-r--r--scripts/po/pt.po465
-rw-r--r--scripts/po/ru.gmobin74118 -> 73657 bytes
-rw-r--r--scripts/po/ru.po453
-rw-r--r--scripts/po/sv.gmobin115257 -> 113149 bytes
-rw-r--r--scripts/po/sv.po508
-rw-r--r--scripts/t/Dpkg_BuildFlags_Ubuntu.t2
-rw-r--r--scripts/t/Dpkg_Deps.t93
-rw-r--r--scripts/t/Dpkg_Shlibs.t7
-rw-r--r--scripts/t/Dpkg_Shlibs_Cppfilt.t8
-rw-r--r--scripts/t/Dpkg_Substvars.t28
-rw-r--r--scripts/t/Dpkg_Substvars/substvars-req1
-rw-r--r--scripts/t/dpkg_buildpackage.t3
-rw-r--r--scripts/t/dpkg_buildpackage/test-source_0_source.hook2
-rw-r--r--scripts/t/mk.t2
-rw-r--r--scripts/t/mk/architecture.mk60
-rw-r--r--scripts/t/mk/buildapi.mk13
-rw-r--r--scripts/t/mk/buildflags.mk53
-rw-r--r--scripts/t/mk/buildopts.mk11
-rw-r--r--scripts/t/mk/buildtools.mk64
-rw-r--r--scripts/t/mk/pkg-info.mk31
-rw-r--r--scripts/t/mk/vendor-v0.mk1
-rw-r--r--scripts/t/mk/vendor-v1.mk1
-rw-r--r--scripts/t/mk/vendor.mk17
70 files changed, 5183 insertions, 1870 deletions
diff --git a/scripts/Dpkg/Archive/Ar.pm b/scripts/Dpkg/Archive/Ar.pm
new file mode 100644
index 0000000..97d5711
--- /dev/null
+++ b/scripts/Dpkg/Archive/Ar.pm
@@ -0,0 +1,440 @@
+# Copyright © 2023-2024 Guillem Jover <guillem@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+=encoding utf8
+
+=head1 NAME
+
+Dpkg::Archive::Ar - Unix ar archive support
+
+=head1 DESCRIPTION
+
+This module provides a class to handle Unix ar archives.
+It support the common format, with no GNU or BSD extensions.
+
+B<Note>: This is a private module, its API can change at any time.
+
+=cut
+
+package Dpkg::Archive::Ar 0.01;
+
+use strict;
+use warnings;
+
+use Carp;
+use Fcntl qw(:seek);
+use IO::File;
+
+use Dpkg::ErrorHandling;
+use Dpkg::Gettext;
+
+my $AR_MAGIC = "!<arch>\n";
+my $AR_MAGIC_LEN = 8;
+my $AR_FMAG = "\`\n";
+my $AR_HDR_LEN = 60;
+
+=head1 METHODS
+
+=over 8
+
+=item $ar = Dpkg::Archive::Ar->new(%opts)
+
+Create a new object to handle Unix ar archives.
+
+Supported options are:
+
+=over 8
+
+=item filename
+
+The filename for the archive to open or create.
+
+=item create
+
+A boolean denoting whether the archive should be created,
+otherwise if it does not exist the constructor will not open, create or
+scan it.
+
+=back
+
+=cut
+
+sub new {
+ my ($this, %opts) = @_;
+ my $class = ref($this) || $this;
+ my $self = {
+ filename => undef,
+ fh => undef,
+ # XXX: If we promote this out from internal use, we should make this
+ # default to the archive mtime, or be overridable like in libdpkg,
+ # so that it can be initialized from SOURCE_DATE_EPOCH for example.
+ time => 0,
+ size => 0,
+ members => [],
+ };
+ bless $self, $class;
+
+ if ($opts{filename}) {
+ if ($opts{create}) {
+ $self->create_archive($opts{filename});
+ } elsif (-e $opts{filename}) {
+ $self->open_archive($opts{filename});
+ }
+ if (-e $opts{filename}) {
+ $self->scan_archive();
+ }
+ }
+
+ return $self;
+}
+
+sub init_archive {
+ my $self = shift;
+
+ $self->{fh}->binmode();
+ $self->{fh}->stat
+ or syserr(g_('cannot get archive %s size'), $self->{filename});
+ $self->{size} = -s _;
+
+ return;
+}
+
+=item $ar->create_archive($filename)
+
+Create the archive.
+
+=cut
+
+sub create_archive {
+ my ($self, $filename) = @_;
+
+ if (defined $self->{fh}) {
+ croak 'the object has already been initialized with another file';
+ }
+
+ $self->{filename} = $filename;
+ $self->{fh} = IO::File->new($filename, '+>')
+ or syserr(g_('cannot open or create archive %s'), $filename);
+ $self->init_archive();
+ $self->{fh}->write($AR_MAGIC, $AR_MAGIC_LEN)
+ or syserr(g_('cannot write magic into archive %s'), $filename);
+
+ return;
+}
+
+=item $ar->open_archive($filename)
+
+Open the archive.
+
+=cut
+
+sub open_archive {
+ my ($self, $filename) = @_;
+
+ if (defined $self->{fh}) {
+ croak 'the object has already been initialized with another file';
+ }
+
+ $self->{filename} = $filename;
+ $self->{fh} = IO::File->new($filename, '+<')
+ or syserr(g_('cannot open or create archive %s'), $filename);
+ $self->init_archive();
+
+ return;
+}
+
+sub _read_buf {
+ my ($self, $subject, $size) = @_;
+
+ my $buf;
+ my $offs = $self->{fh}->tell();
+ my $n = $self->{fh}->read($buf, $size);
+ if (not defined $n) {
+ # TRANSLATORS: The first %s string is either "archive magic" or
+ # "file header".
+ syserr(g_('cannot read %s at offset %d from archive %s'),
+ $subject, $offs, $self->{filename});
+ } elsif ($n == 0) {
+ return;
+ } elsif ($n != $size) {
+ # TRANSLATORS: The first %s string is either "archive magic" or
+ # "file header".
+ error(g_('%s at offset %d in archive %s is truncated'),
+ $subject, $offs, $self->{filename});
+ }
+
+ return $buf;
+}
+
+=item $ar->parse_magic()
+
+Reads and parses the archive magic string, and validates it.
+
+=cut
+
+sub parse_magic {
+ my $self = shift;
+
+ my $magic = $self->_read_buf(g_('archive magic'), $AR_MAGIC_LEN)
+ or error(g_('archive %s contains no magic'), $self->{filename});
+
+ if ($magic ne $AR_MAGIC) {
+ error(g_('archive %s contains bad magic'), $self->{filename});
+ }
+
+ return;
+}
+
+=item $ar->parse_member()
+
+Reads and parses the archive member and tracks it for later handling.
+
+=cut
+
+sub parse_member {
+ my $self = shift;
+
+ my $offs = $self->{fh}->tell();
+
+ my $hdr = $self->_read_buf(g_('file header'), $AR_HDR_LEN)
+ or return;
+
+ my $hdr_fmt = 'A16A12A6A6A8A10a2';
+ my ($name, $time, $uid, $gid, $mode, $size, $fmag) = unpack $hdr_fmt, $hdr;
+
+ if ($fmag ne $AR_FMAG) {
+ error(g_('file header at offset %d in archive %s contains bad magic'),
+ $offs, $self->{filename});
+ }
+
+ # Remove trailing spaces from the member name.
+ $name =~ s{ *$}{};
+
+ # Remove optional slash terminator (on GNU-style archives).
+ $name =~ s{/$}{};
+
+ my $member = {
+ name => $name,
+ time => int $time,
+ uid => int $uid,
+ gid => int $gid,
+ mode => oct $mode,
+ size => int $size,
+ offs => $offs,
+ };
+ push @{$self->{members}}, $member;
+
+ return $member;
+}
+
+=item $ar->skip_member($member)
+
+Skip this member to the next one.
+Get the value of a given substitution.
+
+=cut
+
+sub skip_member {
+ my ($self, $member) = @_;
+
+ my $size = $member->{size};
+ my $offs = $member->{offs} + $AR_HDR_LEN + $size + ($size & 1);
+
+ $self->{fh}->seek($offs, SEEK_SET)
+ or syserr(g_('cannot seek into next file header at offset %d from archive %s'),
+ $offs, $self->{filename});
+
+ return;
+}
+
+=item $ar->scan_archive()
+
+Scan the archive for all its member files and metadata.
+
+=cut
+
+sub scan_archive {
+ my $self = shift;
+
+ $self->{fh}->seek(0, SEEK_SET)
+ or syserr(g_('cannot seek into beginning of archive %s'),
+ $self->{filename});
+
+ $self->parse_magic();
+
+ while (my $member = $self->parse_member()) {
+ $self->skip_member($member);
+ }
+
+ return;
+}
+
+=item $ar->get_members()
+
+Get the list of members in the archive.
+
+=cut
+
+sub get_members {
+ my $self = shift;
+
+ return $self->{members};
+}
+
+sub _copy_fh_fh {
+ my ($self, $if, $of, $size) = @_;
+
+ while ($size > 0) {
+ my $buf;
+ my $buflen = $size > 4096 ? 4096 : $size;
+
+ my $n = $if->{fh}->read($buf, $buflen)
+ or syserr(g_('cannot read file %s'), $if->{name});
+
+ $of->{fh}->write($buf, $buflen)
+ or syserr(g_('cannot write file %s'), $of->{name});
+
+ $size -= $buflen;
+ }
+
+ return;
+}
+
+=item $ar->extract_member($member)
+
+Extract the specified member to the current directory.
+
+=cut
+
+sub extract_member {
+ my ($self, $member) = @_;
+
+ $self->{fh}->seek($member->{offs} + $AR_HDR_LEN, SEEK_SET);
+
+ my $ofh = IO::File->new($member->{name}, '+>')
+ or syserr(g_('cannot create file %s to extract from archive %s'),
+ $member->{name}, $self->{filename});
+
+ $self->_copy_fh_fh({ fh => $self->{fh}, name => $self->{filename} },
+ { fh => $ofh, name => $member->{name} },
+ $member->{size});
+
+ $ofh->close()
+ or syserr(g_('cannot write file %s to the filesystem'),
+ $member->{name});
+
+ return;
+}
+
+=item $ar->write_member($member)
+
+Write the provided $member into the archive.
+
+=cut
+
+sub write_member {
+ my ($self, $member) = @_;
+
+ my $size = $member->{size};
+ my $mode = sprintf '%o', $member->{mode};
+
+ my $hdr_fmt = 'A16A12A6A6A8A10A2';
+ my $data = pack $hdr_fmt, @{$member}{qw(name time uid gid)}, $mode, $size, $AR_FMAG;
+
+ $self->{fh}->write($data, $AR_HDR_LEN, $member->{offs})
+ or syserr(g_('cannot write file header into archive %s'),
+ $self->{filename});
+
+ return;
+}
+
+=item $ar->add_file($filename)
+
+Append the specified $filename into the archive.
+
+=cut
+
+sub add_file {
+ my ($self, $filename) = @_;
+
+ if (length $filename > 15) {
+ error(g_('filename %s is too long'), $filename);
+ }
+
+ my $fh = IO::File->new($filename, '<')
+ or syserr(g_('cannot open file %s to append to archive %s'),
+ $filename, $self->{filename});
+ $fh->stat()
+ or syserr(g_('cannot get file %s size'), $filename);
+ my $size = -s _;
+
+ my %member = (
+ name => $filename,
+ size => $size,
+ time => $self->{time},
+ mode => 0100644,
+ uid => 0,
+ gid => 0,
+ );
+
+ $self->write_member(\%member);
+ $self->_copy_fh_fh({ fh => $fh, name => $filename },
+ { fh => $self->{fh}, name => $self->{filename} },
+ $size);
+ if ($size & 1) {
+ $self->{fh}->write("\n", 1)
+ or syserr(g_('cannot write file %s padding to archive %s'),
+ $filename, $self->{filename});
+ }
+
+ return;
+}
+
+=item $ar->close_archive()
+
+Close the archive and release any allocated resource.
+
+=cut
+
+sub close_archive {
+ my $self = shift;
+
+ $self->{fh}->close() if defined $self->{fh};
+ $self->{fh} = undef;
+ $self->{size} = 0;
+ $self->{members} = [];
+
+ return;
+}
+
+sub DESTROY {
+ my $self = shift;
+
+ $self->close_archive();
+
+ return;
+}
+
+=back
+
+=head1 CHANGES
+
+=head2 Version 0.xx
+
+This is a private module.
+
+=cut
+
+1;
diff --git a/scripts/Dpkg/BuildDriver.pm b/scripts/Dpkg/BuildDriver.pm
new file mode 100644
index 0000000..5a892ae
--- /dev/null
+++ b/scripts/Dpkg/BuildDriver.pm
@@ -0,0 +1,196 @@
+# Copyright © 2020-2024 Guillem Jover <guillem@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+=encoding utf8
+
+=head1 NAME
+
+Dpkg::BuildDriver - drive the build of a Debian package
+
+=head1 DESCRIPTION
+
+This class is used by dpkg-buildpackage to drive the build of a Debian
+package.
+
+B<Note>: This is a private module, its API can change at any time.
+
+=cut
+
+package Dpkg::BuildDriver 0.01;
+
+use strict;
+use warnings;
+
+use Dpkg ();
+use Dpkg::Gettext;
+use Dpkg::ErrorHandling;
+
+=head1 METHODS
+
+=over 4
+
+=item $bd = Dpkg::BuildDriver->new(%opts)
+
+Create a new Dpkg::BuildDriver object.
+It will load a build driver module as requested in the B<Build-Drivers> field
+in the $opts{ctrl} L<Dpkg::Control::Info> object or if not present,
+it will fall back to load the default B<debian-rules> driver.
+
+Supported or required options are:
+
+=over
+
+=item B<ctrl> (required)
+
+A L<Dpkg::Control::Info> object.
+
+=item B<root_cmd>
+
+A string with the gain-root-command to use when needing to execute a command
+with root-like rights.
+If needed and unset, it will default to L<fakeroot> if it is available or
+the module will error out.
+
+=item B<as_root>
+
+A boolean to force F<debian/rules> target calls as root-like, even if they
+would normally not require to be executed as root-like.
+This option is applied to all targets globally.
+
+B<Note>: This option is only relevant for drivers that use F<debian/rules>.
+
+=item B<debian_rules>
+
+An array containing the command to execute the F<debian/rules> file and any
+additional arguments.
+It defaults to B<debian/rules>.
+
+B<Note>: This option is only relevant for drivers that use F<debian/rules>.
+
+=item B<rrr_override>
+
+A string that overrides the B<Rules-Requires-Root> field value.
+
+B<Note>: This option is only relevant for drivers that use F<debian/rules>.
+
+=back
+
+=cut
+
+sub _load_driver {
+ my ($name, %opts) = @_;
+
+ # Normalize the driver name.
+ $name = join q{}, map { ucfirst lc } split /-/, $name;
+
+ my $driver;
+ eval qq{
+ require Dpkg::BuildDriver::$name;
+ \$driver = Dpkg::BuildDriver::$name->new(%opts);
+ };
+ error(g_('build driver %s is unknown: %s'), $name, $@) if $@;
+
+ return $driver;
+}
+
+sub new {
+ my ($this, %opts) = @_;
+ my $class = ref($this) || $this;
+
+ my $ctrl_src = $opts{ctrl}->get_source();
+ my $name = $ctrl_src->{'Build-Driver'} // 'debian-rules';
+ my $self = {
+ driver => _load_driver($name, %opts),
+ };
+ bless $self, $class;
+ return $self;
+}
+
+=item $bd->pre_check()
+
+Perform build driver specific checks, before anything else.
+
+This will run after the B<init> hook, and before C<dpkg-source --before-build>.
+
+B<Note>: This is an optional method that can be omitted from the driver
+implementation.
+
+=cut
+
+sub pre_check {
+ my $self = shift;
+
+ return unless $self->{driver}->can('pre_check');
+ return $self->{driver}->pre_check();
+}
+
+=item $bool = $bd->need_build_task($build_task, binary_task)
+
+Returns whether we need to use the build task.
+
+B<Note>: This method is needed as long as we support building as root-like.
+Once that is not needed this method will be deprecated.
+
+=cut
+
+sub need_build_task {
+ my ($self, $build_task, $binary_task) = @_;
+
+ return $self->{driver}->need_build_task($build_task, $binary_task);
+}
+
+=item $bd->run_build_task($build_task, $binary_task)
+
+Executes the build task for the build.
+
+B<Note>: This is an optional method needed as long as we support building as
+root-like.
+Once that is not needed this method will be deprecated.
+
+=cut
+
+sub run_build_task {
+ my ($self, $build_task, $binary_task) = @_;
+
+ $self->{driver}->run_build_task($build_task, $binary_task);
+
+ return;
+}
+
+=item $bd->run_task($task)
+
+Executes the given task for the build.
+
+=cut
+
+sub run_task {
+ my ($self, $task) = @_;
+
+ $self->{driver}->run_task($task);
+
+ return;
+}
+
+=back
+
+=head1 CHANGES
+
+=head2 Version 0.xx
+
+This is a private module.
+
+=cut
+
+1;
diff --git a/scripts/Dpkg/BuildDriver/DebianRules.pm b/scripts/Dpkg/BuildDriver/DebianRules.pm
new file mode 100644
index 0000000..ffc1987
--- /dev/null
+++ b/scripts/Dpkg/BuildDriver/DebianRules.pm
@@ -0,0 +1,298 @@
+# Copyright © 2020-2024 Guillem Jover <guillem@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+=encoding utf8
+
+=head1 NAME
+
+Dpkg::BuildDriver::DebianRules - build a Debian package using debian/rules
+
+=head1 DESCRIPTION
+
+This class is used by dpkg-buildpackage to drive the build of a Debian
+package, using F<debian/rules>.
+
+B<Note>: This is a private module, its API can change at any time.
+
+=cut
+
+package Dpkg::BuildDriver::DebianRules 0.01;
+
+use strict;
+use warnings;
+
+use Dpkg ();
+use Dpkg::Gettext;
+use Dpkg::ErrorHandling;
+use Dpkg::Path qw(find_command);
+use Dpkg::BuildTypes;
+use Dpkg::BuildAPI qw(get_build_api);
+
+=head1 METHODS
+
+=over 4
+
+=item $bd = Dpkg::BuildDriver::DebianRules->new(%opts)
+
+Create a new Dpkg::BuildDriver::DebianRules object.
+
+Supports or requires the same Dpkg::BuildDriver->new() options.
+
+=cut
+
+sub new {
+ my ($this, %opts) = @_;
+ my $class = ref($this) || $this;
+
+ my $self = {
+ ctrl => $opts{ctrl},
+ root_cmd => $opts{root_cmd},
+ as_root => $opts{as_root},
+ debian_rules => $opts{debian_rules},
+ rrr_override => $opts{rrr_override},
+ };
+ bless $self, $class;
+
+ my $rrr = $self->_parse_rules_requires_root();
+
+ $self->{rules_requires_root} = $rrr;
+
+ return $self;
+}
+
+sub _setup_rootcommand {
+ my $self = shift;
+
+ if ($< == 0) {
+ warning(g_('using a gain-root-command while being root'))
+ if @{$self->{root_cmd}};
+ } else {
+ push @{$self->{root_cmd}}, 'fakeroot'
+ unless @{$self->{root_cmd}};
+ }
+
+ if (@{$self->{root_cmd}} && ! find_command($self->{root_cmd}[0])) {
+ if ($self->{root_cmd}[0] eq 'fakeroot' && $< != 0) {
+ error(g_("fakeroot not found, either install the fakeroot\n" .
+ 'package, specify a command with the -r option, ' .
+ 'or run this as root'));
+ } else {
+ error(g_("gain-root-command '%s' not found"), $self->{root_cmd}[0]);
+ }
+ }
+}
+
+my %target_build = map { $_ => 1 } qw(
+ build
+ build-arch
+ build-indep
+);
+my %target_legacy_root = map { $_ => 1 } qw(
+ clean
+ binary
+ binary-arch
+ binary-indep
+);
+my %target_official = map { $_ => 1 } qw(
+ clean
+ build
+ build-arch
+ build-indep
+ binary
+ binary-arch
+ binary-indep
+);
+
+# Check whether we are doing some kind of rootless build, and sanity check
+# the fields values.
+sub _parse_rules_requires_root {
+ my $self = shift;
+
+ my %rrr;
+ my $rrr;
+ my $rrr_default;
+ my $keywords_base;
+ my $keywords_impl;
+
+ if (get_build_api($self->{ctrl}) >= 1) {
+ $rrr_default = 'no';
+ } else {
+ $rrr_default = 'binary-targets';
+ }
+
+ my $ctrl_src = $self->{ctrl}->get_source();
+ $rrr = $self->{rrr_override} // $ctrl_src->{'Rules-Requires-Root'} // $rrr_default;
+
+ foreach my $keyword (split ' ', $rrr) {
+ if ($keyword =~ m{/}) {
+ if ($keyword =~ m{^dpkg/target/(.*)$}p and $target_official{$1}) {
+ error(g_('disallowed target in %s field keyword %s'),
+ 'Rules-Requires-Root', $keyword);
+ } elsif ($keyword ne 'dpkg/target-subcommand') {
+ error(g_('%s field keyword "%s" is unknown in dpkg namespace'),
+ 'Rules-Requires-Root', $keyword);
+ }
+ $keywords_impl++;
+ } else {
+ if ($keyword ne lc $keyword and
+ (lc $keyword eq 'no' or lc $keyword eq 'binary-targets')) {
+ error(g_('%s field keyword "%s" is uppercase; use "%s" instead'),
+ 'Rules-Requires-Root', $keyword, lc $keyword);
+ } elsif (lc $keyword eq 'yes') {
+ error(g_('%s field keyword "%s" is invalid; use "%s" instead'),
+ 'Rules-Requires-Root', $keyword, 'binary-targets');
+ } elsif ($keyword ne 'no' and $keyword ne 'binary-targets') {
+ warning(g_('%s field keyword "%s" is unknown'),
+ 'Rules-Requires-Root', $keyword);
+ }
+ $keywords_base++;
+ }
+
+ if ($rrr{$keyword}++) {
+ error(g_('field %s contains duplicate keyword %s'),
+ 'Rules-Requires-Root', $keyword);
+ }
+ }
+
+ if ($self->{as_root} || ! exists $rrr{no}) {
+ $self->_setup_rootcommand();
+ }
+
+ # Notify the children we do support R³.
+ $ENV{DEB_RULES_REQUIRES_ROOT} = join ' ', sort keys %rrr;
+
+ if ($keywords_base > 1 or $keywords_base and $keywords_impl) {
+ error(g_('%s field contains both global and implementation specific keywords'),
+ 'Rules-Requires-Root');
+ } elsif ($keywords_impl) {
+ # Set only on <implementations-keywords>.
+ $ENV{DEB_GAIN_ROOT_CMD} = join ' ', @{$self->{root_cmd}};
+ } else {
+ # We should not provide the variable otherwise.
+ delete $ENV{DEB_GAIN_ROOT_CMD};
+ }
+
+ return \%rrr;
+}
+
+sub _rules_requires_root {
+ my ($self, $target) = @_;
+
+ return 1 if $self->{as_root};
+ return 1 if $self->{rules_requires_root}{"dpkg/target/$target"};
+ return 1 if $self->{rules_requires_root}{'binary-targets'} and $target_legacy_root{$target};
+ return 0;
+}
+
+sub _run_cmd {
+ my @cmd = @_;
+ printcmd(@cmd);
+ system @cmd and subprocerr("@cmd");
+}
+
+sub _run_rules_cond_root {
+ my ($self, $target) = @_;
+
+ my @cmd;
+ push @cmd, @{$self->{root_cmd}} if $self->_rules_requires_root($target);
+ push @cmd, @{$self->{debian_rules}}, $target;
+
+ _run_cmd(@cmd);
+}
+
+=item $bd->pre_check()
+
+Perform build driver specific checks, before anything else.
+
+This checks whether the F<debian/rules> file is executable,
+and if not then make it so.
+
+=cut
+
+sub pre_check {
+ my $self = shift;
+
+ if (@{$self->{debian_rules}} == 1 && ! -x $self->{debian_rules}[0]) {
+ warning(g_('%s is not executable; fixing that'),
+ $self->{debian_rules}[0]);
+ # No checks of failures, non fatal.
+ chmod 0755, $self->{debian_rules}[0];
+ }
+}
+
+=item $bool = $bd->need_build_task($build_task, $binary_task)
+
+Returns whether we need to use the build task.
+
+B<Note>: This method is needed as long as we support building as root-like.
+Once that is not needed this method will be deprecated.
+
+=cut
+
+sub need_build_task {
+ my ($self, $build_task, $binary_task) = @_;
+
+ # If we are building rootless, there is no need to call the build target
+ # independently as non-root.
+ return 0 if not $self->_rules_requires_root($binary_task);
+ return 1;
+}
+
+=item $bd->run_build_task($build_task, $binary_task)
+
+Executes the build task for the build.
+
+B<Note>: This method is needed as long as we support building as root-like.
+Once that is not needed this method will be deprecated.
+
+=cut
+
+sub run_build_task {
+ my ($self, $build_task, $binary_task) = @_;
+
+ # If we are building rootless, there is no need to call the build
+ # target independently as non-root.
+ if ($self->_rules_requires_root($binary_task)) {
+ _run_cmd(@{$self->{debian_rules}}, $build_task)
+ }
+
+ return;
+}
+
+=item $bd->run_task($task)
+
+Executes the given task for the build.
+
+=cut
+
+sub run_task {
+ my ($self, $task) = @_;
+
+ $self->_run_rules_cond_root($task);
+
+ return;
+}
+
+=back
+
+=head1 CHANGES
+
+=head2 Version 0.xx
+
+This is a private module.
+
+=cut
+
+1;
diff --git a/scripts/Dpkg/Control/FieldsCore.pm b/scripts/Dpkg/Control/FieldsCore.pm
index 0c024ab..38fa774 100644
--- a/scripts/Dpkg/Control/FieldsCore.pm
+++ b/scripts/Dpkg/Control/FieldsCore.pm
@@ -1,4 +1,5 @@
# Copyright © 2007-2009 Raphaël Hertzog <hertzog@debian.org>
+# Copyright © 2012-2024 Guillem Jover <guillem@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -174,6 +175,10 @@ our %FIELDS = (
dependency => 'normal',
dep_order => 3,
},
+ 'build-driver' => {
+ name => 'Build-Driver',
+ allowed => CTRL_TMPL_SRC,
+ },
'build-essential' => {
name => 'Build-Essential',
allowed => ALL_PKG,
diff --git a/scripts/Dpkg/OpenPGP/Backend/GnuPG.pm b/scripts/Dpkg/OpenPGP/Backend/GnuPG.pm
index 6c834be..43ac1e2 100644
--- a/scripts/Dpkg/OpenPGP/Backend/GnuPG.pm
+++ b/scripts/Dpkg/OpenPGP/Backend/GnuPG.pm
@@ -34,7 +34,9 @@ use strict;
use warnings;
use POSIX qw(:sys_wait_h);
+use File::Basename;
use File::Temp;
+use File::Copy;
use MIME::Base64;
use Dpkg::ErrorHandling;
@@ -296,6 +298,18 @@ sub inline_sign {
return OPENPGP_MISSING_CMD if ! $self->has_backend_cmd();
+ my $file = basename($data);
+ my $signdir = File::Temp->newdir('dpkg-sign.XXXXXXXX', TMPDIR => 1);
+ my $signfile = "$signdir/$file";
+
+ # Make sure the file to sign ends with a newline, as GnuPG does not adhere
+ # to the OpenPGP specification (see <https://dev.gnupg.org/T7106>).
+ copy($data, $signfile);
+ open my $signfh, '>>', $signfile
+ or syserr(g_('cannot open %s'), $signfile);
+ print { $signfh } "\n";
+ close $signfh or syserr(g_('cannot close %s'), $signfile);
+
my @exec = ($self->{cmd});
push @exec, _gpg_options_weak_digests();
push @exec, qw(--utf8-strings --textmode --armor);
diff --git a/scripts/Dpkg/OpenPGP/ErrorCodes.pm b/scripts/Dpkg/OpenPGP/ErrorCodes.pm
index 0db59aa..3a67dd8 100644
--- a/scripts/Dpkg/OpenPGP/ErrorCodes.pm
+++ b/scripts/Dpkg/OpenPGP/ErrorCodes.pm
@@ -1,4 +1,4 @@
-# Copyright © 2022 Guillem Jover <guillem@debian.org>
+# Copyright © 2022-2024 Guillem Jover <guillem@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -44,7 +44,12 @@ our @EXPORT = qw(
OPENPGP_MISSING_INPUT
OPENPGP_KEY_IS_PROTECTED
OPENPGP_UNSUPPORTED_SUBCMD
+ OPENPGP_UNSUPPORTED_SPECIAL_PREFIX
+ OPENPGP_AMBIGUOUS_INPUT
OPENPGP_KEY_CANNOT_SIGN
+ OPENPGP_INCOMPATIBLE_OPTIONS
+ OPENPGP_NO_HW_KEY_FOUND
+ OPENPGP_HW_KEY_FAILURE
OPENPGP_MISSING_CMD
OPENPGP_NEEDS_KEYSTORE
@@ -58,7 +63,7 @@ use Exporter qw(import);
use Dpkg::Gettext;
# Error codes based on
-# https://ietf.org/archive/id/draft-dkg-openpgp-stateless-cli-04.html#section-6
+# https://ietf.org/archive/id/draft-dkg-openpgp-stateless-cli-10.html#section-7
#
# Local error codes use a negative number, as that should not conflict with
# the SOP exit codes.
@@ -74,7 +79,12 @@ use constant {
OPENPGP_MISSING_INPUT => 61,
OPENPGP_KEY_IS_PROTECTED => 67,
OPENPGP_UNSUPPORTED_SUBCMD => 69,
+ OPENPGP_UNSUPPORTED_SPECIAL_PREFIX => 71,
+ OPENPGP_AMBIGUOUS_INPUT => 73,
OPENPGP_KEY_CANNOT_SIGN => 79,
+ OPENPGP_INCOMPATIBLE_OPTIONS => 83,
+ OPENPGP_NO_HW_KEY_FOUND => 97,
+ OPENPGP_HW_KEY_FAILURE => 101,
OPENPGP_MISSING_CMD => -1,
OPENPGP_NEEDS_KEYSTORE => -2,
@@ -92,7 +102,12 @@ my %code2error = (
OPENPGP_MISSING_INPUT() => N_('input file does not exist'),
OPENPGP_KEY_IS_PROTECTED() => N_('cannot unlock password-protected key'),
OPENPGP_UNSUPPORTED_SUBCMD() => N_('unsupported subcommand'),
+ OPENPGP_UNSUPPORTED_SPECIAL_PREFIX() => N_('unknown special designator in indirect parameter'),
+ OPENPGP_AMBIGUOUS_INPUT() => N_('special designator in indirect parameter is an existing file'),
OPENPGP_KEY_CANNOT_SIGN() => N_('key is not signature-capable'),
+ OPENPGP_INCOMPATIBLE_OPTIONS() => N_('mutually exclusive options'),
+ OPENPGP_NO_HW_KEY_FOUND() => N_('cannot identify hardware device for hardware-backed secret keys'),
+ OPENPGP_HW_KEY_FAILURE() => N_('cannot perform operation on hardware-backed secret key'),
OPENPGP_MISSING_CMD() => N_('missing OpenPGP implementation'),
OPENPGP_NEEDS_KEYSTORE() => N_('specified key needs a keystore'),
diff --git a/scripts/Dpkg/Shlibs/Cppfilt.pm b/scripts/Dpkg/Shlibs/Cppfilt.pm
index 1f054a1..010fe66 100644
--- a/scripts/Dpkg/Shlibs/Cppfilt.pm
+++ b/scripts/Dpkg/Shlibs/Cppfilt.pm
@@ -96,8 +96,14 @@ sub cppfilt_demangle {
my $demangled = readline($filt->{to});
chop $demangled;
- # If the symbol was not demangled, return undef
- $demangled = undef if $symbol eq $demangled;
+ # If the symbol was not demangled, return undef. Otherwise normalize
+ # it as llvm packs ending angle brackets with no intermediate spaces
+ # as allowed by C++11, contrary to GNU binutils.
+ if ($symbol eq $demangled) {
+ $demangled = undef;
+ } else {
+ $demangled =~ s{(?<=>)(?=>)}{ }g;
+ }
# Remember the last result
$filt->{last_symbol} = $symbol;
diff --git a/scripts/Dpkg/Source/Package.pm b/scripts/Dpkg/Source/Package.pm
index 3427383..3d336a1 100644
--- a/scripts/Dpkg/Source/Package.pm
+++ b/scripts/Dpkg/Source/Package.pm
@@ -29,7 +29,7 @@ is the one that supports the extraction of the source package.
=cut
-package Dpkg::Source::Package 2.02;
+package Dpkg::Source::Package 2.03;
use strict;
use warnings;
@@ -389,6 +389,21 @@ sub get_basename {
return $f->{'Source'} . '_' . $vs;
}
+=item $p->get_basedirname()
+
+Returns the default base directory name for the package.
+
+=cut
+
+sub get_basedirname {
+ my $self = shift;
+
+ my $dirname = $self->get_basename();
+ $dirname =~ s/_/-/;
+
+ return $dirname;
+}
+
sub find_original_tarballs {
my ($self, %opts) = @_;
$opts{extension} //= compression_get_file_extension_regex();
@@ -699,17 +714,21 @@ sub write_dsc {
=head1 CHANGES
+=head2 Version 2.03 (dpkg 1.22.7)
+
+New method: $p->get_basedirname().
+
=head2 Version 2.02 (dpkg 1.21.10)
-New method: armor_original_tarball_signature().
+New method: $p->armor_original_tarball_signature().
=head2 Version 2.01 (dpkg 1.20.1)
-New method: get_upstream_signing_key().
+New method: $p->get_upstream_signing_key().
=head2 Version 2.00 (dpkg 1.20.0)
-New method: check_original_tarball_signature().
+New method: $p->check_original_tarball_signature().
Remove variable: $diff_ignore_default_regexp.
@@ -721,12 +740,12 @@ New option: format in new().
=head2 Version 1.02 (dpkg 1.18.7)
-New option: require_strong_checksums in check_checksums().
+New option: require_strong_checksums in $p->check_checksums().
=head2 Version 1.01 (dpkg 1.17.2)
-New functions: get_default_diff_ignore_regex(), set_default_diff_ignore_regex(),
-get_default_tar_ignore_pattern()
+New functions: $p->get_default_diff_ignore_regex(),
+$p->set_default_diff_ignore_regex(), $p->get_default_tar_ignore_pattern().
Deprecated variables: $diff_ignore_default_regexp, @tar_ignore_default_pattern
diff --git a/scripts/Dpkg/Source/Package/V1.pm b/scripts/Dpkg/Source/Package/V1.pm
index bdf2c87..566fd24 100644
--- a/scripts/Dpkg/Source/Package/V1.pm
+++ b/scripts/Dpkg/Source/Package/V1.pm
@@ -291,8 +291,7 @@ sub do_build {
my $sourcepackage = $self->{fields}{'Source'};
my $basenamerev = $self->get_basename(1);
my $basename = $self->get_basename();
- my $basedirname = $basename;
- $basedirname =~ s/_/-/;
+ my $basedirname = $self->get_basedirname();
# Try to find a .orig tarball for the package
my $origdir = "$dir.orig";
diff --git a/scripts/Dpkg/Source/Package/V2.pm b/scripts/Dpkg/Source/Package/V2.pm
index 1f09461..a3d6c49 100644
--- a/scripts/Dpkg/Source/Package/V2.pm
+++ b/scripts/Dpkg/Source/Package/V2.pm
@@ -406,8 +406,7 @@ sub check_patches_applied {
sub _generate_patch {
my ($self, $dir, %opts) = @_;
my ($dirname, $updir) = fileparse($dir);
- my $basedirname = $self->get_basename();
- $basedirname =~ s/_/-/;
+ my $basedirname = $self->get_basedirname();
# Identify original tarballs
my ($tarfile, %addonfile);
diff --git a/scripts/Dpkg/Source/Package/V3/Bzr.pm b/scripts/Dpkg/Source/Package/V3/Bzr.pm
index adc5fda..953f7d9 100644
--- a/scripts/Dpkg/Source/Package/V3/Bzr.pm
+++ b/scripts/Dpkg/Source/Package/V3/Bzr.pm
@@ -109,9 +109,6 @@ sub do_build {
my $sourcepackage = $self->{fields}{'Source'};
my $basenamerev = $self->get_basename(1);
- my $basename = $self->get_basename();
- my $basedirname = $basename;
- $basedirname =~ s/_/-/;
_check_workdir($dir);
@@ -179,7 +176,6 @@ sub do_extract {
my ($self, $newdirectory) = @_;
my $fields = $self->{fields};
- my $basename = $self->get_basename();
my $basenamerev = $self->get_basename(1);
my @files = $self->get_files();
diff --git a/scripts/Dpkg/Substvars.pm b/scripts/Dpkg/Substvars.pm
index cf55194..7150c30 100644
--- a/scripts/Dpkg/Substvars.pm
+++ b/scripts/Dpkg/Substvars.pm
@@ -1,4 +1,4 @@
-# Copyright © 2006-2009, 2012-2020, 2022 Guillem Jover <guillem@debian.org>
+# Copyright © 2006-2024 Guillem Jover <guillem@debian.org>
# Copyright © 2007-2010 Raphaël Hertzog <hertzog@debian.org>
#
# This program is free software; you can redistribute it and/or modify
@@ -26,7 +26,7 @@ It provides a class which is able to substitute variables in strings.
=cut
-package Dpkg::Substvars 2.01;
+package Dpkg::Substvars 2.02;
use strict;
use warnings;
@@ -48,6 +48,7 @@ use constant {
SUBSTVAR_ATTR_AGED => 4,
SUBSTVAR_ATTR_OPT => 8,
SUBSTVAR_ATTR_DEEP => 16,
+ SUBSTVAR_ATTR_REQ => 32,
};
=head1 METHODS
@@ -190,13 +191,14 @@ sub parse {
next if m/^\s*\#/ || !m/\S/;
s/\s*\n$//;
- if (! m/^(\w[-:0-9A-Za-z]*)(\?)?\=(.*)$/) {
+ if (! m/^(\w[-:0-9A-Za-z]*)([?!])?\=(.*)$/) {
error(g_('bad line in substvars file %s at line %d'),
$varlistfile, $.);
}
## no critic (RegularExpressions::ProhibitCaptureWithoutTest)
if (defined $2) {
$attr = (SUBSTVAR_ATTR_USED | SUBSTVAR_ATTR_OPT) if $2 eq '?';
+ $attr = (SUBSTVAR_ATTR_REQ) if $2 eq '!';
}
$self->set($1, $3, $attr);
$count++;
@@ -378,9 +380,16 @@ sub warn_about_unused {
# that they are not required in the current situation
# (example: debhelper's misc:Depends in many cases)
next if $self->{vars}{$vn} eq '';
- warning($opts{msg_prefix} .
- g_('substitution variable ${%s} unused, but is defined'),
- $vn);
+
+ if ($self->{attr}{$vn} & SUBSTVAR_ATTR_REQ) {
+ error($opts{msg_prefix} .
+ g_('required substitution variable ${%s} not used'),
+ $vn);
+ } else {
+ warning($opts{msg_prefix} .
+ g_('substitution variable ${%s} unused, but is defined'),
+ $vn);
+ }
}
}
@@ -434,7 +443,14 @@ sub output {
# Store all non-automatic substitutions only
foreach my $vn (sort keys %{$self->{vars}}) {
next if $self->{attr}{$vn} & SUBSTVAR_ATTR_AUTO;
- my $op = $self->{attr}{$vn} & SUBSTVAR_ATTR_OPT ? '?=' : '=';
+ my $op;
+ if ($self->{attr}{$vn} & SUBSTVAR_ATTR_OPT) {
+ $op = '?=';
+ } elsif ($self->{attr}{$vn} & SUBSTVAR_ATTR_REQ) {
+ $op = '!=';
+ } else {
+ $op = '=';
+ }
my $line = "$vn$op" . $self->{vars}{$vn} . "\n";
print { $fh } $line if defined $fh;
$str .= $line;
@@ -451,6 +467,10 @@ indicated file.
=head1 CHANGES
+=head2 Version 2.02 (dpkg 1.22.7)
+
+New feature: Add support for required substitution variables.
+
=head2 Version 2.01 (dpkg 1.21.8)
New feature: Add support for optional substitution variables.
diff --git a/scripts/Dpkg/Vendor/Debian.pm b/scripts/Dpkg/Vendor/Debian.pm
index b3be69e..edf94bc 100644
--- a/scripts/Dpkg/Vendor/Debian.pm
+++ b/scripts/Dpkg/Vendor/Debian.pm
@@ -1,5 +1,5 @@
# Copyright © 2009-2011 Raphaël Hertzog <hertzog@debian.org>
-# Copyright © 2009, 2011-2017 Guillem Jover <guillem@debian.org>
+# Copyright © 2009-2024 Guillem Jover <guillem@debian.org>
#
# Hardening build flags handling derived from work of:
# Copyright © 2009-2011 Kees Cook <kees@debian.org>
@@ -88,7 +88,21 @@ sub run_hook {
# Reset umask to a sane default.
umask 0022;
# Reset locale to a sane default.
+ #
+ # We ignore the LANGUAGE GNU extension, as that only affects
+ # LC_MESSAGES which will use LC_CTYPE for its codeset. We need to
+ # move the high priority LC_ALL catch-all into the low-priority
+ # LANG catch-all so that we can override LC_* variables, and remove
+ # any existing LC_* variables which would have been ignored anyway,
+ # and would now take precedence over LANG.
+ if (length $ENV{LC_ALL}) {
+ $ENV{LANG} = delete $ENV{LC_ALL};
+ foreach my $lc (grep { m/^LC_/ } keys %ENV) {
+ delete $ENV{$lc};
+ }
+ }
$ENV{LC_COLLATE} = 'C.UTF-8';
+ $ENV{LC_CTYPE} = 'C.UTF-8';
} elsif ($hook eq 'backport-version-regex') {
return qr/~(bpo|deb)/;
} else {
@@ -449,9 +463,7 @@ sub add_build_flags {
}
$flags->append($_, $default_flags) foreach @compile_flags;
- $flags->append($_ . '_FOR_BUILD', $default_flags) foreach @compile_flags;
$flags->append('DFLAGS', $default_d_flags);
- $flags->append('DFLAGS_FOR_BUILD', $default_d_flags);
## Area: abi
@@ -479,6 +491,8 @@ sub add_build_flags {
# Warnings that detect actual bugs.
if ($flags->use_feature('qa', 'bug-implicit-func')) {
$flags->append('CFLAGS', '-Werror=implicit-function-declaration');
+ } else {
+ $flags->append('CFLAGS', '-Wno-error=implicit-function-declaration');
}
if ($flags->use_feature('qa', 'bug')) {
# C/C++ flags
@@ -632,6 +646,23 @@ sub add_build_flags {
$flags->append($_, $flag) foreach @compile_flags;
}
}
+
+ # XXX: Handle *_FOR_BUILD flags here until we can properly initialize them.
+ require Dpkg::Arch;
+
+ my $host_arch = Dpkg::Arch::get_host_arch();
+ my $build_arch = Dpkg::Arch::get_build_arch();
+
+ if ($host_arch eq $build_arch) {
+ foreach my $flag ($flags->list()) {
+ next if $flag =~ m/_FOR_BUILD$/;
+ my $value = $flags->get($flag);
+ $flags->append($flag . '_FOR_BUILD', $value);
+ }
+ } else {
+ $flags->append($_ . '_FOR_BUILD', $default_flags) foreach @compile_flags;
+ $flags->append('DFLAGS_FOR_BUILD', $default_d_flags);
+ }
}
sub _build_tainted_by {
diff --git a/scripts/Dpkg/Vendor/Ubuntu.pm b/scripts/Dpkg/Vendor/Ubuntu.pm
index f907fa9..1633220 100644
--- a/scripts/Dpkg/Vendor/Ubuntu.pm
+++ b/scripts/Dpkg/Vendor/Ubuntu.pm
@@ -177,7 +177,7 @@ sub add_build_flags {
if ($cpu eq 'arm64') {
$flag = '-mbranch-protection=none';
} elsif ($cpu eq 'amd64') {
- $flag = '-fno-cf-protection';
+ $flag = '-fcf-protection=none';
}
if (defined $flag) {
$flags->append($_, $flag) foreach @compile_flags;
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 8d39d24..005c115 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -7,7 +7,10 @@ CLEANFILES =
nobase_dist_perllib_DATA = \
Dpkg/Arch.pm \
+ Dpkg/Archive/Ar.pm \
Dpkg/BuildAPI.pm \
+ Dpkg/BuildDriver.pm \
+ Dpkg/BuildDriver/DebianRules.pm \
Dpkg/BuildEnv.pm \
Dpkg/BuildFlags.pm \
Dpkg/BuildInfo.pm \
@@ -124,6 +127,7 @@ bin_SCRIPTS = \
# EOL
EXTRA_DIST += \
+ dpkg-ar.pl \
dpkg-architecture.pl \
dpkg-buildapi.pl \
dpkg-buildflags.pl \
@@ -191,12 +195,8 @@ if BUILD_POD_DOC
done
endif
-# Ideally we'd use '$(SED) -i', but unfortunately that's not portable.
install-data-hook:
- $(do_perl_subst) <$(DESTDIR)$(perllibdir)/Dpkg.pm \
- >$(DESTDIR)$(perllibdir)/Dpkg.pm.new
- mv $(DESTDIR)$(perllibdir)/Dpkg.pm.new \
- $(DESTDIR)$(perllibdir)/Dpkg.pm
+ $(subst_perl_file) $(DESTDIR)$(perllibdir)/Dpkg.pm
uninstall-local:
if BUILD_POD_DOC
@@ -369,6 +369,7 @@ test_data = \
t/Dpkg_Source_Package/package_1.0.orig.tar \
t/Dpkg_Source_Package/package_1.0.orig.tar.asc \
t/Dpkg_Source_Package/package_1.0.orig.tar.sig \
+ t/Dpkg_Substvars/substvars-req \
t/Dpkg_Substvars/substvars1 \
t/Dpkg_Substvars/substvars2 \
t/dpkg_buildpackage/dpkgdb/status \
diff --git a/scripts/Makefile.in b/scripts/Makefile.in
index 8b0a61f..985ee55 100644
--- a/scripts/Makefile.in
+++ b/scripts/Makefile.in
@@ -108,8 +108,8 @@ build_triplet = @build@
host_triplet = @host@
subdir = scripts
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/dpkg-arch.m4 \
- $(top_srcdir)/m4/dpkg-build.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/build-to-host.m4 \
+ $(top_srcdir)/m4/dpkg-arch.m4 $(top_srcdir)/m4/dpkg-build.m4 \
$(top_srcdir)/m4/dpkg-compiler.m4 \
$(top_srcdir)/m4/dpkg-coverage.m4 \
$(top_srcdir)/m4/dpkg-funcs.m4 \
@@ -349,6 +349,7 @@ PACKAGE_RELEASE_DATE = @PACKAGE_RELEASE_DATE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VCS_ID = @PACKAGE_VCS_ID@
PACKAGE_VCS_TYPE = @PACKAGE_VCS_TYPE@
PACKAGE_VCS_URL = @PACKAGE_VCS_URL@
PACKAGE_VCS_WEB = @PACKAGE_VCS_WEB@
@@ -430,6 +431,8 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
+localedir_c = @localedir_c@
+localedir_c_make = @localedir_c_make@
localstatedir = @localstatedir@
logdir = @logdir@
mandir = @mandir@
@@ -455,9 +458,9 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
zshcompletionsdir = @zshcompletionsdir@
SUBDIRS = mk po
-EXTRA_DIST = Test/Dpkg.pm dpkg-architecture.pl dpkg-buildapi.pl \
- dpkg-buildflags.pl dpkg-buildpackage.pl dpkg-buildtree.pl \
- dpkg-checkbuilddeps.pl dpkg-distaddfile.pl \
+EXTRA_DIST = Test/Dpkg.pm dpkg-ar.pl dpkg-architecture.pl \
+ dpkg-buildapi.pl dpkg-buildflags.pl dpkg-buildpackage.pl \
+ dpkg-buildtree.pl dpkg-checkbuilddeps.pl dpkg-distaddfile.pl \
dpkg-fsys-usrunmess.pl dpkg-genbuildinfo.pl dpkg-genchanges.pl \
dpkg-gencontrol.pl dpkg-gensymbols.pl dpkg-mergechangelogs.pl \
dpkg-name.pl dpkg-parsechangelog.pl dpkg-scanpackages.pl \
@@ -466,7 +469,10 @@ EXTRA_DIST = Test/Dpkg.pm dpkg-architecture.pl dpkg-buildapi.pl \
CLEANFILES = $(sbin_SCRIPTS) $(bin_SCRIPTS) $(test_data_objects) # EOL
nobase_dist_perllib_DATA = \
Dpkg/Arch.pm \
+ Dpkg/Archive/Ar.pm \
Dpkg/BuildAPI.pm \
+ Dpkg/BuildDriver.pm \
+ Dpkg/BuildDriver/DebianRules.pm \
Dpkg/BuildEnv.pm \
Dpkg/BuildFlags.pm \
Dpkg/BuildInfo.pm \
@@ -590,34 +596,32 @@ dist_zshcompletions_DATA = \
man3_MANS =
man_perl_section = 3perl
SUFFIXES = .sh .pl
-do_shell_subst = $(AM_V_GEN) $(SED) \
- -e "s:^ADMINDIR=.*$$:ADMINDIR='$(admindir)':" \
- -e "s:^BACKUPSDIR=.*$$:BACKUPSDIR='$(backupsdir)':" \
- -e "s:^PKGDATADIR_DEFAULT=.*$$:PKGDATADIR_DEFAULT='$(pkgdatadir)':" \
- -e "s:^version=['\"][^'\"]*[\"']:version=\"$(PACKAGE_VERSION)\":" \
- -e "s:^TAR=.*$$:TAR='$(TAR)':" \
- # EOL
+subst_shell_rules = "\
+ s{^ADMINDIR=.*$$}{ADMINDIR='$(admindir)'}; \
+ s{^BACKUPSDIR=.*$$}{BACKUPSDIR='$(backupsdir)'}; \
+ s{^PKGDATADIR_DEFAULT=.*$$}{PKGDATADIR_DEFAULT='$(pkgdatadir)'}; \
+ s{^version=['\"][^'\"]*[\"']}{version=\"$(PACKAGE_VERSION)\"}; \
+ s{^TAR=.*$$}{TAR='$(TAR)'}; \
+ "
+subst_shell_filter = $(PERL) -p -e $(subst_shell_rules)
+subst_shell_file = $(PERL) -i -p -e $(shell_subst_rules)
# Perl support.
-do_perl_subst = $(AM_V_GEN) $(SED) \
- -e "s:^\#![[:space:]]*/usr/bin/perl:\#!$(PERL):" \
- -e "s:our \$$CONFDIR = .*;:our \$$CONFDIR = '$(pkgconfdir)';:" \
- -e "s:our \$$ADMINDIR = .*;:our \$$ADMINDIR = '$(admindir)';:" \
- -e "s:our \$$LIBDIR = .*;:our \$$LIBDIR = '$(pkglibexecdir)';:" \
- -e "s:our \$$DATADIR = .*;:our \$$DATADIR = '$(pkgdatadir)';:" \
- -e "s:our \$$PROGMAKE = .*;:our \$$PROGMAKE = '$(MAKE)';:" \
- -e "s:our \$$PROGTAR = .*;:our \$$PROGTAR = '$(TAR)';:" \
- -e "s:our \$$PROGPATCH = .*;:our \$$PROGPATCH = '$(PATCH)';:" \
- -e "s:our \$$PROGVERSION = .*;:our \$$PROGVERSION = '$(PACKAGE_VERSION)';:" \
- # EOL
-
-
-# Makefile support.
-do_make_subst = $(AM_V_GEN) $(SED) \
- -e "s:dpkg_datadir[[:space:]]*=[[:space:]]*[^[:space:]]*:dpkg_datadir = $(pkgdatadir):" \
- # EOL
-
+subst_perl_rules = "\
+ s{^\#!\s*/usr/bin/perl}{\#!$(PERL)}; \
+ s{our \\\$$CONFDIR = .*;}{our \\\$$CONFDIR = '$(pkgconfdir)';}; \
+ s{our \\\$$ADMINDIR = .*;}{our \\\$$ADMINDIR = '$(admindir)';}; \
+ s{our \\\$$LIBDIR = .*;}{our \\\$$LIBDIR = '$(pkglibexecdir)';}; \
+ s{our \\\$$DATADIR = .*;}{our \\\$$DATADIR = '$(pkgdatadir)';}; \
+ s{our \\\$$PROGMAKE = .*;}{our \\\$$PROGMAKE = '$(MAKE)';}; \
+ s{our \\\$$PROGTAR = .*;}{our \\\$$PROGTAR = '$(TAR)';}; \
+ s{our \\\$$PROGPATCH = .*;}{our \\\$$PROGPATCH = '$(PATCH)';}; \
+ s{our \\\$$PROGVERSION = .*;}{our \\\$$PROGVERSION = '$(PACKAGE_VERSION)';}; \
+ "
+
+subst_perl_filter = $(PERL) -p -e $(subst_perl_rules)
+subst_perl_file = $(PERL) -i -p -e $(subst_perl_rules)
POD2MAN_OPTS = \
--utf8 \
--release=$(PACKAGE_VERSION) \
@@ -776,6 +780,7 @@ test_data = \
t/Dpkg_Source_Package/package_1.0.orig.tar \
t/Dpkg_Source_Package/package_1.0.orig.tar.asc \
t/Dpkg_Source_Package/package_1.0.orig.tar.sig \
+ t/Dpkg_Substvars/substvars-req \
t/Dpkg_Substvars/substvars1 \
t/Dpkg_Substvars/substvars2 \
t/dpkg_buildpackage/dpkgdb/status \
@@ -1361,12 +1366,12 @@ uninstall-man: uninstall-man3
.sh: Makefile
@test -d `dirname $@` || $(MKDIR_P) `dirname $@`
- $(do_shell_subst) <$< >$@
+ $(AM_V_GEN) $(subst_shell_filter) <$< >$@
$(AM_V_at) chmod +x $@
.pl: Makefile
@test -d `dirname $@` || $(MKDIR_P) `dirname $@`
- $(do_perl_subst) <$< >$@
+ $(AM_V_GEN) $(subst_perl_filter) <$< >$@
$(AM_V_at) chmod +x $@
install-data-local:
@@ -1385,12 +1390,8 @@ install-data-local:
@BUILD_POD_DOC_TRUE@ fi; \
@BUILD_POD_DOC_TRUE@ done
-# Ideally we'd use '$(SED) -i', but unfortunately that's not portable.
install-data-hook:
- $(do_perl_subst) <$(DESTDIR)$(perllibdir)/Dpkg.pm \
- >$(DESTDIR)$(perllibdir)/Dpkg.pm.new
- mv $(DESTDIR)$(perllibdir)/Dpkg.pm.new \
- $(DESTDIR)$(perllibdir)/Dpkg.pm
+ $(subst_perl_file) $(DESTDIR)$(perllibdir)/Dpkg.pm
uninstall-local:
@BUILD_POD_DOC_TRUE@ for module in $(nobase_dist_perllib_DATA); do \
@@ -1460,6 +1461,10 @@ tap-clean:
tap-check: $(test_data) $(test_programs) $(test_scripts)
[ -z "$(test_tmpdir)" ] || $(MKDIR_P) $(test_tmpdir)
$(TEST_ENV_VARS) \
+ TEST_PARALLEL=$(TEST_PARALLEL) \
+ TEST_VERBOSE=$(TEST_VERBOSE) \
+ abs_srcdir=$(abs_srcdir) \
+ abs_builddir=$(abs_builddir) \
abs_top_srcdir=$(abs_top_srcdir) \
abs_top_builddir=$(abs_top_builddir) \
srcdir=$(srcdir) builddir=$(builddir) \
diff --git a/scripts/dpkg-ar.pl b/scripts/dpkg-ar.pl
new file mode 100755
index 0000000..92cd8cf
--- /dev/null
+++ b/scripts/dpkg-ar.pl
@@ -0,0 +1,127 @@
+#!/usr/bin/perl
+#
+# dpkg-ar
+#
+# Copyright © 2024 Guillem Jover <guillem@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+use warnings;
+use strict;
+
+use Dpkg ();
+use Dpkg::Gettext;
+use Dpkg::ErrorHandling;
+use Dpkg::Archive::Ar;
+
+textdomain('dpkg-dev');
+
+my $action;
+
+sub version()
+{
+ printf(g_("Debian %s version %s.\n"), $Dpkg::PROGNAME, $Dpkg::PROGVERSION);
+}
+
+sub usage()
+{
+ printf(g_("Usage: %s [<option>...]\n"), $Dpkg::PROGNAME);
+
+ print(g_('
+Commands:
+ --create <archive> <file>... create an ar archive.
+ --list <archive> list the contents of an ar archive.
+ --extract <archive> [<file>...] extract the contents of an ar archive.
+ -?, --help show this help message.
+ --version show the version.
+'));
+}
+
+sub create
+{
+ my ($archive, @files) = @_;
+
+ my $ar = Dpkg::Archive::Ar->new(
+ filename => $archive,
+ create => 1,
+ );
+
+ foreach my $file (@files) {
+ $ar->add_file($file);
+ }
+}
+
+sub list
+{
+ my $archive = shift;
+
+ my $ar = Dpkg::Archive::Ar->new(filename => $archive);
+
+ foreach my $member (@{$ar->get_members()}) {
+ print "$member->{name}\n";
+ }
+}
+
+sub extract
+{
+ my ($archive, @files) = @_;
+ my %file = map { $_ => 1 } @files;
+
+ my $ar = Dpkg::Archive::Ar->new(filename => $archive);
+
+ foreach my $member (@{$ar->get_members()}) {
+ next if @files && ! exists $file{$member->{name}};
+
+ $ar->extract_member($member);
+ }
+}
+
+my @files;
+
+while (@ARGV) {
+ my $arg = shift @ARGV;
+ if ($arg eq '-?' or $arg eq '--help') {
+ usage();
+ exit(0);
+ } elsif ($arg eq '-v' or $arg eq '--version') {
+ version();
+ exit(0);
+ } elsif ($arg eq '--create') {
+ $action = 'create';
+ } elsif ($arg eq '--list') {
+ $action = 'list';
+ } elsif ($arg eq '--extract') {
+ $action = 'extract';
+ } elsif ($arg eq '--') {
+ push @files, @ARGV;
+ last;
+ } elsif ($arg =~ m/^-/) {
+ usageerr(g_("unknown option '%s'"), $arg);
+ } else {
+ push @files, $arg;
+ }
+}
+
+@files or usageerr(g_('need at least an archive filename'));
+
+if ($action eq 'create') {
+ if (@files == 1) {
+ usageerr(g_('need at least a file to add into the archive'));
+ }
+ create(@files);
+} elsif ($action eq 'list') {
+ list(@files);
+} elsif ($action eq 'extract') {
+ extract(@files);
+}
diff --git a/scripts/dpkg-buildpackage.pl b/scripts/dpkg-buildpackage.pl
index 7b8181b..d849d6e 100755
--- a/scripts/dpkg-buildpackage.pl
+++ b/scripts/dpkg-buildpackage.pl
@@ -4,7 +4,7 @@
#
# Copyright © 1996 Ian Jackson
# Copyright © 2000 Wichert Akkerman
-# Copyright © 2006-2010, 2012-2015 Guillem Jover <guillem@debian.org>
+# Copyright © 2006-2024 Guillem Jover <guillem@debian.org>
# Copyright © 2007 Frank Lichtenheld
#
# This program is free software; you can redistribute it and/or modify
@@ -23,8 +23,7 @@
use strict;
use warnings;
-use File::Temp qw(tempdir);
-use File::Basename;
+use File::Path qw(remove_tree);
use File::Copy;
use File::Glob qw(bsd_glob GLOB_TILDE GLOB_NOCHECK);
use POSIX qw(:sys_wait_h);
@@ -33,9 +32,9 @@ use Dpkg ();
use Dpkg::Gettext;
use Dpkg::ErrorHandling;
use Dpkg::BuildTypes;
-use Dpkg::BuildAPI qw(get_build_api);
use Dpkg::BuildOptions;
use Dpkg::BuildProfiles qw(set_build_profiles);
+use Dpkg::BuildDriver;
use Dpkg::Conf;
use Dpkg::Compression;
use Dpkg::Checksums;
@@ -64,7 +63,7 @@ later for copying conditions. There is NO warranty.
sub usage {
printf g_(
-'Usage: %s [<option>...]')
+'Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]')
. "\n\n" . g_(
'Options:
--build=<type>[,...] specify the build <type>: full, source, binary,
@@ -173,7 +172,10 @@ my $parallel;
my $parallel_force = 0;
my $checkbuilddep = 1;
my $check_builtin_builddep = 1;
+my $source;
+my $source_from_dsc = 0;
my @source_opts;
+my $srcdir;
my $check_command = $ENV{DEB_CHECK_COMMAND};
my @check_opts;
my $signpause;
@@ -202,21 +204,6 @@ my $buildinfo_file;
my @buildinfo_opts;
my $changes_file;
my @changes_opts;
-my %target_legacy_root = map { $_ => 1 } qw(
- clean
- binary
- binary-arch
- binary-indep
-);
-my %target_official = map { $_ => 1 } qw(
- clean
- build
- build-arch
- build-indep
- binary
- binary-arch
- binary-indep
-);
my @hook_names = qw(
preinit
init
@@ -423,8 +410,14 @@ while (@ARGV) {
} elsif (/^-R(.*)$/ or /^--rules-file=(.*)$/) {
my $arg = $1;
@debian_rules = split ' ', $arg;
- } else {
+ } elsif ($_ eq '--') {
+ $source = shift @ARGV;
+ last;
+ } elsif (/^-/) {
usageerr(g_('unknown option or argument %s'), $_);
+ } else {
+ $source = $_;
+ last;
}
}
@@ -501,13 +494,54 @@ if ($build_opts->has('terse')) {
set_build_profiles(@build_profiles) if @build_profiles;
+# Handle specified source trees.
+if (defined $source) {
+ if (-d $source) {
+ chdir $source
+ or syserr(g_('cannot change directory to %s'), $source);
+ } elsif (-f $source) {
+ require Dpkg::Source::Package;
+
+ if (build_has_any(BUILD_SOURCE)) {
+ error(g_('building source package would overwrite input source %s'),
+ $source);
+ }
+
+ if ($source =~ m{/}) {
+ error(g_('source package %s is expected in the current directory'),
+ $source);
+ }
+
+ my $srcpkg = Dpkg::Source::Package->new(
+ filename => $source,
+ options => {
+ no_check => 0,
+ no_overwrite_dir => 1,
+ require_valid_signature => 0,
+ require_strong_checksums => 0,
+ },
+ );
+ $srcdir = $srcpkg->get_basedirname();
+
+ if (-e $srcdir) {
+ error(g_('source directory %s exists already, aborting'), $srcdir);
+ }
+
+ info(g_('extracting source package %s'), $source);
+
+ run_cmd('dpkg-source', @source_opts, '--extract', $source);
+
+ chdir $srcdir
+ or syserr(g_('cannot change directory to %s'), $srcdir);
+
+ # Track whether we extracted the source from a specified .dsc.
+ $source_from_dsc = 1;
+ }
+}
+
my $changelog = changelog_parse();
my $ctrl = Dpkg::Control::Info->new();
-# Check whether we are doing some kind of rootless build, and sanity check
-# the fields values.
-my %rules_requires_root = parse_rules_requires_root($ctrl);
-
my $pkg = mustsetvar($changelog->{source}, g_('source package'));
my $version = mustsetvar($changelog->{version}, g_('source version'));
my $v = Dpkg::Version->new($version);
@@ -609,16 +643,21 @@ if ($sanitize_env) {
run_vendor_hook('sanitize-environment');
}
+my $build_driver = Dpkg::BuildDriver->new(
+ ctrl => $ctrl,
+ debian_rules => \@debian_rules,
+ root_cmd => \@rootcommand,
+ as_root => $call_target_as_root,
+ rrr_override => $rrr_override,
+);
+
#
# Preparation of environment stops here
#
run_hook('init');
-if (not -x 'debian/rules') {
- warning(g_('debian/rules is not executable; fixing that'));
- chmod(0755, 'debian/rules'); # No checks of failures, non fatal
-}
+$build_driver->pre_check();
if (scalar @call_target == 0) {
run_cmd('dpkg-source', @source_opts, '--before-build', '.');
@@ -643,7 +682,7 @@ if ($checkbuilddep) {
}
foreach my $call_target (@call_target) {
- run_rules_cond_root($call_target);
+ $build_driver->run_task($call_target);
}
exit 0 if scalar @call_target;
@@ -652,7 +691,7 @@ run_hook('preclean', {
});
if ($preclean) {
- run_rules_cond_root('clean');
+ $build_driver->run_task('clean');
}
run_hook('source', {
@@ -670,26 +709,19 @@ if (build_has_any(BUILD_SOURCE)) {
my $build_types = get_build_options_from_type();
-if (build_has_any(BUILD_BINARY)) {
- # XXX Use some heuristics to decide whether to use build-{arch,indep}
- # targets. This is a temporary measure to not break too many packages
- # on a flag day.
- build_target_fallback($ctrl);
-}
+my $need_buildtask = $build_driver->need_build_task($buildtarget, $binarytarget);
+
+run_hook('build', {
+ enabled => build_has_any(BUILD_BINARY) && $need_buildtask,
+ env => {
+ DPKG_BUILDPACKAGE_HOOK_BUILD_TARGET => $buildtarget,
+ },
+});
# If we are building rootless, there is no need to call the build target
# independently as non-root.
-if (build_has_any(BUILD_BINARY) && rules_requires_root($binarytarget)) {
- run_hook('build', {
- env => {
- DPKG_BUILDPACKAGE_HOOK_BUILD_TARGET => $buildtarget,
- },
- });
- run_cmd(@debian_rules, $buildtarget);
-} else {
- run_hook('build', {
- enabled => 0,
- });
+if (build_has_any(BUILD_BINARY) && $need_buildtask) {
+ $build_driver->run_build_task($buildtarget, $binarytarget);
}
if (build_has_any(BUILD_BINARY)) {
@@ -698,12 +730,21 @@ if (build_has_any(BUILD_BINARY)) {
DPKG_BUILDPACKAGE_HOOK_BINARY_TARGET => $binarytarget,
},
});
- run_rules_cond_root($binarytarget);
+ $build_driver->run_task($binarytarget);
}
$buildinfo_file //= "../$pva.buildinfo";
-push @buildinfo_opts, "--build=$build_types" if build_has_none(BUILD_DEFAULT);
+if (build_has_none(BUILD_DEFAULT) || $source_from_dsc) {
+ my $buildinfo_buildtypes = $build_types;
+
+ # We can now let dpkg-genbuildinfo know that we can include the .dsc
+ # in the .buildinfo file as we handled it ourselves, and what we are
+ # building matches either the source we built or extracted it from.
+ $buildinfo_buildtypes .= ',source' if $source_from_dsc;
+
+ push @buildinfo_opts, "--build=$buildinfo_buildtypes";
+}
push @buildinfo_opts, "--admindir=$admindir" if $admindir;
push @buildinfo_opts, "-O$buildinfo_file" if $buildinfo_file;
@@ -738,7 +779,7 @@ run_hook('postclean', {
});
if ($postclean) {
- run_rules_cond_root('clean');
+ $build_driver->run_task('clean');
}
run_cmd('dpkg-source', @source_opts, '--after-build', '.');
@@ -802,6 +843,13 @@ if (not $signreleased) {
warning(g_('not signing UNRELEASED build; use --force-sign to override'));
}
+if ($source_from_dsc) {
+ info(g_('removing extracted source directory %s'), $srcdir);
+ chdir '..'
+ or syserr(g_('cannot change directory to %s'), '..');
+ remove_tree($srcdir);
+}
+
run_hook('done');
sub mustsetvar {
@@ -814,94 +862,6 @@ sub mustsetvar {
return $var;
}
-sub setup_rootcommand {
- if ($< == 0) {
- warning(g_('using a gain-root-command while being root')) if @rootcommand;
- } else {
- push @rootcommand, 'fakeroot' unless @rootcommand;
- }
-
- if (@rootcommand and not find_command($rootcommand[0])) {
- if ($rootcommand[0] eq 'fakeroot' and $< != 0) {
- error(g_("fakeroot not found, either install the fakeroot\n" .
- 'package, specify a command with the -r option, ' .
- 'or run this as root'));
- } else {
- error(g_("gain-root-command '%s' not found"), $rootcommand[0]);
- }
- }
-}
-
-sub parse_rules_requires_root {
- my $ctrl = shift;
-
- my %rrr;
- my $rrr;
- my $rrr_default;
- my $keywords_base;
- my $keywords_impl;
-
- if (get_build_api($ctrl) >= 1) {
- $rrr_default = 'no';
- } else {
- $rrr_default = 'binary-targets';
- }
-
- my $ctrl_src = $ctrl->get_source();
- $rrr = $rrr_override // $ctrl_src->{'Rules-Requires-Root'} // $rrr_default;
-
- foreach my $keyword (split ' ', $rrr) {
- if ($keyword =~ m{/}) {
- if ($keyword =~ m{^dpkg/target/(.*)$}p and $target_official{$1}) {
- error(g_('disallowed target in %s field keyword "%s"'),
- 'Rules-Requires-Root', $keyword);
- } elsif ($keyword =~ m{^dpkg/(.*)$} and $1 ne 'target-subcommand') {
- error(g_('%s field keyword "%s" is unknown in dpkg namespace'),
- 'Rules-Requires-Root', $keyword);
- }
- $keywords_impl++;
- } else {
- if ($keyword ne lc $keyword and
- (lc $keyword eq 'no' or lc $keyword eq 'binary-targets')) {
- error(g_('%s field keyword "%s" is uppercase; use "%s" instead'),
- 'Rules-Requires-Root', $keyword, lc $keyword);
- } elsif (lc $keyword eq 'yes') {
- error(g_('%s field keyword "%s" is invalid; use "%s" instead'),
- 'Rules-Requires-Root', $keyword, 'binary-targets');
- } elsif ($keyword ne 'no' and $keyword ne 'binary-targets') {
- warning(g_('%s field keyword "%s" is unknown'),
- 'Rules-Requires-Root', $keyword);
- }
- $keywords_base++;
- }
-
- if ($rrr{$keyword}++) {
- error(g_('field %s contains duplicate keyword "%s"'),
- 'Rules-Requires-Root', $keyword);
- }
- }
-
- if ($call_target_as_root or not exists $rrr{no}) {
- setup_rootcommand();
- }
-
- # Notify the children we do support R³.
- $ENV{DEB_RULES_REQUIRES_ROOT} = join ' ', sort keys %rrr;
-
- if ($keywords_base > 1 or $keywords_base and $keywords_impl) {
- error(g_('%s field contains both global and implementation specific keywords'),
- 'Rules-Requires-Root');
- } elsif ($keywords_impl) {
- # Set only on <implementations-keywords>.
- $ENV{DEB_GAIN_ROOT_CMD} = join ' ', @rootcommand;
- } else {
- # We should not provide the variable otherwise.
- delete $ENV{DEB_GAIN_ROOT_CMD};
- }
-
- return %rrr;
-}
-
sub run_cmd {
my @cmd = @_;
@@ -909,25 +869,6 @@ sub run_cmd {
system @cmd and subprocerr("@cmd");
}
-sub rules_requires_root {
- my $target = shift;
-
- return 1 if $call_target_as_root;
- return 1 if $rules_requires_root{"dpkg/target/$target"};
- return 1 if $rules_requires_root{'binary-targets'} and $target_legacy_root{$target};
- return 0;
-}
-
-sub run_rules_cond_root {
- my $target = shift;
-
- my @cmd;
- push @cmd, @rootcommand if rules_requires_root($target);
- push @cmd, @debian_rules, $target;
-
- run_cmd(@cmd);
-}
-
sub run_hook {
my ($name, $opts) = @_;
my $cmd = $hook{$name};
@@ -994,24 +935,16 @@ sub signkey_validate {
sub signfile {
my $file = shift;
+ my $signfile = "../$file";
printcmd("signfile $file");
- my $signdir = tempdir('dpkg-sign.XXXXXXXX', CLEANUP => 1);
- my $signfile = "$signdir/$file";
-
- # Make sure the file to sign ends with a newline.
- copy("../$file", $signfile);
- open my $signfh, '>>', $signfile or syserr(g_('cannot open %s'), $signfile);
- print { $signfh } "\n";
- close $signfh or syserr(g_('cannot close %s'), $signfile);
-
my $status = $openpgp->inline_sign($signfile, "$signfile.asc", $signkey);
if ($status == OPENPGP_OK) {
- move("$signfile.asc", "../$file")
- or syserror(g_('cannot move %s to %s'), "$signfile.asc", "../$file");
+ move("$signfile.asc", $signfile)
+ or syserror(g_('cannot move %s to %s'), "$signfile.asc", $signfile);
} else {
- error(g_('failed to sign %s file: %s'), $file,
+ error(g_('failed to sign %s file: %s'), $signfile,
openpgp_errorcode_to_string($status));
}
@@ -1049,47 +982,3 @@ sub describe_build {
return g_('full upload (original source is included)');
}
}
-
-sub build_target_fallback {
- my $ctrl = shift;
-
- # If we are building rootless, there is no need to call the build target
- # independently as non-root.
- return if not rules_requires_root($binarytarget);
-
- return if $buildtarget eq 'build';
- return if scalar @debian_rules != 1;
-
- # Avoid further heuristics in newer dpkg-build-api levels.
- return if get_build_api($ctrl) >= 1;
-
- # Check if we are building both arch:all and arch:any packages, in which
- # case we now require working build-indep and build-arch targets.
- my $pkg_arch = 0;
-
- foreach my $bin ($ctrl->get_packages()) {
- if ($bin->{Architecture} eq 'all') {
- $pkg_arch |= BUILD_ARCH_INDEP;
- } else {
- $pkg_arch |= BUILD_ARCH_DEP;
- }
- }
-
- return if $pkg_arch == BUILD_BINARY;
-
- # Check if the build-{arch,indep} targets are supported. If not, fallback
- # to build.
- my $pid = spawn(exec => [ $Dpkg::PROGMAKE, '-f', @debian_rules, '-qn', $buildtarget ],
- from_file => '/dev/null', to_file => '/dev/null',
- error_to_file => '/dev/null');
- my $cmdline = "make -f @debian_rules -qn $buildtarget";
- wait_child($pid, nocheck => 1, cmdline => $cmdline);
- my $exitcode = WEXITSTATUS($?);
- subprocerr($cmdline) unless WIFEXITED($?);
- if ($exitcode == 2) {
- warning(g_("%s must be updated to support the 'build-arch' and " .
- "'build-indep' targets (at least '%s' seems to be " .
- 'missing)'), "@debian_rules", $buildtarget);
- $buildtarget = 'build';
- }
-}
diff --git a/scripts/dpkg-genbuildinfo.pl b/scripts/dpkg-genbuildinfo.pl
index ae0c125..3b4bd5d 100755
--- a/scripts/dpkg-genbuildinfo.pl
+++ b/scripts/dpkg-genbuildinfo.pl
@@ -116,7 +116,11 @@ sub parse_status {
}
if (/^Provides: (.*)$/m) {
- my $provides = deps_parse($1, reduce_arch => 1, union => 1);
+ my $provides = deps_parse($1,
+ reduce_arch => 1,
+ virtual => 1,
+ union => 1,
+ );
next if not defined $provides;
diff --git a/scripts/dpkg-shlibdeps.pl b/scripts/dpkg-shlibdeps.pl
index 240b0bc..d482a98 100755
--- a/scripts/dpkg-shlibdeps.pl
+++ b/scripts/dpkg-shlibdeps.pl
@@ -42,6 +42,7 @@ use Dpkg::Shlibs::SymbolFile;
use Dpkg::Substvars;
use Dpkg::Arch qw(get_host_arch);
use Dpkg::BuildAPI qw(get_build_api);
+use Dpkg::Package;
use Dpkg::Deps;
use Dpkg::Control::Info;
use Dpkg::Control::Fields;
@@ -60,11 +61,12 @@ my $i = 0; my %depstrength = map { $_ => $i++ } @depfields;
textdomain('dpkg-dev');
my $admindir = $Dpkg::ADMINDIR;
+my $oppackage;
my $shlibsoverride = "$Dpkg::CONFDIR/shlibs.override";
my $shlibsdefault = "$Dpkg::CONFDIR/shlibs.default";
my $shlibslocal = 'debian/shlibs.local';
-my $packagetype = 'deb';
-my $dependencyfield = 'Depends';
+my $packagetype;
+my $dependencyfield;
my $varlistfile = 'debian/substvars';
my $varlistfilenew;
my $varnameprefix = 'shlibs';
@@ -79,7 +81,9 @@ my $host_arch = get_host_arch();
my (@pkg_shlibs, @pkg_symbols, @pkg_root_dirs);
-my ($stdout, %exec);
+my @execs;
+my $stdout;
+
foreach (@ARGV) {
if (m/^-T(.*)$/) {
$varlistfile = $1;
@@ -113,18 +117,18 @@ foreach (@ARGV) {
warning(g_("unrecognized dependency field '%s'"), $dependencyfield);
}
} elsif (m/^-e(.*)$/) {
- if (exists $exec{$1}) {
- # Affect the binary to the most important field
- if ($depstrength{$dependencyfield} > $depstrength{$exec{$1}}) {
- $exec{$1} = $dependencyfield;
- }
- } else {
- $exec{$1} = $dependencyfield;
- }
+ push @execs, [ $1, $dependencyfield ];
} elsif (m/^--ignore-missing-info$/) {
$ignore_missing_info = 1;
} elsif (m/^--warnings=(\d+)$/) {
$warnings = $1;
+ } elsif (m/^--package=(.+)$/) {
+ $oppackage = $1;
+ my $err = pkg_name_is_illegal($oppackage);
+ error(g_("illegal package name '%s': %s"), $oppackage, $err) if $err;
+
+ # Exclude self.
+ push @exclude, $1;
} elsif (m/^-t(.*)$/) {
$packagetype = $1;
} elsif (m/^-v$/) {
@@ -133,16 +137,11 @@ foreach (@ARGV) {
push @exclude, $1;
} elsif (m/^-/) {
usageerr(g_("unknown option '%s'"), $_);
- } elsif (exists $exec{$_}) {
- # Affect the binary to the most important field
- if ($depstrength{$dependencyfield} > $depstrength{$exec{$_}}) {
- $exec{$_} = $dependencyfield;
- }
} else {
- $exec{$_} = $dependencyfield;
+ push @execs, [ $_, $dependencyfield ];
}
}
-usageerr(g_('need at least one executable')) unless scalar keys %exec;
+usageerr(g_('need at least one executable')) unless scalar @execs;
report_options(debug_level => $debug);
@@ -162,6 +161,42 @@ my $control = Dpkg::Control::Info->new();
# Initialize build API level.
get_build_api($control);
+my $default_depfield;
+
+if (defined $oppackage) {
+ my $pkg = $control->get_pkg_by_name($oppackage);
+ if (not defined $pkg) {
+ error(g_('package %s not in control info'), $oppackage);
+ }
+
+ $packagetype //= $pkg->{'Package-Type'} ||
+ $pkg->get_custom_field('Package-Type');
+
+ # For essential packages we default to Pre-Depends.
+ if (defined $pkg->{Essential} && $pkg->{Essential} eq 'yes') {
+ $default_depfield = 'Pre-Depends';
+ }
+}
+
+$packagetype //= 'deb';
+$default_depfield //= 'Depends';
+
+my %exec;
+foreach my $exec_item (@execs) {
+ my ($path, $depfield) = @{$exec_item};
+
+ $depfield //= $default_depfield;
+
+ if (exists $exec{$path}) {
+ # Affect the binary to the most important field
+ if ($depstrength{$depfield} > $depstrength{$exec{$path}}) {
+ $exec{$path} = $depfield;
+ }
+ } else {
+ $exec{$path} = $depfield;
+ }
+}
+
foreach my $libdir (@priv_lib_dirs) {
Dpkg::Shlibs::add_library_dir($libdir);
}
@@ -607,6 +642,7 @@ sub usage {
-d<dependency-field> next executable(s) set shlibs:<dependency-field>.")
. "\n\n" . g_(
"Options:
+ --package=<package> generate substvars for <package> (default is unset).
-l<library-dir> add directory to private shared library search list.
-p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.
-O[<file>] write variable settings to stdout (or <file>).
diff --git a/scripts/dpkg-source.pl b/scripts/dpkg-source.pl
index c27a954..3f14b10 100755
--- a/scripts/dpkg-source.pl
+++ b/scripts/dpkg-source.pl
@@ -469,8 +469,7 @@ if ($options{opmode} =~ /^(build|print-format|(before|after)-build|commit)$/) {
$srcpkg->parse_cmdline_options(@cmdline_options);
# Decide where to unpack
- my $newdirectory = $srcpkg->get_basename();
- $newdirectory =~ s/_/-/g;
+ my $newdirectory = $srcpkg->get_basedirname();
if (@ARGV) {
$newdirectory = File::Spec->catdir(shift(@ARGV));
if (-e $newdirectory) {
diff --git a/scripts/mk/Makefile.am b/scripts/mk/Makefile.am
index 257ba52..6e85e17 100644
--- a/scripts/mk/Makefile.am
+++ b/scripts/mk/Makefile.am
@@ -10,24 +10,3 @@ dist_pkgdata_DATA = \
pkg-info.mk \
vendor.mk \
# EOL
-
-SUFFIXES =
-
-include $(top_srcdir)/build-aux/subst.am
-
-# Ideally we'd use '$(SED) -i', but unfortunately that's not portable.
-install-data-hook:
- $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/default.mk \
- >$(DESTDIR)$(pkgdatadir)/default.mk.new
- mv $(DESTDIR)$(pkgdatadir)/default.mk.new \
- $(DESTDIR)$(pkgdatadir)/default.mk
-
- $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/buildtools.mk \
- >$(DESTDIR)$(pkgdatadir)/buildtools.mk.new
- mv $(DESTDIR)$(pkgdatadir)/buildtools.mk.new \
- $(DESTDIR)$(pkgdatadir)/buildtools.mk
-
- $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/vendor.mk \
- >$(DESTDIR)$(pkgdatadir)/vendor.mk.new
- mv $(DESTDIR)$(pkgdatadir)/vendor.mk.new \
- $(DESTDIR)$(pkgdatadir)/vendor.mk
diff --git a/scripts/mk/Makefile.in b/scripts/mk/Makefile.in
index 65e8fd5..5b78c79 100644
--- a/scripts/mk/Makefile.in
+++ b/scripts/mk/Makefile.in
@@ -14,12 +14,6 @@
@SET_MAKE@
-#
-# Build time variable substitution for generated files.
-#
-
-# Shell support.
-
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
@@ -96,8 +90,8 @@ build_triplet = @build@
host_triplet = @host@
subdir = scripts/mk
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/dpkg-arch.m4 \
- $(top_srcdir)/m4/dpkg-build.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/build-to-host.m4 \
+ $(top_srcdir)/m4/dpkg-arch.m4 $(top_srcdir)/m4/dpkg-build.m4 \
$(top_srcdir)/m4/dpkg-compiler.m4 \
$(top_srcdir)/m4/dpkg-coverage.m4 \
$(top_srcdir)/m4/dpkg-funcs.m4 \
@@ -170,8 +164,7 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(pkgdatadir)"
DATA = $(dist_pkgdata_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in \
- $(top_srcdir)/build-aux/subst.am
+am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -270,6 +263,7 @@ PACKAGE_RELEASE_DATE = @PACKAGE_RELEASE_DATE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VCS_ID = @PACKAGE_VCS_ID@
PACKAGE_VCS_TYPE = @PACKAGE_VCS_TYPE@
PACKAGE_VCS_URL = @PACKAGE_VCS_URL@
PACKAGE_VCS_WEB = @PACKAGE_VCS_WEB@
@@ -351,6 +345,8 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
+localedir_c = @localedir_c@
+localedir_c_make = @localedir_c_make@
localstatedir = @localstatedir@
logdir = @logdir@
mandir = @mandir@
@@ -386,40 +382,10 @@ dist_pkgdata_DATA = \
vendor.mk \
# EOL
-SUFFIXES = .sh .pl
-do_shell_subst = $(AM_V_GEN) $(SED) \
- -e "s:^ADMINDIR=.*$$:ADMINDIR='$(admindir)':" \
- -e "s:^BACKUPSDIR=.*$$:BACKUPSDIR='$(backupsdir)':" \
- -e "s:^PKGDATADIR_DEFAULT=.*$$:PKGDATADIR_DEFAULT='$(pkgdatadir)':" \
- -e "s:^version=['\"][^'\"]*[\"']:version=\"$(PACKAGE_VERSION)\":" \
- -e "s:^TAR=.*$$:TAR='$(TAR)':" \
- # EOL
-
-
-# Perl support.
-do_perl_subst = $(AM_V_GEN) $(SED) \
- -e "s:^\#![[:space:]]*/usr/bin/perl:\#!$(PERL):" \
- -e "s:our \$$CONFDIR = .*;:our \$$CONFDIR = '$(pkgconfdir)';:" \
- -e "s:our \$$ADMINDIR = .*;:our \$$ADMINDIR = '$(admindir)';:" \
- -e "s:our \$$LIBDIR = .*;:our \$$LIBDIR = '$(pkglibexecdir)';:" \
- -e "s:our \$$DATADIR = .*;:our \$$DATADIR = '$(pkgdatadir)';:" \
- -e "s:our \$$PROGMAKE = .*;:our \$$PROGMAKE = '$(MAKE)';:" \
- -e "s:our \$$PROGTAR = .*;:our \$$PROGTAR = '$(TAR)';:" \
- -e "s:our \$$PROGPATCH = .*;:our \$$PROGPATCH = '$(PATCH)';:" \
- -e "s:our \$$PROGVERSION = .*;:our \$$PROGVERSION = '$(PACKAGE_VERSION)';:" \
- # EOL
-
-
-# Makefile support.
-do_make_subst = $(AM_V_GEN) $(SED) \
- -e "s:dpkg_datadir[[:space:]]*=[[:space:]]*[^[:space:]]*:dpkg_datadir = $(pkgdatadir):" \
- # EOL
-
all: all-am
.SUFFIXES:
-.SUFFIXES: .sh .pl
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build-aux/subst.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -439,7 +405,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
-$(top_srcdir)/build-aux/subst.am $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -573,8 +538,7 @@ info: info-am
info-am:
install-data-am: install-dist_pkgdataDATA
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-data-hook
+
install-dvi: install-dvi-am
install-dvi-am:
@@ -619,51 +583,24 @@ ps-am:
uninstall-am: uninstall-dist_pkgdataDATA
-.MAKE: install-am install-data-am install-strip
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
cscopelist-am ctags-am distclean distclean-generic \
distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
- install-data-hook install-dist_pkgdataDATA install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am uninstall-dist_pkgdataDATA
+ install-dist_pkgdataDATA install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-dist_pkgdataDATA
.PRECIOUS: Makefile
-.sh: Makefile
- @test -d `dirname $@` || $(MKDIR_P) `dirname $@`
- $(do_shell_subst) <$< >$@
- $(AM_V_at) chmod +x $@
-
-.pl: Makefile
- @test -d `dirname $@` || $(MKDIR_P) `dirname $@`
- $(do_perl_subst) <$< >$@
- $(AM_V_at) chmod +x $@
-
-# Ideally we'd use '$(SED) -i', but unfortunately that's not portable.
-install-data-hook:
- $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/default.mk \
- >$(DESTDIR)$(pkgdatadir)/default.mk.new
- mv $(DESTDIR)$(pkgdatadir)/default.mk.new \
- $(DESTDIR)$(pkgdatadir)/default.mk
-
- $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/buildtools.mk \
- >$(DESTDIR)$(pkgdatadir)/buildtools.mk.new
- mv $(DESTDIR)$(pkgdatadir)/buildtools.mk.new \
- $(DESTDIR)$(pkgdatadir)/buildtools.mk
-
- $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/vendor.mk \
- >$(DESTDIR)$(pkgdatadir)/vendor.mk.new
- mv $(DESTDIR)$(pkgdatadir)/vendor.mk.new \
- $(DESTDIR)$(pkgdatadir)/vendor.mk
-
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/scripts/mk/architecture.mk b/scripts/mk/architecture.mk
index c11cada..4f0559c 100644
--- a/scripts/mk/architecture.mk
+++ b/scripts/mk/architecture.mk
@@ -1,11 +1,21 @@
# This Makefile fragment (since dpkg 1.16.1) defines all the DEB_HOST_* and
# DEB_BUILD_* variables that dpkg-architecture can return. Existing values
# of those variables are preserved as per policy.
+# All variables are exported.
-dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1)))
-
-dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-architecture -q$(1))
+ifndef dpkg_architecture_mk_included
+dpkg_architecture_mk_included = yes
+dpkg_architecture_vars = \
$(foreach machine,BUILD HOST TARGET,\
$(foreach var,ARCH ARCH_ABI ARCH_LIBC ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\
- $(eval $(call dpkg_architecture_setvar,DEB_$(machine)_$(var)))))
+ DEB_$(machine)_$(var)))
+
+# dpkg-buildpackage sets all variables. Optimize this frequent case.
+ifneq (,$(strip $(foreach v,$(dpkg_architecture_vars),$(if $(value $(v)),,1))))
+ $(foreach line,$(subst =,?=,$(shell dpkg-architecture)),$(eval $(line)))
+endif
+
+export $(dpkg_architecture_vars)
+
+endif # dpkg_architecture_mk_included
diff --git a/scripts/mk/buildapi.mk b/scripts/mk/buildapi.mk
index 668e325..6b665f3 100644
--- a/scripts/mk/buildapi.mk
+++ b/scripts/mk/buildapi.mk
@@ -1,9 +1,18 @@
# This Makefile fragment (since dpkg 1.22.0) handles the build API.
+ifndef dpkg_buildapi_mk_included
+dpkg_buildapi_mk_included = yes
+
# Default API level when not set.
-DPKG_BUILD_API ?= $(shell dpkg-buildapi)
+ifndef DPKG_BUILD_API
+ dpkg_lazy_eval ?= $(eval $(1) = $(2)$$($(1)))
+ dpkg_lazy_set ?= $(call dpkg_lazy_eval,$(1),$$(eval $(1) := $(2)))
+ $(call dpkg_lazy_set,DPKG_BUILD_API,$$(shell dpkg-buildapi))
+endif
# We could use only built-in GNU make functions, but that seems too much
# complexity given no integer operators, given that we currently have to
# fetch the build API level anyway.
dpkg_build_api_ge = $(shell test "$(DPKG_BUILD_API)" -ge "$(1)" && echo yes)
+
+endif # dpkg_buildapi_mk_included
diff --git a/scripts/mk/buildflags.mk b/scripts/mk/buildflags.mk
index 4b8a3d8..a8eac9e 100644
--- a/scripts/mk/buildflags.mk
+++ b/scripts/mk/buildflags.mk
@@ -28,52 +28,46 @@
# You can also export them in the environment by setting
# DPKG_EXPORT_BUILDFLAGS to a non-empty value.
#
+
+ifndef dpkg_buildflags_mk_included
+dpkg_buildflags_mk_included = yes
+
# This list is kept in sync with the default set of flags returned
# by dpkg-buildflags.
-dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1)))
-
-DPKG_BUILDFLAGS_LIST = \
+DPKG_BUILDFLAGS_LIST := $(foreach var,\
ASFLAGS \
- ASFLAGS_FOR_BUILD \
CFLAGS \
- CFLAGS_FOR_BUILD \
CPPFLAGS \
- CPPFLAGS_FOR_BUILD \
CXXFLAGS \
- CXXFLAGS_FOR_BUILD \
OBJCFLAGS \
- OBJCFLAGS_FOR_BUILD \
OBJCXXFLAGS \
- OBJCXXFLAGS_FOR_BUILD \
DFLAGS \
- DFLAGS_FOR_BUILD \
FFLAGS \
- FFLAGS_FOR_BUILD \
FCFLAGS \
- FCFLAGS_FOR_BUILD \
LDFLAGS \
- LDFLAGS_FOR_BUILD \
- # EOL
-
-define dpkg_buildflags_export_envvar
- ifdef $(1)
- DPKG_BUILDFLAGS_EXPORT_ENVVAR += $(1)="$$(value $(1))"
- endif
-endef
+ ,$(var) $(var)_FOR_BUILD)
-$(eval $(call dpkg_buildflags_export_envvar,DEB_BUILD_OPTIONS))
-$(eval $(call dpkg_buildflags_export_envvar,DEB_BUILD_MAINT_OPTIONS))
-$(eval $(call dpkg_buildflags_export_envvar,DEB_BUILD_PATH))
-$(foreach flag,$(DPKG_BUILDFLAGS_LIST),\
- $(foreach operation,SET STRIP APPEND PREPEND,\
- $(eval $(call dpkg_buildflags_export_envvar,DEB_$(flag)_MAINT_$(operation)))))
-
-dpkg_buildflags_setvar = $(1) = $(call dpkg_lazy_eval,$(1),$(DPKG_BUILDFLAGS_EXPORT_ENVVAR) dpkg-buildflags --get $(1))
-
-$(foreach flag,$(DPKG_BUILDFLAGS_LIST),\
- $(eval $(call dpkg_buildflags_setvar,$(flag))))
+dpkg_buildflags_run = $(eval $(shell \
+ $(foreach exported,\
+ DEB_BUILD_OPTIONS \
+ DEB_BUILD_MAINT_OPTIONS \
+ DEB_BUILD_PATH \
+ $(foreach flag,$(DPKG_BUILDFLAGS_LIST),\
+ $(foreach operation,SET STRIP APPEND PREPEND,\
+ DEB_$(flag)_MAINT_$(operation))),\
+ $(if $(value $(exported)),\
+ $(exported)="$(value $(exported))"))\
+ dpkg-buildflags | sed 's/\([^=]*\)\(.*\)/$$(eval \1:\2)/'))
ifdef DPKG_EXPORT_BUILDFLAGS
+ # We need to compute the values right now.
+ $(dpkg_buildflags_run)
export $(DPKG_BUILDFLAGS_LIST)
+else
+ dpkg_lazy_eval ?= $(eval $(1) = $(2)$$($(1)))
+ $(foreach v,$(DPKG_BUILDFLAGS_LIST),\
+ $(call dpkg_lazy_eval,$(v),$$(dpkg_buildflags_run)))
endif
+
+endif # dpkg_buildflags_mk_included
diff --git a/scripts/mk/buildopts.mk b/scripts/mk/buildopts.mk
index c957777..734d55e 100644
--- a/scripts/mk/buildopts.mk
+++ b/scripts/mk/buildopts.mk
@@ -4,7 +4,16 @@
# Defines the following variables:
#
# DEB_BUILD_OPTION_PARALLEL: the argument for the parallel=N option.
+# $(DEB_BUILD_OPTIONS) "parallel=2" "parallel=" ""
+# $(DEB_BUILD_OPTION_PARALLEL) "2" "" unset
+# $(DEB_BUILD_OPTION_PARALLEL:%=-j%) "-j2" "" ""
-ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
- DEB_BUILD_OPTION_PARALLEL = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ifndef dpkg_buildopts_mk_included
+dpkg_buildopts_mk_included = yes
+
+dpkg_buildopts_parallel := $(filter parallel=%,$(DEB_BUILD_OPTIONS))
+ifdef dpkg_buildopts_parallel
+ DEB_BUILD_OPTION_PARALLEL = $(patsubst parallel=%,%,$(dpkg_buildopts_parallel))
endif
+
+endif # dpkg_buildopts_mk_included
diff --git a/scripts/mk/buildtools.mk b/scripts/mk/buildtools.mk
index 933fdcf..1f63bee 100644
--- a/scripts/mk/buildtools.mk
+++ b/scripts/mk/buildtools.mk
@@ -25,7 +25,10 @@
# The variables are not exported by default. This can be changed by
# defining DPKG_EXPORT_BUILDTOOLS.
-dpkg_datadir = $(srcdir)/mk
+ifndef dpkg_buildtools_mk_included
+dpkg_buildtools_mk_included = yes
+
+dpkg_datadir ?= $(dir $(lastword $(MAKEFILE_LIST)))
include $(dpkg_datadir)/architecture.mk
# We set the TOOL_FOR_BUILD variables to the specified value, and the TOOL
@@ -33,18 +36,18 @@ include $(dpkg_datadir)/architecture.mk
# not defined or contain the make built-in defaults. On native builds if
# TOOL is defined and TOOL_FOR_BUILD is not, we fallback to use TOOL.
define dpkg_buildtool_setvar
- ifeq (,$(findstring $(3),$(DEB_BUILD_OPTIONS)))
- ifeq ($(origin $(1)),default)
+ ifeq (,$(filter $(3),$(DEB_BUILD_OPTIONS)))
+ ifneq (,$(filter default undefined,$(origin $(1))))
$(1) = $(DEB_HOST_GNU_TYPE)-$(2)
- else
- $(1) ?= $(DEB_HOST_GNU_TYPE)-$(2)
endif
# On native build fallback to use TOOL if that's defined.
- ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
- $(1)_FOR_BUILD ?= $$($(1))
- else
- $(1)_FOR_BUILD ?= $(DEB_BUILD_GNU_TYPE)-$(2)
+ ifeq (undefined,$(origin $(1)_FOR_BUILD))
+ ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+ $(1)_FOR_BUILD = $$($(1))
+ else
+ $(1)_FOR_BUILD = $(DEB_BUILD_GNU_TYPE)-$(2)
+ endif
endif
else
$(1) = :
@@ -74,3 +77,5 @@ $(eval $(call dpkg_buildtool_setvar,AR,ar))
$(eval $(call dpkg_buildtool_setvar,RANLIB,ranlib))
$(eval $(call dpkg_buildtool_setvar,PKG_CONFIG,pkgconf))
$(eval $(call dpkg_buildtool_setvar,QMAKE,qmake))
+
+endif # dpkg_buildtools_mk_included
diff --git a/scripts/mk/default.mk b/scripts/mk/default.mk
index 0b2fd4a..14e5be0 100644
--- a/scripts/mk/default.mk
+++ b/scripts/mk/default.mk
@@ -1,7 +1,11 @@
# This Makefile fragment (since dpkg 1.16.1) includes all the Makefile
# fragments that define variables that can be useful within debian/rules.
-dpkg_datadir = $(srcdir)/mk
+ifndef dpkg_default_mk_included
+dpkg_default_mk_included = yes
+
+dpkg_datadir := $(dir $(lastword $(MAKEFILE_LIST)))
+
include $(dpkg_datadir)/architecture.mk
include $(dpkg_datadir)/buildapi.mk
ifeq ($(call dpkg_build_api_ge,1),yes)
@@ -11,3 +15,5 @@ include $(dpkg_datadir)/buildflags.mk
include $(dpkg_datadir)/buildopts.mk
include $(dpkg_datadir)/pkg-info.mk
include $(dpkg_datadir)/vendor.mk
+
+endif # dpkg_default_mk_included
diff --git a/scripts/mk/pkg-info.mk b/scripts/mk/pkg-info.mk
index bccde23..ddda4f7 100644
--- a/scripts/mk/pkg-info.mk
+++ b/scripts/mk/pkg-info.mk
@@ -12,16 +12,34 @@
# SOURCE_DATE_EPOCH: source release date as seconds since the epoch, as
# specified by <https://reproducible-builds.org/specs/source-date-epoch/>
# (since dpkg 1.18.8).
+# If it is undefined, the date of the latest changelog entry is used.
+# In both cases, the value is exported.
-dpkg_late_eval ?= $(or $(value DPKG_CACHE_$(1)),$(eval DPKG_CACHE_$(1) := $(shell $(2)))$(value DPKG_CACHE_$(1)))
+ifndef dpkg_pkg_info_mk_included
+dpkg_pkg_info_mk_included = yes
-DEB_SOURCE = $(call dpkg_late_eval,DEB_SOURCE,dpkg-parsechangelog -SSource)
-DEB_VERSION = $(call dpkg_late_eval,DEB_VERSION,dpkg-parsechangelog -SVersion)
-DEB_VERSION_EPOCH_UPSTREAM = $(call dpkg_late_eval,DEB_VERSION_EPOCH_UPSTREAM,echo '$(DEB_VERSION)' | sed -e 's/-[^-]*$$//')
-DEB_VERSION_UPSTREAM_REVISION = $(call dpkg_late_eval,DEB_VERSION_UPSTREAM_REVISION,echo '$(DEB_VERSION)' | sed -e 's/^[0-9]*://')
-DEB_VERSION_UPSTREAM = $(call dpkg_late_eval,DEB_VERSION_UPSTREAM,echo '$(DEB_VERSION_EPOCH_UPSTREAM)' | sed -e 's/^[0-9]*://')
-DEB_DISTRIBUTION = $(call dpkg_late_eval,DEB_DISTRIBUTION,dpkg-parsechangelog -SDistribution)
-
-SOURCE_DATE_EPOCH ?= $(call dpkg_late_eval,SOURCE_DATE_EPOCH,dpkg-parsechangelog -STimestamp)
+dpkg_parsechangelog_run = $(eval $(shell dpkg-parsechangelog | sed -n '\
+ s/^Distribution: \(.*\)/$$(eval DEB_DISTRIBUTION:=\1)/p;\
+ s/^Source: \(.*\)/$$(eval DEB_SOURCE:=\1)/p;\
+ s/^Version: \([0-9]*:\)\{0,1\}\([^-]*\)\(\(.*\)-[^-]*\)\{0,1\}$$/\
+ $$(eval DEB_VERSION:=\1\2\3)\
+ $$(eval DEB_VERSION_EPOCH_UPSTREAM:=\1\2\4)\
+ $$(eval DEB_VERSION_UPSTREAM_REVISION:=\2\3)\
+ $$(eval DEB_VERSION_UPSTREAM:=\2\4)/p;\
+ s/^Timestamp: \(.*\)/$$(eval SOURCE_DATE_EPOCH?=\1)/p'))
+ifdef SOURCE_DATE_EPOCH
+ dpkg_lazy_eval ?= $(eval $(1) = $(2)$$($(1)))
+ $(call dpkg_lazy_eval,DEB_DISTRIBUTION,$$(dpkg_parsechangelog_run))
+ $(call dpkg_lazy_eval,DEB_SOURCE,$$(dpkg_parsechangelog_run))
+ $(call dpkg_lazy_eval,DEB_VERSION,$$(dpkg_parsechangelog_run))
+ $(call dpkg_lazy_eval,DEB_VERSION_EPOCH_UPSTREAM,$$(dpkg_parsechangelog_run))
+ $(call dpkg_lazy_eval,DEB_VERSION_UPSTREAM,$$(dpkg_parsechangelog_run))
+ $(call dpkg_lazy_eval,DEB_UPSTREAM_REVISION,$$(dpkg_parsechangelog_run))
+else
+ # We need to compute the values right now.
+ $(dpkg_parsechangelog_run)
+endif
export SOURCE_DATE_EPOCH
+
+endif # dpkg_pkg_info_mk_included
diff --git a/scripts/mk/vendor.mk b/scripts/mk/vendor.mk
index f3241a5..43898d9 100644
--- a/scripts/mk/vendor.mk
+++ b/scripts/mk/vendor.mk
@@ -33,13 +33,16 @@
# ...
# endif
-dpkg_datadir = $(srcdir)/mk
-include $(dpkg_datadir)/buildapi.mk
+ifndef dpkg_vendor_mk_included
+dpkg_vendor_mk_included = yes
-dpkg_late_eval ?= $(or $(value DPKG_CACHE_$(1)),$(eval DPKG_CACHE_$(1) := $(shell $(2)))$(value DPKG_CACHE_$(1)))
+dpkg_datadir ?= $(dir $(lastword $(MAKEFILE_LIST)))
+include $(dpkg_datadir)/buildapi.mk
-DEB_VENDOR = $(call dpkg_late_eval,DEB_VENDOR,dpkg-vendor --query Vendor)
-DEB_PARENT_VENDOR = $(call dpkg_late_eval,DEB_PARENT_VENDOR,dpkg-vendor --query Parent)
+dpkg_lazy_eval ?= $(eval $(1) = $(2)$$($(1)))
+dpkg_lazy_set ?= $(call dpkg_lazy_eval,$(1),$$(eval $(1) := $(2)))
+$(call dpkg_lazy_set,DEB_VENDOR,$$(shell dpkg-vendor --query Vendor))
+$(call dpkg_lazy_set,DEB_PARENT_VENDOR,$$(shell dpkg-vendor --query Parent))
dpkg_vendor_derives_from_v0 = dpkg-vendor --derives-from $(1) && echo yes || echo no
dpkg_vendor_derives_from_v1 = $(shell $(dpkg_vendor_derives_from_v0))
@@ -49,3 +52,5 @@ dpkg_vendor_derives_from ?= $(dpkg_vendor_derives_from_v1)
else
dpkg_vendor_derives_from ?= $(dpkg_vendor_derives_from_v0)
endif
+
+endif # dpkg_vendor_mk_included
diff --git a/scripts/po/Makefile.in.in b/scripts/po/Makefile.in.in
index 6b25f0d..2b36b11 100644
--- a/scripts/po/Makefile.in.in
+++ b/scripts/po/Makefile.in.in
@@ -1,13 +1,13 @@
# Makefile for PO directory in any package using GNU gettext.
# Copyright (C) 1995-2000 Ulrich Drepper <drepper@gnu.ai.mit.edu>
-# Copyright (C) 2000-2020 Free Software Foundation, Inc.
+# Copyright (C) 2000-2023 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.
#
-# Origin: gettext-0.21
+# Origin: gettext-0.22
GETTEXT_MACRO_VERSION = 0.20
PACKAGE = @PACKAGE@
@@ -248,15 +248,17 @@ $(POFILES): $(POFILESDEPS)
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
if test -f "$(srcdir)/$${lang}.po"; then \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
cd $(srcdir) \
&& { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
+ '' | 0.[0-9] | 0.[0-9].* | 0.10 | 0.10.*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ 0.1[1-5] | 0.1[1-5].*) \
+ $(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
0.1[6-7] | 0.1[6-7].*) \
- $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
+ $(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
*) \
- $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
+ $(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
esac; \
}; \
else \
@@ -464,15 +466,17 @@ update-po: Makefile
tmpdir=`pwd`; \
echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ echo "$${cdcmd}$(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
cd $(srcdir); \
if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
+ '' | 0.[0-9] | 0.[0-9].* | 0.10 | 0.10.*) \
$(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ 0.1[1-5] | 0.1[1-5].*) \
+ $(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
0.1[6-7] | 0.1[6-7].*) \
- $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ $(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
*) \
- $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ $(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
esac; \
}; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
diff --git a/scripts/po/POTFILES.in b/scripts/po/POTFILES.in
index 125792b..b5fe9c3 100644
--- a/scripts/po/POTFILES.in
+++ b/scripts/po/POTFILES.in
@@ -21,7 +21,11 @@ scripts/dpkg-source.pl
scripts/dpkg-vendor.pl
scripts/Dpkg.pm
scripts/Dpkg/Arch.pm
+scripts/Dpkg/Archive/Ar.pm
+scripts/Dpkg/Build/Info.pm
scripts/Dpkg/BuildAPI.pm
+scripts/Dpkg/BuildDriver.pm
+scripts/Dpkg/BuildDriver/DebianRules.pm
scripts/Dpkg/BuildEnv.pm
scripts/Dpkg/BuildFlags.pm
scripts/Dpkg/BuildInfo.pm
@@ -29,7 +33,6 @@ scripts/Dpkg/BuildOptions.pm
scripts/Dpkg/BuildProfiles.pm
scripts/Dpkg/BuildTree.pm
scripts/Dpkg/BuildTypes.pm
-scripts/Dpkg/Build/Info.pm
scripts/Dpkg/Changelog.pm
scripts/Dpkg/Changelog/Debian.pm
scripts/Dpkg/Changelog/Entry.pm
@@ -69,7 +72,12 @@ scripts/Dpkg/Index.pm
scripts/Dpkg/Interface/Storable.pm
scripts/Dpkg/Lock.pm
scripts/Dpkg/OpenPGP.pm
+scripts/Dpkg/OpenPGP/Backend.pm
+scripts/Dpkg/OpenPGP/Backend/GnuPG.pm
+scripts/Dpkg/OpenPGP/Backend/SOP.pm
+scripts/Dpkg/OpenPGP/Backend/Sequoia.pm
scripts/Dpkg/OpenPGP/ErrorCodes.pm
+scripts/Dpkg/OpenPGP/KeyHandle.pm
scripts/Dpkg/Package.pm
scripts/Dpkg/Path.pm
scripts/Dpkg/Shlibs.pm
@@ -79,8 +87,9 @@ scripts/Dpkg/Shlibs/Objdump/Object.pm
scripts/Dpkg/Shlibs/Symbol.pm
scripts/Dpkg/Shlibs/SymbolFile.pm
scripts/Dpkg/Source/Archive.pm
-scripts/Dpkg/Source/Functions.pm
scripts/Dpkg/Source/BinaryFiles.pm
+scripts/Dpkg/Source/Format.pm
+scripts/Dpkg/Source/Functions.pm
scripts/Dpkg/Source/Package.pm
scripts/Dpkg/Source/Package/V1.pm
scripts/Dpkg/Source/Package/V2.pm
@@ -95,5 +104,6 @@ scripts/Dpkg/Substvars.pm
scripts/Dpkg/Vendor.pm
scripts/Dpkg/Vendor/Debian.pm
scripts/Dpkg/Vendor/Default.pm
+scripts/Dpkg/Vendor/Devuan.pm
scripts/Dpkg/Vendor/Ubuntu.pm
scripts/Dpkg/Version.pm
diff --git a/scripts/po/ca.gmo b/scripts/po/ca.gmo
index 5a91b73..914a2e4 100644
--- a/scripts/po/ca.gmo
+++ b/scripts/po/ca.gmo
Binary files differ
diff --git a/scripts/po/ca.po b/scripts/po/ca.po
index 6b3ac8d..8a958fd 100644
--- a/scripts/po/ca.po
+++ b/scripts/po/ca.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dpkg-dev 1.21.18\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
"PO-Revision-Date: 2023-12-17 20:30+0100\n"
"Last-Translator: Guillem Jover <guillem@debian.org>\n"
"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
@@ -281,12 +281,11 @@ msgstr "s'ha especificat dos ordres: --%s i --%s"
msgid "%s needs a parameter"
msgstr "%s requereix un paràmetre"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
-#, perl-format
-msgid "Usage: %s [<option>...]"
-msgstr "Forma d'ús: %s [<opció>…]"
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "Usage: %s [<option>...] [<control-file>]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
+msgstr "Forma d'ús: %s [<opció>…] [<fitxer-control>]"
#: scripts/dpkg-buildpackage.pl
msgid ""
@@ -588,6 +587,34 @@ msgid "sign-command '%s' not found"
msgstr "no s'ha trobat l'ordre-per-signar «%s»"
#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "cannot change directory %s mode"
+msgid "cannot change directory to %s"
+msgstr "no es pot canviar el mode del directori %s"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "building source package would overwrite input source %s"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "leave original source packed in current directory"
+msgid "source package %s is expected in the current directory"
+msgstr "deixa les fonts originals empaquetades al directori actual"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "source directory %s exists already, aborting"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "extracting unsigned source package (%s)"
+msgid "extracting source package %s"
+msgstr "s'està extraient el paquet font sense signar (%s)"
+
+#: scripts/dpkg-buildpackage.pl
msgid "source package"
msgstr "paquet font"
@@ -608,10 +635,6 @@ msgid "host architecture"
msgstr "arquitectura de l'amfitrió"
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
-msgstr "debian/rules no és executable: s'està corregint això"
-
-#: scripts/dpkg-buildpackage.pl
msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr "dependències/conflictes de construcció no satisfetes; s'està avortant"
@@ -637,62 +660,15 @@ msgstr ""
"no es signarà la construcció UNRELEASED; empreu --force-sign per a forçar-ho"
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
-msgstr "no es pot determinar %s"
-
-#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
-msgstr "s'està emprant una ordre-assolir-superusuari mentre s'és superusuari"
-
-#: scripts/dpkg-buildpackage.pl
-msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-"no s'ha trobat fakeroot, instal·leu el paquet fakeroot,\n"
-"especifiqueu una ordre amb l'opció -r, o executeu-ho com superusuari"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr "no s'ha trobat l'ordre-assolir-superusuari «%s»"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr "no s'accepta l'objectiu en el camp %s amb la paraula clau “%s”"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr ""
-"la paraula clau “%2$s” desconeguda en el camp %1$s a l'espai de noms de dpkg"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
-msgstr "la paraula clau “%2$s” és en majúscules en el camp %1$s; empreu “%3$s”"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
-msgstr "la paraula clau “%2$s” no és vàlida en el camp %1$s; empreu “%3$s”"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown"
-msgstr "la paraula clau “%2$s” és desconeguda en el camp %1$s"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "field %s contains duplicate keyword \"%s\""
-msgstr "la paraula clau “%2$s” és duplicada en el camp %1$s"
+#, fuzzy, perl-format
+#| msgid "created directory '%s'"
+msgid "removing extracted source directory %s"
+msgstr "s'ha creat el directori «%s»"
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
-msgstr "el camp %s conté paraules clau globals i especifiques d'implementació"
+msgid "unable to determine %s"
+msgstr "no es pot determinar %s"
#: scripts/dpkg-buildpackage.pl
#, perl-format
@@ -717,21 +693,6 @@ msgstr ""
"els identificadors de clau OpenPGP llargs estan descoratjats; empreu "
"empremtes de clau a %s o %s"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr "no es pot obrir %s"
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr "no es pot tancar %s"
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, perl-format
msgid "cannot move %s to %s"
@@ -770,15 +731,6 @@ msgstr "pujada de binaris i diff (NO s'inclou el codi font original)"
msgid "full upload (original source is included)"
msgstr "pujada sencera (s'inclou el codi font original)"
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-"s'ha d'actualitzar %s per admetre els objectius «build-arch» i «build-"
-"indep» (almenys sembla que manca «%s»)"
-
#: scripts/dpkg-buildtree.pl
#, fuzzy
#| msgid ""
@@ -869,6 +821,13 @@ msgstr "Dependències de construcció no satisfetes: %s"
msgid "Build conflicts: %s"
msgstr "Conflictes de construcció: %s"
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr "no es pot obrir %s"
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -910,6 +869,21 @@ msgstr "no es pot escriure %s"
msgid "install new files list file"
msgstr "no es pot instal·lar la nova llista de fitxers"
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr "no es pot tancar %s"
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr "Forma d'ús: %s [<opció>…]"
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -1038,7 +1012,8 @@ msgstr "manca el camp Section pels fitxers font"
msgid "missing Priority for source files"
msgstr "manca el camp Priority pels fitxers font"
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr "%s és buit"
@@ -1173,11 +1148,12 @@ msgstr ""
" --version mostra la versió.\n"
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr "el nom de paquet «%s» és il·legal: %s"
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr "el paquet %s no és a la informació de control"
@@ -1940,8 +1916,38 @@ msgstr ""
" shlibs:<camp-dependència>."
#: scripts/dpkg-shlibdeps.pl
+#, fuzzy
+#| msgid ""
+#| "Options:\n"
+#| " -l<library-dir> add directory to private shared library search "
+#| "list.\n"
+#| " -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
+#| " -O[<file>] write variable settings to stdout (or "
+#| "<file>).\n"
+#| " -L<local-shlibs-file> shlibs override file, not debian/shlibs."
+#| "local.\n"
+#| " -T<substvars-file> update variables here, not debian/substvars.\n"
+#| " -t<type> set package type (default is deb).\n"
+#| " -x<package> exclude package from the generated "
+#| "dependencies.\n"
+#| " -S<package-build-dir> search needed libraries in the given\n"
+#| " package build directory first.\n"
+#| " -I<package-build-dir> ignore needed libraries, shlibs and symbols "
+#| "files\n"
+#| " in the given build directory.\n"
+#| " -v enable verbose mode (can be used multiple "
+#| "times).\n"
+#| " --ignore-missing-info don't fail if dependency information can't be "
+#| "found.\n"
+#| " --warnings=<value> define set of active warnings (see manual "
+#| "page).\n"
+#| " --admindir=<directory> change the administrative directory.\n"
+#| " -?, --help show this help message.\n"
+#| " --version show the version."
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -2384,6 +2390,126 @@ msgstr ""
msgid "'%s' is not a legal architecture in list '%s'"
msgstr "«%s» no és una cadena d'arquitectura vàlida a la llista «%s»"
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot parse %s field"
+msgid "cannot get archive %s size"
+msgstr "no es pot analitzar el camp %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot open or create archive %s"
+msgstr "no es pot crear el fitxer «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot write signature file %s"
+msgid "cannot write magic into archive %s"
+msgstr "no es pot escriure el fitxer de signatura «%s»"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot read %s at offset %d from archive %s"
+msgstr "no es pot llegir la marca horària de %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot seek into beginning of archive %s"
+msgstr "no es pot reposicionar al fitxer «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot read file %s"
+msgstr "no es pot crear el fitxer «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot write file %s"
+msgstr "no es pot crear el fitxer «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create pipe for %s"
+msgid "cannot create file %s to extract from archive %s"
+msgstr "no es pot crear el conducte per a %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot write signature file %s"
+msgid "cannot write file %s to the filesystem"
+msgstr "no es pot escriure el fitxer de signatura «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot remove destination file %s"
+msgid "cannot write file header into archive %s"
+msgstr "no es pot eliminar el fitxer de destí %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open file %s for binary detection"
+msgid "cannot open file %s to append to archive %s"
+msgstr "no es pot obrir el fitxer %s per a detecció binaria"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot get file %s size"
+msgstr "no es pot crear el fitxer «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot write signature file %s"
+msgid "cannot write file %s padding to archive %s"
+msgstr "no es pot escriure el fitxer de signatura «%s»"
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr "el nivell d'API de construccío requereix una versió exacta"
@@ -2403,6 +2529,73 @@ msgstr "el nivell d'API de construcció «%s» no és vàlid"
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr "el nivell d'API de construcció «%s» és més gran que el màxim «%s»"
+#: scripts/Dpkg/BuildDriver.pm
+#, fuzzy, perl-format
+#| msgid "changelog format %s is unknown: %s"
+msgid "build driver %s is unknown: %s"
+msgstr "el format %s del registre de canvis és desconegut: %s"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr "s'està emprant una ordre-assolir-superusuari mentre s'és superusuari"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+"no s'ha trobat fakeroot, instal·leu el paquet fakeroot,\n"
+"especifiqueu una ordre amb l'opció -r, o executeu-ho com superusuari"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr "no s'ha trobat l'ordre-assolir-superusuari «%s»"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "disallowed target in %s field keyword \"%s\""
+msgid "disallowed target in %s field keyword %s"
+msgstr "no s'accepta l'objectiu en el camp %s amb la paraula clau “%s”"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr ""
+"la paraula clau “%2$s” desconeguda en el camp %1$s a l'espai de noms de dpkg"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr "la paraula clau “%2$s” és en majúscules en el camp %1$s; empreu “%3$s”"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr "la paraula clau “%2$s” no és vàlida en el camp %1$s; empreu “%3$s”"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown"
+msgstr "la paraula clau “%2$s” és desconeguda en el camp %1$s"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "field %s contains duplicate keyword \"%s\""
+msgid "field %s contains duplicate keyword %s"
+msgstr "la paraula clau “%2$s” és duplicada en el camp %1$s"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr "el camp %s conté paraules clau globals i especifiques d'implementació"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "debian/rules is not executable; fixing that"
+msgid "%s is not executable; fixing that"
+msgstr "debian/rules no és executable: s'està corregint això"
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -3014,10 +3207,30 @@ msgid "unsupported subcommand"
msgstr "subordre no admesa"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr "la clau no te la capacitat de signar"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr "no es troba la implementació d'OpenPGP"
@@ -3191,6 +3404,37 @@ msgstr "no es pot obrir el directori %s"
msgid "unable to rename %s to %s"
msgstr "no es pot canviar el nom de %s a %s"
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr "s'està afegint %s a %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr "fitxer binari no desitjat: %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+"s'ha detectat %d fitxer binari no desitjat (afegiu-lo a debian/source/"
+"include-binaries per permetre la seva inclusió)."
+msgstr[1] ""
+"s'han detectat %d fitxers binaries no desitjats (afegiu-los a debian/source/"
+"include-binaries per permetre la seva inclusió)."
+
+#: scripts/Dpkg/Source/Format.pm
+#, fuzzy, perl-format
+#| msgid "source package format '%s' is not supported: %s"
+msgid "source package format '%s' is invalid"
+msgstr "no s'admet el format del paquet font «%s»: %s"
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -3221,31 +3465,6 @@ msgstr "no es pot llegir la marca horària de %s"
msgid "cannot open file %s for binary detection"
msgstr "no es pot obrir el fitxer %s per a detecció binaria"
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr "s'està afegint %s a %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr "fitxer binari no desitjat: %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-"s'ha detectat %d fitxer binari no desitjat (afegiu-lo a debian/source/"
-"include-binaries per permetre la seva inclusió)."
-msgstr[1] ""
-"s'han detectat %d fitxers binaries no desitjats (afegiu-los a debian/source/"
-"include-binaries per permetre la seva inclusió)."
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -4269,6 +4488,12 @@ msgid "substitution variable ${%s} used, but is not defined"
msgstr "la variable de substitució ${%s} s'utilitza, però no s'ha definit"
#: scripts/Dpkg/Substvars.pm
+#, fuzzy, perl-format
+#| msgid "deprecated substitution variable ${%s}"
+msgid "required substitution variable ${%s} not used"
+msgstr "la variable de substitució ${%s} és obsoleta"
+
+#: scripts/Dpkg/Substvars.pm
#, perl-format
msgid "substitution variable ${%s} unused, but is defined"
msgstr "la variable de substitució ${%s} no s'utilitza, però s'ha definit"
@@ -4352,6 +4577,14 @@ msgstr "el número de versió conté un caràcter il·legal ‘%s‘"
msgid "epoch part of the version number is not a number: '%s'"
msgstr "l'època en la versió no és un número: «%s»"
+#, perl-format
+#~ msgid ""
+#~ "%s must be updated to support the 'build-arch' and 'build-indep' targets "
+#~ "(at least '%s' seems to be missing)"
+#~ msgstr ""
+#~ "s'ha d'actualitzar %s per admetre els objectius «build-arch» i «build-"
+#~ "indep» (almenys sembla que manca «%s»)"
+
#~ msgid "Usage: %s [<option>...]\n"
#~ msgstr "Forma d'ús: %s [<opció>…]\n"
@@ -4372,10 +4605,6 @@ msgstr "l'època en la versió no és un número: «%s»"
#~ msgid "cannot execute %s program"
#~ msgstr "no es pot executar el programa %s"
-#, perl-format
-#~ msgid "cannot write signature file %s"
-#~ msgstr "no es pot escriure el fitxer de signatura «%s»"
-
#~ msgid "signature file is already OpenPGP ASCII armor, copying"
#~ msgstr "el fitxer de signatura ja és armat en OpenPGP ASCII, s'esta copiant"
@@ -4439,9 +4668,6 @@ msgstr "l'època en la versió no és un número: «%s»"
#~ msgid "invalid Format field '%s'"
#~ msgstr "el camp Format no és vàlid «%s»"
-#~ msgid "cannot create pipe for %s"
-#~ msgstr "no es pot crear el conducte per a %s"
-
#~ msgid "tail of %s"
#~ msgstr "cua de %s"
@@ -4470,9 +4696,6 @@ msgstr "l'època en la versió no és un número: «%s»"
#~ msgid "cannot open new output control file '%s'"
#~ msgstr "no s'ha pogut obrir el nou fitxer de control de sortida «%s»"
-#~ msgid "deprecated substitution variable ${%s}"
-#~ msgstr "la variable de substitució ${%s} és obsoleta"
-
#, fuzzy
#~| msgid "Usage: %s [<option>...] [<control-file>]"
#~ msgid "Usage: %s [<option>...] [<changelog-file>]"
diff --git a/scripts/po/de.gmo b/scripts/po/de.gmo
index 7784da5..102d2dc 100644
--- a/scripts/po/de.gmo
+++ b/scripts/po/de.gmo
Binary files differ
diff --git a/scripts/po/de.po b/scripts/po/de.po
index d2806d2..9b11a8e 100644
--- a/scripts/po/de.po
+++ b/scripts/po/de.po
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: dpkg-dev 1.22.5\n"
+"Project-Id-Version: dpkg-dev 1.22.6\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
-"PO-Revision-Date: 2024-01-25 17:45+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
+"PO-Revision-Date: 2024-07-03 21:25+0200\n"
"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"Language: de\n"
@@ -267,12 +267,11 @@ msgstr "zwei Befehle angegeben: --%s und --%s"
msgid "%s needs a parameter"
msgstr "%s benötigt einen Parameter"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
-#, perl-format
-msgid "Usage: %s [<option>...]"
-msgstr "Aufruf: %s [<Option> …]"
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "Usage: %s [<option>...] [<control-file>]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
+msgstr "Aufruf: %s [<Option> …] [<Steuerdatei>]"
#: scripts/dpkg-buildpackage.pl
msgid ""
@@ -569,6 +568,34 @@ msgid "sign-command '%s' not found"
msgstr "Signierbefehl »%s« nicht gefunden"
#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "cannot change directory %s mode"
+msgid "cannot change directory to %s"
+msgstr "Verzeichnismodus von %s kann nicht geändert werden"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "building source package would overwrite input source %s"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "leave original source packed in current directory"
+msgid "source package %s is expected in the current directory"
+msgstr "ursprüngliche Quelle im aktuellen Verzeichnis gepackt lassen"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "source directory %s exists already, aborting"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "extracting unsigned source package (%s)"
+msgid "extracting source package %s"
+msgstr "unsigniertes Quellpaket wird extrahiert (%s)"
+
+#: scripts/dpkg-buildpackage.pl
msgid "source package"
msgstr "Quellpaket"
@@ -589,10 +616,6 @@ msgid "host architecture"
msgstr "Host-Architektur"
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
-msgstr "debian/rules ist nicht ausführbar: wird korrigiert"
-
-#: scripts/dpkg-buildpackage.pl
msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr "Bauabhängigkeiten/-konflikte nicht erfüllt; Abbruch"
@@ -618,66 +641,15 @@ msgstr ""
"UNRELEASED-Bau nicht signiert; verwenden Sie --force-sign zum Übersteuern"
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
-msgstr "%s kann nicht bestimmt werden"
-
-#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
-msgstr "Verwendung eines root-werde-Befehls, obwohl bereits root"
-
-#: scripts/dpkg-buildpackage.pl
-msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-"Fakeroot nicht gefunden; installieren Sie entweder das Fakeroot-Paket,\n"
-"geben Sie einen Befehl mit der Option -r an oder führen Sie dies als root aus"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr "root-werde-Befehl »%s« nicht gefunden"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr "nicht erlaubtes Ziel im %s-Feld-Schlüsselwort »%s«"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr "%s-Feld-Schlüsselwort »%s« ist im Dpkg-Namensraum unbekannt"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
-msgstr ""
-"%s-Feld-Schlüsselwort »%s« ist großgeschrieben; verwenden Sie stattdessen "
-"»%s«"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
-msgstr ""
-"%s-Feld-Schlüsselwort »%s« ist ungültig; verwenden Sie stattdessen »%s«"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown"
-msgstr "%s-Feldschlüsselwort »%s« ist unbekannt"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "field %s contains duplicate keyword \"%s\""
-msgstr "Feld %s enthält doppeltes Schlüsselwort »%s«"
+#, fuzzy, perl-format
+#| msgid "created directory '%s'"
+msgid "removing extracted source directory %s"
+msgstr "Verzeichnis %s erstellt"
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
-msgstr ""
-"Feld %s enthält sowohl globale als auch implementierungsspezifische "
-"Schlüsselwörter"
+msgid "unable to determine %s"
+msgstr "%s kann nicht bestimmt werden"
#: scripts/dpkg-buildpackage.pl
#, perl-format
@@ -702,21 +674,6 @@ msgstr ""
"von langen OpenPGP-Schlüsselkennungen wird klar abgeraten; bitte verwenden "
"Sie stattdessen Fingerabdrücke in %s oder %s"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr "%s kann nicht geöffnet werden"
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr "%s kann nicht geschlossen werden"
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, perl-format
msgid "cannot move %s to %s"
@@ -755,15 +712,6 @@ msgstr "Binärpakete(e) und Diff hochzuladen (Originalquellen NICHT enthalten)"
msgid "full upload (original source is included)"
msgstr "Alles hochzuladen (Originalquellen enthalten)"
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-"%s muss aktualisiert werden, um die Ziele »build-arch« und »build-indep« zu "
-"unterstützen (zumindest »%s« scheint zu fehlen)."
-
#: scripts/dpkg-buildtree.pl
msgid ""
"Commands:\n"
@@ -846,6 +794,13 @@ msgstr "Nicht erfüllte Bauabhängigkeiten: %s"
msgid "Build conflicts: %s"
msgstr "Baukonflikte: %s"
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr "%s kann nicht geöffnet werden"
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -887,6 +842,21 @@ msgstr "%s kann nicht geschrieben werden"
msgid "install new files list file"
msgstr "neue Dateilistendatei installieren"
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr "%s kann nicht geschlossen werden"
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr "Aufruf: %s [<Option> …]"
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -1013,7 +983,8 @@ msgstr "fehlende Sektion für Quelldateien"
msgid "missing Priority for source files"
msgstr "fehlende Priorität für Quelldateien"
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr "%s ist leer"
@@ -1138,11 +1109,12 @@ msgstr ""
" --version die Version anzeigen\n"
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr "Ungültiger Paketname »%s«: %s"
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr "Paket %s nicht in Steuer-Info"
@@ -1901,6 +1873,8 @@ msgstr ""
#: scripts/dpkg-shlibdeps.pl
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -1924,6 +1898,8 @@ msgid ""
" --version show the version."
msgstr ""
"Optionen:\n"
+" --package=<Paket> Substvars für <Paket> erstellen (standardmäßig\n"
+" nicht gesetzt).\n"
" -l<Bibl-Verz> Verzeichnis zur privaten Suchliste für gemeinsam\n"
" benutzte Bibliotheken hinzufügen\n"
" -p<Varnamepräfix> <Varnamepräfix>:* setzen statt shlibs:*\n"
@@ -2353,6 +2329,126 @@ msgstr ""
msgid "'%s' is not a legal architecture in list '%s'"
msgstr "»%s« ist keine gültige Architektur in der Liste »%s«"
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot parse %s field"
+msgid "cannot get archive %s size"
+msgstr "das Feld %s kann nicht ausgewertet werden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot open or create archive %s"
+msgstr "Datei %s kann nicht erstellt werden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot write signature file %s"
+msgid "cannot write magic into archive %s"
+msgstr "Signaturdatei %s kann nicht geschrieben werden"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot read %s at offset %d from archive %s"
+msgstr "Zeitstempel für %s kann nicht gelesen werden"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot seek into beginning of archive %s"
+msgstr "auf die Datei %s kann nicht mit seek zugegriffen werden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot read file %s"
+msgstr "Datei %s kann nicht erstellt werden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot write file %s"
+msgstr "Datei %s kann nicht erstellt werden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create pipe for %s"
+msgid "cannot create file %s to extract from archive %s"
+msgstr "Pipe für %s kann nicht angelegt werden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read files list file"
+msgid "cannot write file %s to the filesystem"
+msgstr "Dateilistendatei kann nicht gelesen werden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot remove destination file %s"
+msgid "cannot write file header into archive %s"
+msgstr "Zieldatei %s kann nicht entfernt werden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open file %s for binary detection"
+msgid "cannot open file %s to append to archive %s"
+msgstr "kann Datei %s nicht zur Binärerkennung öffnen"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot get file %s size"
+msgstr "Datei %s kann nicht erstellt werden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot write signature file %s"
+msgid "cannot write file %s padding to archive %s"
+msgstr "Signaturdatei %s kann nicht geschrieben werden"
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr "Dpkg-Bau-API-Stufe benötigt eine genaue Version"
@@ -2372,6 +2468,77 @@ msgstr "Ungültige Dpkg-Bau-API-Stufe »%s«"
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr "Dpkg-Bau-API-Stufe »%s« größer als Maximum »%s«"
+#: scripts/Dpkg/BuildDriver.pm
+#, fuzzy, perl-format
+#| msgid "changelog format %s is unknown: %s"
+msgid "build driver %s is unknown: %s"
+msgstr "unbekanntes Changelog-Format %s: %s"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr "Verwendung eines root-werde-Befehls, obwohl bereits root"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+"Fakeroot nicht gefunden; installieren Sie entweder das Fakeroot-Paket,\n"
+"geben Sie einen Befehl mit der Option -r an oder führen Sie dies als root aus"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr "root-werde-Befehl »%s« nicht gefunden"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "disallowed target in %s field keyword \"%s\""
+msgid "disallowed target in %s field keyword %s"
+msgstr "nicht erlaubtes Ziel im %s-Feld-Schlüsselwort »%s«"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr "%s-Feld-Schlüsselwort »%s« ist im Dpkg-Namensraum unbekannt"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr ""
+"%s-Feld-Schlüsselwort »%s« ist großgeschrieben; verwenden Sie stattdessen "
+"»%s«"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr ""
+"%s-Feld-Schlüsselwort »%s« ist ungültig; verwenden Sie stattdessen »%s«"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown"
+msgstr "%s-Feldschlüsselwort »%s« ist unbekannt"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "field %s contains duplicate keyword \"%s\""
+msgid "field %s contains duplicate keyword %s"
+msgstr "Feld %s enthält doppeltes Schlüsselwort »%s«"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr ""
+"Feld %s enthält sowohl globale als auch implementierungsspezifische "
+"Schlüsselwörter"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "debian/rules is not executable; fixing that"
+msgid "%s is not executable; fixing that"
+msgstr "debian/rules ist nicht ausführbar: wird korrigiert"
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -2986,10 +3153,35 @@ msgid "unsupported subcommand"
msgstr "nicht unterstützter Unterbefehl"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr "unbekannter besonderer Bezeichner in indirektem Parameter"
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+"besonderer Bezeichner in indirektem Parameter in einer bestehenden Datei"
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr "Schlüssel kann nicht zum Signieren verwandt werden"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr "gegenseitig ausschließende Optionen"
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+"Hardware-Geräte für Hardware-basierende geheime Schlüssel können nicht "
+"identifiziert werden"
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+"Aktion auf Hardware-basierendem geheimen Schlüssel kann nicht durchgeführt "
+"werden"
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr "fehlende OpenPGP-Implementierung"
@@ -3166,6 +3358,37 @@ msgstr "Verzeichnis %s kann nicht geöffnet werden"
msgid "unable to rename %s to %s"
msgstr "%s kann nicht in %s umbenannt werden"
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr "%s wird zu %s hinzugefügt"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr "unerwünschte Binärdatei: %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+"erkannte %d unerwünschte Binärdatei (fügen Sie sie zu debian/source/include-"
+"binaries hinzu, um ihre Aufnahme zu erlauben)."
+msgstr[1] ""
+"erkannte %d unerwünschte Binärdateien (fügen Sie sie zu debian/source/"
+"include-binaries hinzu, um ihre Aufnahme zu erlauben)."
+
+#: scripts/Dpkg/Source/Format.pm
+#, fuzzy, perl-format
+#| msgid "source package format '%s' is not supported: %s"
+msgid "source package format '%s' is invalid"
+msgstr "Quellpaketformat »%s« wird nicht unterstützt: %s"
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -3196,31 +3419,6 @@ msgstr "Zeitstempel für %s kann nicht gelesen werden"
msgid "cannot open file %s for binary detection"
msgstr "kann Datei %s nicht zur Binärerkennung öffnen"
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr "%s wird zu %s hinzugefügt"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr "unerwünschte Binärdatei: %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-"erkannte %d unerwünschte Binärdatei (fügen Sie sie zu debian/source/include-"
-"binaries hinzu, um ihre Aufnahme zu erlauben)."
-msgstr[1] ""
-"erkannte %d unerwünschte Binärdateien (fügen Sie sie zu debian/source/"
-"include-binaries hinzu, um ihre Aufnahme zu erlauben)."
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -4250,6 +4448,12 @@ msgid "substitution variable ${%s} used, but is not defined"
msgstr "Substitutionsvariable ${%s} verwandt, aber nicht definiert"
#: scripts/Dpkg/Substvars.pm
+#, fuzzy, perl-format
+#| msgid "deprecated substitution variable ${%s}"
+msgid "required substitution variable ${%s} not used"
+msgstr "veraltete Substitutionsvariable ${%s}"
+
+#: scripts/Dpkg/Substvars.pm
#, perl-format
msgid "substitution variable ${%s} unused, but is defined"
msgstr "Substitutionsvariable ${%s} unbenutzt, aber definiert"
@@ -4334,6 +4538,14 @@ msgid "epoch part of the version number is not a number: '%s'"
msgstr "Epoch-Teil der Versionsnummer ist keine Zahl: »%s«"
#, perl-format
+#~ msgid ""
+#~ "%s must be updated to support the 'build-arch' and 'build-indep' targets "
+#~ "(at least '%s' seems to be missing)"
+#~ msgstr ""
+#~ "%s muss aktualisiert werden, um die Ziele »build-arch« und »build-indep« "
+#~ "zu unterstützen (zumindest »%s« scheint zu fehlen)."
+
+#, perl-format
#~ msgid "Usage: %s [<option>...]\n"
#~ msgstr "Aufruf: %s [<Option>…]\n"
@@ -4369,10 +4581,6 @@ msgstr "Epoch-Teil der Versionsnummer ist keine Zahl: »%s«"
#~ msgid "cannot execute %s program"
#~ msgstr "Programm %s kann nicht ausgeführt werden"
-#, perl-format
-#~ msgid "cannot write signature file %s"
-#~ msgstr "Signaturdatei %s kann nicht geschrieben werden"
-
#~ msgid "cannot OpenPGP ASCII armor signature file due to missing gpg"
#~ msgstr ""
#~ "OpenPGP-ASCII-Armor-Signaturdatei kann wegen fehlendem GPG nicht geöffnet "
@@ -4432,9 +4640,6 @@ msgstr "Epoch-Teil der Versionsnummer ist keine Zahl: »%s«"
#~ msgid "unknown substitution variable ${%s}"
#~ msgstr "unbekannte Substitutionsvariable ${%s}"
-#~ msgid "cannot create pipe for %s"
-#~ msgstr "Pipe für %s kann nicht angelegt werden"
-
#~ msgid "tail of %s"
#~ msgstr "Ende von %s"
@@ -4457,9 +4662,6 @@ msgstr "Epoch-Teil der Versionsnummer ist keine Zahl: »%s«"
#~ msgid "cannot open new output control file '%s'"
#~ msgstr "neue Ausgabe-Steuerdatei »%s« kann nicht geöffnet werden"
-#~ msgid "deprecated substitution variable ${%s}"
-#~ msgstr "veraltete Substitutionsvariable ${%s}"
-
#~ msgid "Usage: %s [<option>...] [<changelog-file>]"
#~ msgstr "Aufruf: %s [<Option> …] [<Changelog-Datei>]"
@@ -4701,9 +4903,6 @@ msgstr "Epoch-Teil der Versionsnummer ist keine Zahl: »%s«"
#~ msgid "close new files list file"
#~ msgstr "neue Dateilistendatei schließen"
-#~ msgid "cannot read files list file"
-#~ msgstr "Dateilistendatei kann nicht gelesen werden"
-
#~ msgid "duplicate files list entry for package %s (line %d)"
#~ msgstr "doppelter Dateilisteneintrag für Paket %s (Zeile %d)"
diff --git a/scripts/po/dpkg-dev.pot b/scripts/po/dpkg-dev.pot
index e318e2e..5b7f1d1 100644
--- a/scripts/po/dpkg-dev.pot
+++ b/scripts/po/dpkg-dev.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: dpkg 1.22.6\n"
+"Project-Id-Version: dpkg 1.22.7\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -198,11 +198,9 @@ msgstr ""
msgid "%s needs a parameter"
msgstr ""
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
+#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "Usage: %s [<option>...]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
msgstr ""
#: scripts/dpkg-buildpackage.pl
@@ -381,104 +379,80 @@ msgid "sign-command '%s' not found"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "source package"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-msgid "source version"
+#, perl-format
+msgid "cannot change directory to %s"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "source distribution"
+#, perl-format
+msgid "building source package would overwrite input source %s"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "source changed by"
+#, perl-format
+msgid "source package %s is expected in the current directory"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "host architecture"
+#, perl-format
+msgid "source directory %s exists already, aborting"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
+#, perl-format
+msgid "extracting source package %s"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "build dependencies/conflicts unsatisfied; aborting"
+msgid "source package"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "(Use -d flag to override.)"
+msgid "source version"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid ""
-"building a source package without cleaning up as you asked; it might contain "
-"undesired files"
+msgid "source distribution"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "Press <enter> to start the signing process.\n"
+msgid "source changed by"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "not signing UNRELEASED build; use --force-sign to override"
+msgid "host architecture"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
+msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
+msgid "(Use -d flag to override.)"
msgstr ""
#: scripts/dpkg-buildpackage.pl
msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+"building a source package without cleaning up as you asked; it might contain "
+"undesired files"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgid "Press <enter> to start the signing process.\n"
msgstr ""
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown"
+msgid "not signing UNRELEASED build; use --force-sign to override"
msgstr ""
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "field %s contains duplicate keyword \"%s\""
+msgid "removing extracted source directory %s"
msgstr ""
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
+msgid "unable to determine %s"
msgstr ""
#: scripts/dpkg-buildpackage.pl
@@ -500,21 +474,6 @@ msgid ""
"in %s or %s instead"
msgstr ""
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr ""
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, perl-format
msgid "cannot move %s to %s"
@@ -553,13 +512,6 @@ msgstr ""
msgid "full upload (original source is included)"
msgstr ""
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-
#: scripts/dpkg-buildtree.pl
msgid ""
"Commands:\n"
@@ -621,6 +573,13 @@ msgstr ""
msgid "Build conflicts: %s"
msgstr ""
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr ""
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -655,6 +614,21 @@ msgstr ""
msgid "install new files list file"
msgstr ""
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr ""
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr ""
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -728,7 +702,8 @@ msgstr ""
msgid "missing Priority for source files"
msgstr ""
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr ""
@@ -829,11 +804,12 @@ msgid ""
msgstr ""
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr ""
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr ""
@@ -1437,6 +1413,8 @@ msgstr ""
#: scripts/dpkg-shlibdeps.pl
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -1773,6 +1751,113 @@ msgstr ""
msgid "'%s' is not a legal architecture in list '%s'"
msgstr ""
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot get archive %s size"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot open or create archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot write magic into archive %s"
+msgstr ""
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot read %s at offset %d from archive %s"
+msgstr ""
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into beginning of archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot read file %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot write file %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot create file %s to extract from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot write file %s to the filesystem"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot write file header into archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot open file %s to append to archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot get file %s size"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot write file %s padding to archive %s"
+msgstr ""
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr ""
@@ -1792,6 +1877,66 @@ msgstr ""
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr ""
+#: scripts/Dpkg/BuildDriver.pm
+#, perl-format
+msgid "build driver %s is unknown: %s"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "disallowed target in %s field keyword %s"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "field %s contains duplicate keyword %s"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s is not executable; fixing that"
+msgstr ""
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -2396,10 +2541,30 @@ msgid "unsupported subcommand"
msgstr ""
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr ""
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr ""
@@ -2567,6 +2732,32 @@ msgstr ""
msgid "unable to rename %s to %s"
msgstr ""
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr ""
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr ""
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+msgstr[1] ""
+
+#: scripts/Dpkg/Source/Format.pm
+#, perl-format
+msgid "source package format '%s' is invalid"
+msgstr ""
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -2597,27 +2788,6 @@ msgstr ""
msgid "cannot open file %s for binary detection"
msgstr ""
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr ""
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr ""
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-msgstr[1] ""
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -3588,6 +3758,11 @@ msgstr ""
#: scripts/Dpkg/Substvars.pm
#, perl-format
+msgid "required substitution variable ${%s} not used"
+msgstr ""
+
+#: scripts/Dpkg/Substvars.pm
+#, perl-format
msgid "substitution variable ${%s} unused, but is defined"
msgstr ""
diff --git a/scripts/po/es.gmo b/scripts/po/es.gmo
index 42b652e..8794319 100644
--- a/scripts/po/es.gmo
+++ b/scripts/po/es.gmo
Binary files differ
diff --git a/scripts/po/es.po b/scripts/po/es.po
index 5147b90..a6695b4 100644
--- a/scripts/po/es.po
+++ b/scripts/po/es.po
@@ -31,7 +31,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dpkg-dev 1.16.8\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
"PO-Revision-Date: 2014-12-02 20:24+0100\n"
"Last-Translator: Omar Campagne <ocampagne@gmail.com>\n"
"Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -350,12 +350,11 @@ msgstr "se han definido dos órdenes: «--%s» y «--%s»"
msgid "%s needs a parameter"
msgstr "%s requiere un parámetro"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
-#, perl-format
-msgid "Usage: %s [<option>...]"
-msgstr "Uso: %s [<opción>...]"
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "Usage: %s [<option>...] [<control-file>]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
+msgstr "Uso: %s [<opción>...] [<fichero-control>]"
#: scripts/dpkg-buildpackage.pl
#, fuzzy
@@ -687,6 +686,34 @@ msgid "sign-command '%s' not found"
msgstr "no se ha encontrado la orden «%s» para firmar"
#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "cannot create directory %s"
+msgid "cannot change directory to %s"
+msgstr "no se puede crear el directorio «%s»"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "building source package would overwrite input source %s"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "orig argument %s is not a plain file or directory"
+msgid "source package %s is expected in the current directory"
+msgstr "el argumento «orig» %s no es un fichero simple o directorio"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "source directory %s exists already, aborting"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "extracting unsigned source package (%s)"
+msgid "extracting source package %s"
+msgstr "extrayendo el paquete fuente sin firmar (%s)"
+
+#: scripts/dpkg-buildpackage.pl
msgid "source package"
msgstr "paquete fuente"
@@ -707,10 +734,6 @@ msgid "host architecture"
msgstr "arquitectura del sistema"
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
-msgstr "«debian/rules» no es un fichero ejecutable, reparando"
-
-#: scripts/dpkg-buildpackage.pl
msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr ""
"Las dependencias y conflictos de construcción no están satisfechas, "
@@ -741,65 +764,15 @@ msgstr ""
"para hacerlo"
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
-msgstr "no se pudo determinar «%s»"
-
-#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
-msgstr ""
-"está usando una orden para convertirse en administrador («gain-root-"
-"command»), a pesar de que ya es el administrador"
-
-#: scripts/dpkg-buildpackage.pl
-msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-"no se ha encontrado fakeroot; puede instalar el paquete fakeroot,\n"
-"definir una orden con la opción «-r», o ejecutar esto como administrador"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr "no se ha encontrado la orden «%s» para convertirse en administrador"
-
-#: scripts/dpkg-buildpackage.pl
#, fuzzy, perl-format
-#| msgid "unknown file type"
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr "el tipo de fichero es desconocido"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, fuzzy, perl-format
-#| msgid "unknown file type"
-msgid "%s field keyword \"%s\" is unknown"
-msgstr "el tipo de fichero es desconocido"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "field %s contains duplicate keyword \"%s\""
-msgstr ""
+#| msgid "created directory '%s'"
+msgid "removing extracted source directory %s"
+msgstr "se ha creado el directorio «%s»"
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
-msgstr ""
+msgid "unable to determine %s"
+msgstr "no se pudo determinar «%s»"
#: scripts/dpkg-buildpackage.pl
#, perl-format
@@ -820,21 +793,6 @@ msgid ""
"in %s or %s instead"
msgstr ""
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr "no se puede abrir «%s»"
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr "no se puede cerrar «%s»"
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, fuzzy, perl-format
#| msgid "cannot remove %s"
@@ -878,15 +836,6 @@ msgstr "subida de binarios y diferencias (NO se incluye la fuente original)"
msgid "full upload (original source is included)"
msgstr "subida completa (se incluye la fuente original)"
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-"se debe actualizar %s para la compatibilidad con las tareas «build-arch» y "
-"«build-indep» (en apariencia, falta «%s»)"
-
#: scripts/dpkg-buildtree.pl
#, fuzzy
#| msgid ""
@@ -1001,6 +950,13 @@ msgstr "%s: Dependencias de construcción no satisfechas: "
msgid "Build conflicts: %s"
msgstr "%s: Conflictos de construcción: "
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr "no se puede abrir «%s»"
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -1044,6 +1000,21 @@ msgstr "no se pudo escribir «%s»"
msgid "install new files list file"
msgstr "instalar el nuevo fichero «files» de la lista de ficheros"
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr "no se puede cerrar «%s»"
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr "Uso: %s [<opción>...]"
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -1187,7 +1158,8 @@ msgstr "falta el campo «Section» para los ficheros de fuentes"
msgid "missing Priority for source files"
msgstr "falta el campo «Priority» para los ficheros de fuentes"
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr "%s está vacío"
@@ -1352,11 +1324,12 @@ msgstr ""
" --version Muestra la versión.\n"
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr "nombre de paquete ilegal «%s»: %s"
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr "el paquete %s no está en la información de control"
@@ -2286,6 +2259,8 @@ msgstr ""
#| " --version show the version."
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -2774,6 +2749,126 @@ msgstr ""
msgid "'%s' is not a legal architecture in list '%s'"
msgstr "«%s» no es una cadena de arquitectura legal"
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open %s"
+msgid "cannot get archive %s size"
+msgstr "no se puede abrir «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot open or create archive %s"
+msgstr "no se puede obtener el estado (stat) del fichero «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write magic into archive %s"
+msgstr "no se puede obtener el estado (stat) del fichero «%s»"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot read %s at offset %d from archive %s"
+msgstr "no se puede leer la marca de tiempo desde «%s»"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot seek into beginning of archive %s"
+msgstr "no se puede obtener el estado (stat) del fichero «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot read file %s"
+msgstr "no se puede obtener el estado (stat) del fichero «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file %s"
+msgstr "no se puede obtener el estado (stat) del fichero «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create directory %s"
+msgid "cannot create file %s to extract from archive %s"
+msgstr "no se puede crear el directorio «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read files list file"
+msgid "cannot write file %s to the filesystem"
+msgstr "no se puede leer el fichero con la lista de ficheros"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file header into archive %s"
+msgstr "no se puede obtener el estado (stat) del fichero «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open file %s"
+msgid "cannot open file %s to append to archive %s"
+msgstr "no se ha podido abrir el fichero «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot get file %s size"
+msgstr "no se puede obtener el estado (stat) del fichero «%s»"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file %s padding to archive %s"
+msgstr "no se puede obtener el estado (stat) del fichero «%s»"
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr ""
@@ -2793,6 +2888,74 @@ msgstr ""
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr ""
+#: scripts/Dpkg/BuildDriver.pm
+#, fuzzy, perl-format
+#| msgid "changelog format %s is unknown"
+msgid "build driver %s is unknown: %s"
+msgstr "el formato %s del registro de cambios es desconocido"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr ""
+"está usando una orden para convertirse en administrador («gain-root-"
+"command»), a pesar de que ya es el administrador"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+"no se ha encontrado fakeroot; puede instalar el paquete fakeroot,\n"
+"definir una orden con la opción «-r», o ejecutar esto como administrador"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr "no se ha encontrado la orden «%s» para convertirse en administrador"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "unknown file type"
+msgid "disallowed target in %s field keyword %s"
+msgstr "el tipo de fichero es desconocido"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "unknown file type"
+msgid "%s field keyword \"%s\" is unknown"
+msgstr "el tipo de fichero es desconocido"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "field %s contains duplicate keyword %s"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "debian/rules is not executable; fixing that"
+msgid "%s is not executable; fixing that"
+msgstr "«debian/rules» no es un fichero ejecutable, reparando"
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -3490,10 +3653,30 @@ msgid "unsupported subcommand"
msgstr "suma de control no soportada `%s'"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr ""
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr ""
@@ -3680,6 +3863,37 @@ msgstr "no se puede abrir el directorio «%s»"
msgid "unable to rename %s to %s"
msgstr "No se pudo renombrar «%s» a «%s»"
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr "añadiendo «%s» a «%s»"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr "fichero binario no deseado: %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+"se ha detectado %d fichero binario (añada este en «debian/source/include-"
+"binaries» para permitir su inclusión)."
+msgstr[1] ""
+"se han detectado %d ficheros binarios (añada estos en «debian/source/include-"
+"binaries» para permitir su inclusión)."
+
+#: scripts/Dpkg/Source/Format.pm
+#, fuzzy, perl-format
+#| msgid "source package format '%s' is not supported: %s"
+msgid "source package format '%s' is invalid"
+msgstr "no se permite el formato de paquete fuente «%s»: %s"
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -3714,31 +3928,6 @@ msgstr "no se puede leer la marca de tiempo desde «%s»"
msgid "cannot open file %s for binary detection"
msgstr "no se ha podido abrir el fichero «%s»"
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr "añadiendo «%s» a «%s»"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr "fichero binario no deseado: %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-"se ha detectado %d fichero binario (añada este en «debian/source/include-"
-"binaries» para permitir su inclusión)."
-msgstr[1] ""
-"se han detectado %d ficheros binarios (añada estos en «debian/source/include-"
-"binaries» para permitir su inclusión)."
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -4822,6 +5011,12 @@ msgstr "la variable de sustitución ${%s} no está en uso"
#: scripts/Dpkg/Substvars.pm
#, fuzzy, perl-format
+#| msgid "deprecated substitution variable ${%s}"
+msgid "required substitution variable ${%s} not used"
+msgstr "la variable de sustitución ${%s} es obsoleta"
+
+#: scripts/Dpkg/Substvars.pm
+#, fuzzy, perl-format
#| msgid "unused substitution variable ${%s}"
msgid "substitution variable ${%s} unused, but is defined"
msgstr "la variable de sustitución ${%s} no está en uso"
@@ -4908,6 +5103,14 @@ msgstr "el número de versión contiene el carácter ilegal «%s»"
msgid "epoch part of the version number is not a number: '%s'"
msgstr "la sección «epoch» del número de versión no es un número: «%s»"
+#, perl-format
+#~ msgid ""
+#~ "%s must be updated to support the 'build-arch' and 'build-indep' targets "
+#~ "(at least '%s' seems to be missing)"
+#~ msgstr ""
+#~ "se debe actualizar %s para la compatibilidad con las tareas «build-arch» "
+#~ "y «build-indep» (en apariencia, falta «%s»)"
+
#, fuzzy, perl-format
#~| msgid "Usage: %s [<option>...]"
#~ msgid "Usage: %s [<option>...]\n"
@@ -4932,11 +5135,6 @@ msgstr "la sección «epoch» del número de versión no es un número: «%s»"
#~ msgstr "no se pudo escribir «%s»"
#, fuzzy, perl-format
-#~| msgid "cannot stat file %s"
-#~ msgid "cannot write signature file %s"
-#~ msgstr "no se puede obtener el estado (stat) del fichero «%s»"
-
-#, fuzzy, perl-format
#~| msgid "could not verify signature on %s since gpg isn't installed"
#~ msgid "cannot import key in %s since GnuPG is not installed"
#~ msgstr "no se pudo verificar la firma de %s ya que gpg no está instalado"
@@ -4994,11 +5192,6 @@ msgstr "la sección «epoch» del número de versión no es un número: «%s»"
#~ msgid "invalid Format field '%s'"
#~ msgstr "se ha detectado un campo «Format» inválido «%s»"
-#, fuzzy
-#~| msgid "cannot create directory %s"
-#~ msgid "cannot create pipe for %s"
-#~ msgstr "no se puede crear el directorio «%s»"
-
#~ msgid "tail of %s"
#~ msgstr "final de «%s»"
@@ -5027,9 +5220,6 @@ msgstr "la sección «epoch» del número de versión no es un número: «%s»"
#~ msgid "cannot open new output control file '%s'"
#~ msgstr "no se ha podido abrir el fichero de control de salida nuevo «%s»"
-#~ msgid "deprecated substitution variable ${%s}"
-#~ msgstr "la variable de sustitución ${%s} es obsoleta"
-
#, fuzzy
#~| msgid "Usage: %s [<option>...] [<control-file>]"
#~ msgid "Usage: %s [<option>...] [<changelog-file>]"
@@ -5318,9 +5508,6 @@ msgstr "la sección «epoch» del número de versión no es un número: «%s»"
#~ msgid "close new files list file"
#~ msgstr "cerrar el nuevo fichero «files» de la lista de ficheros"
-#~ msgid "cannot read files list file"
-#~ msgstr "no se puede leer el fichero con la lista de ficheros"
-
#~ msgid "duplicate files list entry for package %s (line %d)"
#~ msgstr ""
#~ "entrada duplicada en la lista de ficheros para el paquete %s (línea %d)"
diff --git a/scripts/po/fr.gmo b/scripts/po/fr.gmo
index 8c52367..0a4f7c8 100644
--- a/scripts/po/fr.gmo
+++ b/scripts/po/fr.gmo
Binary files differ
diff --git a/scripts/po/fr.po b/scripts/po/fr.po
index 133d9cf..2b9bb54 100644
--- a/scripts/po/fr.po
+++ b/scripts/po/fr.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dpkg-dev 1.21.20\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
"PO-Revision-Date: 2023-02-10 02:16+0100\n"
"Last-Translator: Sébastien Poher <sebastien@volted.net>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -316,12 +316,11 @@ msgstr "deux commandes indiquées : --%s et --%s"
msgid "%s needs a parameter"
msgstr "paramètre nécessaire pour %s"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
-#, perl-format
-msgid "Usage: %s [<option>...]"
-msgstr "Utilisation : %s [<option>...]"
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "Usage: %s [<option>...] [<control-file>]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
+msgstr "Utilisation : %s [<option>...] <fichier-contrôle>"
#: scripts/dpkg-buildpackage.pl
#, fuzzy
@@ -715,6 +714,34 @@ msgid "sign-command '%s' not found"
msgstr "sign-command « %s » non trouvée"
#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "cannot change directory %s mode"
+msgid "cannot change directory to %s"
+msgstr "impossible de changer le mode du répertoire %s"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "building source package would overwrite input source %s"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "leave original source packed in current directory"
+msgid "source package %s is expected in the current directory"
+msgstr "laisser la source originale empaquetée dans le répertoire courant"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "source directory %s exists already, aborting"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "extracting unsigned source package (%s)"
+msgid "extracting source package %s"
+msgstr "extraction d'un paquet source non signé (%s)"
+
+#: scripts/dpkg-buildpackage.pl
msgid "source package"
msgstr "paquet source"
@@ -735,10 +762,6 @@ msgid "host architecture"
msgstr "architecture hôte"
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
-msgstr "debian/rules n'est pas exécutable ; corrigé"
-
-#: scripts/dpkg-buildpackage.pl
msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr "dépendances de construction et conflits non satisfaits ; abandon"
@@ -765,69 +788,15 @@ msgstr ""
"sign pour passer outre"
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
-msgstr "impossible de déterminer %s"
-
-#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
-msgstr ""
-"utilisation d'une commande pour obtenir les privilèges administrateur en "
-"tant qu'administrateur"
-
-#: scripts/dpkg-buildpackage.pl
-msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-"fakeroot non trouvé, veuillez soit installer le paquet fakeroot,\n"
-"soit indiquer une commande avec l'option -r ou exécuter cette\n"
-"commande en tant qu'administrateur"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr "commande pour obtenir les privilèges administrateur « %s » non trouvée"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr "cible non autorisée dans le champ %s mot-clé « %s »"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr ""
-"le mot-clé « %s » du champ %s est inconnu dans l'espace de noms de dpkg"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
-msgstr ""
-"le mot clé « %s » du champ %s est en majuscule ; utilisez « %s » à la place"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
-msgstr ""
-"le mot clé « %s » du champ %s n’est pas valable ; utilisez « %s » à la place"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown"
-msgstr "le mot clé « %s » du champ %s est inconnu"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "field %s contains duplicate keyword \"%s\""
-msgstr "le champ %s contient le mot clé dupliqué « %s »"
+#, fuzzy, perl-format
+#| msgid "created directory '%s'"
+msgid "removing extracted source directory %s"
+msgstr "répertoire « %s » créé"
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
-msgstr ""
-"le champ %s contient à la fois des mots-clés globaux et des mots-clés "
-"spécifiques à la mise en œuvre"
+msgid "unable to determine %s"
+msgstr "impossible de déterminer %s"
#: scripts/dpkg-buildpackage.pl
#, perl-format
@@ -852,21 +821,6 @@ msgstr ""
"il est fortement déconseillé d'utiliser des identifiants de clé OpenPGP "
"longs ; veuillez plutôt utiliser les empreintes de clé dans %s ou %s"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr "impossible d'ouvrir %s"
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr "impossible de fermer %s"
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, perl-format
msgid "cannot move %s to %s"
@@ -909,15 +863,6 @@ msgstr ""
msgid "full upload (original source is included)"
msgstr "envoi complet (inclusion du code source d'origine)"
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-"%s doit être mis à jour pour gérer les cibles « build-arch » et « build-"
-"indep » (au moins « %s » semble manquer)"
-
#: scripts/dpkg-buildtree.pl
#, fuzzy
#| msgid ""
@@ -1017,6 +962,13 @@ msgstr "Dépendances de construction non satisfaites : %s"
msgid "Build conflicts: %s"
msgstr "Conflits de construction : %s"
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr "impossible d'ouvrir %s"
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -1058,6 +1010,21 @@ msgstr "impossible d'écrire %s"
msgid "install new files list file"
msgstr "installation du nouveau fichier de liste des fichiers"
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr "impossible de fermer %s"
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr "Utilisation : %s [<option>...]"
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -1201,7 +1168,8 @@ msgstr "il manque la section des fichiers source"
msgid "missing Priority for source files"
msgstr "il manque la priorité des fichiers source"
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr "%s est vide"
@@ -1340,11 +1308,12 @@ msgstr ""
" --version afficher la version.\n"
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr "nom de paquet « %s » non autorisé : %s"
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr "le paquet %s n'est pas dans le fichier de contrôle"
@@ -2131,8 +2100,38 @@ msgstr ""
"dépendance>."
#: scripts/dpkg-shlibdeps.pl
+#, fuzzy
+#| msgid ""
+#| "Options:\n"
+#| " -l<library-dir> add directory to private shared library search "
+#| "list.\n"
+#| " -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
+#| " -O[<file>] write variable settings to stdout (or "
+#| "<file>).\n"
+#| " -L<local-shlibs-file> shlibs override file, not debian/shlibs."
+#| "local.\n"
+#| " -T<substvars-file> update variables here, not debian/substvars.\n"
+#| " -t<type> set package type (default is deb).\n"
+#| " -x<package> exclude package from the generated "
+#| "dependencies.\n"
+#| " -S<package-build-dir> search needed libraries in the given\n"
+#| " package build directory first.\n"
+#| " -I<package-build-dir> ignore needed libraries, shlibs and symbols "
+#| "files\n"
+#| " in the given build directory.\n"
+#| " -v enable verbose mode (can be used multiple "
+#| "times).\n"
+#| " --ignore-missing-info don't fail if dependency information can't be "
+#| "found.\n"
+#| " --warnings=<value> define set of active warnings (see manual "
+#| "page).\n"
+#| " --admindir=<directory> change the administrative directory.\n"
+#| " -?, --help show this help message.\n"
+#| " --version show the version."
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -2588,6 +2587,126 @@ msgstr ""
msgid "'%s' is not a legal architecture in list '%s'"
msgstr "« %s » n'est pas une architecture autorisée dans la liste « %s »"
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot parse %s field"
+msgid "cannot get archive %s size"
+msgstr "impossible d'analyser le champ %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot open or create archive %s"
+msgstr "impossible de créer le fichier %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write magic into archive %s"
+msgstr "stat impossible pour le fichier %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot read %s at offset %d from archive %s"
+msgstr "impossible de lire la date de %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot seek into beginning of archive %s"
+msgstr "impossible de chercher dans le fichier %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot read file %s"
+msgstr "impossible de créer le fichier %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot write file %s"
+msgstr "impossible de créer le fichier %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create pipe for %s"
+msgid "cannot create file %s to extract from archive %s"
+msgstr "impossible de créer le tube pour %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read files list file"
+msgid "cannot write file %s to the filesystem"
+msgstr "impossible de lire le fichier de liste des fichiers."
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot remove destination file %s"
+msgid "cannot write file header into archive %s"
+msgstr "impossible de supprimer le fichier de destination %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open file %s for binary detection"
+msgid "cannot open file %s to append to archive %s"
+msgstr "impossible d’ouvrir le fichier %s pour la détection du binaire"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot get file %s size"
+msgstr "impossible de créer le fichier %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file %s padding to archive %s"
+msgstr "stat impossible pour le fichier %s"
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr ""
@@ -2607,6 +2726,80 @@ msgstr ""
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr ""
+#: scripts/Dpkg/BuildDriver.pm
+#, fuzzy, perl-format
+#| msgid "changelog format %s is unknown: %s"
+msgid "build driver %s is unknown: %s"
+msgstr "le format du journal des modifications %s est inconnu : %s"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr ""
+"utilisation d'une commande pour obtenir les privilèges administrateur en "
+"tant qu'administrateur"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+"fakeroot non trouvé, veuillez soit installer le paquet fakeroot,\n"
+"soit indiquer une commande avec l'option -r ou exécuter cette\n"
+"commande en tant qu'administrateur"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr "commande pour obtenir les privilèges administrateur « %s » non trouvée"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "disallowed target in %s field keyword \"%s\""
+msgid "disallowed target in %s field keyword %s"
+msgstr "cible non autorisée dans le champ %s mot-clé « %s »"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr ""
+"le mot-clé « %s » du champ %s est inconnu dans l'espace de noms de dpkg"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr ""
+"le mot clé « %s » du champ %s est en majuscule ; utilisez « %s » à la place"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr ""
+"le mot clé « %s » du champ %s n’est pas valable ; utilisez « %s » à la place"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown"
+msgstr "le mot clé « %s » du champ %s est inconnu"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "field %s contains duplicate keyword \"%s\""
+msgid "field %s contains duplicate keyword %s"
+msgstr "le champ %s contient le mot clé dupliqué « %s »"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr ""
+"le champ %s contient à la fois des mots-clés globaux et des mots-clés "
+"spécifiques à la mise en œuvre"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "debian/rules is not executable; fixing that"
+msgid "%s is not executable; fixing that"
+msgstr "debian/rules n'est pas exécutable ; corrigé"
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -3250,10 +3443,30 @@ msgid "unsupported subcommand"
msgstr "sous-commande non prise en charge"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr "la clé ne permet pas la signature"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr "implémentation OpenPGP manquante"
@@ -3431,6 +3644,38 @@ msgstr "impossible d'ouvrir le répertoire %s"
msgid "unable to rename %s to %s"
msgstr "impossible de renommer %s en %s"
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr "ajout de %s à %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr "fichier binaire non souhaité : %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+"%d fichier binaire non souhaité a été détecté (il est nécessaire de "
+"l'ajouter dans debian/source/include-binaries pour autoriser son inclusion)."
+msgstr[1] ""
+"%d fichiers binaires non souhaités ont été détectés (il est nécessaire de "
+"les ajouter dans debian/source/include-binaries pour autoriser leur "
+"inclusion)."
+
+#: scripts/Dpkg/Source/Format.pm
+#, fuzzy, perl-format
+#| msgid "source package format '%s' is not supported: %s"
+msgid "source package format '%s' is invalid"
+msgstr "le format de paquet source « %s » n'est pas géré : %s"
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -3461,32 +3706,6 @@ msgstr "impossible de lire la date de %s"
msgid "cannot open file %s for binary detection"
msgstr "impossible d’ouvrir le fichier %s pour la détection du binaire"
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr "ajout de %s à %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr "fichier binaire non souhaité : %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-"%d fichier binaire non souhaité a été détecté (il est nécessaire de "
-"l'ajouter dans debian/source/include-binaries pour autoriser son inclusion)."
-msgstr[1] ""
-"%d fichiers binaires non souhaités ont été détectés (il est nécessaire de "
-"les ajouter dans debian/source/include-binaries pour autoriser leur "
-"inclusion)."
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -4544,6 +4763,12 @@ msgid "substitution variable ${%s} used, but is not defined"
msgstr "la variable de substitution ${%s} est utilisée mais n'est pas définie"
#: scripts/Dpkg/Substvars.pm
+#, fuzzy, perl-format
+#| msgid "deprecated substitution variable ${%s}"
+msgid "required substitution variable ${%s} not used"
+msgstr "variable de substitution obsolète ${%s}"
+
+#: scripts/Dpkg/Substvars.pm
#, perl-format
msgid "substitution variable ${%s} unused, but is defined"
msgstr "la variable de substitution ${%s} est définie mais n’est pas utilisée"
@@ -4629,6 +4854,14 @@ msgid "epoch part of the version number is not a number: '%s'"
msgstr ""
"la partie d'ère (« epoch ») du numéro de version n'est pas un nombre : « %s »"
+#, perl-format
+#~ msgid ""
+#~ "%s must be updated to support the 'build-arch' and 'build-indep' targets "
+#~ "(at least '%s' seems to be missing)"
+#~ msgstr ""
+#~ "%s doit être mis à jour pour gérer les cibles « build-arch » et « build-"
+#~ "indep » (au moins « %s » semble manquer)"
+
#, fuzzy, perl-format
#~| msgid "Usage: %s [<option>...]"
#~ msgid "Usage: %s [<option>...]\n"
@@ -4653,11 +4886,6 @@ msgstr ""
#~ msgstr "impossible d'exécuter dpkg"
#, fuzzy, perl-format
-#~| msgid "cannot stat file %s"
-#~ msgid "cannot write signature file %s"
-#~ msgstr "stat impossible pour le fichier %s"
-
-#, fuzzy, perl-format
#~| msgid "could not verify signature on %s since gpg isn't installed"
#~ msgid "cannot import key in %s since GnuPG is not installed"
#~ msgstr ""
@@ -4719,9 +4947,6 @@ msgstr ""
#~ msgid "invalid Format field '%s'"
#~ msgstr "champ Format « %s » erroné"
-#~ msgid "cannot create pipe for %s"
-#~ msgstr "impossible de créer le tube pour %s"
-
#~ msgid "tail of %s"
#~ msgstr "fin de %s"
@@ -4748,9 +4973,6 @@ msgstr ""
#~ msgid "cannot open new output control file '%s'"
#~ msgstr "impossible d'ouvrir le nouveau fichier de contrôle en sortie %s"
-#~ msgid "deprecated substitution variable ${%s}"
-#~ msgstr "variable de substitution obsolète ${%s}"
-
#~ msgid "Usage: %s [<option>...] [<changelog-file>]"
#~ msgstr "Syntaxe : %s [<option>...] [<fichier de changements>]"
@@ -5005,9 +5227,6 @@ msgstr ""
#~ msgid "close new files list file"
#~ msgstr "fermeture du nouveau fichier de liste des fichiers"
-#~ msgid "cannot read files list file"
-#~ msgstr "impossible de lire le fichier de liste des fichiers."
-
#~ msgid "duplicate files list entry for package %s (line %d)"
#~ msgstr ""
#~ "entrée en double dans le fichier de liste des fichiers pour le paquet %s "
diff --git a/scripts/po/nl.gmo b/scripts/po/nl.gmo
index 3d7bf19..ba55f43 100644
--- a/scripts/po/nl.gmo
+++ b/scripts/po/nl.gmo
Binary files differ
diff --git a/scripts/po/nl.po b/scripts/po/nl.po
index a523f41..4d85676 100644
--- a/scripts/po/nl.po
+++ b/scripts/po/nl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dpkg-dev 1.21.19\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
"PO-Revision-Date: 2023-02-02 17:51+0100\n"
"Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
"Language-Team: \n"
@@ -301,12 +301,11 @@ msgstr "twee commando's opgegeven: --%s en --%s"
msgid "%s needs a parameter"
msgstr "%s heeft een parameter nodig"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
-#, perl-format
-msgid "Usage: %s [<option>...]"
-msgstr "Gebruik: %s [<optie>...]"
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "Usage: %s [<option>...] [<control-file>]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
+msgstr "Gebruik: %s [<optie>...] [<control-bestand>]"
#: scripts/dpkg-buildpackage.pl
#, fuzzy
@@ -689,6 +688,34 @@ msgid "sign-command '%s' not found"
msgstr "ondertekeningscommando '%s' niet gevonden"
#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "cannot change directory %s mode"
+msgid "cannot change directory to %s"
+msgstr "kan modus van map %s niet wijzigen"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "building source package would overwrite input source %s"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "leave original source packed in current directory"
+msgid "source package %s is expected in the current directory"
+msgstr "de originele broncode verpakt in de huidige map laten"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "source directory %s exists already, aborting"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "extracting unsigned source package (%s)"
+msgid "extracting source package %s"
+msgstr "uitpakken van niet-ondertekend broncodepakket (%s)"
+
+#: scripts/dpkg-buildpackage.pl
msgid "source package"
msgstr "broncodepakket"
@@ -709,10 +736,6 @@ msgid "host architecture"
msgstr "host-architectuur"
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
-msgstr "debian/rules is niet uitvoerbaar; dat wordt opgelost"
-
-#: scripts/dpkg-buildpackage.pl
msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr "onvoldane bouwvereisten/conflicten; er wordt gestopt"
@@ -739,63 +762,15 @@ msgstr ""
"overschrijven"
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
-msgstr "niet in staat om %s te bepalen"
-
-#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
-msgstr ""
-"gebruik van een commando om root te worden, terwijl dat al het geval is"
-
-#: scripts/dpkg-buildpackage.pl
-msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-"fakeroot niet gevonden, installeer het pakket fakeroot,\n"
-"of geef een commando op met de optie -r, of voer dit uit als root"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr "commando '%s' om root te worden niet gevonden"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr "niet-toegestaan doel in veld %s trefwoord \"%s\""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr "veld %s trefwoord \"%s\" is onbekend in dpkg-naamruimte"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
-msgstr ""
-"veld %s trefwoord \"%s\" is in hoofdletters; gebruik in plaats daarvan \"%s\""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
-msgstr "veld %s trefwoord \"%s\" is ongeldig; gebruik in plaats daarvan \"%s\""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown"
-msgstr "veld %s trefwoord \"%s\" is onbekend"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "field %s contains duplicate keyword \"%s\""
-msgstr "veld %s bevat dubbel trefwoord \"%s\""
+#, fuzzy, perl-format
+#| msgid "created directory '%s'"
+msgid "removing extracted source directory %s"
+msgstr "map '%s' werd aangemaakt"
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
-msgstr "veld %s bevat zowel algemene als implementatiespecifieke trefwoorden"
+msgid "unable to determine %s"
+msgstr "niet in staat om %s te bepalen"
#: scripts/dpkg-buildpackage.pl
#, perl-format
@@ -820,21 +795,6 @@ msgstr ""
"lange OpenPGP-sleutel-ID's worden sterk ontraden; gebruik in plaats daarvan "
"sleutelvingerafdrukken in %s of %s"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr "kan %s niet openen"
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr "kan %s niet sluiten"
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, perl-format
msgid "cannot move %s to %s"
@@ -875,15 +835,6 @@ msgstr "binaire upload met diff (originele broncode NIET inbegrepen)"
msgid "full upload (original source is included)"
msgstr "volledig upload (originele broncode inbegrepen)"
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-"%s moet worden bijgewerkt om de doelen 'build-arch' en 'build-indep' te "
-"ondersteunen (tenminste '%s' lijkt te ontbreken)"
-
#: scripts/dpkg-buildtree.pl
#, fuzzy
#| msgid ""
@@ -979,6 +930,13 @@ msgstr "Niet-voldane bouwvereisten: %s"
msgid "Build conflicts: %s"
msgstr "Bouwconflicten: %s"
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr "kan %s niet openen"
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -1020,6 +978,21 @@ msgstr "kan %s niet schrijven"
msgid "install new files list file"
msgstr "nieuw bestandenlijstbestand installeren"
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr "kan %s niet sluiten"
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr "Gebruik: %s [<optie>...]"
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -1142,7 +1115,8 @@ msgstr "voor broncodebestanden ontbreekt Section"
msgid "missing Priority for source files"
msgstr "voor broncodebestanden ontbreekt Priority"
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr "%s is leeg"
@@ -1269,11 +1243,12 @@ msgstr ""
" --version de versie tonen.\n"
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr "ongeldige pakketnaam '%s': %s"
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr "pakket %s niet in control-info"
@@ -2030,8 +2005,38 @@ msgstr ""
" stellen shlibs:<vereisten-veld> in."
#: scripts/dpkg-shlibdeps.pl
+#, fuzzy
+#| msgid ""
+#| "Options:\n"
+#| " -l<library-dir> add directory to private shared library search "
+#| "list.\n"
+#| " -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
+#| " -O[<file>] write variable settings to stdout (or "
+#| "<file>).\n"
+#| " -L<local-shlibs-file> shlibs override file, not debian/shlibs."
+#| "local.\n"
+#| " -T<substvars-file> update variables here, not debian/substvars.\n"
+#| " -t<type> set package type (default is deb).\n"
+#| " -x<package> exclude package from the generated "
+#| "dependencies.\n"
+#| " -S<package-build-dir> search needed libraries in the given\n"
+#| " package build directory first.\n"
+#| " -I<package-build-dir> ignore needed libraries, shlibs and symbols "
+#| "files\n"
+#| " in the given build directory.\n"
+#| " -v enable verbose mode (can be used multiple "
+#| "times).\n"
+#| " --ignore-missing-info don't fail if dependency information can't be "
+#| "found.\n"
+#| " --warnings=<value> define set of active warnings (see manual "
+#| "page).\n"
+#| " --admindir=<directory> change the administrative directory.\n"
+#| " -?, --help show this help message.\n"
+#| " --version show the version."
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -2475,6 +2480,126 @@ msgstr ""
msgid "'%s' is not a legal architecture in list '%s'"
msgstr "'%s' is geen geldige architectuur in lijst '%s'"
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot parse %s field"
+msgid "cannot get archive %s size"
+msgstr "kan veld %s niet ontleden"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot open or create archive %s"
+msgstr "kan bestand %s niet aanmaken"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot write magic into archive %s"
+msgstr "kan niet zoeken in bestand %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot read %s at offset %d from archive %s"
+msgstr "kan tijdstempel van %s niet lezen"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot seek into beginning of archive %s"
+msgstr "kan niet zoeken in bestand %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot read file %s"
+msgstr "kan bestand %s niet aanmaken"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot write file %s"
+msgstr "kan bestand %s niet aanmaken"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot create file %s to extract from archive %s"
+msgstr "kan tijdstempel van %s niet lezen"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot write file %s to the filesystem"
+msgstr "kan bestand %s niet aanmaken"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot remove destination file %s"
+msgid "cannot write file header into archive %s"
+msgstr "kan doelbestand %s niet verwijderen"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open file %s for binary detection"
+msgid "cannot open file %s to append to archive %s"
+msgstr "kan bestand %s niet openen voor binaire detectie"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot get file %s size"
+msgstr "kan bestand %s niet aanmaken"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot write file %s padding to archive %s"
+msgstr "kan niet zoeken in bestand %s"
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr ""
@@ -2494,6 +2619,74 @@ msgstr ""
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr ""
+#: scripts/Dpkg/BuildDriver.pm
+#, fuzzy, perl-format
+#| msgid "changelog format %s is unknown: %s"
+msgid "build driver %s is unknown: %s"
+msgstr "changelog-indeling %s is onbekend: %s"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr ""
+"gebruik van een commando om root te worden, terwijl dat al het geval is"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+"fakeroot niet gevonden, installeer het pakket fakeroot,\n"
+"of geef een commando op met de optie -r, of voer dit uit als root"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr "commando '%s' om root te worden niet gevonden"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "disallowed target in %s field keyword \"%s\""
+msgid "disallowed target in %s field keyword %s"
+msgstr "niet-toegestaan doel in veld %s trefwoord \"%s\""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr "veld %s trefwoord \"%s\" is onbekend in dpkg-naamruimte"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr ""
+"veld %s trefwoord \"%s\" is in hoofdletters; gebruik in plaats daarvan \"%s\""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr "veld %s trefwoord \"%s\" is ongeldig; gebruik in plaats daarvan \"%s\""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown"
+msgstr "veld %s trefwoord \"%s\" is onbekend"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "field %s contains duplicate keyword \"%s\""
+msgid "field %s contains duplicate keyword %s"
+msgstr "veld %s bevat dubbel trefwoord \"%s\""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr "veld %s bevat zowel algemene als implementatiespecifieke trefwoorden"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "debian/rules is not executable; fixing that"
+msgid "%s is not executable; fixing that"
+msgstr "debian/rules is niet uitvoerbaar; dat wordt opgelost"
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -3118,10 +3311,30 @@ msgid "unsupported subcommand"
msgstr "niet-ondersteund subcommando"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr "sleutel is niet geschikt voor handtekeningen"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr "ontbrekende OpenPGP-implementatie"
@@ -3296,6 +3509,37 @@ msgstr "kan map %s niet openen"
msgid "unable to rename %s to %s"
msgstr "kan %s niet naar %s hernoemen"
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr "%s toevoegen aan %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr "ongewenst binair bestand: %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+"%d ongewenst binair bestand gedetecteerd (voeg het toe in debian/source/"
+"include-binaries om opname ervan mogelijk te maken)."
+msgstr[1] ""
+"%d ongewenste binaire bestanden gedetecteerd (voeg ze toe in debian/source/"
+"include-binaries om opname ervan mogelijk te maken)."
+
+#: scripts/Dpkg/Source/Format.pm
+#, fuzzy, perl-format
+#| msgid "source package format '%s' is not supported: %s"
+msgid "source package format '%s' is invalid"
+msgstr "broncodepakketindeling '%s' wordt niet ondersteund: %s"
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -3326,31 +3570,6 @@ msgstr "kan tijdstempel van %s niet lezen"
msgid "cannot open file %s for binary detection"
msgstr "kan bestand %s niet openen voor binaire detectie"
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr "%s toevoegen aan %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr "ongewenst binair bestand: %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-"%d ongewenst binair bestand gedetecteerd (voeg het toe in debian/source/"
-"include-binaries om opname ervan mogelijk te maken)."
-msgstr[1] ""
-"%d ongewenste binaire bestanden gedetecteerd (voeg ze toe in debian/source/"
-"include-binaries om opname ervan mogelijk te maken)."
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -4382,6 +4601,12 @@ msgid "substitution variable ${%s} used, but is not defined"
msgstr "substitutievariabele ${%s} gebruikt, maar niet gedefinieerd"
#: scripts/Dpkg/Substvars.pm
+#, fuzzy, perl-format
+#| msgid "obsolete substitution variable ${%s}"
+msgid "required substitution variable ${%s} not used"
+msgstr "verouderde substitutievariabele ${%s}"
+
+#: scripts/Dpkg/Substvars.pm
#, perl-format
msgid "substitution variable ${%s} unused, but is defined"
msgstr "substitutievariabele ${%s} ongebruikt, maar is gedefinieerd"
@@ -4466,6 +4691,14 @@ msgstr "versienummer bevat ongeldig teken '%s'"
msgid "epoch part of the version number is not a number: '%s'"
msgstr "epoch-gedeelte van het versienummer is geen nummer: '%s'"
+#, perl-format
+#~ msgid ""
+#~ "%s must be updated to support the 'build-arch' and 'build-indep' targets "
+#~ "(at least '%s' seems to be missing)"
+#~ msgstr ""
+#~ "%s moet worden bijgewerkt om de doelen 'build-arch' en 'build-indep' te "
+#~ "ondersteunen (tenminste '%s' lijkt te ontbreken)"
+
#, fuzzy, perl-format
#~| msgid "Usage: %s [<option>...]"
#~ msgid "Usage: %s [<option>...]\n"
diff --git a/scripts/po/pl.gmo b/scripts/po/pl.gmo
index d03dc7d..4132179 100644
--- a/scripts/po/pl.gmo
+++ b/scripts/po/pl.gmo
Binary files differ
diff --git a/scripts/po/pl.po b/scripts/po/pl.po
index ab55496..595de07 100644
--- a/scripts/po/pl.po
+++ b/scripts/po/pl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dpkg-dev 1.15.4\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
"PO-Revision-Date: 2015-04-07 07:05+0200\n"
"Last-Translator: Łukasz Dulny <BartekChom@poczta.onet.pl>\n"
"Language-Team: Polish <debian-l10n-polish@lists.debian.org>\n"
@@ -318,12 +318,11 @@ msgstr "podano dwa polecenia: --%s i --%s"
msgid "%s needs a parameter"
msgstr "%s wymaga podania parametru"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
-#, perl-format
-msgid "Usage: %s [<option>...]"
-msgstr "Użycie: %s [<opcja>...]"
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "Usage: %s [<option>...] [<control-file>]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
+msgstr "Użycie: %s [<opcja>...] <plik-kontrolny>"
#: scripts/dpkg-buildpackage.pl
#, fuzzy
@@ -647,6 +646,34 @@ msgid "sign-command '%s' not found"
msgstr "nie znaleziono polecenia-podpisu \"%s\""
#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "cannot create directory %s"
+msgid "cannot change directory to %s"
+msgstr "nie można utworzyć katalogu %s"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "building source package would overwrite input source %s"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "orig argument %s is not a plain file or directory"
+msgid "source package %s is expected in the current directory"
+msgstr "argument oryg %s nie jest zwykłym plikiem ani katalogiem"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "source directory %s exists already, aborting"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "extracting unsigned source package (%s)"
+msgid "extracting source package %s"
+msgstr "wydobywanie niepodpisanych pakietów źródłowych (%s)"
+
+#: scripts/dpkg-buildpackage.pl
msgid "source package"
msgstr "pakiet źródłowy"
@@ -667,10 +694,6 @@ msgid "host architecture"
msgstr "architektura gościa"
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
-msgstr "debian/rules nie jest plikiem wykonywalnym - naprawianie tego"
-
-#: scripts/dpkg-buildpackage.pl
msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr "niespełnione zależności/konflikty czasu budowania - przerywanie"
@@ -697,64 +720,15 @@ msgid "not signing UNRELEASED build; use --force-sign to override"
msgstr "nie podpisywane wydanie UNRELEASED - użyj --force-sign, aby nadpisać"
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
-msgstr "nie można określić %s"
-
-#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
-msgstr "używanie polecenia-uzysk-praw-admin podczas bycia administratorem"
-
-#: scripts/dpkg-buildpackage.pl
-msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-"nie znaleziono fakeroot, proszę zainstalować pakiet fakeroot lub\n"
-"podać polecenie w opcji -r, lub uruchomić ten program jako root"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr "nie znaleziono polecenia-uzysk-praw-admin \"%s\""
-
-#: scripts/dpkg-buildpackage.pl
#, fuzzy, perl-format
-#| msgid "unknown file type"
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr "nieznany typ pliku"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, fuzzy, perl-format
-#| msgid "unknown file type"
-msgid "%s field keyword \"%s\" is unknown"
-msgstr "nieznany typ pliku"
-
-#: scripts/dpkg-buildpackage.pl
-#, fuzzy, perl-format
-#| msgid "Files field contains bad line `%s'"
-msgid "field %s contains duplicate keyword \"%s\""
-msgstr "Pole Files zawiera niepoprawną linię \"%s\""
+#| msgid "created directory '%s'"
+msgid "removing extracted source directory %s"
+msgstr "utworzono katalog \"%s\""
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
-msgstr ""
+msgid "unable to determine %s"
+msgstr "nie można określić %s"
#: scripts/dpkg-buildpackage.pl
#, perl-format
@@ -775,21 +749,6 @@ msgid ""
"in %s or %s instead"
msgstr ""
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr "nie można otworzyć %s"
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr "nie można zamknąć %s"
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, fuzzy, perl-format
#| msgid "cannot rename %s to %s"
@@ -830,15 +789,6 @@ msgstr "wydanie binarne i pliku różnic (oryginalne źródła NIE dołączone)"
msgid "full upload (original source is included)"
msgstr "pełne wydanie (oryginalne źródła dołączone)"
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-"%s musi zostać zaktualizowane w celu obsługi celów \"build-arch\" i 'build-"
-"indep' (brakuje co najmniej \"%s\")"
-
#: scripts/dpkg-buildtree.pl
#, fuzzy
#| msgid ""
@@ -949,6 +899,13 @@ msgstr "%s: Niespełnione zależności budowania pakietu:"
msgid "Build conflicts: %s"
msgstr "%s: Konfliktu budowania pakietu:"
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr "nie można otworzyć %s"
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -990,6 +947,21 @@ msgstr "nie można zapisać %s"
msgid "install new files list file"
msgstr "instalowanie nowego pliku z listą plików"
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr "nie można zamknąć %s"
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr "Użycie: %s [<opcja>...]"
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -1125,7 +1097,8 @@ msgstr "brak pola Section plików źródłowych"
msgid "missing Priority for source files"
msgstr "brak pola Priority plików źródłowych"
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr "%s jest puste"
@@ -1275,11 +1248,12 @@ msgstr ""
" --version wyświetla wersję.\n"
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr "nieprawidłowa nazwa pakietu \"%s\": %s"
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr "brak pakietu %s w pliku kontrolnym"
@@ -2184,6 +2158,8 @@ msgstr ""
#| " --version show the version."
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -2650,6 +2626,126 @@ msgstr "nieznany typ systemu gcc %s, użycie domyślnego (kompilacja natywna)"
msgid "'%s' is not a legal architecture in list '%s'"
msgstr "\"%s\" nie jest poprawną specyfikacją architektury"
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open %s"
+msgid "cannot get archive %s size"
+msgstr "nie można otworzyć %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot open or create archive %s"
+msgstr "nie można ustalić stanu pliku %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write magic into archive %s"
+msgstr "nie można ustalić stanu pliku %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot read %s at offset %d from archive %s"
+msgstr "nie można odczytać czasu modyfikacji z %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot seek into beginning of archive %s"
+msgstr "nie można ustalić stanu pliku %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot read file %s"
+msgstr "nie można ustalić stanu pliku %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file %s"
+msgstr "nie można ustalić stanu pliku %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create pipe for %s"
+msgid "cannot create file %s to extract from archive %s"
+msgstr "nie można utworzyć potoku dla %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read files list file"
+msgid "cannot write file %s to the filesystem"
+msgstr "nie można odczytać pliku z listą plików"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file header into archive %s"
+msgstr "nie można ustalić stanu pliku %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open file %s"
+msgid "cannot open file %s to append to archive %s"
+msgstr "nie można otworzyć pliku %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot get file %s size"
+msgstr "nie można ustalić stanu pliku %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file %s padding to archive %s"
+msgstr "nie można ustalić stanu pliku %s"
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr ""
@@ -2669,6 +2765,73 @@ msgstr ""
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr ""
+#: scripts/Dpkg/BuildDriver.pm
+#, fuzzy, perl-format
+#| msgid "changelog format %s is unknown"
+msgid "build driver %s is unknown: %s"
+msgstr "nieznany format %s pliku zmian"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr "używanie polecenia-uzysk-praw-admin podczas bycia administratorem"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+"nie znaleziono fakeroot, proszę zainstalować pakiet fakeroot lub\n"
+"podać polecenie w opcji -r, lub uruchomić ten program jako root"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr "nie znaleziono polecenia-uzysk-praw-admin \"%s\""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "unknown file type"
+msgid "disallowed target in %s field keyword %s"
+msgstr "nieznany typ pliku"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "unknown file type"
+msgid "%s field keyword \"%s\" is unknown"
+msgstr "nieznany typ pliku"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "Files field contains bad line `%s'"
+msgid "field %s contains duplicate keyword %s"
+msgstr "Pole Files zawiera niepoprawną linię \"%s\""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "debian/rules is not executable; fixing that"
+msgid "%s is not executable; fixing that"
+msgstr "debian/rules nie jest plikiem wykonywalnym - naprawianie tego"
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -3337,10 +3500,30 @@ msgid "unsupported subcommand"
msgstr "niewspierana suma kontrolna \"%s\""
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr ""
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr ""
@@ -3517,6 +3700,40 @@ msgstr "nie można otworzyć katalogu %s"
msgid "unable to rename %s to %s"
msgstr "nie można zmienić nazwy %s na %s"
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr "dodawanie %s do %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr "niechciany plik binarny: %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+"wykryto %d niechciany plik binarny (należy go wymienić w debian/source/"
+"include-binaries, aby umożliwić jego włączenie)."
+msgstr[1] ""
+"wykryto %d niechciane pliki binarne (należy je wymienić w debian/source/"
+"include-binaries, aby umożliwić ich włączenie)."
+msgstr[2] ""
+"wykryto %d niechcianych plików binarnych (należy je wymienić w debian/source/"
+"include-binaries, aby umożliwić ich włączenie)."
+
+#: scripts/Dpkg/Source/Format.pm
+#, fuzzy, perl-format
+#| msgid "source package format '%s' is not supported: %s"
+msgid "source package format '%s' is invalid"
+msgstr "format \"%s\" pakietu źródłowego nie jest obsługiwany: %s"
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -3549,34 +3766,6 @@ msgstr "nie można odczytać czasu modyfikacji z %s"
msgid "cannot open file %s for binary detection"
msgstr "nie można otworzyć pliku %s"
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr "dodawanie %s do %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr "niechciany plik binarny: %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-"wykryto %d niechciany plik binarny (należy go wymienić w debian/source/"
-"include-binaries, aby umożliwić jego włączenie)."
-msgstr[1] ""
-"wykryto %d niechciane pliki binarne (należy je wymienić w debian/source/"
-"include-binaries, aby umożliwić ich włączenie)."
-msgstr[2] ""
-"wykryto %d niechcianych plików binarnych (należy je wymienić w debian/source/"
-"include-binaries, aby umożliwić ich włączenie)."
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -4460,8 +4649,8 @@ msgstr "łatka %s modyfikuje plik %s za pomocą dowiązania symbolicznego: %s"
#, perl-format
msgid "original and modified files are /dev/null in diff '%s' (line %d)"
msgstr ""
-"oryginalnym i zmodyfikowanym plikiem jest /dev/null w pliku łatki "
-"\"%s\" (linia %d)"
+"oryginalnym i zmodyfikowanym plikiem jest /dev/null w pliku łatki \"%s\" "
+"(linia %d)"
#: scripts/Dpkg/Source/Patch.pm
#, perl-format
@@ -4634,6 +4823,12 @@ msgstr "nieużywana zmienna podstawiania ${%s}"
#: scripts/Dpkg/Substvars.pm
#, fuzzy, perl-format
+#| msgid "deprecated substitution variable ${%s}"
+msgid "required substitution variable ${%s} not used"
+msgstr "przestarzała zmienna podstawiania ${%s}"
+
+#: scripts/Dpkg/Substvars.pm
+#, fuzzy, perl-format
#| msgid "unused substitution variable ${%s}"
msgid "substitution variable ${%s} unused, but is defined"
msgstr "nieużywana zmienna podstawiania ${%s}"
@@ -4719,6 +4914,14 @@ msgstr "numer wersji zawiera niepoprawny znak \"%s\""
msgid "epoch part of the version number is not a number: '%s'"
msgstr "częśc epoki w numerze wersji nie jest liczbą: \"%s\""
+#, perl-format
+#~ msgid ""
+#~ "%s must be updated to support the 'build-arch' and 'build-indep' targets "
+#~ "(at least '%s' seems to be missing)"
+#~ msgstr ""
+#~ "%s musi zostać zaktualizowane w celu obsługi celów \"build-arch\" i "
+#~ "'build-indep' (brakuje co najmniej \"%s\")"
+
#, fuzzy, perl-format
#~| msgid "Usage: %s [<option>...]"
#~ msgid "Usage: %s [<option>...]\n"
@@ -4743,11 +4946,6 @@ msgstr "częśc epoki w numerze wersji nie jest liczbą: \"%s\""
#~ msgstr "uruchamianie dpkg nie powiodło się"
#, fuzzy, perl-format
-#~| msgid "cannot stat file %s"
-#~ msgid "cannot write signature file %s"
-#~ msgstr "nie można ustalić stanu pliku %s"
-
-#, fuzzy, perl-format
#~| msgid "could not verify signature on %s since gpg isn't installed"
#~ msgid "cannot import key in %s since GnuPG is not installed"
#~ msgstr ""
@@ -4809,9 +5007,6 @@ msgstr "częśc epoki w numerze wersji nie jest liczbą: \"%s\""
#~ msgid "invalid Format field '%s'"
#~ msgstr "niepoprawne pole Format \"%s\""
-#~ msgid "cannot create pipe for %s"
-#~ msgstr "nie można utworzyć potoku dla %s"
-
#~ msgid "tail of %s"
#~ msgstr "tail na %s"
@@ -4840,9 +5035,6 @@ msgstr "częśc epoki w numerze wersji nie jest liczbą: \"%s\""
#~ msgid "cannot open new output control file '%s'"
#~ msgstr "nie można otworzyć nowego pliku kontrolnego \"%s\""
-#~ msgid "deprecated substitution variable ${%s}"
-#~ msgstr "przestarzała zmienna podstawiania ${%s}"
-
#, fuzzy
#~| msgid "Usage: %s [<option>...] [<control-file>]"
#~ msgid "Usage: %s [<option>...] [<changelog-file>]"
@@ -5115,9 +5307,6 @@ msgstr "częśc epoki w numerze wersji nie jest liczbą: \"%s\""
#~ msgid "close new files list file"
#~ msgstr "zamykanie nowego pliku z listą plików"
-#~ msgid "cannot read files list file"
-#~ msgstr "nie można odczytać pliku z listą plików"
-
#~ msgid "duplicate files list entry for package %s (line %d)"
#~ msgstr "zduplikowany wpis o pakiecie %s w liście plików (linia %d)"
diff --git a/scripts/po/pt.gmo b/scripts/po/pt.gmo
index f1357ee..30e5652 100644
--- a/scripts/po/pt.gmo
+++ b/scripts/po/pt.gmo
Binary files differ
diff --git a/scripts/po/pt.po b/scripts/po/pt.po
index 3ed6c01..6be1618 100644
--- a/scripts/po/pt.po
+++ b/scripts/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dpkg-dev 1.22.0\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
"PO-Revision-Date: 2023-03-08 22:31+0000\n"
"Last-Translator: Américo Monteiro <a_monteiro@gmx.com>\n"
"Language-Team: Portuguese <>\n"
@@ -304,12 +304,11 @@ msgstr "dois comandos especificados: --%s e --%s"
msgid "%s needs a parameter"
msgstr "%s precisa dum parâmetro"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
-#, perl-format
-msgid "Usage: %s [<option>...]"
-msgstr "Utilização: %s [<opção>...]"
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "Usage: %s [<option>...] [<control-file>]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
+msgstr "Utilização: %s [<opção>...] [<ficheiro-controle>]"
#: scripts/dpkg-buildpackage.pl
#, fuzzy
@@ -686,6 +685,34 @@ msgid "sign-command '%s' not found"
msgstr "comando-assinar '%s' não encontrado"
#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "cannot change directory %s mode"
+msgid "cannot change directory to %s"
+msgstr "incapaz de mudar o modo do directório %s"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "building source package would overwrite input source %s"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "leave original source packed in current directory"
+msgid "source package %s is expected in the current directory"
+msgstr "deixar a fonte original empacotada no directório actual"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "source directory %s exists already, aborting"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "extracting unsigned source package (%s)"
+msgid "extracting source package %s"
+msgstr "a extrair pacote fonte não assinado (%s)"
+
+#: scripts/dpkg-buildpackage.pl
msgid "source package"
msgstr "pacote fonte"
@@ -706,10 +733,6 @@ msgid "host architecture"
msgstr "arquitectura anfitriã"
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
-msgstr "debian/rules não é executável, a corrigir isso"
-
-#: scripts/dpkg-buildpackage.pl
msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr "dependências/conflitos de compilação não satisfeitos; a abortar"
@@ -734,63 +757,15 @@ msgid "not signing UNRELEASED build; use --force-sign to override"
msgstr "a não assinar compilação UNRELEASED; use --force-sign para sobrepor"
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
-msgstr "incapaz de determinar %s"
-
-#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
-msgstr "a usar um comando de ganhar-root quando já é root"
-
-#: scripts/dpkg-buildpackage.pl
-msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-"fakeroot não encontrado, ou instala ou pacote fakeroot,\n"
-"especifica um comando com a opção -r, ou corre isto como root"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr "comando-de-obter-root '%s' não encontrado"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr "alvo não autorizado em palavra-chave do campo %s \"%s\""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr "campo %s palavra chave \"%s\" é desconhecida no nome de espaço do dpkg"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
-msgstr ""
-"campo %s palavra chave \"%s\" está em maiúsculas; use \"%s\" em vez disto"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
-msgstr "campo %s palavra chave \"%s\" é inválido; use \"%s\" em vez disto"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown"
-msgstr "campo %s palavra chave \"%s\" é desconhecido"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "field %s contains duplicate keyword \"%s\""
-msgstr "campo %s contém palavra-chave duplicada \"%s\""
+#, fuzzy, perl-format
+#| msgid "created directory '%s'"
+msgid "removing extracted source directory %s"
+msgstr "directório criado '%s'"
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
-msgstr ""
-"campo %s contém ambas palavras chave globais e específicas de implementação"
+msgid "unable to determine %s"
+msgstr "incapaz de determinar %s"
#: scripts/dpkg-buildpackage.pl
#, perl-format
@@ -815,21 +790,6 @@ msgstr ""
"IDs de chave OpenPGP longos são fortemente desencorajados; por favor use "
"fingerprints de chave em %s ou %s em vez disto"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr "incapaz de abrir %s"
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr "não pode fechar %s"
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, perl-format
msgid "cannot move %s to %s"
@@ -868,15 +828,6 @@ msgstr "upload binário e diff (fonte original NÃO incluída)"
msgid "full upload (original source is included)"
msgstr "upload total (a fonte original é incluída)"
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-"%s tem de ser actualizado para suportar os alvos 'build-arch' e 'build-"
-"indep' (pelo menos '%s' parece estar em falta)"
-
#: scripts/dpkg-buildtree.pl
#, fuzzy
#| msgid ""
@@ -971,6 +922,13 @@ msgstr "Dependências de compilação não satisfeitas: %s"
msgid "Build conflicts: %s"
msgstr "Conflitos de compilação: %s"
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr "incapaz de abrir %s"
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -1014,6 +972,21 @@ msgstr "incapaz de escrever %s"
msgid "install new files list file"
msgstr "instalar novo ficheiro de lista de ficheiros"
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr "não pode fechar %s"
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr "Utilização: %s [<opção>...]"
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -1139,7 +1112,8 @@ msgstr "Section em falta para ficheiros fonte"
msgid "missing Priority for source files"
msgstr "Priority em falta para ficheiros fonte"
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr "%s está vazio"
@@ -1270,11 +1244,12 @@ msgstr ""
" --version mostra a versão.\n"
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr "nome de pacote ilegal '%s': %s"
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr "pacote %s não está na informação de controle"
@@ -2037,8 +2012,38 @@ msgstr ""
"field>."
#: scripts/dpkg-shlibdeps.pl
+#, fuzzy
+#| msgid ""
+#| "Options:\n"
+#| " -l<library-dir> add directory to private shared library search "
+#| "list.\n"
+#| " -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
+#| " -O[<file>] write variable settings to stdout (or "
+#| "<file>).\n"
+#| " -L<local-shlibs-file> shlibs override file, not debian/shlibs."
+#| "local.\n"
+#| " -T<substvars-file> update variables here, not debian/substvars.\n"
+#| " -t<type> set package type (default is deb).\n"
+#| " -x<package> exclude package from the generated "
+#| "dependencies.\n"
+#| " -S<package-build-dir> search needed libraries in the given\n"
+#| " package build directory first.\n"
+#| " -I<package-build-dir> ignore needed libraries, shlibs and symbols "
+#| "files\n"
+#| " in the given build directory.\n"
+#| " -v enable verbose mode (can be used multiple "
+#| "times).\n"
+#| " --ignore-missing-info don't fail if dependency information can't be "
+#| "found.\n"
+#| " --warnings=<value> define set of active warnings (see manual "
+#| "page).\n"
+#| " --admindir=<directory> change the administrative directory.\n"
+#| " -?, --help show this help message.\n"
+#| " --version show the version."
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -2481,6 +2486,126 @@ msgstr ""
msgid "'%s' is not a legal architecture in list '%s'"
msgstr "'%s' não é uma arquitectura legal na lista '%s'"
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot parse %s field"
+msgid "cannot get archive %s size"
+msgstr "não pode analisar o campo %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot open or create archive %s"
+msgstr "não pode criar ficheiro %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot write magic into archive %s"
+msgstr "incapaz de procurar no ficheiro %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot read %s at offset %d from archive %s"
+msgstr "não pode ler marca temporal de %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot seek into beginning of archive %s"
+msgstr "incapaz de procurar no ficheiro %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot read file %s"
+msgstr "não pode criar ficheiro %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot write file %s"
+msgstr "não pode criar ficheiro %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot create file %s to extract from archive %s"
+msgstr "não pode ler marca temporal de %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot write file %s to the filesystem"
+msgstr "não pode criar ficheiro %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot remove destination file %s"
+msgid "cannot write file header into archive %s"
+msgstr "incapaz de remover ficheiro de destino %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open file %s for binary detection"
+msgid "cannot open file %s to append to archive %s"
+msgstr "não pode abrir ficheiro %s para deteção binária"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot get file %s size"
+msgstr "não pode criar ficheiro %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot write file %s padding to archive %s"
+msgstr "incapaz de procurar no ficheiro %s"
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr ""
@@ -2500,6 +2625,74 @@ msgstr ""
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr ""
+#: scripts/Dpkg/BuildDriver.pm
+#, fuzzy, perl-format
+#| msgid "changelog format %s is unknown: %s"
+msgid "build driver %s is unknown: %s"
+msgstr "formato de changelog %s é desconhecido: %s"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr "a usar um comando de ganhar-root quando já é root"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+"fakeroot não encontrado, ou instala ou pacote fakeroot,\n"
+"especifica um comando com a opção -r, ou corre isto como root"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr "comando-de-obter-root '%s' não encontrado"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "disallowed target in %s field keyword \"%s\""
+msgid "disallowed target in %s field keyword %s"
+msgstr "alvo não autorizado em palavra-chave do campo %s \"%s\""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr "campo %s palavra chave \"%s\" é desconhecida no nome de espaço do dpkg"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr ""
+"campo %s palavra chave \"%s\" está em maiúsculas; use \"%s\" em vez disto"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr "campo %s palavra chave \"%s\" é inválido; use \"%s\" em vez disto"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown"
+msgstr "campo %s palavra chave \"%s\" é desconhecido"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "field %s contains duplicate keyword \"%s\""
+msgid "field %s contains duplicate keyword %s"
+msgstr "campo %s contém palavra-chave duplicada \"%s\""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr ""
+"campo %s contém ambas palavras chave globais e específicas de implementação"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "debian/rules is not executable; fixing that"
+msgid "%s is not executable; fixing that"
+msgstr "debian/rules não é executável, a corrigir isso"
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -3125,10 +3318,30 @@ msgid "unsupported subcommand"
msgstr "sub-comando não suportado"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr "chave não tem capacidade de assinatura"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr "implementação OpenPGP em falta"
@@ -3301,6 +3514,37 @@ msgstr "incapaz de opendir %s"
msgid "unable to rename %s to %s"
msgstr "incapaz de renomear %s para %s"
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr "a adicionar %s a %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr "ficheiro binário indesejado: %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+"detectado %d ficheiro binário indesejado (adicione-o a debian/source/include-"
+"binaries para permitir a sua inclusão)."
+msgstr[1] ""
+"detectado %d ficheiros binário indesejados (adicione-os a debian/source/"
+"include-binaries para permitir a sua inclusão)."
+
+#: scripts/Dpkg/Source/Format.pm
+#, fuzzy, perl-format
+#| msgid "source package format '%s' is not supported: %s"
+msgid "source package format '%s' is invalid"
+msgstr "formato de pacote fonte '%s' não é suportado: %s"
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -3331,31 +3575,6 @@ msgstr "não pode ler marca temporal de %s"
msgid "cannot open file %s for binary detection"
msgstr "não pode abrir ficheiro %s para deteção binária"
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr "a adicionar %s a %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr "ficheiro binário indesejado: %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-"detectado %d ficheiro binário indesejado (adicione-o a debian/source/include-"
-"binaries para permitir a sua inclusão)."
-msgstr[1] ""
-"detectado %d ficheiros binário indesejados (adicione-os a debian/source/"
-"include-binaries para permitir a sua inclusão)."
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -4373,6 +4592,12 @@ msgid "substitution variable ${%s} used, but is not defined"
msgstr "variável de substituição ${%s} usada, mas não está definida"
#: scripts/Dpkg/Substvars.pm
+#, fuzzy, perl-format
+#| msgid "obsolete substitution variable ${%s}"
+msgid "required substitution variable ${%s} not used"
+msgstr "variável de substituição obsoleta ${%s}"
+
+#: scripts/Dpkg/Substvars.pm
#, perl-format
msgid "substitution variable ${%s} unused, but is defined"
msgstr "variável de substituição ${%s} não usada, mas está definida"
@@ -4457,6 +4682,14 @@ msgstr "número de versão contém caractere ilegal '%s'"
msgid "epoch part of the version number is not a number: '%s'"
msgstr "parte epoch do número de versão não é um número: '%s'"
+#, perl-format
+#~ msgid ""
+#~ "%s must be updated to support the 'build-arch' and 'build-indep' targets "
+#~ "(at least '%s' seems to be missing)"
+#~ msgstr ""
+#~ "%s tem de ser actualizado para suportar os alvos 'build-arch' e 'build-"
+#~ "indep' (pelo menos '%s' parece estar em falta)"
+
#, fuzzy, perl-format
#~| msgid "Usage: %s [<option>...]"
#~ msgid "Usage: %s [<option>...]\n"
diff --git a/scripts/po/ru.gmo b/scripts/po/ru.gmo
index 7466efe..8b8f28b 100644
--- a/scripts/po/ru.gmo
+++ b/scripts/po/ru.gmo
Binary files differ
diff --git a/scripts/po/ru.po b/scripts/po/ru.po
index ff60a9c..dc62f1f 100644
--- a/scripts/po/ru.po
+++ b/scripts/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dpkg-dev 1.17.23\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
"PO-Revision-Date: 2015-04-07 07:02+0200\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
@@ -318,12 +318,11 @@ msgstr "указаны две команды: --%s и --%s"
msgid "%s needs a parameter"
msgstr "для %s требуется параметр"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
-#, perl-format
-msgid "Usage: %s [<option>...]"
-msgstr "Использование: %s [<параметр>...]"
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "Usage: %s [<option>...] [<control-file>]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
+msgstr "Использование: %s [<параметр>...] <управ.файл>"
#: scripts/dpkg-buildpackage.pl
#, fuzzy
@@ -649,6 +648,34 @@ msgid "sign-command '%s' not found"
msgstr "команда-подписания «%s» не найдена"
#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "cannot create directory %s"
+msgid "cannot change directory to %s"
+msgstr "не удалось создать каталог %s"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "building source package would overwrite input source %s"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "orig argument %s is not a plain file or directory"
+msgid "source package %s is expected in the current directory"
+msgstr "orig параметр %s не является обычным файлом или каталогом"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "source directory %s exists already, aborting"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "extracting unsigned source package (%s)"
+msgid "extracting source package %s"
+msgstr "распаковка неподписанного пакета с исходным кодом (%s)"
+
+#: scripts/dpkg-buildpackage.pl
msgid "source package"
msgstr "пакет исходного кода"
@@ -669,10 +696,6 @@ msgid "host architecture"
msgstr "архитектура узла"
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
-msgstr "debian/rules не является исполняемым; исправляем это"
-
-#: scripts/dpkg-buildpackage.pl
msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr "неудовлетворительные зависимости/конфликты при сборке; прерываемся"
@@ -700,63 +723,15 @@ msgstr ""
"сборка UNRELEASED не подписывается; чтобы изменить используйте --force-sign"
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
-msgstr "невозможно определить %s"
-
-#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
-msgstr "используется команда получения прав root, но уже есть права root"
-
-#: scripts/dpkg-buildpackage.pl
-msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-"fakeroot не найдена, установите пакет fakeroot и\n"
-"запускайте команду с параметром -r, или запускайте её от root"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr "команда-получения-root «%s» не найдена"
-
-#: scripts/dpkg-buildpackage.pl
#, fuzzy, perl-format
-#| msgid "unknown file type"
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr "неизвестный тип файла"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
-msgstr ""
-
-#: scripts/dpkg-buildpackage.pl
-#, fuzzy, perl-format
-#| msgid "unknown file type"
-msgid "%s field keyword \"%s\" is unknown"
-msgstr "неизвестный тип файла"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "field %s contains duplicate keyword \"%s\""
-msgstr ""
+#| msgid "created directory '%s'"
+msgid "removing extracted source directory %s"
+msgstr "создан каталог «%s»"
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
-msgstr ""
+msgid "unable to determine %s"
+msgstr "невозможно определить %s"
#: scripts/dpkg-buildpackage.pl
#, perl-format
@@ -777,21 +752,6 @@ msgid ""
"in %s or %s instead"
msgstr ""
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr "не удалось открыть %s"
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr "не удалось закрыть %s"
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, fuzzy, perl-format
#| msgid "cannot rename %s to %s"
@@ -839,15 +799,6 @@ msgstr ""
msgid "full upload (original source is included)"
msgstr "закачка всего (с пакетом оригинального исходного кода)"
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-"для поддержки целей «build-arch» и «build-indep» требуется обновить %s (во "
-"всяком случае, будет отсутствовать «%s»)"
-
#: scripts/dpkg-buildtree.pl
#, fuzzy
#| msgid ""
@@ -956,6 +907,13 @@ msgstr "%s: Неудовлетворённые сборочные зависим
msgid "Build conflicts: %s"
msgstr "%s: Сборочные конфликты: "
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr "не удалось открыть %s"
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -996,6 +954,21 @@ msgstr "не удалось записать %s"
msgid "install new files list file"
msgstr "установка нового файла с списком файлов"
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr "не удалось закрыть %s"
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr "Использование: %s [<параметр>...]"
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -1136,7 +1109,8 @@ msgstr "отсутствует Section для файлов с исходным
msgid "missing Priority for source files"
msgstr "отсутствует Priority для файлов с исходным кодом"
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr "%s пуст"
@@ -1284,11 +1258,12 @@ msgstr ""
" --version показать версию\n"
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr "недопустимое имя пакета «%s»: %s"
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr "пакета %s отсутствует в управляющей информации"
@@ -2189,6 +2164,8 @@ msgstr ""
#| " --version show the version."
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -2666,6 +2643,126 @@ msgstr ""
msgid "'%s' is not a legal architecture in list '%s'"
msgstr "«%s» не является разрешённой строкой архитектуры"
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open %s"
+msgid "cannot get archive %s size"
+msgstr "не удалось открыть %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot open or create archive %s"
+msgstr "не удалось выполнить функцию stat для файла %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write magic into archive %s"
+msgstr "не удалось выполнить функцию stat для файла %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot read %s at offset %d from archive %s"
+msgstr "не удалось изменить метку времени из %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot seek into beginning of archive %s"
+msgstr "не удалось выполнить функцию stat для файла %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot read file %s"
+msgstr "не удалось выполнить функцию stat для файла %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file %s"
+msgstr "не удалось выполнить функцию stat для файла %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create pipe for %s"
+msgid "cannot create file %s to extract from archive %s"
+msgstr "невозможно создать канал для %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read files list file"
+msgid "cannot write file %s to the filesystem"
+msgstr "не удалось прочитать файл со списком файлов"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file header into archive %s"
+msgstr "не удалось выполнить функцию stat для файла %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open file %s"
+msgid "cannot open file %s to append to archive %s"
+msgstr "не удалось открыть файл %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot get file %s size"
+msgstr "не удалось выполнить функцию stat для файла %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot stat file %s"
+msgid "cannot write file %s padding to archive %s"
+msgstr "не удалось выполнить функцию stat для файла %s"
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr ""
@@ -2685,6 +2782,72 @@ msgstr ""
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr ""
+#: scripts/Dpkg/BuildDriver.pm
+#, fuzzy, perl-format
+#| msgid "changelog format %s is unknown"
+msgid "build driver %s is unknown: %s"
+msgstr "неизвестный формат файла изменений %s"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr "используется команда получения прав root, но уже есть права root"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+"fakeroot не найдена, установите пакет fakeroot и\n"
+"запускайте команду с параметром -r, или запускайте её от root"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr "команда-получения-root «%s» не найдена"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "unknown file type"
+msgid "disallowed target in %s field keyword %s"
+msgstr "неизвестный тип файла"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "unknown file type"
+msgid "%s field keyword \"%s\" is unknown"
+msgstr "неизвестный тип файла"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "field %s contains duplicate keyword %s"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr ""
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "debian/rules is not executable; fixing that"
+msgid "%s is not executable; fixing that"
+msgstr "debian/rules не является исполняемым; исправляем это"
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -3358,10 +3521,30 @@ msgid "unsupported subcommand"
msgstr "неподдерживаемая контрольная сумма «%s»"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr ""
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr ""
@@ -3540,6 +3723,40 @@ msgstr "не удалось выполнить opendir %s"
msgid "unable to rename %s to %s"
msgstr "невозможно переименовать %s в %s"
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr "добавляется %s в %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr "нежелательный двоичный файл: %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+"обнаружен %d нежелательный двоичный файл (чтобы разрешить включение, "
+"добавьте его в debian/source/include-binaries)."
+msgstr[1] ""
+"обнаружено %d нежелательных двоичных файла (чтобы разрешить включение, "
+"добавьте их в debian/source/include-binaries)."
+msgstr[2] ""
+"обнаружено %d нежелательных двоичных файлов (чтобы разрешить включение, "
+"добавьте их в debian/source/include-binaries)."
+
+#: scripts/Dpkg/Source/Format.pm
+#, fuzzy, perl-format
+#| msgid "source package format '%s' is not supported: %s"
+msgid "source package format '%s' is invalid"
+msgstr "формат пакета с исходным кодом «%s» не поддерживается: %s"
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -3572,34 +3789,6 @@ msgstr "не удалось изменить метку времени из %s"
msgid "cannot open file %s for binary detection"
msgstr "не удалось открыть файл %s"
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr "добавляется %s в %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr "нежелательный двоичный файл: %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-"обнаружен %d нежелательный двоичный файл (чтобы разрешить включение, "
-"добавьте его в debian/source/include-binaries)."
-msgstr[1] ""
-"обнаружено %d нежелательных двоичных файла (чтобы разрешить включение, "
-"добавьте их в debian/source/include-binaries)."
-msgstr[2] ""
-"обнаружено %d нежелательных двоичных файлов (чтобы разрешить включение, "
-"добавьте их в debian/source/include-binaries)."
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -4666,6 +4855,12 @@ msgstr "неиспользуемая подстановочная перемен
#: scripts/Dpkg/Substvars.pm
#, fuzzy, perl-format
+#| msgid "deprecated substitution variable ${%s}"
+msgid "required substitution variable ${%s} not used"
+msgstr "устаревшая подстановочная переменная ${%s}"
+
+#: scripts/Dpkg/Substvars.pm
+#, fuzzy, perl-format
#| msgid "unused substitution variable ${%s}"
msgid "substitution variable ${%s} unused, but is defined"
msgstr "неиспользуемая подстановочная переменная ${%s}"
@@ -4752,6 +4947,14 @@ msgstr "номер версии содержит недопустимый сим
msgid "epoch part of the version number is not a number: '%s'"
msgstr "часть эпохи в номере версии не является числом: «%s»"
+#, perl-format
+#~ msgid ""
+#~ "%s must be updated to support the 'build-arch' and 'build-indep' targets "
+#~ "(at least '%s' seems to be missing)"
+#~ msgstr ""
+#~ "для поддержки целей «build-arch» и «build-indep» требуется обновить %s "
+#~ "(во всяком случае, будет отсутствовать «%s»)"
+
#, fuzzy, perl-format
#~| msgid "Usage: %s [<option>...]"
#~ msgid "Usage: %s [<option>...]\n"
@@ -4776,11 +4979,6 @@ msgstr "часть эпохи в номере версии не является
#~ msgstr "не удалось запустить dpkg"
#, fuzzy, perl-format
-#~| msgid "cannot stat file %s"
-#~ msgid "cannot write signature file %s"
-#~ msgstr "не удалось выполнить функцию stat для файла %s"
-
-#, fuzzy, perl-format
#~| msgid "could not verify signature on %s since gpg isn't installed"
#~ msgid "cannot import key in %s since GnuPG is not installed"
#~ msgstr "невозможно проверить подпись для %s, так как gpg не установлена"
@@ -4838,9 +5036,6 @@ msgstr "часть эпохи в номере версии не является
#~ msgid "invalid Format field '%s'"
#~ msgstr "неправильное поле Format «%s»"
-#~ msgid "cannot create pipe for %s"
-#~ msgstr "невозможно создать канал для %s"
-
#~ msgid "tail of %s"
#~ msgstr "конец %s"
@@ -4867,9 +5062,6 @@ msgstr "часть эпохи в номере версии не является
#~ msgid "cannot open new output control file '%s'"
#~ msgstr "не удалось открыть новый выходной управляющий файл %s"
-#~ msgid "deprecated substitution variable ${%s}"
-#~ msgstr "устаревшая подстановочная переменная ${%s}"
-
#, fuzzy
#~| msgid "Usage: %s [<option>...] [<control-file>]"
#~ msgid "Usage: %s [<option>...] [<changelog-file>]"
@@ -5138,9 +5330,6 @@ msgstr "часть эпохи в номере версии не является
#~ msgid "close new files list file"
#~ msgstr "закрытие нового файла со списком файлов"
-#~ msgid "cannot read files list file"
-#~ msgstr "не удалось прочитать файл со списком файлов"
-
#~ msgid "duplicate files list entry for package %s (line %d)"
#~ msgstr "повторная запись в списке файлов для пакета %s (строка %d)"
diff --git a/scripts/po/sv.gmo b/scripts/po/sv.gmo
index d92acdc..7697501 100644
--- a/scripts/po/sv.gmo
+++ b/scripts/po/sv.gmo
Binary files differ
diff --git a/scripts/po/sv.po b/scripts/po/sv.po
index f55cae1..163f373 100644
--- a/scripts/po/sv.po
+++ b/scripts/po/sv.po
@@ -1,15 +1,14 @@
# Translation of dpkg-dev to Swedish
-# Copyright © 2007-2023 Software in the Public Interest
+# Copyright © 2007-2024 Software in the Public Interest
# This file is distributed under the same license as the dpkg package.
-#
-# Peter Krefting <peter@softwolves.pp.se>, 2007-2023.
+# Peter Krefting <peter@softwolves.pp.se>, 2007-2024.
#
msgid ""
msgstr ""
"Project-Id-Version: dpkg-dev 1.22.0\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
-"POT-Creation-Date: 2024-03-10 20:21+0100\n"
-"PO-Revision-Date: 2023-12-27 14:43+0100\n"
+"POT-Creation-Date: 2024-07-17 01:10+0200\n"
+"PO-Revision-Date: 2024-04-28 14:34+0100\n"
"Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n"
"Language-Team: Svenska <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -181,27 +180,22 @@ msgid "unable to execute %s"
msgstr "kan inte exekvera %s"
#: scripts/dpkg-buildapi.pl
-#, fuzzy
-#| msgid ""
-#| "Options:\n"
-#| " -c<control-file> get control info from this file.\n"
-#| " -?, --help show this help message.\n"
-#| " -v, --version show the version.\n"
msgid ""
"Commands:\n"
" -?, --help show this help message.\n"
" --version show the version."
msgstr ""
-"Flaggor:\n"
-" -c<control-fil> hämta styrinfo från denna fil.\n"
+"Åtgärder:\n"
" -?, --help visa detta hjälpmeddelande.\n"
-" --version visa versionsnummer.\n"
+" --version visa versionsnummer."
#: scripts/dpkg-buildapi.pl
msgid ""
"Options:\n"
" -c<control-file> get control info from this file.\n"
msgstr ""
+"Flaggor:\n"
+" -c<control-fil> hämta styrinfo från denna fil.\n"
#: scripts/dpkg-buildapi.pl
msgid "no arguments accepted"
@@ -265,12 +259,11 @@ msgstr "två kommandon angavs: --%s och --%s"
msgid "%s needs a parameter"
msgstr "%s behöver en parameter"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-genbuildinfo.pl
-#: scripts/dpkg-genchanges.pl scripts/dpkg-gencontrol.pl
-#: scripts/dpkg-gensymbols.pl scripts/dpkg-parsechangelog.pl
-#, perl-format
-msgid "Usage: %s [<option>...]"
-msgstr "Användning: %s [<flagga>...]"
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "Usage: %s [<option>...] [<control-file>]"
+msgid "Usage: %s [<option>...] [--] [<filename.dsc>|<directory>]"
+msgstr "Användning: %s [<flagga>...] [<control-fil>]"
#: scripts/dpkg-buildpackage.pl
msgid ""
@@ -558,6 +551,34 @@ msgid "sign-command '%s' not found"
msgstr "signeringskommandot ”%s” hittades inte"
#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "cannot change directory %s mode"
+msgid "cannot change directory to %s"
+msgstr "kan inte ändra läge för katalogen %s"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "building source package would overwrite input source %s"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "leave original source packed in current directory"
+msgid "source package %s is expected in the current directory"
+msgstr "lämna originalkällkod packad i aktuell katalog"
+
+#: scripts/dpkg-buildpackage.pl
+#, perl-format
+msgid "source directory %s exists already, aborting"
+msgstr ""
+
+#: scripts/dpkg-buildpackage.pl
+#, fuzzy, perl-format
+#| msgid "extracting unsigned source package (%s)"
+msgid "extracting source package %s"
+msgstr "extraherar osignerat källkodspaket (%s)"
+
+#: scripts/dpkg-buildpackage.pl
msgid "source package"
msgstr "källkodspaket"
@@ -578,10 +599,6 @@ msgid "host architecture"
msgstr "värdarkitektur"
#: scripts/dpkg-buildpackage.pl
-msgid "debian/rules is not executable; fixing that"
-msgstr "debian/rules är inte exekverbar: rättar"
-
-#: scripts/dpkg-buildpackage.pl
msgid "build dependencies/conflicts unsatisfied; aborting"
msgstr "byggberoenden/-konflikter ej uppfyllda; avbryter"
@@ -607,62 +624,15 @@ msgstr ""
"signerar inte ”UNRELEASED”-bygge; använd --force-sign för att överstyra"
#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "unable to determine %s"
-msgstr "kan inte bestämma %s"
-
-#: scripts/dpkg-buildpackage.pl
-msgid "using a gain-root-command while being root"
-msgstr "använder ett gain-root-command fast jag redan är root"
-
-#: scripts/dpkg-buildpackage.pl
-msgid ""
-"fakeroot not found, either install the fakeroot\n"
-"package, specify a command with the -r option, or run this as root"
-msgstr ""
-"fakeroot hittades inte, du kan installera paketet fakeroot,\n"
-"ange ett kommando med flaggan -r, eller köra som root"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "gain-root-command '%s' not found"
-msgstr "få-root-kommandot ”%s” hittades inte"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "disallowed target in %s field keyword \"%s\""
-msgstr "otillåtet mål i %s-fältet nyckelord ”%s”"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
-msgstr "%s-fältet nyckelord ”%s” är okänt i dpkg-namnrymden"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
-msgstr "%s-fältet nyckelord ”%s” har stora bokstäver; använd ”%s” istället"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
-msgstr "%s-fältet nyckelord ”%s” är ogiltigt; använd ”%s” istället"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "%s field keyword \"%s\" is unknown"
-msgstr "%s-fältet nyckelord ”%s” är okänt"
-
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid "field %s contains duplicate keyword \"%s\""
-msgstr "fältet %s innehåller duplicerat nyckelord ”%s”"
+#, fuzzy, perl-format
+#| msgid "created directory '%s'"
+msgid "removing extracted source directory %s"
+msgstr "skapade katalogen ”%s”"
#: scripts/dpkg-buildpackage.pl
#, perl-format
-msgid "%s field contains both global and implementation specific keywords"
-msgstr ""
-"%s-fältet innehåller både globala och implementationsspecifika nyckelord"
+msgid "unable to determine %s"
+msgstr "kan inte bestämma %s"
#: scripts/dpkg-buildpackage.pl
#, perl-format
@@ -687,21 +657,6 @@ msgstr ""
"långa OpenPGP-nyckel-id:n rekommenderas inte; använd nyckelfingeravtryck i "
"%s eller %s istället"
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-checkbuilddeps.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-name.pl scripts/Dpkg/Arch.pm
-#: scripts/Dpkg/IPC.pm scripts/Dpkg/Shlibs.pm
-#, perl-format
-msgid "cannot open %s"
-msgstr "kan inte öppna %s"
-
-#: scripts/dpkg-buildpackage.pl scripts/dpkg-distaddfile.pl
-#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-gencontrol.pl
-#: scripts/Dpkg/Interface/Storable.pm scripts/Dpkg/Source/Package/V2.pm
-#: scripts/Dpkg/Source/Patch.pm
-#, perl-format
-msgid "cannot close %s"
-msgstr "kan inte stänga %s"
-
#: scripts/dpkg-buildpackage.pl scripts/Dpkg/Source/Archive.pm
#, perl-format
msgid "cannot move %s to %s"
@@ -741,42 +696,26 @@ msgstr "binär- och diffinsändning (originalkällkod tas EJ med)"
msgid "full upload (original source is included)"
msgstr "komplett insändning (originalkällkod tas med)"
-#: scripts/dpkg-buildpackage.pl
-#, perl-format
-msgid ""
-"%s must be updated to support the 'build-arch' and 'build-indep' targets (at "
-"least '%s' seems to be missing)"
-msgstr ""
-"%s måste uppdateras för att stöda målen ”build-arch” och ”build-"
-"indep” (åtminstone ”%s” verkar saknas)"
-
#: scripts/dpkg-buildtree.pl
-#, fuzzy
-#| msgid ""
-#| "Options:\n"
-#| " -c<control-file> get control info from this file.\n"
-#| " -?, --help show this help message.\n"
-#| " -v, --version show the version.\n"
msgid ""
"Commands:\n"
" clean clean dpkg generated artifacts from the build tree.\n"
" --help show this help message.\n"
" --version show the version.\n"
msgstr ""
-"Flaggor:\n"
-" -c<control-fil> hämta styrinfo från denna fil.\n"
-" -?, --help visa detta hjälpmeddelande.\n"
-" --version visa versionsnummer.\n"
+"Åtgärder:\n"
+" clean städa dpkg-genererade artefakter från byggträdet.\n"
+" --help visa detta hjälpmeddelande.\n"
+" --version visa versionsnummer.\n"
#: scripts/dpkg-buildtree.pl
-#, fuzzy, perl-format
-#| msgid "two commands specified: --%s and --%s"
+#, perl-format
msgid "two commands specified: %s and %s"
-msgstr "två kommandon angavs: --%s och --%s"
+msgstr "två åtgärder angavs: %s och %s"
#: scripts/dpkg-buildtree.pl
msgid "missing action"
-msgstr ""
+msgstr "åtgärd saknas"
#: scripts/dpkg-checkbuilddeps.pl
#, perl-format
@@ -837,6 +776,13 @@ msgstr "Ej uppfyllda byggberoenden: %s"
msgid "Build conflicts: %s"
msgstr "Byggkonflikter: %s"
+#: scripts/dpkg-checkbuilddeps.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-name.pl scripts/Dpkg/Arch.pm scripts/Dpkg/IPC.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Shlibs.pm
+#, perl-format
+msgid "cannot open %s"
+msgstr "kan inte öppna %s"
+
#: scripts/dpkg-distaddfile.pl
#, perl-format
msgid ""
@@ -877,6 +823,21 @@ msgstr "kan inte skriva %s"
msgid "install new files list file"
msgstr "installerar ny fillistfil"
+#: scripts/dpkg-distaddfile.pl scripts/dpkg-genbuildinfo.pl
+#: scripts/dpkg-gencontrol.pl scripts/Dpkg/Interface/Storable.pm
+#: scripts/Dpkg/OpenPGP/Backend/GnuPG.pm scripts/Dpkg/Source/Package/V2.pm
+#: scripts/Dpkg/Source/Patch.pm
+#, perl-format
+msgid "cannot close %s"
+msgstr "kan inte stänga %s"
+
+#: scripts/dpkg-genbuildinfo.pl scripts/dpkg-genchanges.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-parsechangelog.pl
+#, perl-format
+msgid "Usage: %s [<option>...]"
+msgstr "Användning: %s [<flagga>...]"
+
#: scripts/dpkg-genbuildinfo.pl
msgid ""
"Options:\n"
@@ -911,7 +872,7 @@ msgstr ""
#: scripts/dpkg-genbuildinfo.pl
msgid "binary build with no binary artifacts found; .buildinfo is meaningless"
-msgstr "binärbygge utan binära artifakter upptäckt; .buildinfo är meningslös"
+msgstr "binärbygge utan binära artefakter upptäckt; .buildinfo är meningslös"
#: scripts/dpkg-genbuildinfo.pl
#, perl-format
@@ -993,7 +954,8 @@ msgstr "”Section” saknas för källfiler"
msgid "missing Priority for source files"
msgstr "”Priority” saknas för källfiler"
-#: scripts/dpkg-genchanges.pl scripts/Dpkg/Vendor.pm
+#: scripts/dpkg-genchanges.pl scripts/Dpkg/Source/Format.pm
+#: scripts/Dpkg/Vendor.pm
#, perl-format
msgid "%s is empty"
msgstr "%s är tom"
@@ -1032,7 +994,7 @@ msgstr "endast binär insändning (inkluderar ej källkod)"
#: scripts/dpkg-genchanges.pl
msgid "binary build with no binary artifacts found; cannot distribute"
-msgstr "binärbygge utan binära artifakter upptäckt; kan inte distribuera"
+msgstr "binärbygge utan binära artefakter upptäckt; kan inte distribuera"
#: scripts/dpkg-genchanges.pl
#, perl-format
@@ -1116,11 +1078,12 @@ msgstr ""
" --version visa versionsnummer.\n"
#: scripts/dpkg-gencontrol.pl scripts/dpkg-gensymbols.pl
+#: scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "illegal package name '%s': %s"
msgstr "ogiltigt paketnamn ”%s”: %s"
-#: scripts/dpkg-gencontrol.pl
+#: scripts/dpkg-gencontrol.pl scripts/dpkg-shlibdeps.pl
#, perl-format
msgid "package %s not in control info"
msgstr "paketet %s inte i styrinfo"
@@ -1861,8 +1824,38 @@ msgstr ""
" -d<beroendefält> nästa binär(er) sätter shlibs:<beroendefält>."
#: scripts/dpkg-shlibdeps.pl
+#, fuzzy
+#| msgid ""
+#| "Options:\n"
+#| " -l<library-dir> add directory to private shared library search "
+#| "list.\n"
+#| " -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
+#| " -O[<file>] write variable settings to stdout (or "
+#| "<file>).\n"
+#| " -L<local-shlibs-file> shlibs override file, not debian/shlibs."
+#| "local.\n"
+#| " -T<substvars-file> update variables here, not debian/substvars.\n"
+#| " -t<type> set package type (default is deb).\n"
+#| " -x<package> exclude package from the generated "
+#| "dependencies.\n"
+#| " -S<package-build-dir> search needed libraries in the given\n"
+#| " package build directory first.\n"
+#| " -I<package-build-dir> ignore needed libraries, shlibs and symbols "
+#| "files\n"
+#| " in the given build directory.\n"
+#| " -v enable verbose mode (can be used multiple "
+#| "times).\n"
+#| " --ignore-missing-info don't fail if dependency information can't be "
+#| "found.\n"
+#| " --warnings=<value> define set of active warnings (see manual "
+#| "page).\n"
+#| " --admindir=<directory> change the administrative directory.\n"
+#| " -?, --help show this help message.\n"
+#| " --version show the version."
msgid ""
"Options:\n"
+" --package=<package> generate substvars for <package> (default is "
+"unset).\n"
" -l<library-dir> add directory to private shared library search "
"list.\n"
" -p<varname-prefix> set <varname-prefix>:* instead of shlibs:*.\n"
@@ -2289,6 +2282,126 @@ msgstr "okänd CC-systemtyp %s, faller tillbaka på förval (lokal kompilering)"
msgid "'%s' is not a legal architecture in list '%s'"
msgstr "”%s” är inte en giltig arkitektur i listan ”%s”"
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot parse %s field"
+msgid "cannot get archive %s size"
+msgstr "kan inte tolka fältet %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot open or create archive %s"
+msgstr "kan inte ta skapa filen %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot write magic into archive %s"
+msgstr "kan inte söka inuti filen %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot read %s at offset %d from archive %s"
+msgstr "kan inte läsa tidsstämpel från %s"
+
+#. TRANSLATORS: The first %s string is either "archive magic" or
+#. "file header".
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "%s at offset %d in archive %s is truncated"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "archive magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains no magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+msgid "file header"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "file header at offset %d in archive %s contains bad magic"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "cannot seek into next file header at offset %d from archive %s"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot seek into beginning of archive %s"
+msgstr "kan inte söka inuti filen %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot read file %s"
+msgstr "kan inte ta skapa filen %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot write file %s"
+msgstr "kan inte ta skapa filen %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot read timestamp from %s"
+msgid "cannot create file %s to extract from archive %s"
+msgstr "kan inte läsa tidsstämpel från %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot write file %s to the filesystem"
+msgstr "kan inte ta skapa filen %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot remove destination file %s"
+msgid "cannot write file header into archive %s"
+msgstr "kan inte ta bort målfilen %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, perl-format
+msgid "filename %s is too long"
+msgstr ""
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot open file %s for binary detection"
+msgid "cannot open file %s to append to archive %s"
+msgstr "kan inte öppna filen %s för att detektera binärtyp"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot create file %s"
+msgid "cannot get file %s size"
+msgstr "kan inte ta skapa filen %s"
+
+#: scripts/Dpkg/Archive/Ar.pm
+#, fuzzy, perl-format
+#| msgid "cannot seek into file %s"
+msgid "cannot write file %s padding to archive %s"
+msgstr "kan inte söka inuti filen %s"
+
#: scripts/Dpkg/BuildAPI.pm
msgid "dpkg build API level needs an exact version"
msgstr "måste ange en exakt version för dpkg-bygg-API-nivå"
@@ -2308,6 +2421,73 @@ msgstr "ogiltig dpkg-bygg-API-nivå ”%s”"
msgid "dpkg build API level '%s' greater than max '%s'"
msgstr "dpkg-bygg-API-nivån ”%s” större än maxvärdet ”%s”"
+#: scripts/Dpkg/BuildDriver.pm
+#, fuzzy, perl-format
+#| msgid "changelog format %s is unknown: %s"
+msgid "build driver %s is unknown: %s"
+msgstr "ändringsloggformatet %s är okänt: %s"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid "using a gain-root-command while being root"
+msgstr "använder ett gain-root-command fast jag redan är root"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+msgid ""
+"fakeroot not found, either install the fakeroot\n"
+"package, specify a command with the -r option, or run this as root"
+msgstr ""
+"fakeroot hittades inte, du kan installera paketet fakeroot,\n"
+"ange ett kommando med flaggan -r, eller köra som root"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "gain-root-command '%s' not found"
+msgstr "få-root-kommandot ”%s” hittades inte"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "disallowed target in %s field keyword \"%s\""
+msgid "disallowed target in %s field keyword %s"
+msgstr "otillåtet mål i %s-fältet nyckelord ”%s”"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown in dpkg namespace"
+msgstr "%s-fältet nyckelord ”%s” är okänt i dpkg-namnrymden"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is uppercase; use \"%s\" instead"
+msgstr "%s-fältet nyckelord ”%s” har stora bokstäver; använd ”%s” istället"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is invalid; use \"%s\" instead"
+msgstr "%s-fältet nyckelord ”%s” är ogiltigt; använd ”%s” istället"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field keyword \"%s\" is unknown"
+msgstr "%s-fältet nyckelord ”%s” är okänt"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "field %s contains duplicate keyword \"%s\""
+msgid "field %s contains duplicate keyword %s"
+msgstr "fältet %s innehåller duplicerat nyckelord ”%s”"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, perl-format
+msgid "%s field contains both global and implementation specific keywords"
+msgstr ""
+"%s-fältet innehåller både globala och implementationsspecifika nyckelord"
+
+#: scripts/Dpkg/BuildDriver/DebianRules.pm
+#, fuzzy, perl-format
+#| msgid "debian/rules is not executable; fixing that"
+msgid "%s is not executable; fixing that"
+msgstr "debian/rules är inte exekverbar: rättar"
+
#: scripts/Dpkg/BuildFlags.pm scripts/Dpkg/Compression/FileHandle.pm
#: scripts/Dpkg/File.pm scripts/Dpkg/Interface/Storable.pm
#: scripts/Dpkg/Shlibs/Objdump.pm scripts/Dpkg/Source/BinaryFiles.pm
@@ -2916,10 +3096,30 @@ msgid "unsupported subcommand"
msgstr "underkommandot stöds ej"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "unknown special designator in indirect parameter"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "special designator in indirect parameter is an existing file"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "key is not signature-capable"
msgstr "nyckeln kan inte används för signering"
#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "mutually exclusive options"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot identify hardware device for hardware-backed secret keys"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
+msgid "cannot perform operation on hardware-backed secret key"
+msgstr ""
+
+#: scripts/Dpkg/OpenPGP/ErrorCodes.pm
msgid "missing OpenPGP implementation"
msgstr "saknad OpenPGP-implementation"
@@ -3091,6 +3291,37 @@ msgstr "kan inte öppna katalog %s"
msgid "unable to rename %s to %s"
msgstr "kan inte byta namn på %s till %s"
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "adding %s to %s"
+msgstr "lägger %s till %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid "unwanted binary file: %s"
+msgstr "oönskad binärfil: %s"
+
+#: scripts/Dpkg/Source/BinaryFiles.pm
+#, perl-format
+msgid ""
+"detected %d unwanted binary file (add it in debian/source/include-binaries "
+"to allow its inclusion)."
+msgid_plural ""
+"detected %d unwanted binary files (add them in debian/source/include-"
+"binaries to allow their inclusion)."
+msgstr[0] ""
+"upptäckte %d oönskad binärfil (lägg till den i debian/source/include-"
+"binaries för att tillåta att den tas med)"
+msgstr[1] ""
+"upptäckte %d oönskade binärfiler (lägg till dem i debian/source/include-"
+"binaries för att tillåta att de tas med)"
+
+#: scripts/Dpkg/Source/Format.pm
+#, fuzzy, perl-format
+#| msgid "source package format '%s' is not supported: %s"
+msgid "source package format '%s' is invalid"
+msgstr "källkodsformatet ”%s” stöds inte: %s"
+
#: scripts/Dpkg/Source/Functions.pm
#, perl-format
msgid "cannot stat directory %s (before removal)"
@@ -3121,31 +3352,6 @@ msgstr "kan inte läsa tidsstämpel från %s"
msgid "cannot open file %s for binary detection"
msgstr "kan inte öppna filen %s för att detektera binärtyp"
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "adding %s to %s"
-msgstr "lägger %s till %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid "unwanted binary file: %s"
-msgstr "oönskad binärfil: %s"
-
-#: scripts/Dpkg/Source/BinaryFiles.pm
-#, perl-format
-msgid ""
-"detected %d unwanted binary file (add it in debian/source/include-binaries "
-"to allow its inclusion)."
-msgid_plural ""
-"detected %d unwanted binary files (add them in debian/source/include-"
-"binaries to allow their inclusion)."
-msgstr[0] ""
-"upptäckte %d oönskad binärfil (lägg till den i debian/source/include-"
-"binaries för att tillåta att den tas med)"
-msgstr[1] ""
-"upptäckte %d oönskade binärfiler (lägg till dem i debian/source/include-"
-"binaries för att tillåta att de tas med)"
-
#: scripts/Dpkg/Source/Package.pm
#, perl-format
msgid "%s is not the name of a file"
@@ -4152,6 +4358,12 @@ msgid "substitution variable ${%s} used, but is not defined"
msgstr "substitueringsvariabeln ${%s} används, men är inte definierad"
#: scripts/Dpkg/Substvars.pm
+#, fuzzy, perl-format
+#| msgid "obsolete substitution variable ${%s}"
+msgid "required substitution variable ${%s} not used"
+msgstr "föråldrad substitueringsvariabel ${%s}"
+
+#: scripts/Dpkg/Substvars.pm
#, perl-format
msgid "substitution variable ${%s} unused, but is defined"
msgstr "substitueringsvariabeln ${%s} används inte, men är definierad"
@@ -4234,3 +4446,11 @@ msgstr "versionsnummer innehåller ogiltigt tecken ”%s”"
#, perl-format
msgid "epoch part of the version number is not a number: '%s'"
msgstr "epokdelen av versionsnumret är inte ett tal: ”%s”"
+
+#, perl-format
+#~ msgid ""
+#~ "%s must be updated to support the 'build-arch' and 'build-indep' targets "
+#~ "(at least '%s' seems to be missing)"
+#~ msgstr ""
+#~ "%s måste uppdateras för att stöda målen ”build-arch” och ”build-indep” "
+#~ "(åtminstone ”%s” verkar saknas)"
diff --git a/scripts/t/Dpkg_BuildFlags_Ubuntu.t b/scripts/t/Dpkg_BuildFlags_Ubuntu.t
index 822fbf6..0f2efba 100644
--- a/scripts/t/Dpkg_BuildFlags_Ubuntu.t
+++ b/scripts/t/Dpkg_BuildFlags_Ubuntu.t
@@ -53,6 +53,8 @@ sub test_no_ltoflag
my $bf;
+undef $ENV{DEB_BUILD_MAINT_OPTIONS};
+
# Force loading the Dpkg::Vendor::Ubuntu module.
$ENV{DEB_VENDOR} = 'Ubuntu';
diff --git a/scripts/t/Dpkg_Deps.t b/scripts/t/Dpkg_Deps.t
index b6a10d6..15c73da 100644
--- a/scripts/t/Dpkg_Deps.t
+++ b/scripts/t/Dpkg_Deps.t
@@ -163,19 +163,88 @@ $dep_restrict = deps_parse($field_restrict);
$dep_restrict->reduce_profiles([]);
is($dep_restrict->output(), 'dep1, dep3, dep5', 'Unknown restrictions post-reduce');
+# We store these hashes as a list so that we can easily reference them later.
+my @realpkgs = (
+ {
+ package => 'mypackage',
+ version => '1.3.4-1',
+ architecture => get_host_arch(),
+ multiarch => 'no',
+ }, {
+ package => 'mypackage2',
+ version => '1.3.4-1',
+ architecture => 'somearch',
+ multiarch => 'no',
+ }, {
+ package => 'pkg-ma-foreign',
+ version => '1.3.4-1',
+ architecture => 'somearch',
+ multiarch => 'foreign',
+ }, {
+ package => 'pkg-ma-foreign2',
+ version => '1.3.4-1',
+ architecture => get_host_arch(),
+ multiarch => 'foreign',
+ }, {
+ package => 'pkg-ma-allowed',
+ version => '1.3.4-1',
+ architecture => 'somearch',
+ multiarch => 'allowed',
+ }, {
+ package => 'pkg-ma-allowed2',
+ version => '1.3.4-1',
+ architecture => 'somearch',
+ multiarch => 'allowed',
+ }, {
+ package => 'pkg-ma-allowed3',
+ version => '1.3.4-1',
+ architecture => get_host_arch(),
+ multiarch => 'allowed',
+ }, {
+ package => 'pkg-indep-normal',
+ version => '1.3.4-1',
+ architecture => 'all',
+ multiarch => 'no',
+ }, {
+ package => 'pkg-indep-foreign',
+ version => '1.3.4-1',
+ architecture => 'all',
+ multiarch => 'foreign',
+ }
+);
+
+my @virtpkgs = (
+ {
+ virtual => 'myvirtual',
+ relation => undef,
+ version => undef,
+ provided_by => 'mypackage',
+ }, {
+ virtual => 'myvirtual2',
+ relation => REL_EQ,
+ version => '1.0-1',
+ provided_by => 'mypackage',
+ }, {
+ virtual => 'myvirtual3',
+ relation => REL_GE,
+ version => '2.0-1',
+ provided_by => 'mypackage',
+ }
+);
+
my $facts = Dpkg::Deps::KnownFacts->new();
-$facts->add_installed_package('mypackage', '1.3.4-1', get_host_arch(), 'no');
-$facts->add_installed_package('mypackage2', '1.3.4-1', 'somearch', 'no');
-$facts->add_installed_package('pkg-ma-foreign', '1.3.4-1', 'somearch', 'foreign');
-$facts->add_installed_package('pkg-ma-foreign2', '1.3.4-1', get_host_arch(), 'foreign');
-$facts->add_installed_package('pkg-ma-allowed', '1.3.4-1', 'somearch', 'allowed');
-$facts->add_installed_package('pkg-ma-allowed2', '1.3.4-1', 'somearch', 'allowed');
-$facts->add_installed_package('pkg-ma-allowed3', '1.3.4-1', get_host_arch(), 'allowed');
-$facts->add_installed_package('pkg-indep-normal', '1.3.4-1', 'all', 'no');
-$facts->add_installed_package('pkg-indep-foreign', '1.3.4-1', 'all', 'foreign');
-$facts->add_provided_package('myvirtual', undef, undef, 'mypackage');
-$facts->add_provided_package('myvirtual2', REL_EQ, '1.0-1', 'mypackage');
-$facts->add_provided_package('myvirtual3', REL_GE, '2.0-1', 'mypackage');
+foreach my $pkg (@realpkgs) {
+ $facts->add_installed_package(
+ $pkg->{package}, $pkg->{version},
+ $pkg->{architecture}, $pkg->{multiarch},
+ );
+}
+foreach my $virt (@virtpkgs) {
+ $facts->add_provided_package(
+ $virt->{virtual}, $virt->{relation}, $virt->{version},
+ $virt->{provided_by},
+ );
+}
my $field_duplicate = 'libc6 (>= 2.3), libc6 (>= 2.6-1), mypackage (>=
1.3), myvirtual | something, python (>= 2.5), mypackage2, pkg-ma-foreign,
diff --git a/scripts/t/Dpkg_Shlibs.t b/scripts/t/Dpkg_Shlibs.t
index 7cc325c..774f409 100644
--- a/scripts/t/Dpkg_Shlibs.t
+++ b/scripts/t/Dpkg_Shlibs.t
@@ -19,10 +19,15 @@ use warnings;
use Test::More;
use Test::Dpkg qw(:needs :paths);
+use Config;
use Cwd;
use IPC::Cmd qw(can_run);
-plan tests => 150;
+if (defined $Config{bin_ELF} && $Config{bin_ELF} eq 'define') {
+ plan tests => 150;
+} else {
+ plan skip_all => 'only ELF is currently supported';
+}
$ENV{DEB_BUILD_ARCH} = 'amd64';
$ENV{DEB_HOST_ARCH} = 'amd64';
diff --git a/scripts/t/Dpkg_Shlibs_Cppfilt.t b/scripts/t/Dpkg_Shlibs_Cppfilt.t
index 6a76977..f5bd22e 100644
--- a/scripts/t/Dpkg_Shlibs_Cppfilt.t
+++ b/scripts/t/Dpkg_Shlibs_Cppfilt.t
@@ -19,9 +19,15 @@ use warnings;
use Test::More;
use Test::Dpkg qw(:needs);
+use Config;
+
test_needs_command('c++filt');
-plan tests => 124;
+if (defined $Config{bin_ELF} && $Config{bin_ELF} eq 'define') {
+ plan tests => 124;
+} else {
+ plan skip_all => 'only ELF is currently supported';
+}
use_ok('Dpkg::Shlibs::Cppfilt');
diff --git a/scripts/t/Dpkg_Substvars.t b/scripts/t/Dpkg_Substvars.t
index 61ac027..b1c5b1b 100644
--- a/scripts/t/Dpkg_Substvars.t
+++ b/scripts/t/Dpkg_Substvars.t
@@ -16,7 +16,7 @@
use strict;
use warnings;
-use Test::More tests => 56;
+use Test::More tests => 60;
use Test::Dpkg qw(:paths);
use Dpkg ();
@@ -247,6 +247,32 @@ is($output, '', 'disabled unused variables warnings');
$s->delete('var_used');
+# Required variables
+my $sr;
+
+$expected = <<'VARS';
+required-var!=Required value
+VARS
+$sr = Dpkg::Substvars->new("$datadir/substvars-req");
+is($sr->output(), $expected, 'Required variable preserved');
+
+is($sr->substvars('This is a string with missing the required variable'),
+ 'This is a string with missing the required variable',
+ 'substvars required substitution missing');
+
+eval {
+ $sr->warn_about_unused();
+ 1;
+};
+$output = $@ // q{};
+is($output,
+ 'Dpkg_Substvars.t: error: required substitution variable ${required-var} not used' . "\n",
+ 'substvars required substitution not used');
+
+is($sr->substvars('This is a string with a required variable ${required-var}'),
+ 'This is a string with a required variable Required value',
+ 'substvars required substitution present');
+
# Variable filters
my $sf;
diff --git a/scripts/t/Dpkg_Substvars/substvars-req b/scripts/t/Dpkg_Substvars/substvars-req
new file mode 100644
index 0000000..442a27f
--- /dev/null
+++ b/scripts/t/Dpkg_Substvars/substvars-req
@@ -0,0 +1 @@
+required-var!=Required value
diff --git a/scripts/t/dpkg_buildpackage.t b/scripts/t/dpkg_buildpackage.t
index bfcd23f..3f8c73c 100644
--- a/scripts/t/dpkg_buildpackage.t
+++ b/scripts/t/dpkg_buildpackage.t
@@ -89,6 +89,9 @@ DA := debian/${binary-name-any}
# fakeroot confuses ASAN link order check.
export ASAN_OPTIONS = verify_asan_link_order=0
+# Do not fail due to leaks, as the code is still using lots of
+# static variables and error variables.
+export LSAN_OPTIONS = exitcode=0
clean:
rm -f debian/files
diff --git a/scripts/t/dpkg_buildpackage/test-source_0_source.hook b/scripts/t/dpkg_buildpackage/test-source_0_source.hook
index eb7387a..dde9b7d 100644
--- a/scripts/t/dpkg_buildpackage/test-source_0_source.hook
+++ b/scripts/t/dpkg_buildpackage/test-source_0_source.hook
@@ -3,7 +3,7 @@ hook: n=init a=1 p=test-source v=0 s=0 u=0
hook: n=preclean a=1 p=test-source v=0 s=0 u=0
hook: source-opts=
hook: n=source a=1 p=test-source v=0 s=0 u=0
-hook: build-target=
+hook: build-target=build
hook: n=build a=0 p=test-source v=0 s=0 u=0
hook: buildinfo-opts=--build=source --admindir=<ROOT>/dpkgdb -O../test-source_0_source.buildinfo
hook: n=buildinfo a=1 p=test-source v=0 s=0 u=0
diff --git a/scripts/t/mk.t b/scripts/t/mk.t
index a31eef7..f0db4d0 100644
--- a/scripts/t/mk.t
+++ b/scripts/t/mk.t
@@ -41,8 +41,8 @@ delete $ENV{MAKEFLAGS};
delete $ENV{$_} foreach grep { m/^DEB_/ } keys %ENV;
# Set architecture variables to not require dpkg nor gcc.
+$ENV{CC} = 'gcc';
$ENV{PATH} = "$srcdir/t/mock-bin:$ENV{PATH}";
-
$ENV{DEB_BUILD_PATH} = rel2abs($datadir);
sub test_makefile {
diff --git a/scripts/t/mk/architecture.mk b/scripts/t/mk/architecture.mk
index 2ac0222..295b804 100644
--- a/scripts/t/mk/architecture.mk
+++ b/scripts/t/mk/architecture.mk
@@ -1,36 +1,28 @@
+DEB_BUILD_ARCH := overridden
+TEST_DEB_BUILD_ARCH := overridden
+
include $(srcdir)/mk/architecture.mk
-test:
- test "$(DEB_BUILD_ARCH)" = "$(TEST_DEB_BUILD_ARCH)"
- test "$(DEB_BUILD_ARCH_ABI)" = "$(TEST_DEB_BUILD_ARCH_ABI)"
- test "$(DEB_BUILD_ARCH_BITS)" = "$(TEST_DEB_BUILD_ARCH_BITS)"
- test "$(DEB_BUILD_ARCH_CPU)" = "$(TEST_DEB_BUILD_ARCH_CPU)"
- test "$(DEB_BUILD_ARCH_ENDIAN)" = "$(TEST_DEB_BUILD_ARCH_ENDIAN)"
- test "$(DEB_BUILD_ARCH_LIBC)" = "$(TEST_DEB_BUILD_ARCH_LIBC)"
- test "$(DEB_BUILD_ARCH_OS)" = "$(TEST_DEB_BUILD_ARCH_OS)"
- test "$(DEB_BUILD_GNU_CPU)" = "$(TEST_DEB_BUILD_GNU_CPU)"
- test "$(DEB_BUILD_GNU_SYSTEM)" = "$(TEST_DEB_BUILD_GNU_SYSTEM)"
- test "$(DEB_BUILD_GNU_TYPE)" = "$(TEST_DEB_BUILD_GNU_TYPE)"
- test "$(DEB_BUILD_MULTIARCH)" = "$(TEST_DEB_BUILD_MULTIARCH)"
- test "$(DEB_HOST_ARCH)" = "$(TEST_DEB_HOST_ARCH)"
- test "$(DEB_HOST_ARCH_ABI)" = "$(TEST_DEB_HOST_ARCH_ABI)"
- test "$(DEB_HOST_ARCH_BITS)" = "$(TEST_DEB_HOST_ARCH_BITS)"
- test "$(DEB_HOST_ARCH_CPU)" = "$(TEST_DEB_HOST_ARCH_CPU)"
- test "$(DEB_HOST_ARCH_ENDIAN)" = "$(TEST_DEB_HOST_ARCH_ENDIAN)"
- test "$(DEB_HOST_ARCH_LIBC)" = "$(TEST_DEB_HOST_ARCH_LIBC)"
- test "$(DEB_HOST_ARCH_OS)" = "$(TEST_DEB_HOST_ARCH_OS)"
- test "$(DEB_HOST_GNU_CPU)" = "$(TEST_DEB_HOST_GNU_CPU)"
- test "$(DEB_HOST_GNU_SYSTEM)" = "$(TEST_DEB_HOST_GNU_SYSTEM)"
- test "$(DEB_HOST_GNU_TYPE)" = "$(TEST_DEB_HOST_GNU_TYPE)"
- test "$(DEB_HOST_MULTIARCH)" = "$(TEST_DEB_HOST_MULTIARCH)"
- test "$(DEB_TARGET_ARCH)" = "$(TEST_DEB_TARGET_ARCH)"
- test "$(DEB_TARGET_ARCH_ABI)" = "$(TEST_DEB_TARGET_ARCH_ABI)"
- test "$(DEB_TARGET_ARCH_BITS)" = "$(TEST_DEB_TARGET_ARCH_BITS)"
- test "$(DEB_TARGET_ARCH_CPU)" = "$(TEST_DEB_TARGET_ARCH_CPU)"
- test "$(DEB_TARGET_ARCH_ENDIAN)" = "$(TEST_DEB_TARGET_ARCH_ENDIAN)"
- test "$(DEB_TARGET_ARCH_LIBC)" = "$(TEST_DEB_TARGET_ARCH_LIBC)"
- test "$(DEB_TARGET_ARCH_OS)" = "$(TEST_DEB_TARGET_ARCH_OS)"
- test "$(DEB_TARGET_GNU_CPU)" = "$(TEST_DEB_TARGET_GNU_CPU)"
- test "$(DEB_TARGET_GNU_SYSTEM)" = "$(TEST_DEB_TARGET_GNU_SYSTEM)"
- test "$(DEB_TARGET_GNU_TYPE)" = "$(TEST_DEB_TARGET_GNU_TYPE)"
- test "$(DEB_TARGET_MULTIARCH)" = "$(TEST_DEB_TARGET_MULTIARCH)"
+vars := \
+ ARCH \
+ ARCH_ABI \
+ ARCH_BITS \
+ ARCH_CPU \
+ ARCH_ENDIAN \
+ ARCH_LIBC \
+ ARCH_OS \
+ GNU_CPU \
+ GNU_SYSTEM \
+ GNU_TYPE \
+ MULTIARCH \
+ # EOL
+loop_targets := $(foreach machine,BUILD HOST TARGET,\
+ $(foreach var,$(vars),DEB_$(machine)_$(var)))
+
+test: $(loop_targets)
+
+$(loop_targets):
+ : # Test the $@ Make variable.
+ test '$($@)' = '$(TEST_$@)'
+ : # Test the $@ exported variable.
+ test "$${$@}" = '$(TEST_$@)'
diff --git a/scripts/t/mk/buildapi.mk b/scripts/t/mk/buildapi.mk
index 96269bc..6ac92f9 100644
--- a/scripts/t/mk/buildapi.mk
+++ b/scripts/t/mk/buildapi.mk
@@ -1,4 +1,13 @@
include $(srcdir)/mk/buildapi.mk
-test:
- test "$(DPKG_BUILD_API)" = "0"
+TEST_DPKG_BUILD_API = 0
+
+test_vars := \
+ DPKG_BUILD_API \
+ # EOL
+
+test: $(test_vars)
+
+$(test_vars):
+ : # Test $@ Make variable.
+ test '$($@)' = '$(TEST_$@)'
diff --git a/scripts/t/mk/buildflags.mk b/scripts/t/mk/buildflags.mk
index 94d85a7..74ccac0 100644
--- a/scripts/t/mk/buildflags.mk
+++ b/scripts/t/mk/buildflags.mk
@@ -1,26 +1,37 @@
DEB_CPPFLAGS_MAINT_APPEND = -DTEST_MK=test-host
+TEST_CPPFLAGS += -DTEST_MK=test-host
+
DEB_CPPFLAGS_FOR_BUILD_MAINT_APPEND = -DTEST_MK=test-build
+TEST_CPPFLAGS_FOR_BUILD += -DTEST_MK=test-build
+
+DEB_CXXFLAGS_MAINT_SET := set-host
+TEST_CXXFLAGS := set-host
+
+DEB_CXXFLAGS_FOR_BUILD_MAINT_SET := set-build
+TEST_CXXFLAGS_FOR_BUILD := set-build
+
+DPKG_EXPORT_BUILDFLAGS := 1
include $(srcdir)/mk/buildflags.mk
-test:
- test "$(ASFLAGS)" = "$(TEST_ASFLAGS)"
- test "$(ASFLAGS_FOR_BUILD)" = "$(TEST_ASFLAGS_FOR_BUILD)"
- test "$(CFLAGS)" = "$(TEST_CFLAGS)"
- test "$(CFLAGS_FOR_BUILD)" = "$(TEST_CFLAGS_FOR_BUILD)"
- test "$(CPPFLAGS)" = "$(TEST_CPPFLAGS) -DTEST_MK=test-host"
- test "$(CPPFLAGS_FOR_BUILD)" = "$(TEST_CPPFLAGS_FOR_BUILD)-DTEST_MK=test-build"
- test "$(CXXFLAGS)" = "$(TEST_CXXFLAGS)"
- test "$(CXXFLAGS_FOR_BUILD)" = "$(TEST_CXXFLAGS_FOR_BUILD)"
- test "$(DFLAGS)" = "$(TEST_DFLAGS)"
- test "$(DFLAGS_FOR_BUILD)" = "$(TEST_DFLAGS_FOR_BUILD)"
- test "$(FCFLAGS)" = "$(TEST_FCFLAGS)"
- test "$(FCFLAGS_FOR_BUILD)" = "$(TEST_FCFLAGS_FOR_BUILD)"
- test "$(FFLAGS)" = "$(TEST_FFLAGS)"
- test "$(FFLAGS_FOR_BUILD)" = "$(TEST_FFLAGS_FOR_BUILD)"
- test "$(LDFLAGS)" = "$(TEST_LDFLAGS)"
- test "$(LDFLAGS_FOR_BUILD)" = "$(TEST_LDFLAGS_FOR_BUILD)"
- test "$(OBJCFLAGS)" = "$(TEST_OBJCFLAGS)"
- test "$(OBJCFLAGS_FOR_BUILD)" = "$(TEST_OBJCFLAGS_FOR_BUILD)"
- test "$(OBJCXXFLAGS)" = "$(TEST_OBJCXXFLAGS)"
- test "$(OBJCXXFLAGS_FOR_BUILD)" = "$(TEST_OBJCXXFLAGS_FOR_BUILD)"
+vars := \
+ ASFLAGS \
+ CFLAGS \
+ CPPFLAGS \
+ CXXFLAGS \
+ DFLAGS \
+ FCFLAGS \
+ FFLAGS \
+ LDFLAGS \
+ OBJCFLAGS \
+ OBJCXXFLAGS \
+ # EOL
+loop_targets := $(vars) $(vars:=_FOR_BUILD)
+
+test: $(loop_targets)
+
+$(loop_targets):
+ : # Test the $@ Make variable.
+ test '$($@)' = '$(TEST_$@)'
+ : # Test the $@ exported variable.
+ test "$${$@}" = '$(TEST_$@)'
diff --git a/scripts/t/mk/buildopts.mk b/scripts/t/mk/buildopts.mk
index 46d0efa..a7cf2a3 100644
--- a/scripts/t/mk/buildopts.mk
+++ b/scripts/t/mk/buildopts.mk
@@ -1,4 +1,11 @@
include $(srcdir)/mk/buildopts.mk
-test:
- test "$(DEB_BUILD_OPTION_PARALLEL)" = "$(TEST_DEB_BUILD_OPTION_PARALLEL)"
+test_vars := \
+ DEB_BUILD_OPTION_PARALLEL \
+ # EOL
+
+test: $(test_vars)
+
+$(test_vars):
+ : # Test the $@ Make variable.
+ test '$($@)' = '$(TEST_$@)'
diff --git a/scripts/t/mk/buildtools.mk b/scripts/t/mk/buildtools.mk
index 6c27c5c..745e03b 100644
--- a/scripts/t/mk/buildtools.mk
+++ b/scripts/t/mk/buildtools.mk
@@ -1,33 +1,35 @@
+AR := overridden
+TEST_AR := overridden
+TEST_AR_FOR_BUILD := overridden
+
+DPKG_EXPORT_BUILDTOOLS := 1
+
include $(srcdir)/mk/buildtools.mk
-test:
- test "$(AS)" = "$(TEST_AS)"
- test "$(AS_FOR_BUILD)" = "$(TEST_AS_FOR_BUILD)"
- test "$(CC)" = "$(TEST_CC)"
- test "$(CC_FOR_BUILD)" = "$(TEST_CC_FOR_BUILD)"
- test "$(CXX)" = "$(TEST_CXX)"
- test "$(CXX_FOR_BUILD)" = "$(TEST_CXX_FOR_BUILD)"
- test "$(OBJC)" = "$(TEST_OBJC)"
- test "$(OBJC_FOR_BUILD)" = "$(TEST_OBJC_FOR_BUILD)"
- test "$(OBJCXX)" = "$(TEST_OBJCXX)"
- test "$(OBJCXX_FOR_BUILD)" = "$(TEST_OBJCXX_FOR_BUILD)"
- test "$(F77)" = "$(TEST_F77)"
- test "$(F77_FOR_BUILD)" = "$(TEST_F77_FOR_BUILD)"
- test "$(FC)" = "$(TEST_FC)"
- test "$(FC_FOR_BUILD)" = "$(TEST_FC_FOR_BUILD)"
- test "$(LD)" = "$(TEST_LD)"
- test "$(LD_FOR_BUILD)" = "$(TEST_LD_FOR_BUILD)"
- test "$(STRIP)" = "$(TEST_STRIP)"
- test "$(STRIP_FOR_BUILD)" = "$(TEST_STRIP_FOR_BUILD)"
- test "$(OBJCOPY)" = "$(TEST_OBJCOPY)"
- test "$(OBJCOPY_FOR_BUILD)" = "$(TEST_OBJCOPY_FOR_BUILD)"
- test "$(OBJDUMP)" = "$(TEST_OBJDUMP)"
- test "$(OBJDUMP_FOR_BUILD)" = "$(TEST_OBJDUMP_FOR_BUILD)"
- test "$(NM)" = "$(TEST_NM)"
- test "$(NM_FOR_BUILD)" = "$(TEST_NM_FOR_BUILD)"
- test "$(AR)" = "$(TEST_AR)"
- test "$(AR_FOR_BUILD)" = "$(TEST_AR_FOR_BUILD)"
- test "$(RANLIB)" = "$(TEST_RANLIB)"
- test "$(RANLIB_FOR_BUILD)" = "$(TEST_RANLIB_FOR_BUILD)"
- test "$(PKG_CONFIG)" = "$(TEST_PKG_CONFIG)"
- test "$(PKG_CONFIG_FOR_BUILD)" = "$(TEST_PKG_CONFIG_FOR_BUILD)"
+tools := \
+ AR \
+ AS \
+ CC \
+ CPP \
+ CXX \
+ F77 \
+ FC \
+ LD \
+ NM \
+ OBJC \
+ OBJCOPY \
+ OBJCXX \
+ OBJDUMP \
+ PKG_CONFIG \
+ RANLIB \
+ STRIP \
+ # EOL
+loop_targets := $(tools) $(tools:=_FOR_BUILD)
+
+test: $(loop_targets)
+
+$(loop_targets):
+ : # Test the $@ Make variable.
+ test '$($@)' = '$(TEST_$@)'
+ : # Test the $@ exported variable.
+ test "$${$@}" = '$(TEST_$@)'
diff --git a/scripts/t/mk/pkg-info.mk b/scripts/t/mk/pkg-info.mk
index c0e3287..6eb3786 100644
--- a/scripts/t/mk/pkg-info.mk
+++ b/scripts/t/mk/pkg-info.mk
@@ -1,11 +1,26 @@
include $(srcdir)/mk/pkg-info.mk
-test:
- test "$(DEB_SOURCE)" = "source"
- test "$(DEB_VERSION)" = "1:2:3.4-5-6"
- test "$(DEB_VERSION_EPOCH_UPSTREAM)" = "1:2:3.4-5"
- test "$(DEB_VERSION_UPSTREAM_REVISION)" = "2:3.4-5-6"
- test "$(DEB_VERSION_UPSTREAM)" = "2:3.4-5"
- test "$(DEB_DISTRIBUTION)" = "suite"
- test '$(SOURCE_DATE_EPOCH)' = '$(TEST_SOURCE_DATE_EPOCH)'
+TEST_DEB_SOURCE = source
+TEST_DEB_VERSION = 1:2:3.4-5-6
+TEST_DEB_VERSION_EPOCH_UPSTREAM = 1:2:3.4-5
+TEST_DEB_VERSION_UPSTREAM_REVISION = 2:3.4-5-6
+TEST_DEB_VERSION_UPSTREAM = 2:3.4-5
+TEST_DEB_DISTRIBUTION = suite
+
+test_vars := \
+ DEB_SOURCE \
+ DEB_VERSION \
+ DEB_VERSION_EPOCH_UPSTREAM \
+ DEB_VERSION_UPSTREAM_REVISION \
+ DEB_VERSION_UPSTREAM \
+ DEB_DISTRIBUTION \
+ SOURCE_DATE_EPOCH \
+ # EOL
+
+test: $(test_vars)
+ : # Test the SOURCE_DATE_EPOCH exported variable.
test "$${SOURCE_DATE_EPOCH}" = '$(TEST_SOURCE_DATE_EPOCH)'
+
+$(test_vars):
+ : # Test the $@ Make variable.
+ test '$($@)' = '$(TEST_$@)'
diff --git a/scripts/t/mk/vendor-v0.mk b/scripts/t/mk/vendor-v0.mk
index 602a8c6..fbd0ba1 100644
--- a/scripts/t/mk/vendor-v0.mk
+++ b/scripts/t/mk/vendor-v0.mk
@@ -3,4 +3,5 @@ dpkg_vendor_derives_from = $(dpkg_vendor_derives_from_v0)
include $(srcdir)/mk/vendor.mk
test:
+ : # Test the dpkg_vendor_derives_from v0 macro.
test "$(shell $(call dpkg_vendor_derives_from,debian))" = "yes"
diff --git a/scripts/t/mk/vendor-v1.mk b/scripts/t/mk/vendor-v1.mk
index 11c1314..d468570 100644
--- a/scripts/t/mk/vendor-v1.mk
+++ b/scripts/t/mk/vendor-v1.mk
@@ -3,4 +3,5 @@ include $(srcdir)/mk/vendor.mk
dpkg_vendor_derives_from = $(dpkg_vendor_derives_from_v1)
test:
+ : # Test the dpkg_vendor_derives_from v1 macro.
test "$(call dpkg_vendor_derives_from,debian)" = "yes"
diff --git a/scripts/t/mk/vendor.mk b/scripts/t/mk/vendor.mk
index 4e0d9ff..9d89f0f 100644
--- a/scripts/t/mk/vendor.mk
+++ b/scripts/t/mk/vendor.mk
@@ -1,6 +1,17 @@
include $(srcdir)/mk/vendor.mk
-test:
- test "$(DEB_VENDOR)" = "Debian"
- test "$(DEB_PARENT_VENDOR)" = ""
+TEST_DEB_VENDOR = Debian
+TEST_DEB_PARENT_VENDOR =
+
+test_vars := \
+ DEB_VENDOR \
+ DEB_PARENT_VENDOR \
+ # EOL
+
+test: $(test_vars)
+ : # Test the dpkg_vendor_derives_from macro.
test "$(shell $(call dpkg_vendor_derives_from,debian))" = "yes"
+
+$(test_vars):
+ : # Test $@ Make variable.
+ test '$($@)' = '$(TEST_$@)'