- Accept absolute path for @fc, @fontsdir, @fcfontsdir, @shell keywords

Approved by:	portmgr (antoine, bapt)
Differential Revision:	https://reviews.freebsd.org/D721
This commit is contained in:
Alex Kozlov 2014-10-08 21:39:47 +00:00
parent fe37bb7958
commit 6107ede2ac
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=370490
5 changed files with 61 additions and 22 deletions

View file

@ -4,8 +4,16 @@
actions: [dir] actions: [dir]
post-install: <<EOD post-install: <<EOD
fc-cache -s %D/%@ 2>/dev/null || true case "%@" in
/*) fontsdir="%@" ;;
*) fontsdir="%D/%@" ;;
esac
fc-cache -s ${fontsdir} 2>/dev/null || true
EOD EOD
post-deinstall: <<EOD post-deinstall: <<EOD
fc-cache -s %D/%@ 2>/dev/null || true case "%@" in
/*) fontsdir="%@" ;;
*) fontsdir="%D/%@" ;;
esac
fc-cache -s ${fontsdir} 2>/dev/null || true
EOD EOD

View file

@ -4,18 +4,26 @@
actions: [dir] actions: [dir]
post-install: <<EOD post-install: <<EOD
fc-cache -s %D/%@ 2>/dev/null || true case "%@" in
mkfontscale %D/%@ 2>/dev/null || true /*) fontsdir="%@" ;;
mkfontdir %D/%@ 2>/dev/null || true *) fontsdir="%D/%@" ;;
esac
fc-cache -s ${fontsdir} 2>/dev/null || true
mkfontscale ${fontsdir} 2>/dev/null || true
mkfontdir ${fontsdir} 2>/dev/null || true
EOD EOD
post-deinstall: <<EOD post-deinstall: <<EOD
fc-cache -s %D/%@ 2>/dev/null || true case "%@" in
mkfontscale %D/%@ 2>/dev/null || true /*) fontsdir="%@" ;;
if [ -e %D/%@/fonts.scale -a "`stat -f '%%z' %D/%@/fonts.scale 2>/dev/null`" = '2' ]; then *) fontsdir="%D/%@" ;;
rm %D/%@/fonts.scale esac
fc-cache -s ${fontsdir} 2>/dev/null || true
mkfontscale ${fontsdir} 2>/dev/null || true
if [ -e ${fontsdir}/fonts.scale -a "`stat -f '%%z' ${fontsdir}/fonts.scale 2>/dev/null`" = '2' ]; then
rm ${fontsdir}/fonts.scale
fi fi
mkfontdir %D/%@ 2>/dev/null || true mkfontdir ${fontsdir} 2>/dev/null || true
if [ -e %D/%@/fonts.dir -a "`stat -f '%%z' %D/%@/fonts.dir 2>/dev/null`" = '2' ]; then if [ -e ${fontsdir}/fonts.dir -a "`stat -f '%%z' ${fontsdir}/fonts.dir 2>/dev/null`" = '2' ]; then
rm %D/%@/fonts.dir rm ${fontsdir}/fonts.dir
fi fi
EOD EOD

View file

@ -4,16 +4,24 @@
actions: [dir] actions: [dir]
post-install: <<EOD post-install: <<EOD
mkfontscale %D/%@ 2>/dev/null || true case "%@" in
mkfontdir %D/%@ 2>/dev/null || true /*) fontsdir="%@" ;;
*) fontsdir="%D/%@" ;;
esac
mkfontscale ${fontsdir} 2>/dev/null || true
mkfontdir ${fontsdir} 2>/dev/null || true
EOD EOD
post-deinstall: <<EOD post-deinstall: <<EOD
mkfontscale %D/%@ 2>/dev/null || true case "%@" in
if [ -e %D/%@/fonts.scale -a "`stat -f '%%z' %D/%@/fonts.scale 2>/dev/null`" = '2' ]; then /*) fontsdir="%@" ;;
rm %D/%@/fonts.scale *) fontsdir="%D/%@" ;;
esac
mkfontscale ${fontsdir} 2>/dev/null || true
if [ -e ${fontsdir}/fonts.scale -a "`stat -f '%%z' ${fontsdir}/fonts.scale 2>/dev/null`" = '2' ]; then
rm ${fontsdir}/fonts.scale
fi fi
mkfontdir %D/%@ 2>/dev/null || true mkfontdir ${fontsdir} 2>/dev/null || true
if [ -e %D/%@/fonts.dir -a "`stat -f '%%z' %D/%@/fonts.dir 2>/dev/null`" = '2' ]; then if [ -e ${fontsdir}/fonts.dir -a "`stat -f '%%z' ${fontsdir}/fonts.dir 2>/dev/null`" = '2' ]; then
rm %D/%@/fonts.dir rm ${fontsdir}/fonts.dir
fi fi
EOD EOD

View file

@ -13,12 +13,20 @@
actions: [file] actions: [file]
post-install: <<EOD post-install: <<EOD
case "%@" in
/*) file="%@" ;;
*) file="%D/%@" ;;
esac
cp /etc/shells /etc/shells.bak cp /etc/shells /etc/shells.bak
(grep -v %D/%@ /etc/shells.bak; echo %D/%@) > /etc/shells (grep -v ${file} /etc/shells.bak; echo ${file}) > /etc/shells
rm -f /etc/shells.bak rm -f /etc/shells.bak
EOD EOD
pre-deinstall: <<EOD pre-deinstall: <<EOD
case "%@" in
/*) file="%@" ;;
*) file="%D/%@" ;;
esac
cp /etc/shells /etc/shells.bak cp /etc/shells /etc/shells.bak
grep -v %D/%@ /etc/shells.bak > /etc/shells grep -v ${file} /etc/shells.bak > /etc/shells
rm -f /etc/shells.bak rm -f /etc/shells.bak
EOD EOD

View file

@ -95,8 +95,15 @@ parse_plist() {
@fc\ *|@fcfontsdir\ *|@fontsdir\ *) @fc\ *|@fcfontsdir\ *|@fontsdir\ *)
set -- $line set -- $line
shift shift
case "$@" in
/*)
echo >&3 "${comment}$@"
;;
*)
echo >&3 "${comment}${cwd}/$@" echo >&3 "${comment}${cwd}/$@"
;; ;;
esac
;;
# order matters here - we must check @cwd first because # order matters here - we must check @cwd first because
# otherwise the @cwd* would also match it first, shadowing the # otherwise the @cwd* would also match it first, shadowing the