[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#751770: python-apt: source file (dsc) handling fails to parse binary packages including newlines



Package: python-apt
Version: 0.9.3.7
Severity: normal


For example the linux package includes newlines inside its Binary section
of the dsc file (the Binary section starts in line 5 and ends at line 7
in the following example):

,---- [ dsc situation ]
| % dget -d http://ftp.de.debian.org/debian/pool/main/l/linux-latest/linux-latest_57.dsc
| [...]
| % head -9 linux-latest_57.dsc | nl
|      1  -----BEGIN PGP SIGNED MESSAGE-----
|      2  Hash: SHA512
|
|      3  Format: 1.0
|      4  Source: linux-latest
|      5  Binary: linux-source, linux-doc, linux-tools, linux-image-alpha-generic, linux-headers-alpha-generic, linux-image-alpha-smp, linux-headers-alpha-smp, linux-image-alpha-legacy, linux-headers-alpha-legacy, linux-image-amd64, linux-headers-amd64, linux-image-amd64-dbg, xen-linux-system-amd64, linux-image-rt-amd64, linux-headers-rt-amd64, linux-image-rt-amd64-dbg, linux-image-kirkwood, linux-headers-kirkwood, linux-image-mv78xx0, linux-headers-mv78xx0, linux-image-orion5x, linux-headers-orion5x, linux-image-versatile, linux-headers-versatile, linux-image-armmp, linux-headers-armmp, linux-image-armmp-lpae, linux-headers-armmp-lpae, linux-image-parisc, linux-headers-parisc, linux-image-parisc64-smp, linux-headers-parisc64-smp, linux-image-486, linux-headers-486, linux-image-686-pae, linux-headers-686-pae, linux-image-686-pae-dbg, linux-image-rt-686-pae, linux-headers-rt-686-pae, linux-image-rt-686-pae-dbg, linux-image-itanium, linux-headers-itanium, linux-image-mckinley,
|      6   linux-headers-mckinley, linux-image-m68k, linux-headers-m68k, linux-image-r4k-ip22, linux-headers-r4k-ip22, linux-image-r5k-ip32, linux-headers-r5k-ip32, linux-image-sb1-bcm91250a, linux-headers-sb1-bcm91250a, linux-image-sb1a-bcm91480b, linux-headers-sb1a-bcm91480b, linux-image-4kc-malta, linux-headers-4kc-malta, linux-image-5kc-malta, linux-headers-5kc-malta, linux-image-octeon, linux-headers-octeon, linux-image-loongson-2e, linux-headers-loongson-2e, linux-image-loongson-2f, linux-headers-loongson-2f, linux-image-powerpc, linux-headers-powerpc, linux-image-powerpc-smp, linux-headers-powerpc-smp, linux-image-powerpc64, linux-headers-powerpc64, linux-image-powerpcspe, linux-headers-powerpcspe, linux-image-s390x, linux-headers-s390x, linux-image-s390x-dbg, linux-image-sh7751r, linux-headers-sh7751r, linux-image-sh7785lcr, linux-headers-sh7785lcr, linux-image-sparc64, linux-headers-sparc64, linux-image-sparc64-smp,
|      7   linux-headers-sparc64-smp
|      8  Architecture: all alpha amd64 i386 armel armhf hppa ia64 m68k mips mipsel powerpc ppc64 powerpcspe s390 s390x sh4 sparc sparc64
`----

In such a situation apt.debfile.DscSrcPackage fails to properly
parse those binary packages.
Demonstration and steps to reproduce:

,---- [ python demo ]
| % cat demo.py
| import apt.debfile
| source_file = 'linux-latest_57.dsc'
| deb = apt.debfile.DscSrcPackage(source_file)
| for binary_package in deb.binaries:
|     print "binary package %s" % binary_package
|
| % python demo.py
| binary package linux-source
| binary package linux-doc
| binary package linux-tools
| binary package linux-image-alpha-generic
| binary package linux-headers-alpha-generic
| binary package linux-image-alpha-smp
| binary package linux-headers-alpha-smp
| binary package linux-image-alpha-legacy
| binary package linux-headers-alpha-legacy
| binary package linux-image-amd64
| binary package linux-headers-amd64
| binary package linux-image-amd64-dbg
| binary package xen-linux-system-amd64
| binary package linux-image-rt-amd64
| binary package linux-headers-rt-amd64
| binary package linux-image-rt-amd64-dbg
| binary package linux-image-kirkwood
| binary package linux-headers-kirkwood
| binary package linux-image-mv78xx0
| binary package linux-headers-mv78xx0
| binary package linux-image-orion5x
| binary package linux-headers-orion5x
| binary package linux-image-versatile
| binary package linux-headers-versatile
| binary package linux-image-armmp
| binary package linux-headers-armmp
| binary package linux-image-armmp-lpae
| binary package linux-headers-armmp-lpae
| binary package linux-image-parisc
| binary package linux-headers-parisc
| binary package linux-image-parisc64-smp
| binary package linux-headers-parisc64-smp
| binary package linux-image-486
| binary package linux-headers-486
| binary package linux-image-686-pae
| binary package linux-headers-686-pae
| binary package linux-image-686-pae-dbg
| binary package linux-image-rt-686-pae
| binary package linux-headers-rt-686-pae
| binary package linux-image-rt-686-pae-dbg
| binary package linux-image-itanium
| binary package linux-headers-itanium
| binary package linux-image-mckinley,
|  linux-headers-mckinley
| binary package linux-image-m68k
| binary package linux-headers-m68k
| binary package linux-image-r4k-ip22
| binary package linux-headers-r4k-ip22
| binary package linux-image-r5k-ip32
| binary package linux-headers-r5k-ip32
| binary package linux-image-sb1-bcm91250a
| binary package linux-headers-sb1-bcm91250a
| binary package linux-image-sb1a-bcm91480b
| binary package linux-headers-sb1a-bcm91480b
| binary package linux-image-4kc-malta
| binary package linux-headers-4kc-malta
| binary package linux-image-5kc-malta
| binary package linux-headers-5kc-malta
| binary package linux-image-octeon
| binary package linux-headers-octeon
| binary package linux-image-loongson-2e
| binary package linux-headers-loongson-2e
| binary package linux-image-loongson-2f
| binary package linux-headers-loongson-2f
| binary package linux-image-powerpc
| binary package linux-headers-powerpc
| binary package linux-image-powerpc-smp
| binary package linux-headers-powerpc-smp
| binary package linux-image-powerpc64
| binary package linux-headers-powerpc64
| binary package linux-image-powerpcspe
| binary package linux-headers-powerpcspe
| binary package linux-image-s390x
| binary package linux-headers-s390x
| binary package linux-image-s390x-dbg
| binary package linux-image-sh7751r
| binary package linux-headers-sh7751r
| binary package linux-image-sh7785lcr
| binary package linux-headers-sh7785lcr
| binary package linux-image-sparc64
| binary package linux-headers-sparc64
| binary package linux-image-sparc64-smp,
|  linux-headers-sparc64-smp
`----

regards,
-mika-


Reply to: