diff options
author | Oliver Tappe | 2007-02-12 22:44:09 +0100 |
---|---|---|
committer | Oliver Tappe | 2007-02-12 22:44:09 +0100 |
commit | 1455d67711a5353adabdba8183d3bc603ea7f216 (patch) | |
tree | aff1e168c4e7bc30860613581bf472794cf621ff /installer/OpenSLX/OSSetup/MetaPackager/yum.pm | |
parent | Inserted start script for policykitd (needed for device access in KDE (diff) | |
download | core-1455d67711a5353adabdba8183d3bc603ea7f216.tar.gz core-1455d67711a5353adabdba8183d3bc603ea7f216.tar.xz core-1455d67711a5353adabdba8183d3bc603ea7f216.zip |
* added perl-ified slxos-setup script and the relevant perl-modules, still not done, but
nearly there
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@698 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSSetup/MetaPackager/yum.pm')
-rw-r--r-- | installer/OpenSLX/OSSetup/MetaPackager/yum.pm | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/installer/OpenSLX/OSSetup/MetaPackager/yum.pm b/installer/OpenSLX/OSSetup/MetaPackager/yum.pm new file mode 100644 index 00000000..3673266d --- /dev/null +++ b/installer/OpenSLX/OSSetup/MetaPackager/yum.pm @@ -0,0 +1,71 @@ +# yum.pm +# - provides yum-specific overrides of the OpenSLX::OSSetup::MetaPackager API. +# +# (c) 2006 - OpenSLX.com +# +# Oliver Tappe <ot@openslx.com> +# +package OpenSLX::OSSetup::MetaPackager::yum; + +use vars qw(@ISA $VERSION); +@ISA = ('OpenSLX::OSSetup::MetaPackager::Base'); +$VERSION = 1.01; # API-version . implementation-version + +use strict; +use Carp; +use OpenSLX::Basics; +use OpenSLX::OSSetup::MetaPackager::Base 1.01; + +################################################################################ +### implementation +################################################################################ +sub new +{ + my $class = shift; + my $self = { + 'name' => 'yum', + }; + return bless $self, $class; +} + +sub initialize +{ + my $self = shift; + my $engine = shift; + + $self->SUPER::initialize($engine); + $ENV{LC_ALL} = 'POSIX'; +} + +sub setupPackageSource +{ + my $self = shift; + my $repoName = shift; + my $repoInfo = shift; + + my $repoURL = $self->{engine}->selectBaseURL($repoInfo); + if (length($repoInfo->{'repo-subdir'})) { + $repoURL .= "/$repoInfo->{'repo-subdir'}"; + } + my $repoDescr = "[$repoName]\nname=$repoInfo->{name}\nbaseurl=$repoURL\n"; + system("cp /proc/cpuinfo $self->{engine}->{'system-path'}/proc"); + system("mkdir -p $self->{engine}->{'system-path'}/etc/yum.repos.d"); + my $repoFile + = "$self->{engine}->{'system-path'}/etc/yum.repos.d/$repoName.repo"; + open(REPO, "> $repoFile") + or die _tr("unable to create repo-file <%s> (%s)", $repoFile, $1); + print REPO $repoDescr; + close(REPO); +} + +sub updateBasicSystem +{ + my $self = shift; + + if (system("yum -y update")) { + die _tr("unable to update basic system (%s)", $!); + } + system('rm /proc/cpuinfo'); +} + +1;
\ No newline at end of file |