delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/09/12/01:19:36

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 972C83857C44
Authentication-Results: sourceware.org; dmarc=none (p=none dis=none)
header.from=SystematicSw.ab.ca
Authentication-Results: sourceware.org;
spf=none smtp.mailfrom=brian DOT inglis AT systematicsw DOT ab DOT ca
X-Authority-Analysis: v=2.3 cv=LKf9vKe9 c=1 sm=1 tr=0
a=kiZT5GMN3KAWqtYcXc+/4Q==:117 a=kiZT5GMN3KAWqtYcXc+/4Q==:17
a=IkcTkHD0fZMA:10 a=CCpqsmhAAAAA:8 a=781EXOWYopqGGcEmleYA:9
a=iSqRKFO3JkKIRHM5:21 a=bkk8qAcpbxOrlJOC:21 a=QEXdDO2ut3YA:10
a=o1yDpi_DOQcA:10 a=ul9cdbp4aOFLsgKbc677:22
Subject: Re: postinstall: fontconfig abnormal exit
To: cygwin AT cygwin DOT com
References: <DB6PR03MB3013DDDB803E3E4B8EF8E935A4290 AT DB6PR03MB3013 DOT eurprd03 DOT prod DOT outlook DOT com>
<106370283 DOT 20200908171659 AT yandex DOT ru>
<DB6PR03MB30139A2A8B7ABC69F6F4CEC2A4290 AT DB6PR03MB3013 DOT eurprd03 DOT prod DOT outlook DOT com>
<DB6PR03MB301312724F0DFF66AF9E796DA4270 AT DB6PR03MB3013 DOT eurprd03 DOT prod DOT outlook DOT com>
<782011494 DOT 20200910083521 AT yandex DOT ru>
<DB6PR03MB3013D1FD4D925B12A4022E98A4270 AT DB6PR03MB3013 DOT eurprd03 DOT prod DOT outlook DOT com>
<5a2fdf46-93c8-048b-cadb-cb9d9212c716 AT SystematicSw DOT ab DOT ca>
<20200910230426 DOT 5811f3e8 AT quarternote>
<VI1PR03MB3022EBE68767183BCA4889ECA4240 AT VI1PR03MB3022 DOT eurprd03 DOT prod DOT outlook DOT com>
<DB7PR02MB39967134A1C1169A8A406BE8E7240 AT DB7PR02MB3996 DOT eurprd02 DOT prod DOT outlook DOT com>
<8f40571c-1a37-8e4b-f1bd-ecf40175d0d7 AT gmail DOT com>
<179bbaf0-02b4-1c63-0083-5fa2a8833ea9 AT cornell DOT edu>
<06e9cf44-8cc8-267e-12b3-e8a866a01c80 AT gmail DOT com>
<ee4d59c7-00d3-a2e6-fa13-04622ed8391f AT cornell DOT edu>
<87h7s45a4c DOT fsf AT Rainer DOT invalid>
<3305b90c-41f2-7377-092d-0f151a83da1c AT cornell DOT edu>
From: Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca>
Autocrypt: addr=Brian DOT Inglis AT SystematicSw DOT ab DOT ca; prefer-encrypt=mutual;
keydata=
mDMEXopx8xYJKwYBBAHaRw8BAQdAnCK0qv/xwUCCZQoA9BHRYpstERrspfT0NkUWQVuoePa0
LkJyaWFuIEluZ2xpcyA8QnJpYW4uSW5nbGlzQFN5c3RlbWF0aWNTdy5hYi5jYT6IlgQTFggA
PhYhBMM5/lbU970GBS2bZB62lxu92I8YBQJeinHzAhsDBQkJZgGABQsJCAcCBhUKCQgLAgQW
AgMBAh4BAheAAAoJEB62lxu92I8Y0ioBAI8xrggNxziAVmr+Xm6nnyjoujMqWcq3oEhlYGAO
WacZAQDFtdDx2koSVSoOmfaOyRTbIWSf9/Cjai29060fsmdsDLg4BF6KcfMSCisGAQQBl1UB
BQEBB0Awv8kHI2PaEgViDqzbnoe8B9KMHoBZLS92HdC7ZPh8HQMBCAeIfgQYFggAJhYhBMM5
/lbU970GBS2bZB62lxu92I8YBQJeinHzAhsMBQkJZgGAAAoJEB62lxu92I8YZwUBAJw/74rF
IyaSsGI7ewCdCy88Lce/kdwX7zGwid+f8NZ3AQC/ezTFFi5obXnyMxZJN464nPXiggtT9gN5
RSyTY8X+AQ==
Organization: Systematic Software
Message-ID: <abb3d78e-7679-db16-e219-7e32b04942c0@SystematicSw.ab.ca>
Date: Fri, 11 Sep 2020 23:18:43 -0600
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101
Thunderbird/68.12.0
MIME-Version: 1.0
In-Reply-To: <3305b90c-41f2-7377-092d-0f151a83da1c@cornell.edu>
X-CMAE-Envelope: MS4wfGNsRAY6AFlhik618TnBOeEF1lW7EGB9AmmZvA6ifuizj188CSLJmrist8qb43uHlygsQPYcUVkvgLbCHXQ2hsOPpqok1ekczsvvdGPMf3jKR1/BBVSH
/bAMXf23Ngr8GmlMN+vo4SpsB4vs7JU18YVNP4dq2MHiPK2tvGQdr23S4YGUlMqmQsVNyJRHYshcSg==
X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,
SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: cygwin AT cygwin DOT com
Errors-To: cygwin-bounces AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 08C5JHbp026118

On 2020-09-11 15:13, Ken Brown via Cygwin wrote:
> On 9/11/2020 4:30 PM, Achim Gratz wrote:
>> Ken Brown via Cygwin writes:
>>> Unfortunately, this doesn't yet fix the problem with
>>> fontconfig_dtd.sh.  The latter will now succeed if it is run after
>>> libxml2.sh, but not if it is run first.  I'm not aware of any way to
>>> force setup to run one postinstall script before another.
>>
>> Multiple ways:
>>
>> 1. Make the libxml postinstall script sort lexically before any others
>> that depend on it.  Obviously this is brittle, but it might work in this
>> particular instance (autorebase does this).
>>
>> 2.  Make the libxml catalog creation a perpetual postinstall script with
>> prefix "0p_".  That only works if it doesn't depend on other postinstall
>> scripts having their work completed.
>>
>> 3. Implement and use the stratified postinstall concept originally
>> outlined at:
>> https://sourceware.org/legacy-ml/cygwin-apps/2014-12/msg00148.html
>>
>> 4. Use the package dependency order to order the postinstall script
>> activation.  With libzypp we should have the correct information, we'd
>> just need to somehow make the packagemeta iterator use it.  That still
>> won't work if we have dependency loops.
>>
>> 5. (Try to) Run any failed postinstalls again in setup and bail only if
>> the number of fails does not decrease from the last iteration.
>>
>> At the time it was deemed too complicated and so we only use the "end"
>> strata for the perpetual postinstall scripts.  As said then, there would
>> need to be some serious discussion on how to coordinate the strata
>> assignments.
> 
> There's no dependency relation between libxml2 and libfontconfig-common, so #4
> wouldn't fix the problem.  And some of the other suggestions would require work
> on setup.exe that someone would have to do.  The current problem is simple to
> fix and shouldn't have to wait for that.
> 
> I like your idea of using perpetual postinstall scripts.  I think the way to do
> it is probably to make fontconfig_dtd.sh perpetual with prefix "zp_".  That way
> if libfontconfig-common is installed without libxml2 but then libxml2 is
> installed later, the xmlcatalog command gets run.  We would have to check that
> no harm is done if that xmlcatalog command gets run more than once.

As libxml2 supplies /usr/bin/xmlcatalog, that postinstall script should both
conditionally create the catalog and only if just created, also conditionally
add fonts.dtd, as those scripts are run on each upgrade, although as the add
actually replaces the fonts.dtd entry, no harm should be done by repetition.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in IEC units and prefixes, physical quantities in SI.]


[TL;DR: We do not want to add more permanent postinstall scripts unless essential!
Permanent postinstall scripts can greatly extend the run time of the Cygwin
Setup program, when fontconfig, man-db, or tex just seem to decide sometimes for
some reason that another whole new world of fonts, man pages, or whatever has
appeared that they have to reprocess, pushing the Setup run time and service
(cron) downtime to hours if you don't notice, terminate the postinstall, and
rerun in the background.
I've had to deinstall packages by playing with the Setup dependency solver
results, just to eliminate their permanent postinstall scripts that often cause
extended delays.
It's not as if run Setup frequently, or take anything down if I can help it, and
prefer to wait until I have 10s of MB of package upgrades to apply to make it
worthwhile to shut down services, mainly right before restarting to allowing
that month's Windows updates to be applied once they are deemed safe to go.]

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

- Raw text -


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