kernel-devel postinstall script

Rudi Chiarito nutello at sweetness.com
Tue Sep 6 13:28:32 UTC 2005


Instead of

if [ -x /usr/sbin/hardlink ] ; then
  pushd /usr/src/kernels/2.6.13-1.1536_FC5-i686 > /dev/null
  /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
  popd > /dev/null
fi

shouldn't the postinstall script of kernel-devel be something like

kernels=(/usr/src/kernels/*FC*)
if [ ${#kernels[*]} -gt 1 ] ; then
  if [ -x /usr/sbin/hardlink ] ; then
    pushd /usr/src/kernels/2.6.13-1.1536_FC5-i686 > /dev/null
    /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
    popd > /dev/null
  fi
fi

? I.e. don't bother trying to hardlink stuff if there is only one *FC*
subdirectory in /usr/src/kernels. There are almost 5000 files in the
latest kernel-devel package. The array stuff can be redone using string
comparisons if it's a bashism, not guaranteed to be in /bin/sh, that
needs to go away.

Am I missing something as usual? 

-- 
Rudi




More information about the devel mailing list