public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* Re: calm messages [x86]
       [not found] <201603171242.u2HCgJRj009975@int-mx11.intmail.prod.int.phx2.redhat.com>
@ 2016-03-17 16:37 ` Yaakov Selkowitz
  2016-03-17 19:00   ` Adam Dinwoodie
  2016-03-18 12:32   ` Adam Dinwoodie
  0 siblings, 2 replies; 8+ messages in thread
From: Yaakov Selkowitz @ 2016-03-17 16:37 UTC (permalink / raw)
  To: cygwin-apps

On 2016-03-17 07:42, cygwin-no-reply@cygwin.com wrote:
> package 'git-svn' hints changed
> -  'requires': 'git perl perl-YAML perl_base subversion-perl',
> ?                                           ----------------

Missing subversion-perl on your build machine?

> 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.

> package 'git' hints changed
> -  'requires': 'bash cygwin libcurl4 libexpat1 libgcc1 libiconv2 libintl8 libopenssl100 perl perl-Error perl-TermReadKey perl_base python zlib0 cygutils less openssh rsync',
> ?               -----

Why no more bash dependency?

-- 
Yaakov

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: calm messages [x86]
  2016-03-17 16:37 ` calm messages [x86] Yaakov Selkowitz
@ 2016-03-17 19:00   ` Adam Dinwoodie
  2016-03-17 19:52     ` Yaakov Selkowitz
  2016-03-18 12:32   ` Adam Dinwoodie
  1 sibling, 1 reply; 8+ messages in thread
From: Adam Dinwoodie @ 2016-03-17 19:00 UTC (permalink / raw)
  To: cygwin-apps

On Thu, Mar 17, 2016 at 11:37:37AM -0500, Yaakov Selkowitz wrote:
> On 2016-03-17 07:42, cygwin-no-reply@cygwin.com wrote:
> >package 'git-svn' hints changed
> >-  'requires': 'git perl perl-YAML perl_base subversion-perl',
> >?                                           ----------------
> 
> Missing subversion-perl on your build machine?
> 
> >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.
> 
> >package 'git' hints changed
> >-  'requires': 'bash cygwin libcurl4 libexpat1 libgcc1 libiconv2 libintl8 libopenssl100 perl perl-Error perl-TermReadKey perl_base python zlib0 cygutils less openssh rsync',
> >?               -----
> 
> Why no more bash dependency?

All good questions!  I spotted and fixed the first already in v2.7.3-2;
the other two I'm not sure what changed -- I've been using the same
Cygport file and haven't done anything to remove those dependencies --
but I'll have a look when I get time to do some more digging, hopefully
tomorrow.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: calm messages [x86]
  2016-03-17 19:00   ` Adam Dinwoodie
@ 2016-03-17 19:52     ` Yaakov Selkowitz
  2016-03-17 20:22       ` Adam Dinwoodie
  0 siblings, 1 reply; 8+ messages in thread
From: Yaakov Selkowitz @ 2016-03-17 19:52 UTC (permalink / raw)
  To: cygwin-apps

On 2016-03-17 14:00, Adam Dinwoodie wrote:
> All good questions!  I spotted and fixed the first already in v2.7.3-2;

This 2.7.3-2 is incorrect on a few counts:

1) if the *only* issue is dependencies (and not the contents of the 
build itself) then we can fix the setup.hint on sourceware without a new 
release.

2) it looks like you manually repackaged some but not all of git for 
this.  A release should be a complete build with cygport, not some 
ad-hoc improvisation.

Because of the latter, I have removed the 2.7.3-2 tarballs from the 
distro.  If you need to make a rebuild to fix packaging issues, please 
spin a complete 2.7.3-3 build.

> the other two I'm not sure what changed -- I've been using the same
> Cygport file and haven't done anything to remove those dependencies --
> but I'll have a look when I get time to do some more digging, hopefully
> tomorrow.

Either something changed in the package itself (e.g. executable 
permissions on scripts?) or its a change in cygport.  Either way, let's 
fix this so that these packages work OOTB.

(BTW, thanks to jturney for this new feature in calm.  I hope people 
will pay attention to these from now on.)

-- 
Yaakov

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: calm messages [x86]
  2016-03-17 19:52     ` Yaakov Selkowitz
@ 2016-03-17 20:22       ` Adam Dinwoodie
  0 siblings, 0 replies; 8+ messages in thread
From: Adam Dinwoodie @ 2016-03-17 20:22 UTC (permalink / raw)
  To: cygwin-apps

On Thu, Mar 17, 2016 at 02:52:28PM -0500, Yaakov Selkowitz wrote:
> On 2016-03-17 14:00, Adam Dinwoodie wrote:
> >All good questions!  I spotted and fixed the first already in v2.7.3-2;
> 
> This 2.7.3-2 is incorrect on a few counts:
> 
> 1) if the *only* issue is dependencies (and not the contents of the
> build itself) then we can fix the setup.hint on sourceware without a
> new release.

For 32-bit, I believe the only issue is dependencies; for 64-bit there
is a change in the binaries as well.  I hadn't realised just changing
the setup.hint files was an option, but it sounds like just doing a
complete rebuild of everything is the sensible fix anyway.

> 2) it looks like you manually repackaged some but not all of git for
> this.  A release should be a complete build with cygport, not some
> ad-hoc improvisation.
> 
> Because of the latter, I have removed the 2.7.3-2 tarballs from the
> distro.  If you need to make a rebuild to fix packaging issues,
> please spin a complete 2.7.3-3 build.

Fair enough.  As I said, I'm not going to be able to spin that out
tonight, but I should be able to do it tomorrow.

> >the other two I'm not sure what changed -- I've been using the same
> >Cygport file and haven't done anything to remove those dependencies --
> >but I'll have a look when I get time to do some more digging, hopefully
> >tomorrow.
> 
> Either something changed in the package itself (e.g. executable
> permissions on scripts?) or its a change in cygport.  Either way,
> let's fix this so that these packages work OOTB.

Thinking about it, I suspect my build environment changed; I'd been
relying on the DEPEND setting in git.cygport to catch any problems
there, but that was clearly missing some things, so I expect it's
causing the rest of the problems too.

> (BTW, thanks to jturney for this new feature in calm.  I hope people
> will pay attention to these from now on.)

Agreed; I hadn't spotted it was anything useful to check until too late,
but I'll definitely be looking at it in future.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: calm messages [x86]
  2016-03-17 16:37 ` calm messages [x86] Yaakov Selkowitz
  2016-03-17 19:00   ` Adam Dinwoodie
@ 2016-03-18 12:32   ` Adam Dinwoodie
  2016-03-18 17:40     ` Yaakov Selkowitz
  1 sibling, 1 reply; 8+ messages in thread
From: Adam Dinwoodie @ 2016-03-18 12:32 UTC (permalink / raw)
  To: cygwin-apps

On Thu, Mar 17, 2016 at 11:37:37AM -0500, Yaakov Selkowitz wrote:
> On 2016-03-17 07:42, cygwin-no-reply@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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: calm messages [x86]
  2016-03-18 12:32   ` Adam Dinwoodie
@ 2016-03-18 17:40     ` Yaakov Selkowitz
  2016-03-18 20:53       ` Adam Dinwoodie
  0 siblings, 1 reply; 8+ messages in thread
From: Yaakov Selkowitz @ 2016-03-18 17:40 UTC (permalink / raw)
  To: cygwin-apps

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-reply@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.

-- 
Yaakov

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: calm messages [x86]
  2016-03-18 17:40     ` Yaakov Selkowitz
@ 2016-03-18 20:53       ` Adam Dinwoodie
  2016-03-18 21:47         ` Achim Gratz
  0 siblings, 1 reply; 8+ messages in thread
From: Adam Dinwoodie @ 2016-03-18 20:53 UTC (permalink / raw)
  To: cygwin-apps

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-reply@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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: calm messages [x86]
  2016-03-18 20:53       ` Adam Dinwoodie
@ 2016-03-18 21:47         ` Achim Gratz
  0 siblings, 0 replies; 8+ messages in thread
From: Achim Gratz @ 2016-03-18 21:47 UTC (permalink / raw)
  To: cygwin-apps

Adam Dinwoodie writes:
> 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,

That shouldn't happen, but you need to keep in mind that the Cygwin
package is named after the Perl distribution and not the modules these
contain.  You can find out the distribution name via CPAN or metaCPAN
when all you have is a module name.

> I'd like to try to work out what's stopping the
> dependency detection from picking up the dependencies automatically.

If anything, cygport finds too many dependencies, in particular with
Perl and similar scripting languages.  It has no way of knowing if the
invocation of a module is in fact guarded and entirely optional.  But
I'm sure that in a few cases the heuristics that are used might fail the
other way, too.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf microQ V2.22R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-03-18 21:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <201603171242.u2HCgJRj009975@int-mx11.intmail.prod.int.phx2.redhat.com>
2016-03-17 16:37 ` calm messages [x86] Yaakov Selkowitz
2016-03-17 19:00   ` Adam Dinwoodie
2016-03-17 19:52     ` Yaakov Selkowitz
2016-03-17 20:22       ` Adam Dinwoodie
2016-03-18 12:32   ` Adam Dinwoodie
2016-03-18 17:40     ` Yaakov Selkowitz
2016-03-18 20:53       ` Adam Dinwoodie
2016-03-18 21:47         ` Achim Gratz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).