summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorOliver Tappe2007-05-28 23:10:57 +0200
committerOliver Tappe2007-05-28 23:10:57 +0200
commit7926993940c0d4f8b1bab9557cf972364d782402 (patch)
tree476820b404df19f3c9569bf0ee4615c87d288479 /lib
parent* fixed bug introduced with last commit, package-installation was hosed (diff)
downloadcore-7926993940c0d4f8b1bab9557cf972364d782402.tar.gz
core-7926993940c0d4f8b1bab9557cf972364d782402.tar.xz
core-7926993940c0d4f8b1bab9557cf972364d782402.zip
* added support for 'local:'-URLs, which trigger the automatic start of a
busybox-httpd for each repository, through which every request will be routed (thus giving access to files outside of the chroot) * renamed executeInSubprocess() to callInSubprocess() and added a real implementation of executeInSubprocess(), too * updated all settings.local.example files to reflect the new way of accessing local files git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1102 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'lib')
-rw-r--r--lib/OpenSLX/Basics.pm22
-rw-r--r--lib/distro-info/fedora-6/settings.local.example8
-rw-r--r--lib/distro-info/fedora-6_x86_64/settings.local.example8
-rw-r--r--lib/distro-info/suse-10.1/settings.local.example7
-rw-r--r--lib/distro-info/suse-10.1_x86_64/settings.local.example7
-rw-r--r--lib/distro-info/suse-10.2/settings.local.example7
-rw-r--r--lib/distro-info/suse-10.2_x86_64/settings.local.example7
7 files changed, 44 insertions, 22 deletions
diff --git a/lib/OpenSLX/Basics.pm b/lib/OpenSLX/Basics.pm
index 937c99c7..f673d279 100644
--- a/lib/OpenSLX/Basics.pm
+++ b/lib/OpenSLX/Basics.pm
@@ -23,7 +23,8 @@ $VERSION = 1.01;
@EXPORT = qw(
&openslxInit %openslxConfig %cmdlineConfig
&_tr &trInit
- &warn &die &executeInSubprocess &slxsystem
+ &warn &die
+ &callInSubprocess &executeInSubprocess &slxsystem
&vlog
&instantiateClass
&addCleanupFunction &removeCleanupFunction
@@ -298,7 +299,7 @@ sub _tr
}
# ------------------------------------------------------------------------------
-sub executeInSubprocess
+sub callInSubprocess
{
my $childFunc = shift;
@@ -324,6 +325,23 @@ sub executeInSubprocess
}
# ------------------------------------------------------------------------------
+sub executeInSubprocess
+{
+ my @cmdlineArgs = @_;
+
+ my $pid = fork();
+ if (!$pid) {
+ # child...
+ # ...exec the given cmdline:
+ exec(@cmdlineArgs);
+ die _tr("error in exec('%s')! (%s)", join(' ', @cmdlineArgs), $!);
+ }
+
+ # parent...
+ return $pid;
+}
+
+# ------------------------------------------------------------------------------
sub addCleanupFunction
{
my $name = shift;
diff --git a/lib/distro-info/fedora-6/settings.local.example b/lib/distro-info/fedora-6/settings.local.example
index 75115e1a..b41c94f8 100644
--- a/lib/distro-info/fedora-6/settings.local.example
+++ b/lib/distro-info/fedora-6/settings.local.example
@@ -1,7 +1,7 @@
-# Use local installation sources.
-# $repository{base}->{url} = 'ftp://localhost/pub/opensuse/distribution/SL-10.1/inst-source';
-# $repository{base_update}->{url} = 'ftp://localhost/pub/suse/update/10.1';
-#
+# use local installation sources
+$repository{'base'}->{'url'} = "local://localhost:5080/srv/ftp/pub/opensuse/distribution/SL-10.1/inst-source";
+$repository{'base_update'}->{'url'} = "local://localhost:5082/srv/ftp/pub/suse/update/10.1";
+
# Add a new selection:
# $selection{'my-kde'} = "$selection{default}
# foo
diff --git a/lib/distro-info/fedora-6_x86_64/settings.local.example b/lib/distro-info/fedora-6_x86_64/settings.local.example
index 75115e1a..b41c94f8 100644
--- a/lib/distro-info/fedora-6_x86_64/settings.local.example
+++ b/lib/distro-info/fedora-6_x86_64/settings.local.example
@@ -1,7 +1,7 @@
-# Use local installation sources.
-# $repository{base}->{url} = 'ftp://localhost/pub/opensuse/distribution/SL-10.1/inst-source';
-# $repository{base_update}->{url} = 'ftp://localhost/pub/suse/update/10.1';
-#
+# use local installation sources
+$repository{'base'}->{'url'} = "local://localhost:5080/srv/ftp/pub/opensuse/distribution/SL-10.1/inst-source";
+$repository{'base_update'}->{'url'} = "local://localhost:5082/srv/ftp/pub/suse/update/10.1";
+
# Add a new selection:
# $selection{'my-kde'} = "$selection{default}
# foo
diff --git a/lib/distro-info/suse-10.1/settings.local.example b/lib/distro-info/suse-10.1/settings.local.example
index 957876e8..3588750a 100644
--- a/lib/distro-info/suse-10.1/settings.local.example
+++ b/lib/distro-info/suse-10.1/settings.local.example
@@ -1,6 +1,7 @@
-# Use local installation sources.
-$repository{base}->{url} = 'ftp://localhost/pub/opensuse/distribution/SL-10.1/inst-source';
-$repository{base_update}->{url} = 'ftp://localhost/pub/suse/update/10.1';
+# use local installation sources
+$repository{'base'}->{'url'} = "local://localhost:5080/srv/ftp/pub/opensuse/distribution/SL-10.1/inst-source";
+$repository{'base_non-oss'}->{'url'} = "local://localhost:5081/srv/ftp/pub/opensuse/distribution/SL-10.1/non-oss-inst-source";
+$repository{'base_update'}->{'url'} = "local://localhost:5082/srv/ftp/pub/suse/update/10.1";
# Add a new selection:
# $selection{'my-kde'} = "$selection{default}
diff --git a/lib/distro-info/suse-10.1_x86_64/settings.local.example b/lib/distro-info/suse-10.1_x86_64/settings.local.example
index 957876e8..3588750a 100644
--- a/lib/distro-info/suse-10.1_x86_64/settings.local.example
+++ b/lib/distro-info/suse-10.1_x86_64/settings.local.example
@@ -1,6 +1,7 @@
-# Use local installation sources.
-$repository{base}->{url} = 'ftp://localhost/pub/opensuse/distribution/SL-10.1/inst-source';
-$repository{base_update}->{url} = 'ftp://localhost/pub/suse/update/10.1';
+# use local installation sources
+$repository{'base'}->{'url'} = "local://localhost:5080/srv/ftp/pub/opensuse/distribution/SL-10.1/inst-source";
+$repository{'base_non-oss'}->{'url'} = "local://localhost:5081/srv/ftp/pub/opensuse/distribution/SL-10.1/non-oss-inst-source";
+$repository{'base_update'}->{'url'} = "local://localhost:5082/srv/ftp/pub/suse/update/10.1";
# Add a new selection:
# $selection{'my-kde'} = "$selection{default}
diff --git a/lib/distro-info/suse-10.2/settings.local.example b/lib/distro-info/suse-10.2/settings.local.example
index bd5c529d..d0afaa7f 100644
--- a/lib/distro-info/suse-10.2/settings.local.example
+++ b/lib/distro-info/suse-10.2/settings.local.example
@@ -1,6 +1,7 @@
-# Use local installation sources.
-$repository{base}->{url} = "ftp://localhost/pub/opensuse/distribution/10.2/repo/oss";
-$repository{base_update}->{url} = "ftp://localhost/pub/suse/update/10.2";
+# use local installation sources
+$repository{'base'}->{'url'} = "local://localhost:5080/srv/ftp/pub/opensuse/distribution/10.2/repo/oss";
+$repository{'base_non-oss'}->{'url'} = "local://localhost:5081/srv/ftp/pub/opensuse/distribution/10.2/repo/non-oss";
+$repository{'base_update'}->{'url'} = "local://localhost:5082/srv/ftp/pub/suse/update/10.2";
# Add a new selection:
# $selection{'my-kde'} = "$selection{default}
diff --git a/lib/distro-info/suse-10.2_x86_64/settings.local.example b/lib/distro-info/suse-10.2_x86_64/settings.local.example
index 58af4005..d0afaa7f 100644
--- a/lib/distro-info/suse-10.2_x86_64/settings.local.example
+++ b/lib/distro-info/suse-10.2_x86_64/settings.local.example
@@ -1,6 +1,7 @@
-# Use local installation sources.
-# $repository{base}->{url} = "ftp://localhost/pub/opensuse/distribution/10.2/repo/oss";
-# $repository{base_update}->{url} = "ftp://localhost/pub/suse/update/10.2";
+# use local installation sources
+$repository{'base'}->{'url'} = "local://localhost:5080/srv/ftp/pub/opensuse/distribution/10.2/repo/oss";
+$repository{'base_non-oss'}->{'url'} = "local://localhost:5081/srv/ftp/pub/opensuse/distribution/10.2/repo/non-oss";
+$repository{'base_update'}->{'url'} = "local://localhost:5082/srv/ftp/pub/suse/update/10.2";
# Add a new selection:
# $selection{'my-kde'} = "$selection{default}