Your message dated Sun, 07 Dec 2008 17:17:03 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#506663: fixed in devscripts 2.10.42
has caused the Debian Bug report #506663,
regarding [debi] option to only upgrade already-installed packages
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)
--
506663: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506663
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: devscripts
Version: 2.10.41
Severity: wishlist
Tags: patch
For complex multi-binary packages, I don't always want to install all
the binaries when testing my latest build. For example, ssh-krb5 is a
transitional package that rarely changes and that I don't need to have
installed myself, but I want to test the rest of openssh. Until now I've
just used 'dpkg -l' to remind myself of which binaries I have installed
and then used 'sudo dpkg -i' to install them by hand, but it would be
nice if debi could work that out for me.
The attached patch adds a new option, --upgrade, that uses dpkg-query to
figure out which packages are half-installed or better, and installs
only those.
Thanks,
--
Colin Watson [EMAIL PROTECTED]
Index: scripts/debi.pl
===================================================================
--- scripts/debi.pl (revision 1743)
+++ scripts/debi.pl (working copy)
@@ -30,6 +30,9 @@
use File::Basename;
use filetest 'access';
use Cwd;
+use File::Spec;
+use IPC::Open3;
+use Symbol 'gensym';
my $progname = basename($0,'.pl'); # the '.pl' is for when we're debugging
my $modified_conf_msg;
@@ -48,6 +51,7 @@
--debs-dir DIR Look for the changes and debs files in DIR instead of
the parent of the current package directory
--multi Search for multiarch .changes file made by dpkg-cross
+ --upgrade Only upgrade packages; don't install new ones.
--check-dirname-level N
How much to check directory names:
N=0 never
@@ -171,6 +175,7 @@
# Command line options next
my ($opt_help, $opt_version, $opt_a, $opt_t, $opt_debsdir, $opt_multi);
+my $opt_upgrade;
my ($opt_ignore, $opt_level, $opt_regex, $opt_noconf);
GetOptions("help" => \$opt_help,
"version" => \$opt_version,
@@ -178,6 +183,7 @@
"t=s" => \$opt_t,
"debs-dir=s" => \$opt_debsdir,
"multi" => \$opt_multi,
+ "upgrade" => \$opt_upgrade,
"ignore-dirname" => \$opt_ignore,
"check-dirname-level=s" => \$opt_level,
"check-dirname-regex=s" => \$opt_regex,
@@ -379,6 +385,42 @@
}
close CHANGES;
+if ($progname eq 'debi' and $opt_upgrade and @debs) {
+ my %installed;
+ my @cmd = ('dpkg-query', '-W', '-f', '${Package} ${Status}\n');
+ for my $deb (@debs) {
+ (my $pkg = $deb) =~ s/_.*//;
+ push @cmd, $pkg;
+ }
+ local (*NULL, *QUERY);
+ open NULL, '>', File::Spec->devnull;
+ my $pid = open3(gensym, \*QUERY, '>&NULL', @cmd)
+ or die "$progname: dpkg-query failed\n";
+ while (<QUERY>) {
+ my ($pkg, $want, $eflag, $status) = split;
+ if ($status and $status ne 'not-installed' and
+ $status ne 'config-files') {
+ $installed{$pkg} = 1;
+ }
+ }
+ close QUERY;
+ waitpid $pid, 0;
+ my @new_debs;
+ for my $deb (@debs) {
+ (my $pkg = $deb) =~ s/_.*//;
+ if ($installed{$pkg}) {
+ push @new_debs, $deb;
+ } elsif (@ARGV) {
+ if (exists $pkgs{$pkg}) {
+ $pkgs{$pkg}--;
+ } elsif (exists $pkgs{$deb}) {
+ $pkgs{$deb}--;
+ }
+ }
+ }
+ @debs = @new_debs;
+}
+
if (! @debs) {
die "$progname: no appropriate .debs found in the changes file $changes!\n";
}
Index: scripts/debi.1
===================================================================
--- scripts/debi.1 (revision 1743)
+++ scripts/debi.1 (working copy)
@@ -76,6 +76,12 @@
either be an absolute path or relative to the top of the source
directory.
.TP
+\fB\-\-upgrade\fR
+Only upgrade packages already installed on the system, rather than
+installing all packages listed in the \fI.changes\fR file.
+Useful for multi-binary packages when you don't want to have all the
+binaries installed at once.
+.TP
\fB\-\-check-dirname-level\fR \fIN\fR
See the above section "Directory name checking" for an explanation of
this option.
--- End Message ---
--- Begin Message ---
Source: devscripts
Source-Version: 2.10.42
We believe that the bug you reported is fixed in the latest version of
devscripts, which is due to be installed in the Debian FTP archive:
devscripts_2.10.42.dsc
to pool/main/d/devscripts/devscripts_2.10.42.dsc
devscripts_2.10.42.tar.gz
to pool/main/d/devscripts/devscripts_2.10.42.tar.gz
devscripts_2.10.42_amd64.deb
to pool/main/d/devscripts/devscripts_2.10.42_amd64.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Adam D. Barratt <[EMAIL PROTECTED]> (supplier of updated devscripts package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Sun, 07 Dec 2008 17:04:52 +0000
Source: devscripts
Binary: devscripts
Architecture: source amd64
Version: 2.10.42
Distribution: unstable
Urgency: low
Maintainer: Devscripts Devel Team <[email protected]>
Changed-By: Adam D. Barratt <[EMAIL PROTECTED]>
Description:
devscripts - scripts to make the life of a Debian Package maintainer easier
Closes: 506663 506975 507479 507482 507672
Changes:
devscripts (2.10.42) unstable; urgency=low
.
[ Adam D. Barratt ]
* checkbashisms: Fix a variable redeclaration warning. Thanks,
Neutron Soutmun. (Closes: #506975)
* cvs-deb{i,release}: Use mktemp rather than a temporary directory
name based on the process ID.
* debi: Add an "upgrade" option indicating that only those packages
already installed on the system should be installed, rather than
all packages listed in the .changes file. Thanks, Colin Watson.
(Closes: #506663)
* debsign:
+ Use mktemp rather than a temporary directory name based on the
process ID. (Closes: #507482)
+ Use temporary files rather than redirecting gpg's stdin and stdout,
enabling the use of pinentry-gtk2. (Closes: #507479)
* uscan:
+ Remove the downloads.sourceforge.net example from the manpage.
It no longer works due to changes in the website structure. Thanks,
Alexander Block.
+ Be more intelligent with redirects and relative filenames. This should
help in situations where the watchfile contains http://example.com/foo
which is a redirect to http://example.com/foo/, with the latter
containing relative filenames.
* uupdate: Use mktemp rather than a temporary directory name based on
the process ID.
.
[ Christoph Berg ]
* rmadison: Add debug.debian.net.
.
[ Patrick Schoenfeld ]
* dget: Fix misspelt wget option (should be --no-cache instead of
--no-chache) (Closes: #507672)
.
[ James Vega ]
* debcheckout: Use B<> and I<> to denote the different options sections
instead of =head2/=head3 since the latter cause pod2usage not to display
any options when running debcheckout -h.
Checksums-Sha1:
25ec7cac0acbcadd1b170d4f5b0fcbf75828b0f4 1363 devscripts_2.10.42.dsc
717d224d1dfd9842c71882ab1c1cc32eff731d2f 632907 devscripts_2.10.42.tar.gz
6f3c4ec0eca01a1efd6058d6a0b6b42cfad0009a 543678 devscripts_2.10.42_amd64.deb
Checksums-Sha256:
2ffd539581731f9149adb38f2d16ae5eb229fac1c728f24d2dbef9c787ac94d0 1363
devscripts_2.10.42.dsc
9ebc6e8d7fd54ba37687bf872c2c96106777c83cae36e2ac1075c7b3a97170bc 632907
devscripts_2.10.42.tar.gz
c0e67ac6e484e37dd0d9f08fb86c93187c75a72081300c44a78ff4b11c12d341 543678
devscripts_2.10.42_amd64.deb
Files:
3192966ebb8a80c504f7115b25660d3b 1363 devel optional devscripts_2.10.42.dsc
093293e7398e0b99fd2ef7f439f9c82a 632907 devel optional
devscripts_2.10.42.tar.gz
8719a7c3018020a202ce265ca580110c 543678 devel optional
devscripts_2.10.42_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkk8A2oACgkQokcE1TReOoU09ACfXg2xSN9mMntYoc3OEJt1/iEV
b6EAn2k7NC/LXfdGsnplhRsnwQmIcvGu
=U9pc
-----END PGP SIGNATURE-----
--- End Message ---