summaryrefslogtreecommitdiffstats
path: root/installer
diff options
context:
space:
mode:
authorOliver Tappe2007-07-28 22:38:11 +0200
committerOliver Tappe2007-07-28 22:38:11 +0200
commit102f63c43b0e32622bb5bf83a84cdac67174f539 (patch)
treeebd5ad2f8c50bca4e8cc38140ae55ee8071bf39c /installer
parent* changed several class interfaces as a result of trying to integrate support (diff)
downloadcore-102f63c43b0e32622bb5bf83a84cdac67174f539.tar.gz
core-102f63c43b0e32622bb5bf83a84cdac67174f539.tar.xz
core-102f63c43b0e32622bb5bf83a84cdac67174f539.zip
* finished installation support for Debian-etch, Debian-sarge and Ubuntu
are nearly done (Ubuntu still missing a kernel ...) * some more refactorings to accommodate Debian-support git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1282 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer')
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm27
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm29
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Fedora_6.pm2
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm2
-rw-r--r--installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm2
-rw-r--r--installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm2
-rw-r--r--installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm2
-rw-r--r--installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm2
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Ubuntu_6_10.pm32
-rw-r--r--installer/OpenSLX/OSSetup/Engine.pm25
-rw-r--r--installer/OpenSLX/OSSetup/MetaPackager/apt.pm60
-rw-r--r--installer/OpenSLX/OSSetup/MetaPackager/smart.pm37
-rw-r--r--installer/OpenSLX/OSSetup/MetaPackager/yum.pm13
-rw-r--r--installer/OpenSLX/OSSetup/Packager/dpkg.pm10
14 files changed, 140 insertions, 105 deletions
diff --git a/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm b/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm
index c9476d25..22c35917 100644
--- a/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm
@@ -28,6 +28,8 @@ sub new
my $class = shift;
my $self = {
'base-name' => 'debian-3.1',
+ 'arch' => 'i386',
+ 'release-name' => 'sarge',
};
return bless $self, $class;
}
@@ -35,34 +37,35 @@ sub new
sub initDistroInfo
{
my $self = shift;
+
$self->{config}->{'repository'} = {
'base' => {
'urls' => "
+ http://debian.intergenia.de/debian
",
- 'name' => '',
- 'repo-subdir' => '',
- },
- 'base_update' => {
- 'urls' => '
- ',
- 'name' => '',
- 'repo-subdir' => '',
+ 'name' => 'Debian 3.1',
+ 'repo-subdir' => 'dists',
+ 'distribution' => 'sarge',
+ 'components' => 'main',
},
};
- $self->{config}->{'package-subdir'} = '';
+ $self->{config}->{'package-subdir'} = 'pool';
$self->{config}->{'prereq-packages'} = "
+ main/d/debootstrap/debootstrap_1.0.0_all.deb
";
- $self->{config}->{'bootstrap-prereq-packages'} = "";
-
$self->{config}->{'bootstrap-packages'} = "
";
$self->{config}->{'selection'} = {
- 'default' => "list any packagenames here",
+ 'default' => "
+ kernel-image-2.6-386
+ kmail
+ ",
};
+
return;
}
diff --git a/installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm b/installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm
index 2326f342..df0d81e0 100644
--- a/installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm
@@ -27,7 +27,9 @@ sub new
{
my $class = shift;
my $self = {
- 'base-name' => 'debian-4.0',
+ 'base-name' => 'debian-4.0',
+ 'arch' => 'i386',
+ 'release-name' => 'etch',
};
return bless $self, $class;
}
@@ -35,34 +37,35 @@ sub new
sub initDistroInfo
{
my $self = shift;
+
$self->{config}->{'repository'} = {
'base' => {
'urls' => "
+ http://debian.intergenia.de/debian
",
- 'name' => '',
- 'repo-subdir' => '',
- },
- 'base_update' => {
- 'urls' => '
- ',
- 'name' => '',
- 'repo-subdir' => '',
+ 'name' => 'Debian 4.0',
+ 'repo-subdir' => 'dists',
+ 'distribution' => 'etch',
+ 'components' => 'main',
},
};
- $self->{config}->{'package-subdir'} = '';
+ $self->{config}->{'package-subdir'} = 'pool';
$self->{config}->{'prereq-packages'} = "
+ main/d/debootstrap/debootstrap_1.0.0_all.deb
";
- $self->{config}->{'bootstrap-prereq-packages'} = "";
-
$self->{config}->{'bootstrap-packages'} = "
";
$self->{config}->{'selection'} = {
- 'default' => "list any packagenames here",
+ 'default' => "
+ kernel-image-2.6-386
+ kmail
+ ",
};
+
return;
}
diff --git a/installer/OpenSLX/OSSetup/Distro/Fedora_6.pm b/installer/OpenSLX/OSSetup/Distro/Fedora_6.pm
index 4417136a..18cc8d18 100644
--- a/installer/OpenSLX/OSSetup/Distro/Fedora_6.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Fedora_6.pm
@@ -79,8 +79,6 @@ sub initDistroInfo
zlib-1.2.3-3.i386.rpm
";
- $self->{config}->{'bootstrap-prereq-packages'} = "";
-
$self->{config}->{'bootstrap-packages'} = "
audit-libs-1.2.8-1.fc6.i386.rpm
basesystem-8.0-5.1.1.noarch.rpm
diff --git a/installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm b/installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm
index 8cd64775..894b11b6 100644
--- a/installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm
@@ -79,8 +79,6 @@ sub initDistroInfo
zlib-1.2.3-3.x86_64.rpm
";
- $self->{config}->{'bootstrap-prereq-packages'} = "";
-
$self->{config}->{'bootstrap-packages'} = "
audit-libs-1.2.8-1.fc6.x86_64.rpm
basesystem-8.0-5.1.1.noarch.rpm
diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm
index 3a00dd0c..41c176cf 100644
--- a/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm
+++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm
@@ -79,8 +79,6 @@ sub initDistroInfo
i586/zlib-1.2.3-13.i586.rpm
";
- $self->{config}->{'bootstrap-prereq-packages'} = "";
-
$self->{config}->{'bootstrap-packages'} = "
i586/aaa_base-10.1-41.i586.rpm
i586/aaa_skel-2006.3.29-5.i586.rpm i586/aaa_skel-2006.5.19-0.2.i586.rpm
diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm
index 5f73887d..b3ac80dc 100644
--- a/installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm
+++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm
@@ -79,8 +79,6 @@ sub initDistroInfo
x86_64/zlib-1.2.3-13.x86_64.rpm
";
- $self->{config}->{'bootstrap-prereq-packages'} = "";
-
$self->{config}->{'bootstrap-packages'} = "
x86_64/aaa_base-10.1-41.x86_64.rpm
x86_64/aaa_skel-2006.3.29-5.x86_64.rpm x86_64/aaa_skel-2006.5.19-0.2.x86_64.rpm
diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm
index 0513050f..ca6fd985 100644
--- a/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm
+++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm
@@ -77,8 +77,6 @@ sub initDistroInfo
i586/zlib-1.2.3-33.i586.rpm
";
- $self->{config}->{'bootstrap-prereq-packages'} = "";
-
$self->{config}->{'bootstrap-packages'} = "
i586/aaa_base-10.2-38.i586.rpm
i586/aaa_skel-2006.5.19-20.i586.rpm
diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm
index 2b6d4d7b..bc07ef08 100644
--- a/installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm
+++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm
@@ -79,8 +79,6 @@ sub initDistroInfo
x86_64/zlib-1.2.3-33.x86_64.rpm
";
- $self->{config}->{'bootstrap-prereq-packages'} = "";
-
$self->{config}->{'bootstrap-packages'} = "
x86_64/aaa_base-10.2-38.x86_64.rpm
x86_64/aaa_skel-2006.5.19-20.x86_64.rpm
diff --git a/installer/OpenSLX/OSSetup/Distro/Ubuntu_6_10.pm b/installer/OpenSLX/OSSetup/Distro/Ubuntu_6_10.pm
index 2882212f..d2ce3bd6 100644
--- a/installer/OpenSLX/OSSetup/Distro/Ubuntu_6_10.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Ubuntu_6_10.pm
@@ -40,10 +40,30 @@ sub initDistroInfo
$self->{config}->{'repository'} = {
'base' => {
'urls' => "
- ftp://localhost/pub/ubuntu
+ http://ubuntu.intergenia.de/ubuntu
",
'name' => 'Ubuntu 6.10',
- 'repo-subdir' => 'dists/edgy',
+ 'repo-subdir' => 'dists',
+ 'distribution' => 'edgy',
+ 'components' => 'main restricted',
+ },
+ 'base_updates' => {
+ 'urls' => "
+ ftp://localhost/pub/ubuntu
+ ",
+ 'name' => 'Ubuntu 6.10 Updates',
+ 'repo-subdir' => 'dists',
+ 'distribution' => 'edgy-updates',
+ 'components' => 'main restricted',
+ },
+ 'base_security' => {
+ 'urls' => "
+ ftp://localhost/pub/ubuntu
+ ",
+ 'name' => 'Ubuntu 6.10 Security',
+ 'repo-subdir' => 'dists',
+ 'distribution' => 'edgy-security',
+ 'components' => 'main restricted',
},
};
@@ -53,14 +73,14 @@ sub initDistroInfo
main/d/debootstrap/debootstrap_1.0.0_all.deb
";
- $self->{config}->{'bootstrap-prereq-packages'} = "
- ";
-
$self->{config}->{'bootstrap-packages'} = "
";
$self->{config}->{'selection'} = {
- 'default' => "kmail",
+ 'default' => "
+ kernel-image-2.6-386
+ kmail
+ ",
};
return;
}
diff --git a/installer/OpenSLX/OSSetup/Engine.pm b/installer/OpenSLX/OSSetup/Engine.pm
index a89f6e10..3876b672 100644
--- a/installer/OpenSLX/OSSetup/Engine.pm
+++ b/installer/OpenSLX/OSSetup/Engine.pm
@@ -34,10 +34,10 @@ use vars qw(%supportedDistros);
%supportedDistros = (
'debian-3.1' => {
- module => 'Debian_3_1', support => 'clone'
+ module => 'Debian_3_1', support => 'clone,install'
},
'debian-4.0' => {
- module => 'Debian_4_0', support => 'clone'
+ module => 'Debian_4_0', support => 'clone,install'
},
'fedora-6' => {
module => 'Fedora_6', support => 'clone,install'
@@ -79,7 +79,7 @@ use vars qw(%supportedDistros);
module => 'Ubuntu_6_06', support => 'clone'
},
'ubuntu-6.10' => {
- module => 'Ubuntu_6_10', support => 'clone,install'
+ module => 'Ubuntu_6_10', support => 'clone'
},
'ubuntu-7.04' => {
module => 'Ubuntu_7_04', support => 'clone'
@@ -627,8 +627,6 @@ sub _readDistroInfo
: ();
my $package_subdir = $self->{distro}->{config}->{'package-subdir'};
my $prereq_packages = $self->{distro}->{config}->{'prereq-packages'};
- my $bootstrap_prereq_packages =
- $self->{distro}->{config}->{'bootstrap-prereq-packages'};
my $bootstrap_packages = $self->{distro}->{config}->{'bootstrap-packages'};
my $metapackager_packages =
$self->{distro}->{config}->{'metapackager-packages'};
@@ -656,7 +654,6 @@ sub _readDistroInfo
$self->{'distro-info'} = {
'package-subdir' => $package_subdir,
'prereq-packages' => $prereq_packages,
- 'bootstrap-prereq-packages' => $bootstrap_prereq_packages,
'bootstrap-packages' => $bootstrap_packages,
'metapackager-packages' => $metapackager_packages,
'repository' => \%repository,
@@ -834,6 +831,7 @@ sub _startLocalURLServersAsNeeded
my $port = 5080;
foreach my $repoInfo (values %{$self->{'distro-info'}->{repository}}) {
+ $repoInfo->{'avoid-mirrors'} = $ENV{SLX_NO_MIRRORS} || 0;
my $localURL = $repoInfo->{url} || '';
next if !$localURL;
next if $localURL =~ m[^\w+:]; # anything with a protcol-spec is non-local
@@ -1071,10 +1069,6 @@ sub _stage1B_chrootAndBootstrap
my @prereqPkgs = $self->_downloadBaseFiles(\@pkgs);
$self->{packager}->bootstrap(\@prereqPkgs);
- @pkgs = string2Array($self->{'distro-info'}->{'bootstrap-prereq-packages'});
- my @bootstrapPrereqPkgs = $self->_downloadBaseFiles(\@pkgs);
- $self->{'bootstrap-prereq-packages'} = \@bootstrapPrereqPkgs;
-
@pkgs = string2Array($self->{'distro-info'}->{'bootstrap-packages'});
push(
@pkgs,
@@ -1084,8 +1078,7 @@ sub _stage1B_chrootAndBootstrap
)
);
my @bootstrapPkgs = $self->_downloadBaseFiles(\@pkgs);
- my @allPkgs = (@prereqPkgs, @bootstrapPrereqPkgs, @bootstrapPkgs);
- $self->{'bootstrap-packages'} = \@allPkgs;
+ $self->{'bootstrap-packages'} = \@bootstrapPkgs;
},
});
return;
@@ -1109,12 +1102,6 @@ sub _stage1C_chrootAndInstallBasicVendorOS
my $stage1cDir = "/$self->{stage1cSubdir}";
- # install all prerequired bootstrap packages
- $self->{packager}->installPrerequiredPackages(
- $self->{'bootstrap-prereq-packages'},
- $stage1cDir
- );
-
# import any additional trusted package keys to rpm-DB:
my $keyDir = "/trusted-package-keys";
my $keyDirDH;
@@ -1127,7 +1114,7 @@ sub _stage1C_chrootAndInstallBasicVendorOS
$self->{packager}->importTrustedPackageKeys(\@keyFiles, $stage1cDir);
}
- # install all other bootstrap packages
+ # install all bootstrap packages
$self->{packager}->installPackages(
$self->{'bootstrap-packages'}, $stage1cDir
);
diff --git a/installer/OpenSLX/OSSetup/MetaPackager/apt.pm b/installer/OpenSLX/OSSetup/MetaPackager/apt.pm
index 65a1d8e7..1526c4ec 100644
--- a/installer/OpenSLX/OSSetup/MetaPackager/apt.pm
+++ b/installer/OpenSLX/OSSetup/MetaPackager/apt.pm
@@ -37,20 +37,56 @@ sub initPackageSources
{
my $self = shift;
+ $ENV{LC_ALL} = 'POSIX';
+
+ # remove any existing sources
+ slxsystem('rm -f /etc/apt/sources.list');
+
+ # create default timezone if there isn't any
+ if (!-e '/etc/timezone') {
+ spitFile('/etc/timezone', "$openslxConfig{'default-timezone'}\n");
+ }
+
+ # create kernel config if there isn't any
+ if (!-e '/etc/kernel-img.conf') {
+ my $kernelConfig = unshiftHereDoc(<<" END-OF-HERE");
+ # Kernel image management overrides
+ # See kernel-img.conf(5) for details
+ do_symlinks = yes
+ relative_links = yes
+ do_bootloader = no
+ do_bootfloppy = no
+ do_initrd = yes
+ link_in_boot = yes
+ END-OF-HERE
+ spitFile('/etc/kernel-img.conf', $kernelConfig);
+ }
return;
}
sub setupPackageSource
{
- my $self = shift;
- my $repoName = shift;
- my $repoInfo = shift;
+ my $self = shift;
+ my $repoName = shift;
+ my $repoInfo = shift;
my $excludeList = shift;
+ my $repoURLs = shift;
+
+ my $baseURL = shift @$repoURLs;
+ my $distribution = $repoInfo->{'distribution'};
+ my $components = $repoInfo->{'components'};
+
+ my $sourcesList = "deb $baseURL $distribution $components\n";
- my $repoSubdir = '';
- if (length($repoInfo->{'repo-subdir'})) {
- $repoSubdir = "/$repoInfo->{'repo-subdir'}";
+ my $avoidMirrors = $repoInfo->{'avoid-mirrors'} || 0;
+ if (!$avoidMirrors) {
+ foreach my $mirrorURL (@$repoURLs) {
+ $sourcesList .= "deb $mirrorURL $distribution $components\n";
+ }
}
+
+ appendFile('/etc/apt/sources.list', $sourcesList);
+
return;
}
@@ -59,6 +95,12 @@ sub installSelection
my $self = shift;
my $pkgSelection = shift;
+ if (slxsystem("apt-get update")) {
+ die _tr("unable to update repository info (%s)\n", $!);
+ }
+ if (slxsystem("apt-get -y install $pkgSelection")) {
+ die _tr("unable to install selection (%s)\n", $!);
+ }
return;
}
@@ -66,6 +108,12 @@ sub updateBasicVendorOS
{
my $self = shift;
+ if (slxsystem("apt-get -y update")) {
+ die _tr("unable to update repository info (%s)\n", $!);
+ }
+ if (slxsystem("apt-get -y upgrade")) {
+ die _tr("unable to update this vendor-os (%s)\n", $!);
+ }
return;
}
diff --git a/installer/OpenSLX/OSSetup/MetaPackager/smart.pm b/installer/OpenSLX/OSSetup/MetaPackager/smart.pm
index 5303a50a..21fe6d92 100644
--- a/installer/OpenSLX/OSSetup/MetaPackager/smart.pm
+++ b/installer/OpenSLX/OSSetup/MetaPackager/smart.pm
@@ -33,22 +33,14 @@ sub new
return bless $self, $class;
}
-sub initialize
+sub initPackageSources
{
my $self = shift;
- my $engine = shift;
- $self->SUPER::initialize($engine);
$ENV{LC_ALL} = 'POSIX';
- return;
-}
-
-sub initPackageSources
-{
- my $self = shift;
+ # remove any existing channels
slxsystem("rm -f /etc/smart/channels/*");
- # remove channel if it already exists
if (slxsystem("smart channel -y --remove-all")) {
die _tr("unable to remove existing channels (%s)\n", $!);
}
@@ -74,19 +66,20 @@ sub setupPackageSource
if (slxsystem("smart channel -y --add $repoDescr")) {
die _tr("unable to add channel '%s' (%s)\n", $repoName, $!);
}
+
my $avoidMirrors = $repoInfo->{'avoid-mirrors'} || 0;
- unless ($ENV{SLX_NO_MIRRORS} || $avoidMirrors) {
- my $mirrorDescr;
- foreach my $mirrorURL (@$repoURLs) {
- $mirrorDescr .= " --add $baseURL$repoSubdir $mirrorURL$repoSubdir";
- }
- if (defined $mirrorDescr) {
- if (slxsystem("smart mirror $mirrorDescr")) {
- die _tr(
- "unable to add mirrors for channel '%s' (%s)\n",
- $repoName, $!
- );
- }
+ return if $avoidMirrors;
+
+ my $mirrorDescr;
+ foreach my $mirrorURL (@$repoURLs) {
+ $mirrorDescr .= " --add $baseURL$repoSubdir $mirrorURL$repoSubdir";
+ }
+ if (defined $mirrorDescr) {
+ if (slxsystem("smart mirror $mirrorDescr")) {
+ die _tr(
+ "unable to add mirrors for channel '%s' (%s)\n",
+ $repoName, $!
+ );
}
}
return;
diff --git a/installer/OpenSLX/OSSetup/MetaPackager/yum.pm b/installer/OpenSLX/OSSetup/MetaPackager/yum.pm
index 684d125b..fbb50017 100644
--- a/installer/OpenSLX/OSSetup/MetaPackager/yum.pm
+++ b/installer/OpenSLX/OSSetup/MetaPackager/yum.pm
@@ -33,19 +33,11 @@ sub new
return bless $self, $class;
}
-sub initialize
+sub initPackageSources
{
my $self = shift;
- my $engine = shift;
- $self->SUPER::initialize($engine);
$ENV{LC_ALL} = 'POSIX';
- return;
-}
-
-sub initPackageSources
-{
- my $self = shift;
slxsystem("rm -f /etc/yum.repos.d/*");
slxsystem("mkdir -p /etc/yum.repos.d");
@@ -68,8 +60,9 @@ sub setupPackageSource
my $repoDescr
= "[$repoName]\nname=$repoInfo->{name}\nbaseurl=$baseURL$repoSubdir\n";
+
my $avoidMirrors = $repoInfo->{'avoid-mirrors'} || 0;
- unless ($ENV{SLX_NO_MIRRORS} || $avoidMirrors) {
+ if (!$avoidMirrors) {
foreach my $mirrorURL (@$repoURLs) {
$repoDescr .= " $mirrorURL$repoSubdir\n";
}
diff --git a/installer/OpenSLX/OSSetup/Packager/dpkg.pm b/installer/OpenSLX/OSSetup/Packager/dpkg.pm
index 01867824..887a26d6 100644
--- a/installer/OpenSLX/OSSetup/Packager/dpkg.pm
+++ b/installer/OpenSLX/OSSetup/Packager/dpkg.pm
@@ -66,8 +66,8 @@ sub bootstrap
my $arch = $self->{engine}->{distro}->{arch};
my $releaseName = $self->{engine}->{distro}->{'release-name'};
my $baseURL = $self->{engine}->{baseURLs}->[0];
- my $debootstrapCmd = <<" END-OF-HERE";
- /usr/sbin/debootstrap --verbose --arch $arch $releaseName \\
+ my $debootstrapCmd = unshiftHereDoc(<<" END-OF-HERE");
+ /usr/sbin/debootstrap --arch $arch $releaseName \\
/slxbootstrap/slxfinal $baseURL
END-OF-HERE
if (slxsystem("ash", "-c", "/bin/ash $debootstrapCmd")) {
@@ -84,7 +84,7 @@ sub installPackages
return unless defined $pkgs && @$pkgs;
- if (slxsystem("rpm", "--root=$finalPath", "-ivh", @$pkgs)) {
+ if (slxsystem("dpkg", "--root=$finalPath", "--install", @$pkgs)) {
die _tr("error during package-installation (%s)\n", $!);
}
return;
@@ -94,8 +94,8 @@ sub getInstalledPackages
{
my $self = shift;
- my $rpmCmd = 'rpm -qa --queryformat="%{NAME}\n"';
- my $pkgList = `$rpmCmd`;
+ my $rpmCmd = 'dpkg-query -f "\${package}\n" --show';
+ my $pkgList = qx{$rpmCmd};
return split "\n", $pkgList;
}