I notice that certain tools, such as gitk, won't run correctly if git is built from the master branch.
Does anyone maintain a git repo with the patches used to successfully build the cygwin git packages?
jon.
threads / discuss / 23253
Subject: Are the patches used to build git on cygwin available in a git repo somewhere?
I notice that certain tools, such as gitk, won't run correctly if git is built from the master branch.
Does anyone maintain a git repo with the patches used to successfully build the cygwin git packages?
jon.
Re: Are the patches used to build git on cygwin available in a git repo somewhere?
[adding a few relevant cc's]
Jon Seymour wrote:
> Does anyone maintain a git repo with the patches used to successfully > build the cygwin git packages?
I think git.git is the canonical repo. On cygwin.com I don’t see any package more recent than 1.6.6.1 so I suspect no one has packaged a recent version yet.
I assume reports and patches would be welcome.
HTH, Jonathan
Re: Are the patches used to build git on cygwin available in a git repo somewhere?
Jonathan Nieder wrote:
> [adding a few relevant cc's] > > Jon Seymour wrote: > > > Does anyone maintain a git repo with the patches used to successfully > > build the cygwin git packages? > > I think git.git is the canonical repo. On cygwin.com I don’t see any > package more recent than 1.6.6.1 so I suspect no one has packaged a > recent version yet.
s/recent/more recent/
Sorry for the noise.
Re: Are the patches used to build git on cygwin available in a git repo somewhere?
What I was looking for was a git repo that contains a branch with the patches that the cygwin folks mutate the official git release with. Such a repo would be quite useful because people could, in theory, use these to produce their own cygwin git builds at arbitrary commits instead of having to wait for cygwin to catch up.
Admittedly, it is not a big deal to build such a branch using the patch from the cygwin package source, but I was just wondering whether there was a well-known repo that contained the patches already.
jon.
On Wed, Mar 31, 2010 at 1:58 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Jonathan Nieder wrote: >> [adding a few relevant cc's] >> >> Jon Seymour wrote: >> >> > Does anyone maintain a git repo with the patches used to successfully >> > build the cygwin git packages? >> >> I think git.git is the canonical repo. On cygwin.com I don’t see any >> package more recent than 1.6.6.1 so I suspect no one has packaged a >> recent version yet. > s/recent/more recent/ > > Sorry for the noise. >
Re: Are the patches used to build git on cygwin available in a git repo somewhere?
According to Jon Seymour on 3/31/2010 1:55 AM:
> What I was looking for was a git repo that contains a branch with the > patches that the cygwin folks mutate the official git release with. > Such a repo would be quite useful because people could, in theory, use > these to produce their own cygwin git builds at arbitrary commits > instead of having to wait for cygwin to catch up. > > Admittedly, it is not a big deal to build such a branch using the > patch from the cygwin package source, but I was just wondering whether > there was a well-known repo that contained the patches already.
Nope - the patchset that I apply when building the cygwin port is so small that so far I have just maintained it manually, rather than publishing a git repo. But if you want me to make it more public, I can certainly look into doing that. And yes, now that 1.7.x is out for some time now, I should probably advance the cygwin port beyond 1.6.6.1.
-- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Re: Are the patches used to build git on cygwin available in a git repo somewhere?
On Wed, Mar 31, 2010 at 11:49 PM, Eric Blake <eblake@redhat.com> wrote:
> According to Jon Seymour on 3/31/2010 1:55 AM: >> What I was looking for was a git repo that contains a branch with the >> patches that the cygwin folks mutate the official git release with. >> Such a repo would be quite useful because people could, in theory, use >> these to produce their own cygwin git builds at arbitrary commits >> instead of having to wait for cygwin to catch up. >> >> Admittedly, it is not a big deal to build such a branch using the >> patch from the cygwin package source, but I was just wondering whether >> there was a well-known repo that contained the patches already. > > Nope - the patchset that I apply when building the cygwin port is so small > that so far I have just maintained it manually, rather than publishing a > git repo. But if you want me to make it more public, I can certainly look > into doing that. And yes, now that 1.7.x is out for some time now, I > should probably advance the cygwin port beyond 1.6.6.1. >
As you say, it's probably not worth the effort, but if you ever do decide to set such a thing up, do let me know.
jon.
> -- > Eric Blake eblake@redhat.com +1-801-349-2682 > Libvirt virtualization library http://libvirt.org > >
Re: Are the patches used to build git on cygwin available in a git repo somewhere?
Jon Seymour wrote:
> What I was looking for was a git repo that contains a branch with the > patches that the cygwin folks mutate the official git release with.
To clarify, I didn’t realize the Cygwin folks needed a patch at all. Oh well, theory and practice.
I just fetched the packaging.
http://mirror.mcs.anl.gov/cygwin/release/git/git-1.6.6.1-1-src.tar.bz2
gitk - work around stderr redirection on Cygwin
The description of this patch suggests it is meant to work around the old Tcl/Tk version. In that case, maybe stock gitk should learn a workaround. I don’t think it is supposed to require more recent Tcl/Tk than 8.4.
Unfortunately, I cannot find a relevant changelog entry. Maybe this is a Windows-specific bug? http://wiki.tcl.tk/2620 describes a similar problem.
gitk - convert gitk-path to Windows if on Cygwin
This patch seems reasonable, and it only affects Cygwin. I think it looks reasonable for inclusion in stock gitk, though others might disagree.
Documentation/Makefile
Adds --unsafe to the asciidoc command line. Why?
Makefile
Stops disabling so many features, since Cygwin has come a long way. This looks worth applying upstream. The conservative thing to do would be to test $(uname -r), but since it is easy to bring a Cygwin installation up to date and hard to figure out the appropriate versions, it might make sense to make this change unconditionally.
A worrisome one is NO_MMAP. Was that problem ever understood? Maybe v1.6.3-rc0~133 (MinGW: implement mmap, 2009-03-13) contains some clues (just a hope). The message for v1.5.0-rc1~182 (Set NO_MMAP for Cygwin by default, 2006-12-27) indicates that it’s filesystem-specific,
Makefile: all:: perl/perl.mak
Should be unnecessary. The scripts should pull it in already.
Makefile: setting INSTALLDIRS=vendor in the perl/perl.mak target
Should be unnecessary. Make passes on variable settings from the command line to submakes already.
git-gui/Makefile:
Change to Cygwin-specific part. Probably applicable upstream.
Thoughts? Jonathan
Re: Are the patches used to build git on cygwin available in a git repo somewhere?
On 03/31/2010 08:35 PM, Jonathan Nieder wrote:
> I just fetched the packaging. > > http://mirror.mcs.anl.gov/cygwin/release/git/git-1.6.6.1-1-src.tar.bz2 > > gitk - work around stderr redirection on Cygwin > > The description of this patch suggests it is meant to work around > the old Tcl/Tk version. In that case, maybe stock gitk should learn > a workaround. I don’t think it is supposed to require more recent > Tcl/Tk than 8.4. > > Unfortunately, I cannot find a relevant changelog entry. Maybe > this is a Windows-specific bug? http://wiki.tcl.tk/2620 > describes a similar problem.
More of a problem of the fact that cygwin tcl is _still_ stuck with a bastardized implementation that is not quite a true cygwin app, and therefore doesn't handle file redirections as gracefully as it could. Mark Levedahl proposed the patch upstream on 14 Jun 2008, but it was never accepted. http://marc.info/?t=121346288300001&r=1&w=2
> > gitk - convert gitk-path to Windows if on Cygwin > > This patch seems reasonable, and it only affects Cygwin. I think it > looks reasonable for inclusion in stock gitk, though others might > disagree.
OK, I'll find time to re-submit it upstream. It was modified from this original post, also by Mark Levedahl: http://marc.info/?l=git&m=121349005001446&w=2
> > Documentation/Makefile > > Adds --unsafe to the asciidoc command line. Why?
Because VPATH builds of the documentation make asciidoc fail otherwise, due to a complaint about an unsafe use of ../ referencing to find the source dir outside of the build dir.
> > Makefile > > Stops disabling so many features, since Cygwin has come a long way. > This looks worth applying upstream. The conservative thing to do > would be to test $(uname -r), but since it is easy to bring a > Cygwin installation up to date and hard to figure out the appropriate > versions, it might make sense to make this change unconditionally.
Most of those defaults cater to cygwin 1.5, which was released several years ago. Cygwin 1.7 is the only supported version now, but it was only released late 2009. I'll try to find time to submit the less-controversial of these upstream.
> > A worrisome one is NO_MMAP. Was that problem ever understood? Maybe > v1.6.3-rc0~133 (MinGW: implement mmap, 2009-03-13) contains some clues > (just a hope). The message for v1.5.0-rc1~182 (Set NO_MMAP for Cygwin > by default, 2006-12-27) indicates that it’s filesystem-specific,
No one has ever demonstrated to me why NO_MMAP was needed on cygwin. I'd rather get mmap fixed on cygwin, if it really is a bug (and if it still exists; it is highly likely that the bug was against 1.5 but has been fixed in the meantime).
> > Makefile: all:: perl/perl.mak > > Should be unnecessary. The scripts should pull it in already.
It made a difference for me when packaging for cygwin. But if there's a way to make it work without that line, I'm all ears.
> > Makefile: setting INSTALLDIRS=vendor in the perl/perl.mak target > > Should be unnecessary. Make passes on variable settings from the > command line to submakes already.
Again, I could never get it to work without this patch; but I'm all ears if there's a better way.
> > git-gui/Makefile: > > Change to Cygwin-specific part. Probably applicable upstream.
OK, I'll try and find time to send an upstream patch submission.
Meanwhile, I'm trying to package git 1.7.0.4 for cygwin, so this is a good chance to review all of those patches in the cygwin port.
-- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Re: Are the patches used to build git on cygwin available in a git repo somewhere?
Eric,
Just in case it helps, I have taken the cygwin-1.6.6.1-1 patches and split them up according to the discussions in this note and published them as a tag (v1.6.6.1.cygwin-patch) in my fork of the github git/git repo.
git://github.com/jonseymour/git.git
Feel free to clone this and do with it as you will.
If there any interest, I can post them to the list as patches, but I figured it would probably be less confusing if Eric did that himself, should that be required, especially since he has already started a new series.
jon.
On Fri, Apr 2, 2010 at 7:59 AM, Eric Blake <eblake@redhat.com> wrote:
> On 03/31/2010 08:35 PM, Jonathan Nieder wrote: >> I just fetched the packaging. >> >> http://mirror.mcs.anl.gov/cygwin/release/git/git-1.6.6.1-1-src.tar.bz2 >> >> gitk - work around stderr redirection on Cygwin >> >> The description of this patch suggests it is meant to work around >> the old Tcl/Tk version. In that case, maybe stock gitk should learn >> a workaround. I don’t think it is supposed to require more recent >> Tcl/Tk than 8.4. >> >> Unfortunately, I cannot find a relevant changelog entry. Maybe >> this is a Windows-specific bug? http://wiki.tcl.tk/2620 >> describes a similar problem. > > More of a problem of the fact that cygwin tcl is _still_ stuck with a > bastardized implementation that is not quite a true cygwin app, and > therefore doesn't handle file redirections as gracefully as it could. > Mark Levedahl proposed the patch upstream on 14 Jun 2008, but it was > never accepted. > http://marc.info/?t=121346288300001&r=1&w=2 > >> >> gitk - convert gitk-path to Windows if on Cygwin >> >> This patch seems reasonable, and it only affects Cygwin. I think it >> looks reasonable for inclusion in stock gitk, though others might >> disagree. > > OK, I'll find time to re-submit it upstream. It was modified from this > original post, also by Mark Levedahl: > http://marc.info/?l=git&m=121349005001446&w=2 > >> >> Documentation/Makefile >> >> Adds --unsafe to the asciidoc command line. Why? > > Because VPATH builds of the documentation make asciidoc fail otherwise, > due to a complaint about an unsafe use of ../ referencing to find the > source dir outside of the build dir. > >> >> Makefile >> >> Stops disabling so many features, since Cygwin has come a long way. >> This looks worth applying upstream. The conservative thing to do >> would be to test $(uname -r), but since it is easy to bring a >> Cygwin installation up to date and hard to figure out the appropriate >> versions, it might make sense to make this change unconditionally. > > Most of those defaults cater to cygwin 1.5, which was released several > years ago. Cygwin 1.7 is the only supported version now, but it was > only released late 2009. I'll try to find time to submit the > less-controversial of these upstream. > >> >> A worrisome one is NO_MMAP. Was that problem ever understood? Maybe >> v1.6.3-rc0~133 (MinGW: implement mmap, 2009-03-13) contains some clues >> (just a hope). The message for v1.5.0-rc1~182 (Set NO_MMAP for Cygwin >> by default, 2006-12-27) indicates that it’s filesystem-specific, > > No one has ever demonstrated to me why NO_MMAP was needed on cygwin. > I'd rather get mmap fixed on cygwin, if it really is a bug (and if it > still exists; it is highly likely that the bug was against 1.5 but has > been fixed in the meantime). > >> >> Makefile: all:: perl/perl.mak >> >> Should be unnecessary. The scripts should pull it in already. > > It made a difference for me when packaging for cygwin. But if there's a > way to make it work without that line, I'm all ears. > >> >> Makefile: setting INSTALLDIRS=vendor in the perl/perl.mak target >> >> Should be unnecessary. Make passes on variable settings from the >> command line to submakes already. > > Again, I could never get it to work without this patch; but I'm all ears > if there's a better way. > >> >> git-gui/Makefile: >> >> Change to Cygwin-specific part. Probably applicable upstream. > > OK, I'll try and find time to send an upstream patch submission. > > Meanwhile, I'm trying to package git 1.7.0.4 for cygwin, so this is a > good chance to review all of those patches in the cygwin port. > > -- > Eric Blake eblake@redhat.com +1-801-349-2682 > Libvirt virtualization library http://libvirt.org > >