Make hardlinking kernel-devel optional
Chris Adams
cmadams at hiwaay.net
Wed Feb 1 14:04:58 UTC 2006
Once upon a time, Arjan van de Ven <arjan at infradead.org> said:
> On Tue, 2006-01-31 at 20:48 -0500, Dave Jones wrote:
> > > Another though: why the "find | while ; do hardlink"? You should just
> > > be able to do:
> > >
> > > if [ -x /usr/sbin/hardlink ] ; then
> > > /usr/sbin/hardlink /usr/src/kernels/*FC*
> > > fi
> > >
> > > The post script is forking hardlink over 5000 times as well as causing
> > > thousands of repeated directory lookups by find and the shell (that
> > > hardlink then has to do anyway), instead of just letting one run of
> > > hardlink do its job (it should recurse just fine).
> >
> > I've often wondered why it was written that way too.
> > Arjan, do you recall?
>
> if you have too many kernels, the direct commandline approach overflows
> the maximum length.
The current script has exactly the same problem then:
if [ -x /usr/sbin/hardlink ] ; then
pushd /usr/src/kernels/2.6.15-1.1884_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
The "*FC*" bit is in there as well; there is no difference with what I
posted above.
If you want to avoid wildcards, just do:
if [ -x /usr/sbin/hardlink ] ; then
/usr/sbin/hardlink /usr/src/kernels
fi
and let anyone that installs their own kernel source under there get
hardlinked as well.
--
Chris Adams <cmadams at hiwaay.net>
Systems and Network Administrator - HiWAAY Internet Services
I don't speak for anybody but myself - that's enough trouble.
More information about the fedora-devel-list
mailing list