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

From: Mark Miller
Date: Fri Jan 02 2009 - 05:30:27 EST



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@xxxxxxxxxx




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/