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: <106370283 DOT 20200908171659 AT yandex DOT ru> <782011494 DOT 20200910083521 AT yandex DOT ru> <5a2fdf46-93c8-048b-cadb-cb9d9212c716 AT SystematicSw DOT ab DOT ca> <20200910230426 DOT 5811f3e8 AT quarternote> <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> <87h7s45a4c DOT fsf AT Rainer DOT invalid> <3305b90c-41f2-7377-092d-0f151a83da1c AT cornell DOT edu> From: Brian Inglis 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: 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> Content-Language: en-CA 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 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: cygwin AT cygwin DOT com Content-Type: text/plain; charset="utf-8" Errors-To: cygwin-bounces AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit 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