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

Re: debhelper 7 and python-central



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


Reply to: