c599011a8e
Some checks failed
PikaOS Package Build & Release (Canary) (amd64-v3) / build (push) Failing after 5s
134 lines
3.8 KiB
Bash
134 lines
3.8 KiB
Bash
#!/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/#VENDORFILE#" ]; then
|
|
ln -sf #VENDORFILE# "$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/libexec
|
|
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
|
|
|
|
rtlddir="#USR_MERGE_RTLDLIB#"
|
|
if [ "$1" = "configure" ] && [ -n "$rtlddir" ]; then
|
|
# Remove temporary DEP17 M4 diversion added by glibc.
|
|
dpkg-divert --quiet --package base-files --remove --no-rename --divert "/.$rtlddir.usr-is-merged" "/$rtlddir"
|
|
fi
|
|
|
|
if [ "$1" = "configure" ] || [ "$1" = "triggered" ]; then
|
|
for d in #USR_MERGE_MULTILIB#; do
|
|
if [ -d "$DPKG_ROOT/usr/$d" ]; then
|
|
if [ -L "$DPKG_ROOT/$d" ]; then
|
|
:
|
|
elif [ -d "$DPKG_ROOT/$d" ]; then
|
|
echo "Warning: /$d is not a symlink, but should be." 1>&2
|
|
else
|
|
ln -s "usr/$d" "$DPKG_ROOT/$d"
|
|
fi
|
|
elif [ -L "$DPKG_ROOT/$d" ]; then
|
|
rm "$DPKG_ROOT/$d"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
#DEBHELPER#
|