[arch-commits] Commit in texlive-games/trunk (PKGBUILD texlive.install)
François Charette
francois at archlinux.org
Tue Aug 18 11:28:22 UTC 2009
Date: Tuesday, August 18, 2009 @ 07:28:22
Author: francois
Revision: 50010
better handling of mapfiles during install
Modified:
texlive-games/trunk/PKGBUILD
texlive-games/trunk/texlive.install
-----------------+
PKGBUILD | 8 +++++---
texlive.install | 48 ++++++++++++++++++++++++++++++++++++++----------
2 files changed, 43 insertions(+), 13 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2009-08-18 11:26:16 UTC (rev 50009)
+++ PKGBUILD 2009-08-18 11:28:22 UTC (rev 50010)
@@ -2,17 +2,18 @@
pkgname=texlive-games
pkgver=2009.13822
-pkgrel=1
+pkgrel=2
pkgdesc="TeX Live - Setups for typesetting various board games, including chess"
license=('GPL')
arch=(any)
depends=('texlive-core')
groups=('texlive-most')
url='http://tug.org/texlive/'
-source=("ftp://ftp.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip")
+source=("ftp://ftp.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip" "$pkgname.maps")
options=('!emptydirs')
install=texlive.install
-md5sums=('ef359dbbfc776d95ffcf25f9ce37092f')
+md5sums=('0e0e2dd35bfb952804ce0ffea615ca99'
+ '387a994c27b49be1ac3cf64a8f9ab155')
build() {
cd $srcdir
@@ -20,6 +21,7 @@
sed -i '/^#/d' CONTENTS || return 1
_revnr=`echo $pkgver | sed 's/2009\.//'`
install -m644 CONTENTS $pkgdir/usr/share/texmf-var/arch/installedpkgs/${pkgname}_${_revnr}.pkgs || return 1
+ install -m644 $pkgname.maps $pkgdir/usr/share/texmf-var/arch/installedpkgs/ || return 1
for p in *.tar.xz; do
bsdtar -xf $p || return 1
done
Modified: texlive.install
===================================================================
--- texlive.install 2009-08-18 11:26:16 UTC (rev 50009)
+++ texlive.install 2009-08-18 11:28:22 UTC (rev 50010)
@@ -1,7 +1,13 @@
-pre_install() {
- cat >> /usr/share/texmf-config/web2c/updmap.cfg <<EOF
+PKGNAME="texlive-games"
+UPDMAP="/usr/share/texmf-config/web2c/updmap.cfg"
+SYNCWITHTREES=''
+NEWMAPS=`mktemp`
+cat <<EOF > $NEWMAPS
Map SkakNew.map
EOF
+
+pre_install() {
+ cat $NEWMAPS >> $UPDMAP
}
post_install() {
@@ -12,23 +18,45 @@
echo " done."
}
+
+pre_upgrade() {
+ OLDMAPS="/usr/share/texmf-var/arch/installedpkgs/$PKGNAME.maps"
+ if [ -f $OLDMAPS ] ; then
+ MAPSDIFF=`mktemp`
+ TOADD=`mktemp`
+ diff -B $OLDMAPS $NEWMAPS | sed 's/\s\+/ /g' > $MAPSDIFF
+ TOREMOVE=`cat $MAPSDIFF | egrep '^<' | cut -d' ' -f3`
+ cat $MAPSDIFF | egrep '^>' | sed 's/^> //' > $TOADD
+ if [ "x$TOREMOVE" != "x" ]; then
+ for map in $TOREMOVE; do
+ sed -i "/\s$map/d" $UPDMAP
+ done
+ fi
+ if [ -s $TOADD ]; then
+ cat $TOADD >> $UPDMAP
+ fi
+ else
+ echo "Warning: file $PKGNAME.maps not found"
+ echo "(ignore the above if updating from TL2008 or from TL2009 in testing)"
+ SYNCWITHTREES="--syncwithtrees"
+ fi
+}
+
+
post_upgrade() {
echo ">>> texlive: updating the filename database..."
texconfig-sys rehash
echo ">>> texlive: updating the fontmap files with updmap..."
- updmap-sys --quiet --nohash
+ updmap-sys --quiet --nohash $SYNCWITHTREES
echo " done."
}
pre_remove() {
- MAPS="SkakNew.map"
- for m in $MAPS; do sed -i "/^M.\+$m/d" /usr/share/texmf-config/web2c/updmap.cfg ; done
+for m in `cut -d' ' -f2 $NEWMAPS`; do
+ sed -i "/\s$m/d" $UPDMAP ;
+done
}
post_remove() {
- echo ">>> texlive: updating the filename database..."
- texconfig-sys rehash
- echo ">>> texlive: updating the fontmap files with updmap..."
- updmap-sys --quiet --nohash
- echo " done."
+ post_install
}
More information about the arch-commits
mailing list