Package: libapt-pkg-perl Version: 0.1.22 Severity: wishlist Tags: patch It'd be good if the Size and Installed size fields from a package "Version" object were available at the perl level as say $ver->{Size} and $ver->{InstalledSize}, perhaps along the lines below.
-- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i586) Kernel: Linux 2.6.26-1-486 Locale: LANG=en_AU, LC_CTYPE=en_AU (charmap=ISO-8859-1) Shell: /bin/sh linked to /bin/dash Versions of packages libapt-pkg-perl depends on: ii apt [libapt-pkg-libc6.7-6-4.6 0.7.20.2 Advanced front-end for dpkg ii libc6 2.9-4 GNU C Library: Shared libraries ii libgcc1 1:4.3.3-5 GCC support library ii libstdc++6 4.3.3-5 The GNU Standard C++ Library v3 ii perl-base [perlapi-5.10.0] 5.10.0-19 minimal Perl system libapt-pkg-perl recommends no packages. libapt-pkg-perl suggests no packages. -- no debconf information
diff -ur libapt-pkg-perl-0.1.22.orig/AptPkg/Cache.pm libapt-pkg-perl-0.1.22/AptPkg/Cache.pm --- libapt-pkg-perl-0.1.22.orig/AptPkg/Cache.pm 2008-02-06 00:57:58.000000000 +1100 +++ libapt-pkg-perl-0.1.22/AptPkg/Cache.pm 2009-04-04 12:57:37.000000000 +1100 @@ -131,7 +131,7 @@ our @ISA = qw(AptPkg::hash::method); our @KEYS = qw( VerStr Section Arch ParentPkg DependsList ProvidesList FileList - Index Priority + InstalledSize Size Index Priority ); sub ParentPkg @@ -381,6 +381,14 @@ A reference to an array of AptPkg::Cache::VerFile objects describing the packages files which include the current version. +=item Size + +The F<.deb> file size, in bytes. + +=item InstalledSize + +The disk space used when installed, in bytes. + =item Index Internal B<APT> unique reference for the version record. diff -ur libapt-pkg-perl-0.1.22.orig/AptPkg.xs libapt-pkg-perl-0.1.22/AptPkg.xs --- libapt-pkg-perl-0.1.22.orig/AptPkg.xs 2007-06-17 22:08:59.000000000 +1000 +++ libapt-pkg-perl-0.1.22/AptPkg.xs 2009-04-04 12:58:24.000000000 +1100 @@ -788,6 +788,22 @@ } unsigned long +pkgCache_VerIterator_p::InstalledSize() + CODE: + RETVAL = (*THIS->obj)->InstalledSize; + + OUTPUT: + RETVAL + +unsigned long +pkgCache_VerIterator_p::Size() + CODE: + RETVAL = (*THIS->obj)->Size; + + OUTPUT: + RETVAL + +unsigned long pkgCache_VerIterator_p::Index() CODE: RETVAL = THIS->obj->Index();