delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/03/05/16:23:56

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_GC,TW_MK,TW_YG
X-Spam-Check-By: sourceware.org
Received-SPF: pass (google.com: domain of yselkowitz AT gmail DOT com designates 10.50.183.163 as permitted sender) client-ip=10.50.183.163;
Authentication-Results: mr.google.com; spf=pass (google.com: domain of yselkowitz AT gmail DOT com designates 10.50.183.163 as permitted sender) smtp.mail=yselkowitz AT gmail DOT com; dkim=pass header.i=yselkowitz AT gmail DOT com
Message-ID: <1330982609.6988.22.camel@YAAKOV04>
Subject: Re: cygport: How to suppress automatic postinstall script additions
From: "Yaakov (Cygwin/X)" <yselkowitz AT users DOT sourceforge DOT net>
To: cygwin AT cygwin DOT com
Date: Mon, 05 Mar 2012 15:23:29 -0600
In-Reply-To: <4F54FEF3.4010704@cornell.edu>
References: <4F54E12C DOT 4040502 AT cornell DOT edu> <1330962952 DOT 6988 DOT 1 DOT camel AT YAAKOV04> <1330968741 DOT 6988 DOT 13 DOT camel AT YAAKOV04> <4F54FEF3 DOT 4010704 AT cornell DOT edu>
Mime-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

--=-dDRDpAaPBD6ClyW0d3ba
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

On Mon, 2012-03-05 at 12:59 -0500, Ken Brown wrote:
> On 3/5/2012 12:32 PM, Yaakov (Cygwin/X) wrote:
> > OK, here's the fix:
> >
> > 1) Install cygport-0.10.8.1-1 (released just moments ago).
> >
> > 2) Bump collection-basic to $today and build it with newly-downloaded
> > sources.
> >
> > 3) Bump collection-langcjk to $today, add 'jfontmaps' to ARCH_PKGS, and
> > build with newly-downloaded sources.
> >
> > After installing the new collection-basic with the new postinstall
> > script, the aforementioned xetex test works.
> 
> In your new postinstall script, I wonder if it would be better to delete 
> /etc/texmf/web2c/updmap.cfg rather than editing it.  The reason is that 
> the master updmap.cfg in /usr/share/texmf/web2c may have changed due to 
> the addition or deletion of TL packages containing fonts, and I don't 
> think these changes get propagated to /etc/texmf/web2c/updmap.cfg.

The problem with that is any settings in TEXMFSYSCONFIG/web2c/updmap.cfg
would be lost.  What about the attached patch for cygport?


Yaakov


--=-dDRDpAaPBD6ClyW0d3ba
Content-Disposition: attachment; filename="0001-fix-updmap-sys.patch"
Content-Type: text/x-patch; name="0001-fix-updmap-sys.patch"; charset="UTF-8"
Content-Transfer-Encoding: 7bit

diff --git a/cygclass/texlive.cygclass b/cygclass/texlive.cygclass
index b27ab9a..501ff56 100644
--- a/cygclass/texlive.cygclass
+++ b/cygclass/texlive.cygclass
@@ -104,7 +104,9 @@ SRC_DIR="."
 #  Installs the TeX Live package file(s) into their respective locations.
 #****
 texlive_install() {
-	local f pkg pkgs tlpobj dst src
+	local f pkg pkgs tlpobj dst src map
+
+	__config_set texlive_updmaps
 
 	for pkg in ${TEXLIVE_TEXMF_PKGS}
 	do
@@ -168,6 +170,12 @@ texlive_install() {
 			dodir /usr/share/${dst%/*}
 			__doinstall ${perm} $src /usr/share/${dst%/*}
 		done
+
+		for map in $(grep -E 'execute add[^ ]*Map' $tlpobj \
+		             | sed 's/execute add\([^ ]*\) */\1=/g')
+		do
+			__config_set texlive_updmaps "$(__config_get texlive_updmaps) $map"
+		done
 	done
 }
 
diff --git a/lib/src_postinst.cygpart b/lib/src_postinst.cygpart
index aa26c15..08a964f 100644
--- a/lib/src_postinst.cygpart
+++ b/lib/src_postinst.cygpart
@@ -263,17 +263,27 @@ __prep_mateconf_schemas() {
 __prep_texlive() {
 	dodir /etc/postinstall
 	cat >> ${D}/etc/postinstall/${PN}.sh <<-_EOF
-		if [ -x /usr/bin/mktexlsr ] && \\
-		   [ ! -f /usr/share/texmf-dist/ls-R -o \\
+		if [ ! -f /usr/share/texmf-dist/ls-R -o \\
 		     \$(find /usr/share/texmf{,-dist} -mindepth 2 -type f -cnewer /usr/share/texmf-dist/ls-R 2>/dev/null | wc -l) -gt 0 ]
 		then
-		    /usr/bin/mktexlsr
-		    if test -f /etc/texmf/web2c/updmap.cfg; then
-		      /usr/bin/sed -i -e 's/^#! //g' /etc/texmf/web2c/updmap.cfg
-		    fi
+			runfmtutil=1
+		fi
+		/usr/bin/mktexlsr
+		if [ ! -f /etc/texmf/web2c/updmap.cfg ]
+		then
 		    /usr/bin/updmap-sys --syncwithtrees
+		fi
+		for map in $(__config_get texlive_updmaps)
+		do
+		   /usr/bin/updmap-sys --nomkmap --enable \$map
+		done
+		if [ -n "\$map" ]
+		then
 		    /usr/bin/updmap-sys --nohash
 		    /usr/bin/mktexlsr
+		fi
+		if [ -n "\$runfmtutil" ]
+		then
 		    /usr/bin/fmtutil-sys --all
 		    /usr/bin/mktexlsr
 		fi


--=-dDRDpAaPBD6ClyW0d3ba
Content-Type: text/plain; charset=us-ascii

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
--=-dDRDpAaPBD6ClyW0d3ba--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019