On Fri, Mar 18, 2016 at 12:40:17PM -0500, Yaakov Selkowitz wrote: > On 2016-03-18 07:32, Adam Dinwoodie wrote: > >On Thu, Mar 17, 2016 at 11:37:37AM -0500, Yaakov Selkowitz wrote: > >>On 2016-03-17 07:42, cygwin-no-re...@cygwin.com wrote: > >>>package 'gitweb' hints changed > >>>- 'requires': 'bash perl_base ruby git lighttpd', > >>>? --------------- > >>>+ 'requires': 'bash git lighttpd', > >> > >>gitweb.cgi is a perl script, so perl and several modules are > >>definitely required here. > > > >On this particular package, I've restored the dependency on ruby that > >Cygport stopped picking up. I haven't restored the dependency on > >perl_base, on the grounds that it's included indirectly via the > >dependency on git. > > I'd have to look closer, but it may be that ruby is optional (only > used when 'webrick' is chosen as the web server), but perl is > definitely not. Besides keeping direct dependencies clear, I think > there are some perl modules which need to be required as well.
I don't use gitweb, so I've never really paid attention to the package. Digging into it now (recording here as much for my own reference and posterity as for anything else): - git-instaweb is a bash script; it looks like you could in theory not bother with it and start git-web manually, but the documentation is sufficiently focussed on git-instaweb, and the overhead of a requirement on bash is sufficiently low that I think I want to leave that requirement in rather than attempt to remove it. Plus that's a requirement that Cygport is picking up for itself, and I'd rather not play with Cygport's magic unnecessarily. - gitweb requires _a_ web server, but it looks like it'd be equally happy with with the Apache httpd as with lighttpd, and possibly other things too (webrick? plackup?). It might be worth removing that requirement to let users choose to use Apache's httpd instead. - It looks like ruby is indeed only required if the server is webrick, so I propose removing that as a dependency again. - gitweb.cgi is indeed a Perl script, and has a bunch of Perl module dependencies I've not (yet) worked through to check exactly what those dependencies mean in terms of Cygwin packages. Thus far I've been mostly reliant on Cygport's dependency generation, on the grounds that it hasn't seemed too far from the mark in the past, and I'd rather not have to work out by hand what dependencies have changed every time I package a release. I think, rather than working out what the correct dependencies here should be and configuring them manually, particularly for Perl modules where the mapping from a Perl module name to the Cygwin package isn't always obvious, I'd like to try to work out what's stopping the dependency detection from picking up the dependencies automatically. That feels like a fairly hefty task, though -- I've not dug around much in the Cygport code in the past, and not at all in the dependency handling bits of it.