Re: Why not distribute Kernel and all related tools together

Jon Tombs (jon@gte.esi.us.es)
Wed, 15 May 1996 21:12:31 +0200 (MET DST)


Bartlomiej Czardybon said:
> YES, it is very cool idea. It would be MUCH easier to upgrade to new
> kernel, now it happens so that I test it, look at Chenges file, look at
> packages what really changed and install it.. There is anther benefit of
> that solution: no more questions: 'What version of procps do You use ?'

But Everybody knows that you should mail to the kernel list before reading the
kernel documentation if a kernel function like ps suddenly starts dying with a
SEGV...

If somebody was really very ambitious what you can do is take the Changes file
as a database and write a script to warn the kernel compiler luser to update
packages.

For each package that the Changes file recomends a minimum release, do a check
that the binary is upto date as the last step of make config. You just need to
devise a way to check the version, as a worst case you can get the last
modified date and check it is later than the release of the package. We wont
catch 100% (poeple who recently installed old binaries or got a precompiled
binary so never ran make config), but I'm sure it will get a lot of would-be
kernel-list noise.

Here psuedo code started for the would version checker. I don't have time to
finish it, but will help anyone that takes it up.

-------------
#!/bin/sh

check_ps()
{
if [ `$1` != "procps version 0.99" ]; then
return 1
else
return 0
fi
}

check_termcap()
{
if egrep -s linux /etc/termcap > /dev/null; then
:
else
echo Read Documentation/Changes and fix /etc/termcap
fi
}

check_pppd() etc...

check_termcap
for binary in ps pppd ld init mdir fdformat; do

binpath`type -p $binary`

if [ x"$binpath" != x ]; then #the binary is installed
case $binary in
ps)
if check_ps $binpath;
echo You need to install ps-0.99f or it will SEGV
fi
;;
pppd)
...
etc
;;
esac
fi
done

-- 
Jon. <jon@gte.esi.us.es, http://www.esi.us.es/~jon>