cygport patches for consideration

Brian Inglis
Mon Apr 6 14:46:45 GMT 2020

On 2020-04-05 12:54, Achim Gratz wrote:
> I've prepared a branch on top of current master for your perusal:
> As you can see they've been battle-tested by me for quite some time already:
> commit 779a7dd2fc834d45fb0f46cded647557ece17d8f (to-upstream)
> Date:   Sat Apr 20 20:02:33 2013 +0200
>     switch submodule gnuconfig to HTTPS protocol
>     Live more easily with stupid firewalls...
> commit fd17952c457b808e360e5ed75ffae8d9571283ad
> Date:   Sun Dec 6 13:32:38 2015 +0100
>     lib/pkg_pkg.cygpart: uniquify requirements after the version has been stripped off
>     * lib/pkg_pkg.cygpart: Move the "sort -fu" command to after the
>       stripping of the version part.  Otherwise some dependencies might
>       get listed twice (perl_base does this sometimes).
> commit 40296640fdd0951d72ae0c107f2a46bbf8111ca3
> Date:   Wed Oct 3 08:56:42 2012 +0200
>     support subdirectories in CPAN download URL
>     * cygclass/perl.cygclass: Allow CPAN_AUTHOR to have an /... suffix.
>       This is necessary for some modules that put the distribution files
>       in some subdirectory.  Only upcase the actual author name (up until
>       the first "/") and preserve case for the suffix part.  By request of
>       Reini Urban, also add a variable CPAN_DIR that alternately, if set,
>       will be used to concatenate as ${CPAN_AUTHOR}/${CPAN_DIR} before
>       determining the CPAN download URL.  Neither variable should have a
>       slash ("/") at the beginning or the end.
> commit 22b3f22b92c472df80be0fdcfd3854bfd19e16f8
> Date:   Sun May 18 17:52:10 2014 +0200
>     pkg_info.cygport: correct search order for Perl dependencies
>     * lib/pkg_info.cygpart: Correct search order for Perl dependencies and
>       suppress auto-generation of Perl dependencies when NO_PERL_DEPS is
>       defined.
>     Dependency generation for Perl at least is too simplistic and doesn't
>     take into account that some modules required or used might actually be
>     optional.  It tends to generate too long dependency lists that vary
>     with the Perl distributions already installed.
>     For starters, the search order should be the reverse of
>     @INC to skip dependencies that are built-in to perl already, but that
>     doesn't pick up those modules that are needed with a higher version
>     since only the presence of the module is detected.  Files in site_perl
>     shoud never be searched since these are local installs.  Files in
>     vendor_perl might be useful to check, however due to the version
>     problem it is better to inject the module dpenedencies from the
>     cygport file.  So skip those searches when NO_PERL_DEPS is defined,
>     which it will be for auto-generated cygport files for Perl
>     distributions (the information is pulled from CPAN/MetaCPAN).
> commit 2e61b06df6bd5a742f92c25b50d335945e17a34b
> Date:   Sat Aug 18 12:43:23 2018 +0200
>     bin/ provide all-test / almostall-test commands on CLI for symmetry with package-test / pkg-test
> commit 34e6e1f2dcdf45ac4a3f9e70cae1a8290d860cd9
> Date:   Fri Nov 3 21:47:54 2017 +0100
>     Automatically create a test release if the release string starts with a literal "0"
>     * lib/pkg_pkg.cygpart: Test for a literal "0" as the first character
>       in the release string and make a test release if true.
> commit 7f6fb93eaa9e4afe9e12bd57ebb3e8a4daa135ff
> Date:   Sat Apr 8 17:00:34 2017 +0200
>     Show pkg_tag in chatter
>     lib/pkg_pkg.cygpart: inform when creating hint files for a test
>     release.
> commit 01e199380e32f214c2809d3dcc76f51b61de6d01
> Date:   Sat Sep 17 10:07:10 2016 +0200
>     lib/src_install.cygpart: correct test in make_etc_defaults, possibly show diff
>     * lib/src_install.cygpart (make_etc_defaults): The preremove script
>       only removes plain files when they match the default, so the
>       postinstall script must not install files if _anything_ with the
>       same name already exists.  Change the test from '-f' to '-e'.  If
>       /usr/bin/diff is installed and the target is a plain file, show the
>       diff to the default so the user can decide more easily what to do.

Capturing your commentary, especially of variables, and on effects and side
effects e.g. release string first char 0 => test release, in some doc patches
would be extremely valuable, and in keeping with the high standards set for the
existing package docs.

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.

More information about the Cygwin-apps mailing list