Re: PATCH [0/3]: Simplify the kernel build by removing perl.

Matt Keenan
2009-01-02T11:21:28Z

On Fri, 2009-01-02 at 04:30 -0600, Mark Miller wrote:
> On Jan 2, 2009, at 4:16 AM, Alejandro Mery wrote:
>
> > Christoph Hellwig escribió:
> >> On Fri, Jan 02, 2009 at 10:26:37AM +0100, Arkadiusz Miskiewicz wrote:
> >>
> >>> On Friday 02 of January 2009, Rob Landley wrote:
> >>>
> >>>> Before 2.6.25 (specifically git
> >>>> bdc807871d58285737d50dc6163d0feb72cb0dc2 )
> >>>> building a Linux kernel never required perl to be installed on
> >>>> the build
> >>>> system. (Various development and debugging scripts were written
> >>>> in perl
> >>>> and python and such, but they weren't involved in actually
> >>>> building a
> >>>> kernel.) Building a kernel before 2.6.25 could be done with a
> >>>> minimal
> >>>> system built from gcc, binutils, bash, make, busybox, uClibc, and
> >>>> the Linux
> >>>> kernel, and nothing else.
> >>>>
> >>> And now bash is going to be required... while some distros don't
> >>> need/have
> >>> bash. /bin/sh should be enough.
> >>>
> >>
> >> *nod* bash is in many ways a worse requirement than perl. strict
> >> posix
> >> /bin/sh + awk + sed would be nicest, but if that's too much work perl
> >> seems reasonable.
>
> >>
> > well, bash is not worse as bash is trivial to cross-compile to run
> > on a
> > constrained sandbox and perl is a nightmare, but I agree bash should
> > be
> > avoided too.
> >
> > I think the $(( ... )) bash-ism can be replaced with a simple .c
> > helper toy.
> >
> > Thank Rob for reopening the topic.
> >
> > Alejandro Mery
>
> And actually, one of the things that I just recalled, is that several
> of the Perl configure scripts in order to actually build itself, rely
> on Bourne shell calls. So the argument to require a strict POSIX+sed
> +awk implementation rather than Perl to build the kernel, fails, since
> you already require some variant of shell greater than strict POSIX /
> bin/sh to build Perl. So this is one less dependency.
>
> Also, attempting to cross-compile Perl, is indeed a nightmare.
>

Having cross compiled Perl, on to a Unix with a brain dead third party
TCP/IP no less, only 4 years after starting to use Unix / Linux I can
attest that it is not that difficult to cross compile. Heck it even runs
on those weird Crays that don't know which byte sex they are.

Matt