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

more about /usr/share transition



Hello,

I've seen a lot of effort to remove all files from /usr/doc in profit to
/usr/share/doc, but nobody trying to enforce the part "13.4 Accessing the
documentation" of the policy. It is written "each package must maintain a
symlink /usr/doc/package that points to the new location of its
documentation in /usr/share/doc/package", with a script fragment to add to
postinst and prerm.

Here is a small stupid script to find packages owning a directory in
/usr/share/doc without its counterpart in /usr/doc :

list=`ls /usr/share/doc`;
dirs=`for n in $list ; do 
        if [ ! -e /usr/doc/$n ] ; then 
          echo $n; 
        fi 
      done`;
for n in $dirs ; do
  res=`dlocate /usr/share/doc/$n |egrep ": /usr/share/doc/$n$"`
  if [ "x$res" = "x" ] ; then
    echo "Impossible to find the package owning /usr/share/doc/$n"
  else
    echo $res;
  fi
done

It is impossible to do the same job by grepping the Contents-* files
because the policy says "The symlink must be created when the package is
installed; it cannot be contained in the package itself due to problems
with dpkg."

Here is a list of packages containing this bug on my own machine:

alsa-modules-2.2.17-ide: /usr/share/doc/alsa-modules-2.2.17-ide
amaya-dict-fr: /usr/share/doc/amaya-dict-fr
biff: /usr/share/doc/biff
cdparanoia: /usr/share/doc/cdparanoia
clanlib0-common: /usr/share/doc/clanlib0-docs
eject: /usr/share/doc/eject
electric-fence: /usr/share/doc/electric-fence
kdelibs2g: /usr/share/doc/kde 
   kdebase-doc: /usr/share/doc/kde 
   kdelibs3: /usr/share/doc/kde 
   ktuberling: /usr/share/doc/kde 
   kdf: /usr/share/doc/kde 
   kview: /usr/share/doc/kde 
   kbabel: /usr/share/doc/kde 
   kprof: /usr/share/doc/kde 
   wordtrans-data: /usr/share/doc/kde
kdebase-doc: /usr/share/doc/kdebase
kdelibs3: /usr/share/doc/kdelibs-dev
kernel-image-2.2.17: /usr/share/doc/kernel-image-2.2.17
libbz2-1.0: /usr/share/doc/libbz2-1.0
libchasen0: /usr/share/doc/libchasen0
e2fsprogs: /usr/share/doc/libcomerr2
libgcj0-dev: /usr/share/doc/libgcj0-dev
libgsm1: /usr/share/doc/libgsm1
libnspr4-dev: /usr/share/doc/libnspr4-dev
qt-doc: /usr/share/doc/libqt2-gl
qt-doc: /usr/share/doc/libqt2-mt
qt-doc: /usr/share/doc/libqt2-xft
e2fsprogs: /usr/share/doc/libss2
lincity-x: /usr/share/doc/lincity-x
mtr-tiny: /usr/share/doc/mtr-tiny
pact-base: /usr/share/doc/pact
speak-freely: /usr/share/doc/speak-freely
svgalibg1: /usr/share/doc/svgalib
svgalibg1: /usr/share/doc/svgalibg1
sysutils: /usr/share/doc/sysutils
timidity-patches: /usr/share/doc/timidity-patches
untex: /usr/share/doc/untex
wordtrans-data: /usr/share/doc/wordtrans
wordtrans-data: /usr/share/doc/wordtrans-web


I think we could make a dh_fhs, which insert the code fragment given in the
policy in the files, and move anything still in /usr/doc or /usr/man to
/usr/share.


What do you think about this all, guys ? Should I report critical bugs
against the above packages (the policy says "must") ? 

Bye, Mt.



Reply to: