diff options
| author | Oliver Tappe | 2008-02-27 23:56:28 +0100 |
|---|---|---|
| committer | Oliver Tappe | 2008-02-27 23:56:28 +0100 |
| commit | d4fd61af70387019f788f736869a51308b3d7d72 (patch) | |
| tree | 8ceb197c19ba9825515bc3fff5dbeddebfc16437 /installer/OpenSLX/OSSetup/MetaPackager | |
| parent | Working on CD preboot ... (diff) | |
| download | core-d4fd61af70387019f788f736869a51308b3d7d72.tar.gz core-d4fd61af70387019f788f736869a51308b3d7d72.tar.xz core-d4fd61af70387019f788f736869a51308b3d7d72.zip | |
* OSPlugin::Engine now provides a real support interface for plugins, which
can be used to get info about the vendor-OS and distro, install/uninstall
packages, download files (and more stuff to come).
* Adjusted OSSetup::Engine and OSSetup::MetaPackager to the demands of the
new support interface.
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1580 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSSetup/MetaPackager')
| -rw-r--r-- | installer/OpenSLX/OSSetup/MetaPackager/Base.pm | 4 | ||||
| -rw-r--r-- | installer/OpenSLX/OSSetup/MetaPackager/apt.pm | 26 | ||||
| -rw-r--r-- | installer/OpenSLX/OSSetup/MetaPackager/smart.pm | 24 | ||||
| -rw-r--r-- | installer/OpenSLX/OSSetup/MetaPackager/yum.pm | 26 | ||||
| -rw-r--r-- | installer/OpenSLX/OSSetup/MetaPackager/zypper.pm | 28 |
5 files changed, 86 insertions, 22 deletions
diff --git a/installer/OpenSLX/OSSetup/MetaPackager/Base.pm b/installer/OpenSLX/OSSetup/MetaPackager/Base.pm index dd552071..91b2d087 100644 --- a/installer/OpenSLX/OSSetup/MetaPackager/Base.pm +++ b/installer/OpenSLX/OSSetup/MetaPackager/Base.pm @@ -53,6 +53,10 @@ sub installSelection { } +sub removeSelection +{ +} + 1; ################################################################################ diff --git a/installer/OpenSLX/OSSetup/MetaPackager/apt.pm b/installer/OpenSLX/OSSetup/MetaPackager/apt.pm index 5cfd2655..137bab5e 100644 --- a/installer/OpenSLX/OSSetup/MetaPackager/apt.pm +++ b/installer/OpenSLX/OSSetup/MetaPackager/apt.pm @@ -61,7 +61,8 @@ sub initPackageSources END-OF-HERE spitFile('/etc/kernel-img.conf', $kernelConfig); } - return; + + return 1; } sub setupPackageSource @@ -89,10 +90,11 @@ sub setupPackageSource sub installSelection { - my $self = shift; + my $self = shift; my $pkgSelection = shift; + my $doRefresh = shift || 0; - if (slxsystem("apt-get -y update")) { + if ($doRefresh && slxsystem("apt-get -y update")) { die _tr("unable to update repository info (%s)\n", $!); } if ('/var/cache/debconf/slx-defaults.dat') { @@ -105,7 +107,20 @@ sub installSelection } delete $ENV{DEBCONF_DB_FALLBACK}; delete $ENV{DEBIAN_FRONTEND}; - return; + + return 1; +} + +sub removeSelection +{ + my $self = shift; + my $pkgSelection = shift; + + if (slxsystem("apt-get -y remove $pkgSelection")) { + die _tr("unable to remove selection (%s)\n", $!); + } + + return 1; } sub updateBasicVendorOS @@ -118,7 +133,8 @@ sub updateBasicVendorOS if (slxsystem("apt-get -y upgrade")) { die _tr("unable to update this vendor-os (%s)\n", $!); } - return; + + return 1; } 1;
\ No newline at end of file diff --git a/installer/OpenSLX/OSSetup/MetaPackager/smart.pm b/installer/OpenSLX/OSSetup/MetaPackager/smart.pm index 71d9875c..cbe96009 100644 --- a/installer/OpenSLX/OSSetup/MetaPackager/smart.pm +++ b/installer/OpenSLX/OSSetup/MetaPackager/smart.pm @@ -44,7 +44,7 @@ sub initPackageSources if (slxsystem("smart channel -y --remove-all")) { die _tr("unable to remove existing channels (%s)\n", $!); } - return; + return 1; } sub setupPackageSource @@ -79,21 +79,33 @@ sub setupPackageSource ); } } - return; + return 1; } sub installSelection { - my $self = shift; + my $self = shift; my $pkgSelection = shift; + my $doRefresh = shift || 0; - if (slxsystem("smart update")) { + if ($doRefresh && slxsystem("smart update")) { die _tr("unable to update channel info (%s)\n", $!); } if (slxsystem("smart install -y $pkgSelection")) { die _tr("unable to install selection (%s)\n", $!); } - return; + return 1; +} + +sub removeSelection +{ + my $self = shift; + my $pkgSelection = shift; + + if (slxsystem("smart remove -y $pkgSelection")) { + die _tr("unable to remove selection (%s)\n", $!); + } + return 1; } sub updateBasicVendorOS @@ -107,7 +119,7 @@ sub updateBasicVendorOS } die _tr("unable to update this vendor-os (%s)\n", $!); } - return; + return 1; } 1;
\ No newline at end of file diff --git a/installer/OpenSLX/OSSetup/MetaPackager/yum.pm b/installer/OpenSLX/OSSetup/MetaPackager/yum.pm index 337227ed..7d2bc630 100644 --- a/installer/OpenSLX/OSSetup/MetaPackager/yum.pm +++ b/installer/OpenSLX/OSSetup/MetaPackager/yum.pm @@ -41,7 +41,8 @@ sub initPackageSources slxsystem("rm -f /etc/yum.repos.d/*"); slxsystem("mkdir -p /etc/yum.repos.d"); - return; + + return 1; } sub setupPackageSource @@ -66,18 +67,32 @@ sub setupPackageSource } my $repoFile = "/etc/yum.repos.d/$repoName.repo"; spitFile($repoFile, "$repoDescr\nexclude=$excludeList\n"); - return; + + return 1; } sub installSelection { - my $self = shift; + my $self = shift; my $pkgSelection = shift; if (slxsystem("yum -y install $pkgSelection")) { die _tr("unable to install selection (%s)\n", $!); } - return; + + return 1; +} + +sub removeSelection +{ + my $self = shift; + my $pkgSelection = shift; + + if (slxsystem("yum -y remove $pkgSelection")) { + die _tr("unable to remove selection (%s)\n", $!); + } + + return 1; } sub updateBasicVendorOS @@ -91,7 +106,8 @@ sub updateBasicVendorOS } die _tr("unable to update this vendor-os (%s)\n", $!); } - return; + + return 1; } 1;
\ No newline at end of file diff --git a/installer/OpenSLX/OSSetup/MetaPackager/zypper.pm b/installer/OpenSLX/OSSetup/MetaPackager/zypper.pm index bb50ad4c..04554e70 100644 --- a/installer/OpenSLX/OSSetup/MetaPackager/zypper.pm +++ b/installer/OpenSLX/OSSetup/MetaPackager/zypper.pm @@ -41,7 +41,8 @@ sub initPackageSources # remove any existing channels slxsystem("rm -f /etc/zypp/repos.d/*"); - return; + + return 1; } sub setupPackageSource @@ -61,21 +62,35 @@ sub setupPackageSource die _tr("unable to add repo '%s' (%s)\n", $repoName, $!); } - return; + return 1; } sub installSelection { - my $self = shift; + my $self = shift; my $pkgSelection = shift; + my $doRefresh = shift || 0; - if (slxsystem("zypper --non-interactive refresh")) { + if ($doRefresh && slxsystem("zypper --non-interactive refresh")) { die _tr("unable to update repo info (%s)\n", $!); } if (slxsystem("zypper --non-interactive install $pkgSelection")) { die _tr("unable to install selection (%s)\n", $!); } - return; + + return 1; +} + +sub removeSelection +{ + my $self = shift; + my $pkgSelection = shift; + + if (slxsystem("zypper --non-interactive remove $pkgSelection")) { + die _tr("unable to remove selection (%s)\n", $!); + } + + return 1; } sub updateBasicVendorOS @@ -89,7 +104,8 @@ sub updateBasicVendorOS } die _tr("unable to update this vendor-os (%s)\n", $!); } - return; + + return 1; } 1;
\ No newline at end of file |
