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

Mark Miller
2009-01-02T10:30:28Z

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.

--
Mark Miller
mark@mirell.org