dca4f12df3
Fix pkg-install script where a closing ']' was missing. Submitted by: Giacomo Olgeni Reviewed by: osa (mentor), mandree Approved by: osa (mentor), mandree Differential Revision: https://reviews.freebsd.org/D27693
82 lines
2.8 KiB
Bash
82 lines
2.8 KiB
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
PKGNAME="$1"
|
|
MODE="$2" # PRE-INSTALL, POST-INSTALL, DEINSTALL, POST-DEINSTALL
|
|
|
|
case "$MODE" in
|
|
POST-INSTALL)
|
|
# try to replace the e2fsck and its wrapper, fsck_ext2fs,
|
|
# symbolic links by hard links if possible (pkg ships them as symlinks)
|
|
d1=${PKG_ROOTDIR}/sbin/ ; dev1=$(stat -Lf %Xd "$d1")
|
|
d2=${PKG_ROOTDIR}${PKG_PREFIX}/sbin/ ; dev2=$(stat -Lf %Xd "$d2")
|
|
if [ "$dev1" = "$dev2" ] && [ "$(realpath "$d1")" != "$(realpath "$d2")" ]; then
|
|
for i in e2fsck fsck_ext2fs ; do
|
|
ln -fhP ${d1}${i} ${d2}${i}
|
|
done
|
|
for i in ext2 ext3 ext4 ; do
|
|
ln -fhP ${d2}e2fsck ${d2}fsck.$i
|
|
done
|
|
fi
|
|
#
|
|
# install configuration file and update config files from
|
|
# old "ext4dev" to current "ext4" name.
|
|
#
|
|
if test -s ${PKG_PREFIX}/etc/mke2fs.conf; then
|
|
if cmp -s ${PKG_PREFIX}/etc/mke2fs.conf.dist \
|
|
${PKG_PREFIX}/etc/mke2fs.conf; then
|
|
true
|
|
else
|
|
rc=0
|
|
grep -q ext4dev ${PKG_PREFIX}/etc/mke2fs.conf || rc=$?
|
|
case $rc in
|
|
1) # ext4dev not found (old name)
|
|
cp -f -p ${PKG_PREFIX}/etc/mke2fs.conf.dist \
|
|
${PKG_PREFIX}/etc/mke2fs.conf.e2fsprogs-new
|
|
echo "==========================================================================="
|
|
echo "Warning: installing mke2fs.conf in ${PKG_PREFIX}/etc/mke2fs.conf.e2fsprogs-new"
|
|
echo "Check to see if you need to update your ${PKG_PREFIX}/etc/mke2fs.conf"
|
|
echo "==========================================================================="
|
|
;;
|
|
0) # ext4dev found (old name)
|
|
mv ${PKG_PREFIX}/etc/mke2fs.conf \
|
|
${PKG_PREFIX}/etc/mke2fs.conf.e2fsprogs-old
|
|
cp -f -p ${PKG_PREFIX}/etc/mke2fs.conf.dist \
|
|
${PKG_PREFIX}/etc/mke2fs.conf
|
|
echo "==========================================================================="
|
|
echo "Your mke2fs.conf is too old. Backing up old version in"
|
|
echo "${PKG_PREFIX}/etc/mke2fs.conf.e2fsprogs-old. Please check to see"
|
|
echo "if you have any local customizations that you wish to preserve."
|
|
echo "==========================================================================="
|
|
;;
|
|
*) # grep failed
|
|
exit $rc
|
|
;;
|
|
esac
|
|
fi
|
|
else
|
|
# missing -> install
|
|
cp -p ${PKG_PREFIX}/etc/mke2fs.conf.dist \
|
|
${PKG_PREFIX}/etc/mke2fs.conf
|
|
fi
|
|
;;
|
|
DEINSTALL)
|
|
if cmp -s ${PKG_PREFIX}/etc/mke2fs.conf \
|
|
${PKG_PREFIX}/etc/mke2fs.conf.dist
|
|
then
|
|
rm -f ${PKG_PREFIX}/etc/mke2fs.conf
|
|
else
|
|
echo "If and only if you are deleting e2fsprogs forever,"
|
|
echo "remember to delete ${PKG_PREFIX}/etc/mke2fs.conf."
|
|
fi
|
|
# e2fsck.conf is no longer part of the distribution, but still supported,
|
|
# => no pkg-list @sample line possible
|
|
# and no reference e2fsck.conf.sample or e2fsck.conf.dist is available
|
|
if test -f ${PKG_PREFIX}/etc/e2fsck.conf
|
|
then
|
|
echo "If and only if you are deleting e2fsprogs forever,"
|
|
echo "remember to delete ${PKG_PREFIX}/etc/e2fsck.conf."
|
|
fi
|
|
;;
|
|
esac
|