summaryrefslogtreecommitdiffstats
path: root/installer/OpenSLX/OSSetup/MetaPackager/zypper.pm
diff options
context:
space:
mode:
Diffstat (limited to 'installer/OpenSLX/OSSetup/MetaPackager/zypper.pm')
-rw-r--r--installer/OpenSLX/OSSetup/MetaPackager/zypper.pm122
1 files changed, 0 insertions, 122 deletions
diff --git a/installer/OpenSLX/OSSetup/MetaPackager/zypper.pm b/installer/OpenSLX/OSSetup/MetaPackager/zypper.pm
deleted file mode 100644
index 4bb22bde..00000000
--- a/installer/OpenSLX/OSSetup/MetaPackager/zypper.pm
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright (c) 2006, 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# zypper.pm
-# - provides zypper-specific overrides of the OpenSLX::OSSetup::MetaPackager API.
-# -----------------------------------------------------------------------------
-package OpenSLX::OSSetup::MetaPackager::zypper;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSSetup::MetaPackager::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### implementation
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {
- 'name' => 'zypper',
- };
- return bless $self, $class;
-}
-
-sub initPackageSources
-{
- my $self = shift;
-
- $ENV{LC_ALL} = 'POSIX';
-
- # remove any existing channels
- slxsystem("rm -f /etc/zypp/repos.d/*");
-
- return 1;
-}
-
-sub setupPackageSource
-{
- my $self = shift;
- my $repoName = shift;
- my $repoInfo = shift;
- my $excludeList = shift;
- my $repoURLs = shift;
-
- my $repoSubdir = '';
- if (defined $repoInfo->{'repo-subdir'} &&
- length($repoInfo->{'repo-subdir'})) {
- $repoSubdir = "/$repoInfo->{'repo-subdir'}";
- }
- my $baseURL = shift @$repoURLs;
-
- if ($baseURL =~ m/non-oss/) {
- # skip non-oss repositories, cause zypper can't realy handle them
- # correctly; zypper is deacting them with following message:
- # "Repository type can't be determined."
- return 1;
- }
-
- if (slxsystem("zypper addrepo $baseURL$repoSubdir $repoName")) {
- die _tr("unable to add repo '%s' (%s)\n", $repoName, $!);
- }
-
- return 1;
-}
-
-sub installPackages
-{
- my $self = shift;
- my $packages = shift;
- my $doRefresh = shift || 0;
-
- $packages =~ tr{\n}{ };
-
- if ($doRefresh && slxsystem("zypper --non-interactive refresh")) {
- die _tr("unable to update repo info (%s)\n", $!);
- }
- if (slxsystem("zypper --non-interactive install $packages")) {
- die _tr("unable to install selection (%s)\n", $!);
- }
-
- return 1;
-}
-
-sub removePackages
-{
- 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
-{
- my $self = shift;
-
- if (slxsystem("zypper --non-interactive update")) {
- if ($! == 2) {
- # file not found => zypper isn't installed
- die _tr("unable to update this vendor-os, as it seems to lack an installation of zypper!\n");
- }
- die _tr("unable to update this vendor-os (%s)\n", $!);
- }
-
- return 1;
-}
-
-1;