[ITP] rsync 3.2.6

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Sun Oct 9 21:18:21 GMT 2022


On 2022-10-09 14:23 UTC, Jon Turney wrote:
> On 06/10/2022 02:29, Chad Dougherty wrote:
>> I've been using cygwin for a long time but this is my first attempt at 
>> this process so please be gentle :)
>> I noticed that the current rsync package (3.2.3+20200903+git9f9240b-4) 
>> is trailing on security updates and also still using the g-b-s method. I 
>> pinged the listed maintainer directly last week asking if they were 
>> planning to do any updates but have not heard back.  I hope this was not 
>> a faux pas as I didn't read until later that it's best to raise the 
>> issue on the list first.
>> I've attempted to update the port here:
>> https://github.com/crd477/cygports/tree/main/rsync
>> This package also seemed to work OK with some casual real testing.

> Thanks for looking into updating this.  I'd like to give the existing 
> maintainer first refusal, though.
> Comments on this cygport:

>> REQUIRES="libiconv2 libssl1.1 libxxhash0 libzstd1 liblz4_1"

> You don't (and in fact, shouldn't, because you then need to remember to 
> manually update them e.g. when soversions change) list here packages 
> that cygport can automatically detect as dependencies.

>> # Enable this function for releases that work without autoreconf
>> src_compile()

> You should only override the default src_compile if it doesn't work.
> The fact that autoreconf isn't apparently necessary, doesn't mean it 
> should be omitted, since that means that future fixes to the 
> autoconfiguration machinery aren't automatically incorporated into the 
> package, but will only appear when upstream updates the autotools used 
> to generate the distributed autoconfiguration files.
> (I think this topic is touched upon in the cygport reference manual in 
> the section on cygautoreconf, but perhaps that could be clearer)
> Comparing the contents of the packages this produced with the current 
> package, there are various /usr/share/doc/rsync/*.{html,txt} files which 
> are no longer packaged.  Is this intentional?

I've found a good way to discover optional dependencies not mentioned in the 
package docs as build prereqs is to look in the configure generated in the build 
src dir:

	PKG-VER.ARCH/src/PKG-VER/configure

for the options under:

"Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   ...

Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   ..."

and if you see features or package that mention something like a package name, 
see if you can find a related -devel package e.g. if you see curses, look for:

$ cygcheck -p 'curses.*-devel'
Found 7 matches for curses.*-devel
libncurses-devel-6.0-11.20170617 - libncurses-devel: Terminal display library
libncurses-devel-6.0-12.20171125 - libncurses-devel: Terminal display library
libncurses-devel-6.1-1.20190727 - libncurses-devel: Terminal display library
libncurses-devel-6.3-1.20220416 - libncurses-devel: Terminal display library
libncursesw-devel-6.0-11.20170617 - libncursesw-devel: Obsoleted by libncurses-devel
libncursesw-devel-6.0-12.20171125 - libncursesw-devel: Obsoleted by libncurses-devel
libncursesw-devel-6.1-1.20190727 - libncursesw-devel: Obsoleted by libncurses-devel

add that package name in a (was DEPEND in old cygports) now:

	BUILD_REQUIRES="libncurses-devel ..."
	BUILD_REQUIRES+=" ..."

list in the cygport, which ensures that any dependencies not required by cygport 
(similar to build-essential on other distros) will be installed when you test 
your builds under the Scallywag CI.

Also look in the config and compile logs for other package names and executables 
checked for during the config, shown under config options or variables, or in 
the build logs.

You can also look in other distros for the package spec or build rules e.g.

	https://src.fedoraproject.org/rpms/rsync/blob/rawhide/f/rsync.spec

and try to map their build requirements to Cygwin's.

-- 
La perfection est atteinte			Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter	not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer	but when there is no more to cut
				-- Antoine de Saint-Exupéry


More information about the Cygwin-apps mailing list