Package: mmdebstrap Version: 0.4.1-6 Severity: minor Tags: patch Hi josch,
I ran into another minor problem with the (unofficial) hooks. If a --customize-hook removes /sbin/start-stop-daemon.REAL, mmdebstrap fails. Can we make it cope with that situation? I'm attaching some patches for you. Helmut
>From 7c53a346c2c20e5dbff6b30c2a7f7acc6dd280ec Mon Sep 17 00:00:00 2001 From: Helmut Grohne <[email protected]> Date: Fri, 13 Sep 2019 12:36:02 +0200 Subject: [PATCH 1/3] fix error message about opening s-s-d --- mmdebstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mmdebstrap b/mmdebstrap index 0fdd6ee..5c331aa 100755 --- a/mmdebstrap +++ b/mmdebstrap @@ -863,7 +863,7 @@ sub run_chroot(&$) { { move("$options->{root}/sbin/start-stop-daemon", "$options->{root}/sbin/start-stop-daemon.REAL") or error "cannot move start-stop-daemon"; - open my $fh, '>', "$options->{root}/sbin/start-stop-daemon" or error "cannot open policy-rc.d: $!"; + open my $fh, '>', "$options->{root}/sbin/start-stop-daemon" or error "cannot open start-stop-daemon: $!"; print $fh "#!/bin/sh\n"; print $fh "echo \"Warning: Fake start-stop-daemon called, doing nothing\">&2\n"; close $fh; -- 2.20.1
>From 00fd0dc4b31418754a43f4f0c082dc20615a5073 Mon Sep 17 00:00:00 2001 From: Helmut Grohne <[email protected]> Date: Fri, 13 Sep 2019 12:36:59 +0200 Subject: [PATCH 2/3] make errors about moving s-s-d more verbose --- mmdebstrap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mmdebstrap b/mmdebstrap index 5c331aa..cd9f96b 100755 --- a/mmdebstrap +++ b/mmdebstrap @@ -862,7 +862,7 @@ sub run_chroot(&$) { } { - move("$options->{root}/sbin/start-stop-daemon", "$options->{root}/sbin/start-stop-daemon.REAL") or error "cannot move start-stop-daemon"; + move("$options->{root}/sbin/start-stop-daemon", "$options->{root}/sbin/start-stop-daemon.REAL") or error "cannot move start-stop-daemon: $!"; open my $fh, '>', "$options->{root}/sbin/start-stop-daemon" or error "cannot open start-stop-daemon: $!"; print $fh "#!/bin/sh\n"; print $fh "echo \"Warning: Fake start-stop-daemon called, doing nothing\">&2\n"; @@ -873,7 +873,7 @@ sub run_chroot(&$) { &{$cmd}(); # cleanup - move("$options->{root}/sbin/start-stop-daemon.REAL", "$options->{root}/sbin/start-stop-daemon") or error "cannot move start-stop-daemon"; + move("$options->{root}/sbin/start-stop-daemon.REAL", "$options->{root}/sbin/start-stop-daemon") or error "cannot move start-stop-daemon: $!"; unlink "$options->{root}/usr/sbin/policy-rc.d" or error "cannot unlink policy-rc.d: $!"; }; -- 2.20.1
>From 8033519aa0de689f579fe59d4b1142e87c11bdc8 Mon Sep 17 00:00:00 2001 From: Helmut Grohne <[email protected]> Date: Fri, 13 Sep 2019 12:37:28 +0200 Subject: [PATCH 3/3] allow messing with s-s-d in hooks Presently, mmdebstrap fails hard if e.g. a --setup-hook removes start-stop-daemon.REAL. --- mmdebstrap | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mmdebstrap b/mmdebstrap index cd9f96b..f3a64ba 100755 --- a/mmdebstrap +++ b/mmdebstrap @@ -861,7 +861,7 @@ sub run_chroot(&$) { chmod 0755, "$options->{root}/usr/sbin/policy-rc.d" or error "cannot chmod policy-rc.d: $!"; } - { + if (-e "$options->{root}/sbin/start-stop-daemon") { move("$options->{root}/sbin/start-stop-daemon", "$options->{root}/sbin/start-stop-daemon.REAL") or error "cannot move start-stop-daemon: $!"; open my $fh, '>', "$options->{root}/sbin/start-stop-daemon" or error "cannot open start-stop-daemon: $!"; print $fh "#!/bin/sh\n"; @@ -873,7 +873,9 @@ sub run_chroot(&$) { &{$cmd}(); # cleanup - move("$options->{root}/sbin/start-stop-daemon.REAL", "$options->{root}/sbin/start-stop-daemon") or error "cannot move start-stop-daemon: $!"; + if (-e "$options->{root}/sbin/start-stop-daemon.REAL") { + move("$options->{root}/sbin/start-stop-daemon.REAL", "$options->{root}/sbin/start-stop-daemon") or error "cannot move start-stop-daemon: $!"; + } unlink "$options->{root}/usr/sbin/policy-rc.d" or error "cannot unlink policy-rc.d: $!"; }; -- 2.20.1

