lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200901020207.30359.rob@landley.net>
Date:	Fri, 2 Jan 2009 02:07:28 -0600
From:	Rob Landley <rob@...dley.net>
To:	Embedded Linux mailing list <linux-embedded@...r.kernel.org>
Cc:	linux-kernel@...r.kernel.org,
	Andrew Morton <akpm@...ux-foundation.org>,
	"H. Peter Anvin" <hpa@...or.com>, Sam Ravnborg <sam@...nborg.org>
Subject: PATCH [0/3]: Simplify the kernel build by removing perl.

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.  (Embedded developers creating clean cross compile environments that 
won't leak bits of the host system into the target, or bootstrapping native 
development environments to run on target hardware or under emulators, tend to 
care about this sort of thing.)

The perl checkin for 2.6.25 was the camel's nose under the tent flap, and 
since then two more instances of perl have shown up in the core kernel build.  
This patch series removes the three required to build a basic kernel for qemu 
for the targets I've tested (arm, mips, powerpc, sparc, m68k, sh4, and of 
course x86 and x86-64), replacing them with shell scripts.

Historically the kernel has gone out of its way to minimize environmental 
dependencies for the build.  For example, the plethora of *_shipped files mean 
we don't need lex and yacc to build the kernel.  The kconfig infrastructure 
once required curses to run "make oldconfig", but that requirement was 
restricted to just menuconfig so the kernel could build on systems without 
ncurses.

That was a very nice policy.  Kernel development already requires an in-depth 
knowledge of C, make, and shell, plus things like the kconfig language.  A 
similarly in-depth knowledge of perl is bigger than all that combined (even 
Larry Wall probably doesn't know all of Perl anymore), and then what's the 
excuse _not_ to add Python to the core build?  And after that why not java, or 
lua?  Where does it end?  What's the criteria to say "no" here?

This patch series saves time and says no now.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ