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);
}