From: Patrick Hurley Date: 2006-11-15T12:52:11+09:00 Subject: Re: Windows package task, windows cannot fork On 11/14/06, Dominic Sisneros wrote: > ---------- Forwarded message ---------- > From: Dominic Sisneros > Date: Nov 9, 2006 3:12 PM > Subject: windows xp package task > To: Rake Development and Discussion > > On windows, I use the GnuWin32 tar package. When I try to use the package > task it gave me an error that windows cannot fork. Looking online, I find > this blog post > http://blog.labnotes.org/2005/11/03/creating-zip-and-tar-packages-with-rake-on-windows/which > has the following > > Creating a zip package worked on the first try, but tar complained > that it *'Cannot > fork: Function not implemented' *. It turns out that Cygwin's tar can't run > gzip. So once again, it's time to fix the Rake source code. This time we're > talking about *rake/packagetask.rb*, line 117 that calls tar with the z > option. I replaced that one line with a separate call to tar and gzip: > > sh %{tar cvf #{package_name}.tar #{package_name}} if flag == 'z' sh > %{gzip #{package_name}.tar} end > > You'll need to be a bit more fancy if you want to support both .tar.gz and > .tgz suffixes, but this little fix will allow you to create .tar.gz. > > I did this and the package task worked. > > If you are trying to avoid cygwin (and its path handling can be a good reason, depending upon if you are trying to use Win32, rather than pretend you are on Linux), but still want a functional Win32 tar check out BsdTar: http://gnuwin32.sourceforge.net/packages/bsdtar.htm Install and make a copy on your path with the name tar, works like a charm for me. pth