On 18/05/2008, Monty Taylor wrote: > 1. What are the real differences between these two? > 2. Why, as a packager, would I choose one over the other? A bit of stats: # source-wise $ for i in central support; do grep-dctrl -S -F Build-Depends python-$i -sPackage /var/lib/apt/lists/*Sources | wc -l ; done 325 426 # binary-wise $ for i in central support; do grep-dctrl -P -F Depends python-$i -sPackage /var/lib/apt/lists/*Packages | wc -l ; done 453 593 I might be missing the Indep thingies, but you see the idea if you want complete stats. More seriously, you may want to compare the following: http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=python-support http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=python-central In particular, check the grave and serious keywords (coloured in red), and the outstanding bugs. You may also want to have a look at the maintainer scripts. From a quick look, postinst's are mostly equivalent, from a complexity point of view. prerm's are a bit more challenging: (var/lib/dpkg/info/python-networkx.prerm) | # Automatically added by dh_pysupport | if which update-python-modules >/dev/null 2>&1; then | update-python-modules -c python-networkx | fi | # End automatically added section (/var/lib/dpkg/info/python-imaging.prerm) | # Automatically added by dh_pycentral | if [ "$1" = remove ]; then | if which python >/dev/null 2>&1 && which pycentral >/dev/null 2>&1; then | pycentral pkgremove python-imaging | else | flist=$(tempfile) | slist=$(tempfile) | dpkg -L python-imaging | tee $flist | \ | while read n; do | case "$n" in | /usr/share/pyshared/*) | n2=${n#/usr/share/pyshared/*} | case "$n" in | *.py) echo "p $n";; | *) [ -d "$n" ] && echo "d $n2" || echo "f $n2" | esac | ;; | *) continue | esac | done > $slist | if [ -s $slist ]; then | for d in /usr/lib/python[0-9].[0-9]/????-packages; do | case "$d" in */python2.1/*|*/python2.2/*) continue; esac | while read t n; do | case "$t" in | p) rm -f $d/$n $d/${n}[co];; | d) rmdir $d/$n 2>/dev/null || true;; | *) rm -f $d/$n | esac | done < $slist | done | fi | awk '/\/usr\/share\/pyshared/ {next} /\.py$/ {print $0"c\n" $0"o"}' $flist \ | | xargs -r rm -f >&2 | rm -f $flist $slist | fi | fi | # End automatically added section So, if you want your eyes to start bleeding, have a look ath the preinst scripts. Empty in the -support case. And in the -central one: | # Automatically added by dh_pycentral | if which pycentral >/dev/null 2>&1 && pycentral --help 2>/dev/null | grep -q pkgprepare; then | pycentral pkgprepare python-imaging <<PYEOF | [python-package] | format = 1 | python-version = 2.4, 2.5 | [pycentral] | version = 0.6 | [files] | /usr/lib/python2.5/site-packages/PIL=d | /usr/lib/python2.5/site-packages/PIL/_imaging.so=f | /usr/lib/python2.5/site-packages/PIL/_imagingmath.so=f | /usr/lib/python2.5/site-packages/PIL/_imagingft.so=f | /usr/lib/python2.4/site-packages/PIL=d | /usr/lib/python2.4/site-packages/PIL/_imaging.so=f | /usr/lib/python2.4/site-packages/PIL/_imagingmath.so=f | /usr/lib/python2.4/site-packages/PIL/_imagingft.so=f | /usr/bin/pilconvert.py=f | /usr/bin/pilprint.py=f | /usr/bin/pilfont.py=f | /usr/bin/pilfile.py=f | /usr/bin/pildriver.py=f | /usr/share/pyshared/PIL.pth=f | /usr/share/pyshared/PIL=d | /usr/share/pyshared/PIL/EpsImagePlugin.py=f | /usr/share/pyshared/PIL/ImtImagePlugin.py=f | /usr/share/pyshared/PIL/SpiderImagePlugin.py=f | /usr/share/pyshared/PIL/GdImageFile.py=f | /usr/share/pyshared/PIL/McIdasImagePlugin.py=f | /usr/share/pyshared/PIL/ImageColor.py=f | /usr/share/pyshared/PIL/BmpImagePlugin.py=f | /usr/share/pyshared/PIL/PaletteFile.py=f | /usr/share/pyshared/PIL/GribStubImagePlugin.py=f | /usr/share/pyshared/PIL/PsdImagePlugin.py=f | /usr/share/pyshared/PIL/ImageMode.py=f | /usr/share/pyshared/PIL/PcxImagePlugin.py=f | /usr/share/pyshared/PIL/XpmImagePlugin.py=f | /usr/share/pyshared/PIL/ImageMath.py=f | /usr/share/pyshared/PIL/TarIO.py=f | /usr/share/pyshared/PIL/BdfFontFile.py=f | /usr/share/pyshared/PIL/ImageDraw2.py=f | /usr/share/pyshared/PIL/PalmImagePlugin.py=f | /usr/share/pyshared/PIL/ImageWin.py=f | /usr/share/pyshared/PIL/CurImagePlugin.py=f | /usr/share/pyshared/PIL/ImageFileIO.py=f | /usr/share/pyshared/PIL/ExifTags.py=f | /usr/share/pyshared/PIL/XVThumbImagePlugin.py=f | /usr/share/pyshared/PIL/IcnsImagePlugin.py=f | /usr/share/pyshared/PIL/FontFile.py=f | /usr/share/pyshared/PIL/ImageTransform.py=f | /usr/share/pyshared/PIL/SgiImagePlugin.py=f | /usr/share/pyshared/PIL/PngImagePlugin.py=f | /usr/share/pyshared/PIL/JpegImagePlugin.py=f | /usr/share/pyshared/PIL/DcxImagePlugin.py=f | /usr/share/pyshared/PIL/PcfFontFile.py=f | /usr/share/pyshared/PIL/WmfImagePlugin.py=f | /usr/share/pyshared/PIL/ImageFont.py=f | /usr/share/pyshared/PIL/ImagePalette.py=f | /usr/share/pyshared/PIL/MspImagePlugin.py=f | /usr/share/pyshared/PIL/TiffTags.py=f | /usr/share/pyshared/PIL/TgaImagePlugin.py=f | /usr/share/pyshared/PIL/PcdImagePlugin.py=f | /usr/share/pyshared/PIL/XbmImagePlugin.py=f | /usr/share/pyshared/PIL/PixarImagePlugin.py=f | /usr/share/pyshared/PIL/BufrStubImagePlugin.py=f | /usr/share/pyshared/PIL/OleFileIO.py=f | /usr/share/pyshared/PIL/Image.py=f | /usr/share/pyshared/PIL/ImageSequence.py=f | /usr/share/pyshared/PIL/GifImagePlugin.py=f | /usr/share/pyshared/PIL/FliImagePlugin.py=f | /usr/share/pyshared/PIL/PdfImagePlugin.py=f | /usr/share/pyshared/PIL/PIL-1.1.6.egg-info=f | /usr/share/pyshared/PIL/IcoImagePlugin.py=f | /usr/share/pyshared/PIL/ImageStat.py=f | /usr/share/pyshared/PIL/Hdf5StubImagePlugin.py=f | /usr/share/pyshared/PIL/ImageQt.py=f | /usr/share/pyshared/PIL/WalImageFile.py=f | /usr/share/pyshared/PIL/__init__.py=f | /usr/share/pyshared/PIL/ImImagePlugin.py=f | /usr/share/pyshared/PIL/ArgImagePlugin.py=f | /usr/share/pyshared/PIL/ImagePath.py=f | /usr/share/pyshared/PIL/ImageFile.py=f | /usr/share/pyshared/PIL/IptcImagePlugin.py=f | /usr/share/pyshared/PIL/ImageDraw.py=f | /usr/share/pyshared/PIL/MicImagePlugin.py=f | /usr/share/pyshared/PIL/MpegImagePlugin.py=f | /usr/share/pyshared/PIL/FpxImagePlugin.py=f | /usr/share/pyshared/PIL/ContainerIO.py=f | /usr/share/pyshared/PIL/ImageGL.py=f | /usr/share/pyshared/PIL/TiffImagePlugin.py=f | /usr/share/pyshared/PIL/SunImagePlugin.py=f | /usr/share/pyshared/PIL/GimpPaletteFile.py=f | /usr/share/pyshared/PIL/ImageGrab.py=f | /usr/share/pyshared/PIL/ImageFilter.py=f | /usr/share/pyshared/PIL/PSDraw.py=f | /usr/share/pyshared/PIL/ImageChops.py=f | /usr/share/pyshared/PIL/ImageOps.py=f | /usr/share/pyshared/PIL/FitsStubImagePlugin.py=f | /usr/share/pyshared/PIL/GimpGradientFile.py=f | /usr/share/pyshared/PIL/GbrImagePlugin.py=f | /usr/share/pyshared/PIL/ImageEnhance.py=f | /usr/share/pyshared/PIL/PpmImagePlugin.py=f | PYEOF | else | mkdir -p /var/lib/pycentral | echo python-imaging >> /var/lib/pycentral/delayed-pkgs | fi | # End automatically added section > 3. Is there a valid reason to have both of them be acceptable if they > both do the same job? I'd rather say that one of them is doing an unacceptable job and should disappear. Mraw, KiBi.
Attachment:
pgpa8yX5ngpeu.pgp
Description: PGP signature