This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: how to re-build Cygwin core package?


On Wed, 25 Aug 2004, Gernot Hillier wrote:

> Hi!
> 
> I'm currently trying to rebuild the Cygwin core package (i.e. 
> cygwin-1.5.10-3.tar.bz2) from the cygwin-1.5.10-3-src.tar.bz2 package because 
> I patched a small detail in cygwin.dll. I'd really like to use Cygwin's 
> setup.exe to install my changed version and so I'm trying to produce the 
> binary packages as delivered by cygwin.com normally.

Why not build from CVS HEAD?  Not only does this ensure that you get the 
latest fixes, but also the CVS build is much less painful than the source 
package build.  The source package is really provided mostly for 
reference.

> I found "How do I rebuild the tools on my NT box?" in the FAQs and used it as 
> a starting point. Now I can compile the tools and do "make install" to 
> another directory, but the structure there looks completely different than 
> that seen in the binary package cygwin-1.5.10-3.tar.bz2. It also seems that 
> this tree also contains files which belong to the mingw-runtime and w32api 
> packages normally (but which bring along their own source packages??).

Building and packaging are two different beasts.

> So now my question is: what exactly is the process used for building the 
> "official" cygwin core binary packages? Should I replace the cygwin, 
> mingw-runtime and w32api packages all at once to have a clean new Cygwin?

Depends on what exactly is changed.  If the changes are limited to the 
Cygwin DLL, replacing just the DLL should suffice.  If some method 
signatures changed (either as the result of your changes, or because of 
the commits to CVS since the last release), you'll need to also replace 
all the tools that potentially use these methods.  There's generally no 
need to replace the w32api package, even if the new version exports new 
Windows functionality, since the export is only needed during linking, and 
once the tools are built, they'll pick up the functionality directly from 
the Windows DLLs.  Mingw-runtime is a different beast altogether, but few 
tools in Cygwin actually use it (cygcheck and strace being the notable 
ones), and, unless there are actual changes in the API *that are used by 
these tools*, you don't need to replace that package.

> I learned from http://cygwin.com/setup.html#package_contents that there 
> should be a description telling the user how to rebuild a package, but I 
> can't find it for the cygwin package itself.
> 
> Any help or hint is greatly appreciated...

Unfortunately, Cygwin does not have a Cygwin-specific readme in 
/usr/share/doc/Cygwin...  Do, however, search this list (or the Cygwin 
site) for "mknetrel" (or, better, "mknetrel build cygwin").

Incidentally, two issues should be mentioned.  One is licensing: if you 
intend to distribute the modified version of the Cygwin package, your 
changes are automatically GPL'd, and you should distribute the full 
source, including the changes.  I would recommend, however, instead of 
creating a yet another copy of Cygwin ("YACOC"? Nah!), to consider 
contributing the patch into the main Cygwin development (you'll need a 
copyright assignment, see <http://cygwin.com/contrib.html>.  I would also 
recommend subscribing to the cygwin-developers list in that case...
HTH,
	Igor
P.S. The cygwin-developers archives are password-protected.  The welcome 
message from the cygwin-developers list should ideally contain the 
password somewhere in it.  It currently doesn't.  CGF?
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Happiness lies in being privileged to work hard for long hours in doing
whatever you think is worth doing."  -- Dr. Jubal Harshaw

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]