--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: python-apt: DpkgInstallProgress should support more than one package
- From: Sebastian Heinlein <devel@glatzor.de>
- Date: Tue, 09 Jun 2009 03:25:48 +0200
- Message-id: <20090609012548.2807.60036.reportbug@unstable.virtual>
Package: python-apt
Version: 0.7.10.3+b1
Severity: wishlist
The run method of DpkgInstallProgress class only works with one package.
Furthermore it sets the debfile and debname attribute which will be used by
the update_status method.
I would like to overwrite the run method in PackgeKit to support more than one
Deb file and different dpkg options. So it would be nice to extract the package
names in update_status from the dpkg status message instead of reusing
the debname attribute.
See attached patch.
Cheers,
Sebastian
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.29-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages python-apt depends on:
ii apt [libapt-pkg-libc6.9-6-4.7 0.7.21 Advanced front-end for dpkg
ii apt-utils [libapt-inst-libc6. 0.7.21 APT utility programs
ii libc6 2.9-13 GNU C Library: Shared libraries
ii libgcc1 1:4.4.0-5 GCC support library
ii libjs-jquery 1.3.3-1 JavaScript library for dynamic web
ii libstdc++6 4.4.0-5 The GNU Standard C++ Library v3
ii lsb-release 3.2-22 Linux Standard Base version report
ii python 2.5.4-2 An interactive high-level object-o
ii python-central 0.6.11 register and build utility for Pyt
Versions of packages python-apt recommends:
ii iso-codes 3.10-1 ISO language, territory, currency,
Versions of packages python-apt suggests:
pn python-apt-dbg <none> (no description available)
ii python-gtk2 2.14.1-3 Python bindings for the GTK+ widge
ii python-vte 1:0.20.1-1 Python bindings for the VTE widget
-- no debconf information
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: renate@ubuntu.virtual-20090530230548-1xm8asn5qh7t75oz
# target_branch: ../jak
# testament_sha1: 1ae02a7da527170b44c6b05027e230b2b8ee478e
# timestamp: 2009-05-31 02:23:21 +0200
# base_revision_id: jak@debian.org-20090609072541-k4i16rqvd74f5no2
#
# Begin patch
=== modified file 'apt/progress/__init__.py'
--- apt/progress/__init__.py 2009-06-08 14:55:53 +0000
+++ apt/progress/__init__.py 2009-05-30 23:05:48 +0000
@@ -367,13 +367,11 @@
def run(self, debfile):
"""Start installing the given Debian package."""
- self.debfile = debfile
- self.debname = os.path.basename(debfile).split("_")[0]
pid = self.fork()
if pid == 0:
# child
res = os.system("/usr/bin/dpkg --status-fd %s -i %s" % \
- (self.writefd, self.debfile))
+ (self.writefd, debfile))
os._exit(os.WEXITSTATUS(res))
self.child_pid = pid
res = self.wait_child()
@@ -399,10 +397,11 @@
print "got garbage from dpkg: '%s'" % self.read
self.read = ""
break
+ pkg_name = statusl[1].strip()
status = statusl[2].strip()
#print status
if status == "error":
- self.error(self.debname, status)
+ self.error(pkg_name, status)
elif status == "conffile-prompt":
# we get a string like this:
# 'current-conffile' 'new-conffile' useredited distedited
# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWVOkUcAAAvL/gABUAEBRZ///
V0IJCr////BQBf7jYAaAAAAAGoptTTRpgmmmh6I0zSGmgGTAQMc0xMACYAJgABMAATBKBCoeU8pm
oMIaAAAGag0NBzTEwAJgAmAAEwABMCpRAgaACADQVN6J6TInigyempbx1049Zon22+z8q9DjPlxy
pYUTUoxY6KWLUrRDHMxtsECtGVsCISS8luh4G0KCqKpHqiaYJmZRioMDOsLao62WXF1Y2nOzupmd
L8J/D53KRA4xvvrfdHmaGYvFCj1du9IIGn9PAatvcxcncYiRcJhMyC4kHeSSfhbAIY2UHBgCC4Ni
wIHsr/Ljzhzn3FJoWJaxD+T1R1T0csuHUZeOT8Hj6nF/VqGou4n8DDx01rWx3d3swSa6tSzmSa3N
ipXeGRRFahVMCyyS21mOiy9IoZsDl7M74WMZLslKx52Y/RdO21oa2Vl/Rqux69HB9WVTI3FXYYUM
69Y926WnDzxbiuc/rUtbmdycRZbpr8sOhsMEjYt1sA+p0szLHFkWSdDSvWsVrSuZ+i2DeGLMtwWI
6VrCWqZ1LNCjLMpg3qNKix3ozOzsz03ZMyLLYzpZNxxW3utoXsIrolNS1L8Si8tNTije4r5R+H6z
5YI2szo6O8sbeGDg24BvmZG+fFal3Cpg5Omb08ktustzFkSVFtJT150KxTLCKFCotGTVUwRTCKbK
VjJmzR80s54b72VgyNao0LXsma/HJJXGUZWpmd9zbyZmUpVezbmC98kualurBkWWltYStNCrPaxX
aS3HBzO5u3ZWJrKZzFpGKaJbebJL+A/dKKDSofwoeXY8l5RpeqpVyO2ilDe+58HusYKl6irsWvMz
lshppRQpKf81a7aVmwmRQ89eVY8zwOksLWs/JnfVmLm40MLFI1sqkn0WN/pkwpSfOTtdy4eLuWot
d7iteSj11PGPH0WYzEc2zwUMJKvyXofPw4jgsWZqmRZoxJXUnVseUZ0L788/B7bpuc3N8nsoueix
1LI5uSRx9UWu93OBlezL8LmbqbHJjDRbVQ4/Eorbd5a7GxcujHH9Z2sicVV7k0o2OLg1/yaewxR9
P07+fOurmrc53y+lLrqRqz97e7lv7XP8MWUxMUOztlVMVsmhq/rpf28Y83Kni+HJpxf20t4+K9Dw
UdiURjyzL9vprGUyTlJQMEq5O3W7HQ1uB2O2cVVyxyWM3Waj7PHx81HhSMynow9+J7tocJ+Cg9On
i+qU7hQWJoprkpqmirYVdZ8jc+aOlgczR0Cw60dTp5Sa8y1/vrWr28NnmgytazaueHH3o2z7ztKn
k2ybXVchU+qM8lTDxlikalq982nxKPGZko2xeOH3dDQfVVxZGTDI4GSJWXKRRrSgbr1KGtC6XyXS
nBQ+kvvRZRG1Iqnd8+/jNWSk7D8lelMo8igv91yMsnBT9TGO6xMd3ZuTRgytE+6jsdbrSy4684/H
nr6cObOzlGxuXtib5249hxrJ+ik73g0NJThKKymUnzmt6tq5RLGYxx0U+NsW2b51X1Gz7S/fQydi
FSqa+q5SWs5RSsf31cIxMwUXpk+DMm3PK0krKskleqtmPP6J0HiaV5YKu5+hujVehYu1tJlXVThj
lVLIqMyZcllkXUTKyVSP2RahZKHujBCfZIr1PFIzdb84S3o+k9UaU6UOoKG/38PW3q9Hm9kfRMyf
96HHc4LFXSVetiNifvhf2zM/dH/xdyRThQkFOkUcAA==
--- End Message ---
--- Begin Message ---
- To: 532660-close@bugs.debian.org
- Subject: Bug#532660: fixed in python-apt 0.7.12.0
- From: Julian Andres Klode <jak@debian.org>
- Date: Thu, 30 Jul 2009 17:32:30 +0000
- Message-id: <E1MWZUU-0001a0-Tv@ries.debian.org>
Source: python-apt
Source-Version: 0.7.12.0
We believe that the bug you reported is fixed in the latest version of
python-apt, which is due to be installed in the Debian FTP archive:
python-apt-dbg_0.7.12.0_amd64.deb
to pool/main/p/python-apt/python-apt-dbg_0.7.12.0_amd64.deb
python-apt_0.7.12.0.dsc
to pool/main/p/python-apt/python-apt_0.7.12.0.dsc
python-apt_0.7.12.0.tar.gz
to pool/main/p/python-apt/python-apt_0.7.12.0.tar.gz
python-apt_0.7.12.0_amd64.deb
to pool/main/p/python-apt/python-apt_0.7.12.0_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 532660@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Julian Andres Klode <jak@debian.org> (supplier of updated python-apt 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 ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160
Format: 1.8
Date: Thu, 30 Jul 2009 14:08:30 +0200
Source: python-apt
Binary: python-apt python-apt-dbg
Architecture: source amd64
Version: 0.7.12.0
Distribution: unstable
Urgency: low
Maintainer: APT Development Team <deity@lists.debian.org>
Changed-By: Julian Andres Klode <jak@debian.org>
Description:
python-apt - Python interface to libapt-pkg
python-apt-dbg - Python interface to libapt-pkg (debug extension)
Closes: 416247 523997 523998 525134 527543 532338 532660
Changes:
python-apt (0.7.12.0) unstable; urgency=low
.
[ Julian Andres Klode ]
* python/cache.cc:
- Support Breaks, Enhances dependency types (Closes: #416247)
* debian/control:
- Only recommend libjs-jquery (Closes: #527543)
- Build-depend on libapt-pkg-dev (>= 0.7.22~)
- Update Standards-Version to 3.8.2
* apt/cache.py:
- Correctly handle rootdir on second and later invocations of
open(), by calling InitSystem again. (LP: #320665).
- Provide broken_count, delete_count, install_count, keep_count
properties (Closes: #532338)
- Only create Package objects when they are requested, do not keep them in
a dict. Saves 10MB for 25,000 packages on my machine.
* apt/package.py:
- Allow to set the candidate of a package (Closes: #523997)
+ Support assignments to the 'candidate' property of Package objects.
+ Initial patch by Sebastian Heinlein
- Make comparisons of Version object more robust.
- Return VersionList objects in Package.versions, which are sequences
and also provide features of mappings. (partial API BREAK)
+ Allows to get a specific version (Closes: #523998)
* apt/progress/__init__.py:
- Do not break out of InstallProgress.waitChild()'s loop just because it
is hitting EINTR, but only on child exit or on ECHILD.
* Use debhelper 7 instead of CDBS
.
[ Stefano Zacchiroli ]
* debian/python-apt.doc-base: register the documentation with the
doc-base system (Closes: #525134)
.
[ Sebastian Heinlein ]
* apt/progress.py: Extract the package name from the status message
(Closes: #532660)
Checksums-Sha1:
53c55f55c603e4645cf80b10af401bb462616d83 1191 python-apt_0.7.12.0.dsc
69df96f527a457618b99233b5b626d90f58558e6 680643 python-apt_0.7.12.0.tar.gz
218344eaff611f7a99ff701b71d9cd717b90be6c 404106 python-apt_0.7.12.0_amd64.deb
9f5ba661ed5917c6d568daa73a64b9c1587c7bb8 1530614 python-apt-dbg_0.7.12.0_amd64.deb
Checksums-Sha256:
411f2f48eda5f8a33e3e40319c4a670f24fe3b958c2e48a3873f4d963f48a43f 1191 python-apt_0.7.12.0.dsc
b18d4e018e2ec1b2c26f906f83ec920b92475a00c88e5fb104b7bbd32a320984 680643 python-apt_0.7.12.0.tar.gz
9461666854200c8b43881cc27d3d55f0526919c6b65a249da18067311cdcee7e 404106 python-apt_0.7.12.0_amd64.deb
eec35a8f455d5cfdc62ddc443ceb1c474f156e981abaf7f3f5a3bb6533dc708d 1530614 python-apt-dbg_0.7.12.0_amd64.deb
Files:
40309d6887a42104b4bc640749b3d7ef 1191 python optional python-apt_0.7.12.0.dsc
8f5a2c65bafe0ece59ef538169fa9925 680643 python optional python-apt_0.7.12.0.tar.gz
87c903e07134bd2ad3277c582f342f80 404106 python optional python-apt_0.7.12.0_amd64.deb
d7d2f0309c111d76ca2d58fb6a571dc2 1530614 debug extra python-apt-dbg_0.7.12.0_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEAREDAAYFAkpx1q4ACgkQrCpf/gCCPsIH6wCfZMKr4q6VZzUnK0a6w0vI2xKW
foEAnifFoNGHa6LFtKj08ycrdjRjCSfQ
=YdXq
-----END PGP SIGNATURE-----
--- End Message ---