diff options
author | Michael Stapelberg <michael@stapelberg.de> | 2013-09-15 04:33:47 +0000 |
---|---|---|
committer | Michael Stapelberg <michael@stapelberg.de> | 2013-09-15 04:33:47 +0000 |
commit | c419de25e649229caa9fec50deaf73c29fe55f4a (patch) | |
tree | a90dc073bd13dc97541d60958d1fbc9e694ef9d6 | |
parent | 9c1373f308d77d4dfaf7f644591facbe1e6825c3 (diff) | |
download | init-system-helpers-c419de25e649229caa9fec50deaf73c29fe55f4a.tar.gz |
use the state file contents for mask/unmask
This is necessary because when removing, the original service file might
not be around anymore.
-rwxr-xr-x | script/deb-systemd-helper | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/script/deb-systemd-helper b/script/deb-systemd-helper index ae83cfa..18ca4a4 100755 --- a/script/deb-systemd-helper +++ b/script/deb-systemd-helper @@ -372,10 +372,11 @@ sub rmdir_if_empty { sub mask_service { my ($scriptname, $service_path) = @_; - my @links = get_link_closure($scriptname, $service_path); - for my $link (@links) { - my $service_link = $link->{src}; + my $dsh_state = dsh_state_path($service_path); + my @entries = state_file_entries($dsh_state); + debug "Contents: " . Dumper(\@entries); + for my $service_link (@entries) { my $statefile = $service_link; $statefile =~ s,^/etc/systemd/system/,$masked_state_dir/,; next if -e $statefile; @@ -404,10 +405,11 @@ sub mask_service { sub unmask_service { my ($scriptname, $service_path) = @_; - my @links = get_link_closure($scriptname, $service_path); - for my $link (@links) { - my $service_link = $link->{src}; + my $dsh_state = dsh_state_path($service_path); + my @entries = state_file_entries($dsh_state); + debug "Contents: " . Dumper(\@entries); + for my $service_link (@entries) { my $statefile = $service_link; $statefile =~ s,^/etc/systemd/system/,$masked_state_dir/,; next if ! -e $statefile; |