%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
#!/bin/sh -e
if test $# -eq 0
then
echo "usage: $0 shellname [shellname ...]"
exit 1
fi
file="$DPKG_ROOT/etc/shells"
# I want this to be GUARANTEED to be on the same filesystem as $file
tmpfile="${file}.tmp"
set -o noclobber
cleanup() {
rm -f "$tmpfile"
}
trap cleanup EXIT
if ! cat "$file" > "$tmpfile"
then
cat 1>&2 <<EOF
Either another instance of $0 is running, or it was previously interrupted.
Please examine ${tmpfile} to see if it should be moved onto ${file}.
EOF
exit 1
fi
for i
do
REALDIR="$(dirname "$(realpath -m "$i")")/$(basename "$i")"
for j in "$i" "$REALDIR"
do
if ! grep -q "^${j}$" "$tmpfile"
then
echo "$j" >> "$tmpfile"
fi
done
done
chmod --reference="${file}" "${tmpfile}" || chmod $(stat -c %a "${file}") "${tmpfile}"
chown --reference="${file}" "${tmpfile}" || chown $(stat -c %U "${file}") "${tmpfile}"
mv -Z "${tmpfile}" "${file}" || mv "${tmpfile}" "${file}"
trap "" EXIT
exit 0