summaryrefslogtreecommitdiffstats
path: root/kernel/update_kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/update_kernel')
-rwxr-xr-xkernel/update_kernel103
1 files changed, 0 insertions, 103 deletions
diff --git a/kernel/update_kernel b/kernel/update_kernel
deleted file mode 100755
index 135db4acb..000000000
--- a/kernel/update_kernel
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-use list_modules;
-
-my $RPMS = '/export/media/main';
-my $rpm = 'rpm --nosignature';
-
-
-my $MOVE = $ARGV[0] eq '--move' && shift;
-
-@ARGV <= 1 or die "usage: ./update_kernel [--move] [<kernel rpm>]\n";
-
-
-mkdir 'all.kernels'; # make sure "all.kernels" directory exists
-eval { rm_rf('all.modules') }; #- not used anymore
-
-my $main = chomp_(cat_('all.kernels/.main'));
-my $main_BOOT = chomp_(cat_('all.kernels/.main-BOOT'));
-
-if (@ARGV) {
- install_kernel($ARGV[0]);
-} else {
- update_kernel_from_repository($RPMS, '2.6', 0);
- update_kernel_from_repository($RPMS, '2.6', 1);
-# update_kernel_from_repository($RPMS, '2.4', 1);
-}
-
-
-sub system_verbose { print join(' ', @_), "\n"; system(@_) }
-sub sys { &system_verbose; $? and die }
-
-sub rpm2version {
- my ($kernel_rpm) = @_;
- `$rpm -qpl $kernel_rpm` =~ m!/boot/vmlinuz-(.*)! && $1 or die "can't find vmlinuz in $kernel_rpm\n";
-}
-
-sub update_kernel_from_repository {
- my ($RPMS, $main_ver, $is_BOOT) = @_;
- my $rpm_wildcard = 'kernel-' . ($is_BOOT ? 'BOOT-' : (arch() =~ /i.86/ ? 'i586-up-1GB-' : '')) . $main_ver . '*.rpm';
- my @kernels = glob("$RPMS/$rpm_wildcard");
-
- install_kernel($_, 1) foreach @kernels;
-}
-
-sub install_kernel {
- my ($kernel_rpm, $o_update) = @_;
-
- my $kern_ver = rpm2version($kernel_rpm);
- my $dir = "all.kernels/$kern_ver";
-
- -d $dir and return if $o_update;
-
- my $is_BOOT = $kern_ver =~ /BOOT/;
-
- if (!$main || !-d "all.kernels/$main") {
- $main = $kern_ver;
- output('all.kernels/.main', "$main\n");
- }
- if ($is_BOOT && (!$main_BOOT || !-d "all.kernels/$main_BOOT")) {
- $main_BOOT = $kern_ver;
- output('all.kernels/.main-BOOT', "$main_BOOT\n");
- }
-
- warn "Installing kernel $kern_ver\n";
-
- eval { rm_rf($dir) };
- mkdir_p("$dir/modules");
- sys("rpm2cpio $kernel_rpm | (cd $dir ; cpio -id)");
-
- rename "$dir/boot/vmlinuz-$kern_ver", "$dir/vmlinuz" or die "can't find vmlinuz\n";
-
- sys("find $dir -name '*.gz' | xargs gunzip");
-
- my $ext = module_extension($kern_ver);
-
- open(my $F, "find $dir -name '*.$ext' |");
- my $file; while ($file = <$F>) {
- chomp($file);
- rename $file, "$dir/modules/" . basename($file) or warn "conflict for $file\n";
- }
-
- if (kernel_is_26($kern_ver)) {
- warn "no stripping on 2.6 since it breaks modules\n";
- } else {
- print STDERR "stripping $kern_ver: ";
- sys("./strip_modules $dir/modules/*.$ext");
- print STDERR "done\n";
- }
-
- sys('perl', 'modules.pl', 'remove_unneeded_modules', $kern_ver) if $kern_ver !~ /BOOT/;
-
- sys('perl', 'modules.pl', 'make_modules_per_image', $kern_ver);
- sys('perl', 'modules.pl', 'make_modules_description', $kern_ver) if $kern_ver eq $main;
-
- if (!$MOVE) {
- print STDERR "packdrake $kern_ver: ";
- sys("cd $dir/modules ; ls *.$ext | packdrake -b9s ../modules.cz 400000");
- print STDERR "done\n";
- }
-
- eval { rm_rf("$dir$_") } foreach qw(/boot /lib /usr /modules);
-}