#!/bin/sh set -e ensure_file_owner_mode() { if [ ! -f "$DPKG_ROOT$1" ]; then : > "$DPKG_ROOT$1" fi chown "$2" "$DPKG_ROOT$1" chmod "$3" "$DPKG_ROOT$1" } install_local_dir() { if [ ! -d "$DPKG_ROOT$1" ]; then mkdir -p "$DPKG_ROOT$1" fi if [ -f "$DPKG_ROOT/etc/staff-group-for-usr-local" ]; then chown root:staff "$DPKG_ROOT$1" 2>/dev/null || true chmod 2775 "$DPKG_ROOT$1" 2> /dev/null || true fi } install_from_default() { if [ ! -f "$DPKG_ROOT$2" ]; then cp -p "$DPKG_ROOT/usr/share/base-files/$1" "$DPKG_ROOT$2" fi } install_directory() { if [ ! -d "$DPKG_ROOT/$1" ]; then mkdir "$DPKG_ROOT/$1" chown "root:$3" "$DPKG_ROOT/$1" chmod "$2" "$DPKG_ROOT/$1" fi } migrate_directory() { if [ ! -L "$DPKG_ROOT$1" ]; then rmdir "$DPKG_ROOT$1" ln -s "$2" "$DPKG_ROOT$1" fi } update_to_current_default() { if [ -f "$2" ]; then md5=$(md5sum "$2" | cut -f 1 -d " ") if grep -q "$md5" "/usr/share/base-files/$1.md5sums"; then if ! cmp -s "/usr/share/base-files/$1" "$2"; then cp -p "/usr/share/base-files/$1" "$2" echo Updating $2 to current default. fi fi fi } if [ ! -e "$DPKG_ROOT/etc/dpkg/origins/default" ]; then if [ -e "$DPKG_ROOT/etc/dpkg/origins/debian" ]; then ln -sf debian "$DPKG_ROOT/etc/dpkg/origins/default" fi fi if [ "$1" = "configure" ] && [ "$2" = "" ]; then install_from_default dot.profile /root/.profile install_from_default dot.bashrc /root/.bashrc install_from_default profile /etc/profile install_from_default motd /etc/motd install_directory mnt 755 root install_directory srv 755 root install_directory opt 755 root install_directory etc/opt 755 root install_directory var/opt 755 root install_directory media 755 root install_directory var/mail 2775 mail if [ ! -L "$DPKG_ROOT/var/spool/mail" ]; then ln -s ../mail "$DPKG_ROOT/var/spool/mail" fi install_directory run/lock 1777 root migrate_directory /var/run /run migrate_directory /var/lock /run/lock install_local_dir /usr/local install_local_dir /usr/local/share install_local_dir /usr/local/share/man install_local_dir /usr/local/bin install_local_dir /usr/local/games install_local_dir /usr/local/lib install_local_dir /usr/local/include install_local_dir /usr/local/sbin install_local_dir /usr/local/src install_local_dir /usr/local/etc ln -sf share/man "$DPKG_ROOT/usr/local/man" ensure_file_owner_mode /var/log/wtmp root:utmp 664 ensure_file_owner_mode /var/log/btmp root:utmp 660 ensure_file_owner_mode /var/log/lastlog root:utmp 664 fi if [ -d "$DPKG_ROOT/usr/share/info" ] && [ ! -f "$DPKG_ROOT/usr/info/dir" ] && [ ! -f "$DPKG_ROOT/usr/share/info/dir" ]; then install_from_default info.dir /usr/share/info/dir chmod 644 $DPKG_ROOT/usr/share/info/dir fi if [ "$1" = "configure" ] && [ "$2" != "" ]; then update_to_current_default profile /etc/profile update_to_current_default dot.profile /root/.profile if dpkg --compare-versions "$2" lt-nl "7.7"; then install_directory mnt 755 root fi fi