Your message dated Sat, 02 Apr 2011 04:17:19 +0000 with message-id <[email protected]> and subject line Bug#594179: fixed in dpkg 1.16.0 has caused the Debian Bug report #594179, regarding Please add new architecture armhf (ie. quads instead of triplets) support in dpkg 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.) -- 594179: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594179 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: dpkg Version: 1.15.8.4 Severity: normal Tags: patch *** Please type your report below this line *** Hi, You probably are aware of the new armhf port started on debian-ports.org. [1] As mentioned in the mail, the most important patch necessary for the port is in dpkg, in order to add support for the architecture. I attach a patch necessary for dpkg to detect armhf as arm-hardfloat-linux-gnueabi. The changes affect only dpkg-architecture.pl and Dpkg.pm perl scripts, and of course the ostable/triplettable. The important difference is that now these scripts work internally with quads instead of triplets, however in the case of the rest of the arches, the vendor field is set to 'undef'. I have tested it on armel and it works as before. Last, in the patch I have included some simple print statements for debugging purposes, I assumed they should be useful to whomever wants to see how it works. It's also possible that I have misunderstood some dpkg internals and I have made a mistake, in that case feel free to suggest a better method. Still, I've build ~3000 armhf packages using that patch already with no problems so far -well, none dpkg-related at any rate. Due to its significant importance -the armhf port is useless without this patch- we would greatly appreciate if you could incorporate the patch in some future version of dpkg. Regards Konstantinos Margaritis Senior Software Engineer, armhf port maintainer Genesi USA [1]: http://lists.debian.org/debian-arm/2010/08/msg00008.htmldiff -ruN dpkg-1.15.8.4/debian/changelog dpkg-1.15.8.4+armhf//debian/changelog --- dpkg-1.15.8.4/debian/changelog 2010-08-13 04:25:22.000000000 +0000 +++ dpkg-1.15.8.4+armhf//debian/changelog 2010-08-23 22:34:34.000000000 +0000 @@ -1,3 +1,12 @@ +dpkg (1.15.8.4+armhf) unreleased; urgency=low + + * Added quads support (now dpkg-architecture.pl and Dpkg.pm now work with quads + internally). Now dpkg recognizes properly arm-hardfloat-linux-gnueabi, needed + for the new armhf port. + * Added the corresponding values for armhf in ostable,triplettable. + + -- Konstantinos Margaritis <[email protected]> Mon, 23 Aug 2010 21:39:07 +0000 + dpkg (1.15.8.4) unstable; urgency=low [ Guillem Jover ] diff -ruN dpkg-1.15.8.4/ostable dpkg-1.15.8.4+armhf//ostable --- dpkg-1.15.8.4/ostable 2010-08-11 13:54:09.000000000 +0000 +++ dpkg-1.15.8.4+armhf//ostable 2010-08-23 21:39:00.000000000 +0000 @@ -16,6 +16,7 @@ # <Debian name> <GNU name> <config.guess regex> uclibceabi-linux linux-uclibceabi linux[^-]*-uclibceabi uclibc-linux linux-uclibc linux[^-]*-uclibc +gnueabi-linux-hardfloat hardfloat-linux-gnueabi hardfloat-linux[^-]*-gnueabi gnueabi-linux linux-gnueabi linux[^-]*-gnueabi gnuspe-linux linux-gnuspe linux[^-]*-gnuspe gnulp-linux linux-gnulp linux[^-]*-gnulp diff -ruN dpkg-1.15.8.4/scripts/Dpkg/Arch.pm dpkg-1.15.8.4+armhf//scripts/Dpkg/Arch.pm --- dpkg-1.15.8.4/scripts/Dpkg/Arch.pm 2010-08-11 13:54:09.000000000 +0000 +++ dpkg-1.15.8.4+armhf//scripts/Dpkg/Arch.pm 2010-08-23 21:39:00.000000000 +0000 @@ -80,12 +80,14 @@ return $host_arch if defined $host_arch; $gcc_host_gnu_type = get_gcc_host_gnu_type(); + #print "host_gnu_type: ".$gcc_host_gnu_type."\n"; if ($gcc_host_gnu_type eq '') { warning(_g("Couldn't determine gcc system type, falling back to " . "default (native compilation)")); } else { my (@host_archtriplet) = gnutriplet_to_debtriplet($gcc_host_gnu_type); + #print "host_archtriplet: ".@host_archtriplet."\n"; $host_arch = debtriplet_to_debarch(@host_archtriplet); if (defined $host_arch) { @@ -136,11 +138,13 @@ open CPUTABLE, "$pkgdatadir/cputable" or syserr(_g("cannot open %s"), "cputable"); while (<CPUTABLE>) { + #print "line: $_"; if (m/^(?!\#)(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/) { $cputable{$1} = $2; $cputable_re{$1} = $3; $cpubits{$1} = $4; $cpuendian{$1} = $5; + #print "cputable{$1}: $cputable{$1}, cputable_re{$1}: $cputable_re{$1}, cpubits{$1}: $cpubits{$1}, cpuendian{$1}: $cpuendian{$1}\n"; push @cpu, $1; } } @@ -155,6 +159,7 @@ open OSTABLE, "$pkgdatadir/ostable" or syserr(_g("cannot open %s"), "ostable"); while (<OSTABLE>) { + #print "line: $_"; if (m/^(?!\#)(\S+)\s+(\S+)\s+(\S+)/) { $ostable{$1} = $2; $ostable_re{$1} = $3; @@ -174,9 +179,11 @@ open TRIPLETTABLE, "$pkgdatadir/triplettable" or syserr(_g("cannot open %s"), "triplettable"); while (<TRIPLETTABLE>) { + #print "line: $_"; if (m/^(?!\#)(\S+)\s+(\S+)/) { my $debtriplet = $1; my $debarch = $2; + #print "triplet: $debtriplet, arch: $debarch\n"; if ($debtriplet =~ /<cpu>/) { foreach my $_cpu (@cpu) { @@ -189,6 +196,8 @@ } else { $debarch_to_debtriplet{$2} = $1; $debtriplet_to_debarch{$1} = $2; + #print "$1, $2, debarch_to_debtriplet{$2}: $debarch_to_debtriplet{$2}\n"; + #print "$1, $2, debplet_to_debarch{$1}: $debtriplet_to_debarch{$1}\n"; } } } @@ -200,18 +209,32 @@ read_cputable() if (!@cpu); read_ostable() if (!@os); - my ($abi, $os, $cpu) = @_; + my ($abi, $os, $vendor, $cpu) = @_; + #print "debtriplet_to_gnutriplet: abi: $abi, vendor: $vendor, os: $os, cpu: $cpu\n"; - return undef unless defined($abi) && defined($os) && defined($cpu) && - exists($cputable{$cpu}) && exists($ostable{"$abi-$os"}); - return join("-", $cputable{$cpu}, $ostable{"$abi-$os"}); + #print "vendor not defined!\n" if ($vendor eq "undef"); + + if (!defined($abi) || !defined($os) || !defined($cpu)) { + return undef; + } elsif ($vendor eq "undef" && exists($cputable{$cpu}) && exists($ostable{"$abi-$os"})) { + #print join("-", $cputable{$cpu}, $ostable{"$abi-$os"})."\n"; + return join("-", $cputable{$cpu}, $ostable{"$abi-$os"}); + } elsif (exists($cputable{$cpu}) && exists($ostable{"$abi-$os-$vendor"})) { + #print join("-", $cputable{$cpu}, $ostable{"$abi-$os-$vendor"})."\n"; + return join("-", $cputable{$cpu}, $ostable{"$abi-$os-$vendor"}); + } else { + return undef; + } } sub gnutriplet_to_debtriplet($) { + my (@_ostriplet); my ($gnu) = @_; + #print "gnu = ".$gnu."\n"; return undef unless defined($gnu); my ($gnu_cpu, $gnu_os) = split(/-/, $gnu, 2); + #print "gnu_cpu = $gnu_cpu, gnu_os = $gnu_os\n"; return undef unless defined($gnu_cpu) && defined($gnu_os); read_cputable() if (!@cpu); @@ -220,13 +243,16 @@ my ($os, $cpu); foreach my $_cpu (@cpu) { + #print "checking $gnu_cpu against $_cpu\n"; if ($gnu_cpu =~ /^$cputable_re{$_cpu}$/) { $cpu = $_cpu; last; } } - foreach my $_os (@os) { + #print "checking $gnu_os against $_os\n"; + #print "$ostable{$_os}\n"; + #print "split(os): ".split(/-/, $_os, 3)."\n"; if ($gnu_os =~ /^(.*-)?$ostable_re{$_os}$/) { $os = $_os; last; @@ -234,19 +260,30 @@ } return undef if !defined($cpu) || !defined($os); - return (split(/-/, $os, 2), $cpu); + #print "os: $os, split(os): ".split(/-/, $os, 3)."\n"; + @_ostriplet = split(/-/, $os, 3); + splice(@_ostriplet, 2, 0, "undef") if (@_ostriplet == 2); + return (@_ostriplet, $cpu); } sub debtriplet_to_debarch(@) { read_triplettable() if (!%debtriplet_to_debarch); - my ($abi, $os, $cpu) = @_; + my ($abi, $os, $vendor, $cpu) = @_; + + #print "debtriplet_to_debarch: abi: $abi, vendor: $vendor, os: $os, cpu: $cpu\n"; + + #print "vendor not defined!\n" if ($vendor eq "undef"); if (!defined($abi) || !defined($os) || !defined($cpu)) { return undef; - } elsif (exists $debtriplet_to_debarch{"$abi-$os-$cpu"}) { - return $debtriplet_to_debarch{"$abi-$os-$cpu"}; + } elsif ($vendor eq "undef" && exists $debtriplet_to_debarch{"$abi-$os-$cpu"}) { + #print "debtriplet_to_debarch[$abi-$os-$cpu] = ".$debtriplet_to_debarch{"$abi-$os-$cpu"}."\n"; + return $debtriplet_to_debarch{"$abi-$os-$cpu"}; + } elsif (exists $debtriplet_to_debarch{"$abi-$os-$vendor-$cpu"}) { + #print "debtriplet_to_debarch[$abi-$os-$vendor-$cpu] = ".$debtriplet_to_debarch{"$abi-$os-$vendor-$cpu"}."\n"; + return $debtriplet_to_debarch{"$abi-$os-$vendor-$cpu"}; } else { return undef; } @@ -269,7 +306,10 @@ my $triplet = $debarch_to_debtriplet{$arch}; if (defined($triplet)) { - return split('-', $triplet, 3); + #print "triplet: $triplet\n"; + my @_triplet = split('-', $triplet, 4); + splice(@_triplet, 2, 0, "undef") if (@_triplet == 3); + return @_triplet; } else { return undef; } @@ -309,7 +349,8 @@ sub debarch_to_cpuattrs($) { my ($arch) = @_; - my ($abi, $os, $cpu) = debarch_to_debtriplet($arch); + my ($abi, $os, $vendor, $cpu) = debarch_to_debtriplet($arch); + #print "debarch_to_cpuattrs: abi: $abi, vendor: $vendor, os: $os, cpu: $cpu\n"; if (defined($cpu)) { return ($cpubits{$cpu}, $cpuendian{$cpu}); diff -ruN dpkg-1.15.8.4/scripts/dpkg-architecture.pl dpkg-1.15.8.4+armhf//scripts/dpkg-architecture.pl --- dpkg-1.15.8.4/scripts/dpkg-architecture.pl 2010-08-11 13:54:09.000000000 +0000 +++ dpkg-1.15.8.4+armhf//scripts/dpkg-architecture.pl 2010-08-23 21:39:00.000000000 +0000 @@ -177,8 +177,8 @@ # Split the Debian and GNU names my $abi; -($abi, $v{DEB_HOST_ARCH_OS}, $v{DEB_HOST_ARCH_CPU}) = debarch_to_debtriplet($v{DEB_HOST_ARCH}); -($abi, $v{DEB_BUILD_ARCH_OS}, $v{DEB_BUILD_ARCH_CPU}) = debarch_to_debtriplet($v{DEB_BUILD_ARCH}); +($abi, $v{DEB_HOST_ARCH_OS}, $v{DEB_HOST_VENDOR}, $v{DEB_HOST_ARCH_CPU}) = debarch_to_debtriplet($v{DEB_HOST_ARCH}); +($abi, $v{DEB_BUILD_ARCH_OS}, $v{DEB_BUILD_VENDOR}, $v{DEB_BUILD_ARCH_CPU}) = debarch_to_debtriplet($v{DEB_BUILD_ARCH}); ($v{DEB_HOST_GNU_CPU}, $v{DEB_HOST_GNU_SYSTEM}) = split(/-/, $v{DEB_HOST_GNU_TYPE}, 2); ($v{DEB_BUILD_GNU_CPU}, $v{DEB_BUILD_GNU_SYSTEM}) = split(/-/, $v{DEB_BUILD_GNU_TYPE}, 2); diff -ruN dpkg-1.15.8.4/triplettable dpkg-1.15.8.4+armhf//triplettable --- dpkg-1.15.8.4/triplettable 2010-08-11 13:54:10.000000000 +0000 +++ dpkg-1.15.8.4+armhf//triplettable 2010-08-23 21:39:00.000000000 +0000 @@ -2,9 +2,10 @@ # # Supported variables: <cpu> # -# <Debian triplet> <Debian arch> +# <Debian triplet> <Debian arch> uclibceabi-linux-arm uclibc-linux-armel uclibc-linux-<cpu> uclibc-linux-<cpu> +gnueabi-linux-hardfloat-arm armhf gnueabi-linux-arm armel gnuspe-linux-powerpc powerpcspe gnulp-linux-i386 lpia
--- End Message ---
--- Begin Message ---Source: dpkg Source-Version: 1.16.0 We believe that the bug you reported is fixed in the latest version of dpkg, which is due to be installed in the Debian FTP archive: dpkg-dev_1.16.0_all.deb to main/d/dpkg/dpkg-dev_1.16.0_all.deb dpkg_1.16.0.dsc to main/d/dpkg/dpkg_1.16.0.dsc dpkg_1.16.0.tar.bz2 to main/d/dpkg/dpkg_1.16.0.tar.bz2 dpkg_1.16.0_amd64.deb to main/d/dpkg/dpkg_1.16.0_amd64.deb dselect_1.16.0_amd64.deb to main/d/dpkg/dselect_1.16.0_amd64.deb libdpkg-dev_1.16.0_amd64.deb to main/d/dpkg/libdpkg-dev_1.16.0_amd64.deb libdpkg-perl_1.16.0_all.deb to main/d/dpkg/libdpkg-perl_1.16.0_all.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. Guillem Jover <[email protected]> (supplier of updated dpkg 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: Fri, 01 Apr 2011 23:56:54 +0200 Source: dpkg Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect Architecture: source amd64 all Version: 1.16.0 Distribution: unstable Urgency: low Maintainer: Dpkg Developers <[email protected]> Changed-By: Guillem Jover <[email protected]> Description: dpkg - Debian package management system dpkg-dev - Debian package development tools dselect - Debian package management front-end libdpkg-dev - Debian package management static library libdpkg-perl - Dpkg perl modules Closes: 31141 97076 397121 476335 483119 591858 594179 596841 598922 600854 604914 605719 606080 608829 611741 612203 612465 612472 613023 616096 616502 617923 619311 619541 620380 Changes: dpkg (1.16.0) unstable; urgency=low . [ Guillem Jover ] * Use DPKG_MAINTSCRIPT_PACKAGE environment variable as package name on dpkg-divert when no --package or --local options have been specified. * Do not allow versions starting with non-digit when doing strict parsing, warn otherwise. * Update dpkg(1) to note that --status-fd output does not contain newlines in error messages anymore (this was fixed in 1.15.0). * Add a new --status-logger option to dpkg, similar to --status-fd but instead invoke the command ourselves and feed the status information to its standard input. Suggested by Raphaël Hertzog. * Add missing space in update-alternative --set-selections output. * Add missing options to update-alternative --help output. * Count “conffile name is duplicated” for dpkg-deb warning count summary. * Improve and clarify strings for translation. Closes: #604914 * Prefix all fatal error messages with “error: ”. * Do not check presence of update-rc.d in the PATH in dpkg, as it's not a program needed for dpkg correct operation. * Fix dpkg -GEO options on multiple versions of the same packages. Closes: #31141 * Propagate --admindir to programs run from maintainer scritpts. Closes: #97076 * Do not fail when trying to remove the root directory. This will only happen either on distributions where dpkg is a foreign package manager, or on artificial dpkg databases. * Always warn when parsing any package control data which does not have an Architecture field except for status and status log files when packages are not-installed or half-installed. * By default reject installing packages w/o an Architecture field. They now need --force-architecture, dpkg will still warn about them though. * Fix build failure when passing --disable-nls to configure. * Do not segfault on “dpkg -i --no-act”. * Add missing semicolon to the vsnprintf() compat declaration. Thanks to Robert Millan. Closes: #612203 * On install for Ubuntu adjust the i386 GNU cpu name in cputable. Thanks to Colin Watson <[email protected]>. Closes: #611741 * Sync the info database directory on unpack instead of the temporary control information directory, and print the correct pathname on error instead of the last file acted on that directory. * Document in dpkg-query --help output and man page that --list and --show arguments are optional. * Do not read and write the available file unnecessarily. Thanks to Michel Lespinasse <[email protected]>. Closes: #397121 * Fix typo in «dpkg-name --overwrite» argument parsing so that it actually works at all. Thanks to Ivan Gagis <[email protected]>. LP: #728708 * Add armhf support to ostable and triplettable. Closes: #594179 * Set the modification time for unpacked symlinks on supported systems. * Fix undefined value useage in dpkg-genchanges when adding files w/o a matching architecture, because they are not present in debian/control, this is most commonly the case due to dpkg-distaddfile. * Terminate immediately on dpkg-divert rename errors instead of propagating up the error codes, this improves error reporting and avoids triggering leak detectors. Closes: #620380 * When moving a diverted file across filesystems in dpkg-divert, remove the source file. . [ Raphaël Hertzog ] * Fail properly when debian/source/format is empty. Closes: #600854 * Add new deb-src-control(5) manual page documenting the debian/control file contained in source packages. - it documents the X[SBC]- prefix. Closes: #476335 - it documents the VCS-* fields too. Closes: #483119 Thanks to Oxan van Leeuwen <[email protected]> who wrote it as part of the Google Code In program. * Enhance dpkg-shlibdeps to not fail immediatly when a library is not found. Instead continue and fail after all problems have been reported. Thanks to Chris Baines <[email protected]> for the patch. Closes: #596841 * Fix dpkg-source to not list Debian packaging files as modified upstream files in Format "1.0" when unpacking to a non-standard directory. * Apply patch from Colin Watson to let dpkg-buildflags return -O3 instead of -O2 when building ppc64 packages on Ubuntu. Closes: #612472 * Add new function get_control_path() to Dpkg::Path, it wraps dpkg-query --control-path. * Update dpkg-shlibdeps to be multiarch-ready: - use get_control_path() to find symbols/shlibs files - parse correctly the output of dpkg --search * Small fix to support files >2GB in .deb on 64-bit systems. Closes: #616502 Thanks to Martin Dorey <[email protected]> for the patch. * dpkg-source now keeps the file ordering in the autogenerated patch when regenerating it. Closes: #606080 Thanks to Colin Watson for the patch. * dpkg-source now uses a timestamp retrieved from the filesystem when resetting the timestamp of patched files so that a time skew when using NFS doesn't introduce any inconsistency. Closes: #613023 Thanks to Jonathan Nieder <[email protected]> for the patch and the diagnosis. * dpkg-source will now remove quilt's .pc directory when --unapply-patches is in use. Closes: #591858 * dpkg-source is now a bit less strict when parsing patches: - it accepts seeing the same file twice; Closes: #608829 - it doesn't match on the English text "No newline at end of file" as it might be translated in some cases. Closes: #612465 * Improve parser in Dpkg::Control::Hash to not require an empty line before the PGP signature. Closes: #617923 Thanks to Roger Leigh for the initial patch. * Fix a regression in dpkg-divert where using --rename led to a failure when the rename implies crossing file systems. Thanks to Durk Strooisma for spotting it. * Use the correct mtime when installing a file with statoverrides. Regression introduced in 1.16.0. LP: #739179 * Remove duplicate word in german translation of dpkg(1). Closes: #616096 * Strip repeated non-significant spaces before and after newlines in Uploaders. Closes: #598922 * Ignore whitespaces after options in headers of changelog entries. Closes: #605719 * Fix dpkg-source's regression with empty patches (introduced while fixing #613023). Closes: #619541 . [ Jonathan Nieder ] * Remove support for use of synchronous sync(2), due to its pernicious side-effects and to ease maintenance. * Clarify that an up-to-date dpkg only needs to be unpacked for dpkg-maintscript-helper to work. . [ Steve Langasek ] * Add new variables to dpkg-architecture, DEB_HOST_MULTIARCH and DEB_BUILD_MULTIARCH, that return the "ideal" GNU triplet for each architecture which should be used as the path component for library installation. . [ Mark Hymers ] * Add support for Built-Using field. Closes: #619311 . [ Updated programs translations ] * German (Sven Joachim). * Portuguese (Miguel Figueiredo). * Spanish (Javier Fernandez-Sanguino). * Swedish (Peter Krefting). . [ Updated man page translations ] * German (Helge Kreutzmann). * Swedish (Peter Krefting). . [ Updated scripts translations ] * German (Helge Kreutzmann). * Swedish (Peter Krefting). . [ Updated dselect translations ] * Spanish (Javier Fernandez-Sanguino). Checksums-Sha1: ce2157f0050ae5307c0b3f867219e90eccea417f 1200 dpkg_1.16.0.dsc c5588cfa254ff0d698fc1eb7d9d11be9da235371 5321098 dpkg_1.16.0.tar.bz2 68d767846ee0bd9a20d627ef3371c2c98c12e066 494608 libdpkg-dev_1.16.0_amd64.deb 239a3d17163706530443fb847bb61703ac6e0c00 2230440 dpkg_1.16.0_amd64.deb 59ad8d6ca4573c2bb85861472c9437ed23a0e77c 948708 dselect_1.16.0_amd64.deb 64c9a96eb3caaf34d1d14f09c5c81c4826539da6 870310 dpkg-dev_1.16.0_all.deb 24c2b86c3cb1867ae4ddf1e3c1a631ca73b8fe0d 746970 libdpkg-perl_1.16.0_all.deb Checksums-Sha256: dc45d4c80599fb4fb377caf497c003ef5fef8e1fcf0b0cba51bae457041c2554 1200 dpkg_1.16.0.dsc 2536bd1493ba5de8d0914c30d6b83d4390013caa98580bd33a735cebe445004a 5321098 dpkg_1.16.0.tar.bz2 1e1e7e02834b554932aa0b7ef48b3b2e982893011f7261629f19882a0271a1b3 494608 libdpkg-dev_1.16.0_amd64.deb 0f7858e704d1e0dd8f7195921cb29d6e296ff71e4568cf6a99c9a89a62907670 2230440 dpkg_1.16.0_amd64.deb e068fa295a74e769407ab9230208a20c3385c9f978d130077a0a5b506e66e14b 948708 dselect_1.16.0_amd64.deb 54603f6285f06b8f805394ed63c63aad3671e66c9385818361a89190ced55972 870310 dpkg-dev_1.16.0_all.deb 10aa393491951ac72f6d8429974e7be5c62b52fbb10fe8437fceb274ce8a2b1c 746970 libdpkg-perl_1.16.0_all.deb Files: 8aaddcf28fe29848e0839e4f49aa5b27 1200 admin required dpkg_1.16.0.dsc dc83fe7c1346a2a7bf78548306447c1d 5321098 admin required dpkg_1.16.0.tar.bz2 700983a5d39442c66f07403f13afc3bb 494608 libdevel optional libdpkg-dev_1.16.0_amd64.deb 7a243ebcc1618a0b7a1054c510459191 2230440 admin required dpkg_1.16.0_amd64.deb 433d60711295f8c311c85a9d31020ac1 948708 admin optional dselect_1.16.0_amd64.deb 6a049c453a6370cab4e0a8611ed0153e 870310 utils optional dpkg-dev_1.16.0_all.deb 86124110a1596fddc34fff8fc29a15e8 746970 perl optional libdpkg-perl_1.16.0_all.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEYEARECAAYFAk2WnHUACgkQuW9ciZ2SjJvVoQCdEWDb2Bi1NhycZk3sZ1Ak7ARE kR4AoPHbIFD2mzngex1DGcFIKQ1CRXaH =QKGg -----END PGP SIGNATURE-----
--- End Message ---

