[RFC] incremental rebase
szgyg
szgyg@ludens.elte.hu
Mon Nov 17 11:54:00 GMT 2014
Ken Brown, 2014.11.17. 12:00 :
> What I have in mind is simpler than this. There's nothing wrong with
> the existing texlive postinstall scripts except slowness, due to the
> repetition of time-consuming commands in different scripts. So I just
> need to do some rearranging:
>
> 1. I would create a pre-postinstall perpetual script that checks
> /etc/postinstall to see if there are any ordinary texlive postinstall
> scripts that are not marked as done. If so, it runs mktexlsr. [This
> may not be necessary; I have to think about it some more.]
>
> 2. I would modify all ordinary texlive postinstall scripts to remove all
> calls to mktexlsr, fc-cache, and updmap-sys, except for calls to the
> latter that simply enable maps. And I would remove the --nohash option
> from those. In addition, these scripts would create a marker file to
> indicate that updmap-sys and fc-cache need to be run later.
>
> 3. I would create a post-postinstall perpetual script that runs
> updmap-sys and fc-cache as needed.
I have a half-baked cygport patch for texlive postinstall. I dropped it
because I don't use cygwin's tex anymore, but it may have some value.
Packages put commands in /etc/postinstall/texlive. The first postinstall
script runs and removes them, so subsequent postinsall scripts will see
an empty workqueue. Ordering is done by assigning priorities to commands.
s
-------------- next part --------------
>From eed457541118eb5c2fd43a63597b2b3b5fc21531 Mon Sep 17 00:00:00 2001
From: Szavai Gyula <szgyg@ludens.elte.hu>
Date: Thu, 12 Jun 2014 08:32:45 +0200
Subject: [PATCH] postinst: cross-package texlive script consolidation
---
lib/src_postinst.cygpart | 40 ++++++++++++++++++++++++----------------
1 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/lib/src_postinst.cygpart b/lib/src_postinst.cygpart
index 6188899..25cdb8c 100644
--- a/lib/src_postinst.cygpart
+++ b/lib/src_postinst.cygpart
@@ -327,10 +327,10 @@ __prep_mateconf_schemas() {
__prep_texlive() {
local d fmt fmts map maps
- dodir /etc/postinstall /etc/preremove
+ dodir /etc/postinstall /etc/postinstall/texlive /etc/preremove
- cat >> ${D}/etc/postinstall/${PN}.sh <<-_EOF
- /usr/bin/mktexlsr
+ cat >> ${D}/etc/postinstall/texlive/${PN}.sh <<-_EOF
+ 10 /usr/bin/mktexlsr
_EOF
fmts=$(__config_get texlive_fmts)
@@ -340,33 +340,33 @@ __prep_texlive() {
then
for map in $maps
do
- cat >> ${D}/etc/postinstall/${PN}.sh <<-_EOF
- /usr/bin/updmap-sys --nohash --nomkmap --enable $map
+ cat >> ${D}/etc/postinstall/texlive/${PN}.sh <<-_EOF
+ 20 /usr/bin/updmap-sys --nohash --nomkmap --enable $map
_EOF
cat >> ${D}/etc/preremove/${PN}.sh <<-_EOF
/usr/bin/updmap-sys --nohash --nomkmap --disable ${map#*=}
_EOF
done
- cat >> ${D}/etc/postinstall/${PN}.sh <<-_EOF
- /usr/bin/updmap-sys --nohash --syncwithtrees
- /usr/bin/updmap-sys --nohash
- /usr/bin/mktexlsr
+ cat >> ${D}/etc/postinstall/texlive/${PN}.sh <<-_EOF
+ 30 /usr/bin/updmap-sys --nohash --syncwithtrees
+ 33 /usr/bin/updmap-sys --nohash
+ 36 /usr/bin/mktexlsr
_EOF
fi
if [ -n "${fmts#0}" ]
then
for fmt in $fmts
do
- cat >> ${D}/etc/postinstall/${PN}.sh <<-_EOF
- /usr/bin/fmtutil-sys --enablefmt $fmt
- /usr/bin/fmtutil-sys --byfmt $fmt
+ cat >> ${D}/etc/postinstall/texlive/${PN}.sh <<-_EOF
+ 50 /usr/bin/fmtutil-sys --enablefmt $fmt
+ 53 /usr/bin/fmtutil-sys --byfmt $fmt
_EOF
cat >> ${D}/etc/preremove/${PN}.sh <<-_EOF
/usr/bin/fmtutil-sys --disablefmt $fmt
_EOF
done
- cat >> ${D}/etc/postinstall/${PN}.sh <<-_EOF
- /usr/bin/mktexlsr
+ cat >> ${D}/etc/postinstall/texlive/${PN}.sh <<-_EOF
+ 60 /usr/bin/mktexlsr
_EOF
fi
@@ -374,11 +374,19 @@ __prep_texlive() {
do
if [ -d ${D}${d} ]
then
- cat >> ${D}/etc/postinstall/${PN}.sh <<-_EOF
- /usr/bin/fc-cache -f $d
+ cat >> ${D}/etc/postinstall/texlive/${PN}.sh <<-_EOF
+ 70 /usr/bin/fc-cache -f $d
_EOF
fi
done
+
+ cat >> ${D}/etc/postinstall/${PN}.sh <<-_EOF
+ if [ -d /etc/postinstall/texlive/ ]
+ then
+ cat /etc/postinstall/texlive/*.sh | sort -u | cut -d ' ' -f 2- | sh
+ rm -R /etc/postinstall/texlive/
+ fi
+ _EOF
}
#****P* Postinstall/X Sessions
--
1.7.9
More information about the Cygwin-apps
mailing list