Package: multistrap
Version: 2.1.6
Severity: normal
Tags: patch

The solution is simply to create policy-rc.d in /usr/sbin while
installation is taking place then remove it afterwards.

Matthew

--- multistrap-2.1.6.orig/multistrap    2010-07-26 21:45:46.000000000 +0000
+++ multistrap-2.1.6/multistrap 2010-10-04 08:20:35.962601948 +0000
@@ -153,6 +153,8 @@
        if (not -d "${dir}etc/apt/sources.list.d/");
 system ("mkdir -p ${dir}etc/apt/preferences.d/")
        if (not -d "${dir}etc/apt/preferences.d/");
+system ("mkdir -p ${dir}usr/sbin/")
+       if (not -d "${dir}usr/sbin/");
 system ("mkdir -p ${dir}usr/share/info/")
        if (not -d "${dir}usr/share/info/");
 system ("touch ${dir}usr/share/info/dir");
@@ -160,6 +162,13 @@
 die ($msg)
        if (not -d "${dir}etc/apt/preferences.d/");
 
+# Prevent any daemons from starting
+open POLICY, ">${dir}usr/sbin/policy-rc.d"
+    or die _g("Cannot open policy-rc.d"). $!;
+print POLICY "#!/bin/sh\nexit 101\n";
+close POLICY;
+chmod 0755, "${dir}usr/sbin/policy-rc.d";
+
 @dirs = qw/ alternatives info parts updates/;
 @touch = qw/ diversions statoverride status lock/;
 foreach my $dpkgd (@dirs) {
@@ -346,6 +355,9 @@
                printf (_g("ERR: Some files may have been unpacked outside 
%s!\n"), $dir);
        }
 }
+# Remove policy-rc.d
+unlink "${dir}usr/sbin/policy-rc.d"
+       if -f "${dir}usr/sbin/policy-rc.d";
 # cleanly separate the debootstrap sources from the final apt sources.
 unlink ("${dir}etc/apt/sources.list.d/multistrap.sources.list")
        if (-f "${dir}etc/apt/sources.list.d/multistrap.sources.list");



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to