680a0c6fca
* Add option to specify the apt default release directly and change the manpage content to advise on how this further complicates the permutations of apt configuration. Add commands to direct apt at the apt.conf.d and preferences.d directories within the chroot. (Closes: #717886)
41 lines
1.3 KiB
Bash
Executable file
41 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# The script is called with the following arguments:
|
|
# $1 = $DIR - the top directory of the bootstrapped system
|
|
# $2 = $ARCH - the specified architecture, already checked with dpkg-architecture.
|
|
# setup.sh needs to be executable.
|
|
|
|
TARGET=$1
|
|
# upstart support
|
|
if [ -x "$TARGET/sbin/initctl" ]; then
|
|
echo "initctl: Trying to prevent daemons from starting in $TARGET"
|
|
mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL"
|
|
echo \
|
|
"#!/bin/sh
|
|
echo
|
|
echo echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon"
|
|
chmod 755 "$TARGET/sbin/start-stop-daemon"
|
|
fi
|
|
if [ -x "$TARGET/sbin/initctl" ]; then
|
|
echo "initctl: Trying to prevent daemons from starting in $TARGET"
|
|
mv "$TARGET/sbin/initctl" "$TARGET/sbin/initctl.REAL"
|
|
echo \
|
|
"#!/bin/sh
|
|
echo
|
|
echo \"Warning: Fake initctl called, doing nothing\"" > "$TARGET/sbin/initctl"
|
|
chmod 755 "$TARGET/sbin/initctl"
|
|
fi
|
|
|
|
# sysvinit support - exit value of 101 is essential.
|
|
if [ -x "$TARGET/sbin/init" -a ! -f "$TARGET/usr/sbin/policy-rc.d" ]; then
|
|
echo "sysvinit: Using policy-rc.d to prevent daemons from starting in $TARGET"
|
|
mkdir -p $TARGET/usr/sbin/
|
|
cat > $TARGET/usr/sbin/policy-rc.d << EOF
|
|
#!/bin/sh
|
|
echo "sysvinit: All runlevel operations denied by policy" >&2
|
|
exit 101
|
|
EOF
|
|
chmod a+x $TARGET/usr/sbin/policy-rc.d
|
|
fi
|