Commit 1a727814 authored by EclipseSpark's avatar EclipseSpark

update from sheireen's commit

parent 4b51b7b4
init-system-helpers (1.33+parrot0) testing; urgency=medium
* Import from Sheireen's commit
-- Lorenzo "Palinuro" Faletra <eclipse@parrotsec.org> Mon, 16 May 2016 17:14:07 +0200
init-system-helpers (1.33+kali-to-parrot0) experimental; urgency=medium
[ Raphaël Hertzog ]
* Fix the test suite due to our changes to use "systemctl preset".
[ Sophie Brun ]
* Synchronize with Debian.
//thanks kali for this update, we love you :)
-- Lisetta "Sheireen" Ferrero <sheireen@autistiche.org> Tue, 15 Mar 2016 22:35:12 +0400
init-system-helpers (1.33) unstable; urgency=medium
* Drop SysV reference from init's short package description, as it's not
specific to SysV init at all.
* Revert the check for failing "runlevel" command. In chroots it is always
failing, so just print out the warning and otherwise ignore the failure as
we've done for many years with the broken check. (Closes: #823611)
-- Martin Pitt <mpitt@debian.org> Fri, 06 May 2016 09:44:05 -0500
init-system-helpers (1.32) unstable; urgency=medium
* dh_systemd_{enable,start}: Quiesce "No such file or directory" error
messages when calling on a package without /lib/systemd/system/.
(Closes: #822710)
* invoke-rc.d: Fix check for failing "runlevel" command.
* invoke-rc.d: Under systemd, "runlevel" only switches to 3 or 5 when
multi-user.target/graphical.target have been reached, not before.
Adjust the runlevel check accordingly. This is only relevant for the check
for wrong/dangling rcN.d/ symlinks, so just pin it to "5" (the precise
value does not matter much). Fixing this in systemd requires bigger
architectural changes, so use this tiny (and backportable) bandaid for the
time being. (LP: #1575572, see #608456)
-- Martin Pitt <mpitt@debian.org> Thu, 05 May 2016 22:11:26 -0500
init-system-helpers (1.31) unstable; urgency=medium
* Fix FTBFS when building arch specific binaries only.
-- Martin Pitt <mpitt@debian.org> Tue, 26 Apr 2016 17:37:46 +0200
init-system-helpers (1.30) unstable; urgency=medium
[ Felipe Sateler ]
* update-rc.d: Add 'defaults' action to usage message. (Closes: #814666)
* update-rc.d: Do not print 'error:' when passing --help
[ Niels Thykier ]
* dh_systemd_start: Default to -R in compat 10, for consistency with
dh_installinit.
* dh_systemd_*: Do not needlessly traverse the entire package tree.
* dh_systemd_*: Add DH promise to avoid being called for no reason.
* Update Vcs-* fields to use https.
[ Raphaël Hertzog ]
* tests: Support $TEST_ON_REAL_SYSTEM which skips the tmpfs bind mounts, and
use that in the autopkgtest. This provides a more realistic test and
unbreaks operations which communicate with pid1. Also purge metadata in
between tests.
* Prefer calling "systemctl preset" instead of "enable" when available, so
that systemd.preset(5) files are respected by packages. (Closes: #772555)
[ Martin Pitt ]
* Bump Standards-Version to 3.9.8 (no changes necessary).
* Fix "service --version" to show the currrent instead some old hardcoded
version. (Closes: #819984)
* service.8: Document that $PATH is passed to the init script.
(Closes: #619464)
[ Erik Ziegenbalg ]
* dh-systemd: Support enabling of debian/<package>.mount files.
(Closes: #803774)
[ Luca Boccassi ]
* dh-systemd: Support installing .target files. (Closes: #793153)
-- Martin Pitt <mpitt@debian.org> Tue, 26 Apr 2016 10:01:46 +0200
init-system-helpers (1.29+parrot0) testing; urgency=medium
* Import from Debian.
......
......@@ -6,9 +6,9 @@ Uploaders: Michael Biebl <biebl@debian.org>,
Martin Pitt <mpitt@debian.org>,
Build-Depends: debhelper (>= 9),
perl:any,
Standards-Version: 3.9.6
Vcs-Git: git://anonscm.debian.org/collab-maint/init-system-helpers.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/init-system-helpers.git;a=summary
Standards-Version: 3.9.8
Vcs-Git: https://anonscm.debian.org/git/collab-maint/init-system-helpers.git
Vcs-Browser: https://anonscm.debian.org/git/collab-maint/init-system-helpers.git
Package: init-system-helpers
Architecture: all
......@@ -65,7 +65,7 @@ Multi-Arch: foreign
Pre-Depends: systemd-sysv [linux-any] | sysvinit-core,
Depends: init-system-helpers,
${misc:Depends},
Description: System-V-like init utilities - metapackage
Description: init metapackage
This package is an essential metapackage which allows you to select from
the available init systems in Debian (systemd, sysvinit) while
ensuring that one of these is available on the system at all times.
......@@ -10,6 +10,7 @@
#export DH_VERBOSE=1
BUILD_DATE = $(shell dpkg-parsechangelog -S Date)
VERSION = $(shell dpkg-parsechangelog -S Version)
POD_MAN_DATE = $(shell date -u +"%Y-%m-%d" --date="$(BUILD_DATE)")
export POD_MAN_DATE
......@@ -28,6 +29,7 @@ override_dh_install-indep:
dh_install
mv $(SBIN)/update-rc.d $(SBIN)/debian-update-rc.d
cp script/parrot-update-rc.d $(SBIN)/update-rc.d
[ ! -d debian/init-system-helpers ] || sed -i 's/__VERSION__/$(VERSION)/' debian/init-system-helpers/usr/sbin/service
%:
dh $@
......@@ -2,4 +2,4 @@ Tests: t
Depends: @,
cpanminus,
build-essential
Restrictions: needs-root, allow-stderr, isolation-container
Restrictions: needs-root, breaks-testbed, allow-stderr, isolation-container
......@@ -4,6 +4,8 @@ set -eu
mount --make-rprivate /
cpanm Linux::Clone
export TEST_ON_REAL_SYSTEM=1
for test in t/*.t; do
echo "======== $(basename $test) ======="
perl $test
......
......@@ -93,7 +93,7 @@ The directory containing upstart jobs.
.SH ENVIRONMENT
.TP
\fBLANG\fR, \fBLANGUAGE\fR, \fBLC_CTYPE\fR, \fBLC_NUMERIC\fR, \fBLC_TIME\fR, \fBLC_COLLATE\fR, \fBLC_MONETARY\fR, \fBLC_MESSAGES\fR, \fBLC_PAPER\fR, \fBLC_NAME\fR, \fBLC_ADDRESS\fR, \fBLC_TELEPHONE\fR, \fBLC_MEASUREMENT\fR, \fBLC_IDENTIFICATION\fR, \fBLC_ALL\fR, \fBTERM\fR
\fBLANG\fR, \fBLANGUAGE\fR, \fBLC_CTYPE\fR, \fBLC_NUMERIC\fR, \fBLC_TIME\fR, \fBLC_COLLATE\fR, \fBLC_MONETARY\fR, \fBLC_MESSAGES\fR, \fBLC_PAPER\fR, \fBLC_NAME\fR, \fBLC_ADDRESS\fR, \fBLC_TELEPHONE\fR, \fBLC_MEASUREMENT\fR, \fBLC_IDENTIFICATION\fR, \fBLC_ALL\fR, \fBTERM\fR, \fBPATH\fR
The only environment variables passed to the init scripts.
.SH SEE ALSO
......
......@@ -102,6 +102,8 @@ sub contains_install_section {
return 0;
}
# PROMISE: DH NOOP WITHOUT tmp(lib/systemd/system) mount service socket target tmpfile
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmpdir = tmpdir($package);
my @installed_units;
......@@ -146,6 +148,16 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
doit("install","-p","-m644",$service,"$path/$script.service");
}
my $target=pkgfile($package,"target");
if ($target ne '') {
my $path="$tmpdir/lib/systemd/system";
if (! -d "$path") {
doit("install","-d","$path");
}
doit("install","-p","-m644",$target,"$path/$script.target");
}
my $socket=pkgfile($package,"socket");
if ($socket ne '') {
my $path="$tmpdir/lib/systemd/system";
......@@ -166,6 +178,16 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
doit("install","-p","-m644",$tmpfile,"$path/$script.conf");
}
my $mount=pkgfile($package,"mount");
if ($mount ne '') {
my $path="$tmpdir/usr/lib/system";
if (! -d "$path") {
doit("install","-d","$path");
}
doit("install","-p","-m644",$mount,"$path/$script.mount");
}
find({
wanted => sub {
my $name = $File::Find::name;
......@@ -178,7 +200,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
push @installed_units, $name;
},
no_chdir => 1,
}, $tmpdir);
}, "${tmpdir}/lib/systemd/system") if -d "${tmpdir}/lib/systemd/system";
# Handle either only the unit files which were passed as arguments or
# all unit files that are installed in this package.
......
......@@ -35,14 +35,23 @@ because invoke-rc.d performs the stop/start/restart in that case.
=item B<--restart-after-upgrade>
Do not stop the unit file until after the package upgrade has been completed.
This is different than the default behavior, which stops the unit file in the
F<prerm> and starts it again in the F<postinst> maintscript.
This is the default behaviour in compat 10.
In earlier compat levels the default was to stop the unit file in the
F<prerm>, and start it again in the F<postinst>.
This can be useful for daemons that should not have a possibly long
downtime during upgrade. But you should make sure that the daemon will not
get confused by the package being upgraded while it's running before using
this option.
=item B<--no-restart-after-upgrade>
Undo a previous B<--restart-after-upgrade> (or the default of compat
10). If no other options are given, this will cause the service to be
stopped in the F<prerm> script and started again in the F<postinst>
script.
=item B<-r>, B<--no-restart-on-upgrade>
Do not stop service on upgrade.
......@@ -68,11 +77,13 @@ B<dh_systemd_start> manually.
=cut
$dh{RESTART_AFTER_UPGRADE} = 1 if not compat(10);
init(options => {
"r" => \$dh{R_FLAG},
"no-restart-on-upgrade" => \$dh{R_FLAG},
"no-start" => \$dh{NO_START},
"R|restart-after-upgrade" => \$dh{RESTART_AFTER_UPGRADE},
"R|restart-after-upgrade!" => \$dh{RESTART_AFTER_UPGRADE},
"no-also" => \$dh{NO_ALSO},
});
......@@ -104,6 +115,9 @@ sub extract_key {
return @values;
}
# PROMISE: DH NOOP WITHOUT tmp(lib/systemd/system)
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmpdir = tmpdir($package);
my @installed_units;
......@@ -124,7 +138,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
push @installed_units, $name;
}
},
}, $tmpdir);
}, "${tmpdir}/lib/systemd/system") if -d "${tmpdir}/lib/systemd/system";
chdir($oldcwd);
# Handle either only the unit files which were passed as arguments or
......@@ -183,7 +197,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
push @{$aliases{$name}}, $_ for extract_key($name, 'Alias');
my @sysv = grep {
my $base = $_;
$base =~ s/\.(?:service|socket)$//g;
$base =~ s/\.(?:mount|service|socket|target)$//g;
-f "$tmpdir/etc/init.d/$base"
} ($base, @{$aliases{$name}});
if (@sysv == 0 && !grep { $_ eq $name } @units) {
......
......@@ -295,14 +295,21 @@ elif test ! -f "${INITDPREFIX}${INITSCRIPTID}" ; then
fi
## Queries sysvinit for the current runlevel
RL=`${RUNLEVELHELPER} | sed 's/.*\ //'`
if test ! $? ; then
printerror "could not determine current runlevel"
if test x${RETRY} = x ; then
exit 102
if ! RL=`${RUNLEVELHELPER}`; then
if [ -n "$is_systemd" ] && systemctl is-active --quiet sysinit.target; then
# under systemd, the [2345] runlevels are only set upon reaching them;
# if we are past sysinit.target (roughly equivalent to rcS), consider
# this as runlevel 5 (this is only being used for validating rcN.d
# symlinks, so the precise value does not matter much)
RL=5
else
printerror "could not determine current runlevel"
# this usually fails in schroots etc., ignore failure (#823611)
RL=
fi
RL=
fi
# strip off previous runlevel
RL=${RL#* }
## Running ${RUNLEVELHELPER} to get current runlevel do not work in
## the boot runlevel (scripts in /etc/rcS.d/), as /var/run/utmp
......
#! /usr/bin/perl
# We want that fuckin' shit to be automatically disabled at boot!
# Wrapper around update-rc.d that auto-disables service that we don't
# want to start by default.
use strict;
use warnings;
......@@ -32,23 +33,23 @@ if (exists $ENV{'DPKG_RUNNING_VERSION'} and
# We're in a maint-script and we're about to install a new init script
if (exists $status_wanted{$bn}) {
if ($status_wanted{$bn} eq "disabled") {
print STDERR "update-rc.d: Disabling $bn init script as per Parrot policy as it seems a network service. (you shall not pass!)\n";
print STDERR "update-rc.d: $bn disabled for Parrot policies init disabled\n";
system("/usr/sbin/debian-update-rc.d", @orig_argv);
system("/usr/sbin/debian-update-rc.d", $bn, "disable");
exit 0;
}
} else {
my $header = parse_lsb_header("/etc/init.d/$bn");
print STDERR "update-rc.d: Disabling $bn init script as per Parrot policy as it seems a network service. (you shall not pass!)\n";
print STDERR "update-rc.d: We have no instructions for the $bn init script.\n";
if ($header->{'required-start'} =~ /\$network/ ||
$header->{'should-start'} =~ /\$network/)
{
print STDERR "update-rc.d: We disable it as per Parrot policy as it seems a network service. (you shall not pass!)\n";
print STDERR "update-rc.d: Parrot recognized it as a network service, we disable it. (You shall not pass!)\n";
system("/usr/sbin/debian-update-rc.d", @orig_argv);
system("/usr/sbin/debian-update-rc.d", $bn, "disable");
exit 0;
} else {
print STDERR "update-rc.d: Meh, it looks like a non-network service, we enable it.\n";
print STDERR "update-rc.d: It doesn't seem to be a network service, we enable it.\n";
}
}
}
......@@ -88,7 +89,6 @@ sub parse_lsb_header {
return \%lsbinfo;
}
__DATA__
__DATA__
#
# List of blacklisted init scripts
......@@ -97,11 +97,15 @@ apache2 disabled
avahi-daemon disabled
cups disabled
dictd disabled
dhcpdc disabled
exim4 disabled
greenbone-security-assistant disabled
iodined disabled
procmail disabled
minissdpd disabled
openbsd-inetd disabled
openvas-manager disabled
openvas-scanner disabled
postfix disabled
postgresql disabled
rpcbind disabled
......@@ -122,6 +126,8 @@ atd enabled
atop enabled
binfmt-support enabled
bluetooth enabled
blueman enabled
bluez enabled
bootlogs enabled
bootmisc.sh enabled
checkfs.sh enabled
......@@ -133,6 +139,7 @@ cron enabled
cryptdisks-early enabled
cryptdisks enabled
dbus enabled
dnsmasq enabled
ebtables enabled
etc-setserial enabled
fetchmail enabled
......@@ -168,6 +175,7 @@ pulseaudio enabled
qemu-kvm enabled
rc.local enabled
rdnssd enabled
resolvconf enabled
restorecond enabled
rmnologin enabled
rsync enabled
......
......@@ -41,7 +41,7 @@ is_ignored_file() {
return 1
}
VERSION="`basename $0` ver. 0.91-ubuntu1"
VERSION="`basename $0` ver. __VERSION__"
USAGE="Usage: `basename $0` < option > | --status-all | \
[ service_name [ command | --full-restart ] ]"
SERVICE=
......
......@@ -18,6 +18,7 @@ sub usage {
print STDERR "update-rc.d: error: @_\n" if ($#_ >= 0);
print STDERR <<EOF;
usage: update-rc.d [-n] [-f] <basename> remove
update-rc.d [-n] [-f] <basename> defaults
update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
-n: not really
-f: force
......@@ -194,7 +195,7 @@ sub insserv_updatercd {
shift @args;
if (/^-n$/) { push(@opts, $_); $notreally++; next }
if (/^-f$/) { push(@opts, $_); next }
if (/^-h|--help$/) { &usage; }
if (/^-h|--help$/) { usage(); }
usage("unknown option");
}
......
......@@ -44,9 +44,11 @@ sub bind_mount_tmp {
return $tmp;
}
my $etc_systemd = bind_mount_tmp('/etc/systemd');
my $lib_systemd = bind_mount_tmp('/lib/systemd');
my $var_lib_systemd = bind_mount_tmp('/var/lib/systemd');
unless ($ENV{'TEST_ON_REAL_SYSTEM'}) {
my $etc_systemd = bind_mount_tmp('/etc/systemd');
my $lib_systemd = bind_mount_tmp('/lib/systemd');
my $var_lib_systemd = bind_mount_tmp('/var/lib/systemd');
}
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃ Verify “is-enabled” is not true for a random, non-existing unit file. ┃
......@@ -88,8 +90,11 @@ isnt_debian_installed($random_unit);
# ┃ Verify “enable” creates the requested symlinks. ┃
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
ok(! -d '/etc/systemd/system/multi-user.target.wants',
'multi-user.target.wants does not exist yet');
unless ($ENV{'TEST_ON_REAL_SYSTEM'}) {
# This might exist if we don't start from a fresh directory
ok(! -d '/etc/systemd/system/multi-user.target.wants',
'multi-user.target.wants does not exist yet');
}
$retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh enable $random_unit");
is($retval, 0, "enable command succeeded");
......@@ -176,6 +181,7 @@ $retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh purge $random_unit");
is($retval, 0, "purge command succeeded");
isnt_enabled($random_unit);
isnt_debian_installed($random_unit);
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃ Verify “enable” after purging does re-create the symlinks. ┃
......@@ -284,6 +290,9 @@ unlink($mask_path);
# ┃ Verify Alias= handling. ┃
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
$retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh purge $random_unit");
is($retval, 0, "purge command succeeded");
open($fh, '>', $servicefile_path);
print $fh <<'EOT';
[Unit]
......@@ -326,6 +335,8 @@ ok(! -l $alias_path, 'alias link does not exist any more');
# ┃ Verify Alias/mask with removed package (as in postrm) ┃
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
$retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh purge $random_unit");
is($retval, 0, "purge command succeeded");
$retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh enable $random_unit");
is($retval, 0, "enable command succeeded");
is(readlink($alias_path), $servicefile_path, 'correct alias link');
......@@ -370,7 +381,8 @@ isnt_enabled('footest.service');
$retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh enable $random_unit");
is($retval, 0, "enable command succeeded");
is_enabled($random_unit);
ok(! -l $mask_path, 'mask link does not exist yet');
# systemctl enable does create the alias link even if it's not needed
#ok(! -l $mask_path, 'mask link does not exist yet');
unlink($servicefile_path);
......
......@@ -54,9 +54,11 @@ sub bind_mount_tmp {
return $tmp;
}
my $etc_systemd = bind_mount_tmp('/etc/systemd');
my $lib_systemd = bind_mount_tmp('/lib/systemd');
my $var_lib_systemd = bind_mount_tmp('/var/lib/systemd');
unless ($ENV{'TEST_ON_REAL_SYSTEM'}) {
my $etc_systemd = bind_mount_tmp('/etc/systemd');
my $lib_systemd = bind_mount_tmp('/lib/systemd');
my $var_lib_systemd = bind_mount_tmp('/var/lib/systemd');
}
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃ Verify “is-enabled” is not true for a random, non-existing unit file. ┃
......
......@@ -44,9 +44,11 @@ sub bind_mount_tmp {
return $tmp;
}
my $etc_systemd = bind_mount_tmp('/etc/systemd');
my $lib_systemd = bind_mount_tmp('/lib/systemd');
my $var_lib_systemd = bind_mount_tmp('/var/lib/systemd');
unless ($ENV{'TEST_ON_REAL_SYSTEM'}) {
my $etc_systemd = bind_mount_tmp('/etc/systemd');
my $lib_systemd = bind_mount_tmp('/lib/systemd');
my $var_lib_systemd = bind_mount_tmp('/var/lib/systemd');
}
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃ Create two unit files with random names; one refers to the other (Also=). ┃
......@@ -106,12 +108,16 @@ isnt_debian_installed($random_unit2);
# ┃ Verify “enable” creates all symlinks. ┃
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
ok(! -d '/etc/systemd/system/multi-user.target.wants',
'multi-user.target.wants does not exist yet');
unless ($ENV{'TEST_ON_REAL_SYSTEM'}) {
# This might already exist if we don't start from a fresh directory
ok(! -d '/etc/systemd/system/multi-user.target.wants',
'multi-user.target.wants does not exist yet');
}
$retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh enable $random_unit1");
my %links = map { (basename($_), readlink($_)) }
</etc/systemd/system/multi-user.target.wants/*.service>;
("/etc/systemd/system/multi-user.target.wants/$random_unit1",
"/etc/systemd/system/multi-user.target.wants/$random_unit2");
is_deeply(
\%links,
{
......
......@@ -2,12 +2,12 @@ Format: 3.0 (native)
Source: init-system-helpers
Binary: init-system-helpers, dh-systemd, init
Architecture: any all
Version: 1.29+parrot0
Version: 1.33+parrot0
Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org>
Uploaders: Michael Biebl <biebl@debian.org>, Martin Pitt <mpitt@debian.org>,
Standards-Version: 3.9.6
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/init-system-helpers.git;a=summary
Vcs-Git: git://anonscm.debian.org/collab-maint/init-system-helpers.git
Standards-Version: 3.9.8
Vcs-Browser: https://anonscm.debian.org/git/collab-maint/init-system-helpers.git
Vcs-Git: https://anonscm.debian.org/git/collab-maint/init-system-helpers.git
Testsuite: autopkgtest
Build-Depends: debhelper (>= 9), perl:any
Package-List:
......@@ -15,8 +15,8 @@ Package-List:
init deb metapackages required arch=any essential=yes
init-system-helpers deb admin required arch=all
Checksums-Sha1:
76e75e8b493edc782aa24570fb83cc376dcd3162 57268 init-system-helpers_1.29+parrot0.tar.xz
bf1677a12d5ae79753ea9ebc79439ed2965d9eae 58840 init-system-helpers_1.33+parrot0.tar.xz
Checksums-Sha256:
a41e248c9c889b0a0358fabd14feb0db1669ab3bee23cb9e418c73b14070f9f0 57268 init-system-helpers_1.29+parrot0.tar.xz
e54d3549230f721acf79230d08e67428faa15e38495ce2ab634a0fb90de35eb2 58840 init-system-helpers_1.33+parrot0.tar.xz
Files:
137102af2cd2b7ddd4b77b9bb6249bab 57268 init-system-helpers_1.29+parrot0.tar.xz
e09f10e4dd0eb8ea0e7c9bbfc82d405c 58840 init-system-helpers_1.33+parrot0.tar.xz
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment