All pastes #294380 Raw Edit

Miscellany

public text v1 · immutable
#294380 ·published 2006-12-28 12:19 UTC
rendered paste body
#!/usr/bin/perl
# simple script to make kerns with make-kpkg.   - nathan

use IO::File;
use Sys::Hostname;

$host      = hostname();
$time      = '/usr/bin/time -f "%E real, %U user, %S sys."';
$initrd    = "yes";
$srcdir    = "/usr/src";
$verfile   = ".lastkern";
$makeflags = " MAKEFLAGS=CC=/usr/bin/gcc";
$clevel    = " CONCURRENCY_LEVEL=1 ";

$fh = new IO::File;
if (!$fh->open("< ".$srcdir."/".$verfile)) {
	printf("Version file (".$verfile.") doesn't exist!\n");
	$fh->close;
	exit(1);
} else {
	$revision = <$fh>;
	if ($fh->open("> ".$srcdir."/".$verfile)) {
		$revision++;
		$fh->printf($revision);
		$fh->close;
		$revision = sprintf("%03d",$revision);
	} else {
		printf("Couldn't write to version file!\n");
		exit(1);
	}
	printf(
			"*** Making a kernel ***\n".
			" -> revision = ".$revision."\n".
			" -> host     = ".$host."\n");
	
	if($initrd =~ m/(yes|1|true)/i) {
		$ird = "--initrd ";
		printf(" -> initrd   = yes\n");
	} else {
		printf(" -> initrd   = no\n");
	}

	printf("***********************\n");

	$cleancmd = "make-kpkg clean";
	$buildcmd = $time." /bin/dash -c \'".$makeflags.$clevel ."make-kpkg --rootcmd fakeroot ".$ird."--bzimage --revision ".$host.".".$revision." kernel_image\'";

	system($cleancmd);
	system($buildcmd);
}