From 01ecaf5d636167ebbc8c17d085f3cfbddb2cadd7 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Thu, 28 Aug 2008 20:33:45 +0000 Subject: * implemented supported for automatic selection of the matching hwinfo version (in initramfs/OpenSLX/MakeInitRamFS/Engine and the respective Distro classes) * removed hwinfo binary and libhd incarnations from uclib-rootfs, as they are no longer needed (and could in fact get in the way) git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2122 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initramfs/OpenSLX/MakeInitRamFS/Distro/Base.pm | 8 ++++++++ initramfs/OpenSLX/MakeInitRamFS/Distro/Debian.pm | 12 ++++++++++++ initramfs/OpenSLX/MakeInitRamFS/Distro/Suse.pm | 14 ++++++++++++++ initramfs/OpenSLX/MakeInitRamFS/Distro/Ubuntu.pm | 12 ++++++++++++ initramfs/OpenSLX/MakeInitRamFS/Engine.pm | 22 ++++++++++++++++++++++ initramfs/uclib-rootfs/sbin/hwinfo | Bin 84624 -> 0 bytes initramfs/uclib-rootfs/usr/lib/libhd.so | 1 - initramfs/uclib-rootfs/usr/lib/libhd.so.15 | 1 - initramfs/uclib-rootfs/usr/lib/libhd.so.15.3 | Bin 3203175 -> 0 bytes 9 files changed, 68 insertions(+), 2 deletions(-) delete mode 100755 initramfs/uclib-rootfs/sbin/hwinfo delete mode 120000 initramfs/uclib-rootfs/usr/lib/libhd.so delete mode 120000 initramfs/uclib-rootfs/usr/lib/libhd.so.15 delete mode 100755 initramfs/uclib-rootfs/usr/lib/libhd.so.15.3 diff --git a/initramfs/OpenSLX/MakeInitRamFS/Distro/Base.pm b/initramfs/OpenSLX/MakeInitRamFS/Distro/Base.pm index 30b9d385..9a7e4966 100644 --- a/initramfs/OpenSLX/MakeInitRamFS/Distro/Base.pm +++ b/initramfs/OpenSLX/MakeInitRamFS/Distro/Base.pm @@ -37,4 +37,12 @@ sub applyChanges { } +sub determineMatchingHwinfoVersion +{ + my $self = shift; + my $distroVersion = shift; + + return '15.3'; +} + 1; diff --git a/initramfs/OpenSLX/MakeInitRamFS/Distro/Debian.pm b/initramfs/OpenSLX/MakeInitRamFS/Distro/Debian.pm index 3962a506..84d159c9 100644 --- a/initramfs/OpenSLX/MakeInitRamFS/Distro/Debian.pm +++ b/initramfs/OpenSLX/MakeInitRamFS/Distro/Debian.pm @@ -42,4 +42,16 @@ sub applyChanges return; } +sub determineMatchingHwinfoVersion +{ + my $self = shift; + my $distroVersion = shift; + + # TODO: fill this map (see Suse.pm for an example) + my %suseMap = ( + ); + return $suseMap{$distroVersion} + || $self->SUPER::determineMatchingHwinfoVersion($distroVersion); +} + 1; \ No newline at end of file diff --git a/initramfs/OpenSLX/MakeInitRamFS/Distro/Suse.pm b/initramfs/OpenSLX/MakeInitRamFS/Distro/Suse.pm index a045fe47..daa37ab3 100644 --- a/initramfs/OpenSLX/MakeInitRamFS/Distro/Suse.pm +++ b/initramfs/OpenSLX/MakeInitRamFS/Distro/Suse.pm @@ -42,4 +42,18 @@ sub applyChanges return; } +sub determineMatchingHwinfoVersion +{ + my $self = shift; + my $distroVersion = shift; + + my %suseMap = ( + '10.2' => '13.11', + '10.3' => '14.19', + '11.0' => '15.3', + ); + return $suseMap{$distroVersion} + || $self->SUPER::determineMatchingHwinfoVersion($distroVersion); +} + 1; \ No newline at end of file diff --git a/initramfs/OpenSLX/MakeInitRamFS/Distro/Ubuntu.pm b/initramfs/OpenSLX/MakeInitRamFS/Distro/Ubuntu.pm index 825d83c2..5c9c3da1 100644 --- a/initramfs/OpenSLX/MakeInitRamFS/Distro/Ubuntu.pm +++ b/initramfs/OpenSLX/MakeInitRamFS/Distro/Ubuntu.pm @@ -42,4 +42,16 @@ sub applyChanges return; } +sub determineMatchingHwinfoVersion +{ + my $self = shift; + my $distroVersion = shift; + + # TODO: fill this map (see Suse.pm for an example) + my %suseMap = ( + ); + return $suseMap{$distroVersion} + || $self->SUPER::determineMatchingHwinfoVersion($distroVersion); +} + 1; \ No newline at end of file diff --git a/initramfs/OpenSLX/MakeInitRamFS/Engine.pm b/initramfs/OpenSLX/MakeInitRamFS/Engine.pm index 42ee2398..b5401acd 100644 --- a/initramfs/OpenSLX/MakeInitRamFS/Engine.pm +++ b/initramfs/OpenSLX/MakeInitRamFS/Engine.pm @@ -146,6 +146,7 @@ sub _collectCMDs $self->_writeSlxSystemConf(); $self->_copyUclibcRootfs(); + $self->_copyHwinfo(); $self->_copyDistroSpecificFiles(); $self->_copyInitramfsFiles(); @@ -263,6 +264,27 @@ sub _copyUclibcRootfs return 1; } +sub _copyHwinfo +{ + my $self = shift; + + my $baseDir = "$openslxConfig{'base-path'}/share/ramfstools/hwinfo"; + + my $version = $self->{distro}->determineMatchingHwinfoVersion( + $self->{'distro-ver'} + ); + + $self->addCMD("cp $baseDir/bin/hwinfo-$version $self->{'build-path'}/usr/bin/hwinfo"); + my $libHD = "libhd.so.$version"; + $self->addCMD("cp $baseDir/lib/$libHD $self->{'build-path'}/usr/lib"); + my $libName = $libHD; + while($libName =~ s{\.\d+$}{}g) { + $self->addCMD("ln -sf $libHD $self->{'build-path'}/usr/lib/$libName"); + } + + return 1; +} + sub _copyInitramfsFiles { my $self = shift; diff --git a/initramfs/uclib-rootfs/sbin/hwinfo b/initramfs/uclib-rootfs/sbin/hwinfo deleted file mode 100755 index 6cfc82f6..00000000 Binary files a/initramfs/uclib-rootfs/sbin/hwinfo and /dev/null differ diff --git a/initramfs/uclib-rootfs/usr/lib/libhd.so b/initramfs/uclib-rootfs/usr/lib/libhd.so deleted file mode 120000 index 7f27e910..00000000 --- a/initramfs/uclib-rootfs/usr/lib/libhd.so +++ /dev/null @@ -1 +0,0 @@ -libhd.so.15 \ No newline at end of file diff --git a/initramfs/uclib-rootfs/usr/lib/libhd.so.15 b/initramfs/uclib-rootfs/usr/lib/libhd.so.15 deleted file mode 120000 index b221b5ee..00000000 --- a/initramfs/uclib-rootfs/usr/lib/libhd.so.15 +++ /dev/null @@ -1 +0,0 @@ -libhd.so.15.3 \ No newline at end of file diff --git a/initramfs/uclib-rootfs/usr/lib/libhd.so.15.3 b/initramfs/uclib-rootfs/usr/lib/libhd.so.15.3 deleted file mode 100755 index 4893f0e7..00000000 Binary files a/initramfs/uclib-rootfs/usr/lib/libhd.so.15.3 and /dev/null differ -- cgit v1.2.3-55-g7522