
                              Wine Documentation                               
Prev                        Chapter 2. Getting Wine                        Next
-------------------------------------------------------------------------------

Getting Wine Source Code from CVS

The official web page for Wine CVS is http://www.winehq.com/dev.html.

First, you need to get a copy of the latest Wine sources using CVS. You can
tell it where to find the source tree by setting the CVSROOT environment
variable. You also have to log in anonymously to the wine CVS server. In bash,
it might look something like this:
$ export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine                        
$ cvs login                                                                    
Password: cvs                                                                  
$ cvs checkout wine                                                            
                                                                               

That'll pull down the entire Wine source tree from winehq.com and place it in
the current directory (actually in the 'wine' subdirectory). CVS has a million
command line parameters, so there are many ways to pull down files, from
anywhere in the revision history. Later, you can grab just the updates:
$ cvs -dP update                                                               
                                                                               

cvs update works from inside the source tree. You don't need the CVSROOT
environment variable to run it either. You just have to be inside the source
tree. The -d and -P options make sure your local Wine tree directory structure
stays in sync with the remote repository.

After you've made changes, you can create a patch with cvs diff -u, which sends
output to stdout (the -u controls the format of the patch). So, to create an
my_patch.diff file, you would do this:
$ cvs diff -u > my_patch.diff                                                  
                                                                               

You can call cvs diff from anywhere in the tree (just like cvs update), and it
will always grab recursively from that point. You can also specify single files
or subdirectories:
$ cvs diff -u dlls/winaspi > my_aspi_patch.diff                                
                                                                               

Experiment around a little. It's fairly intuitive.
-------------------------------------------------------------------------------
Prev                                  Home                                 Next
Getting Wine Source Code               Up                 Upgrading Wine with a
from the FTP Archive                                                      Patch
