[Xastir] A bit of intro to CVS

Curt, WE7U curt.we7u at gmail.com
Wed Jun 23 02:07:55 EDT 2010


On Tue, 22 Jun 2010, Curt, WE7U wrote:

> Xastir 1.9.8 can't do OSM.  OSM in Xastir is too new.
>
> You would need to upgrade to the latest Xastir CVS version which has
> the code in it for handling OSM maps.

> Try this for help on CVS:
>
>    http://www.xastir.org/wiki/Notes:CVS

Unless you're a software developer or compile open-source code from
sources, you may not have come across the term "CVS" before.  RCS,
CVS, SVN, Git...   Those are all different types of Revision Control
Systems used to keep track of software revisions.  There are plenty
more of them too.  Since we use CVS only for Xastir I'll concentrate
mostly on that below.

We use programs like CVS and SVN to save the DIFFERENCES between
revisions.  RCS & CVS assign a number to each revision of a file,
but SVN (Subversion) assigns a number to a TREE of files.  I use SVN
mostly instead of CVS at work, but commands are similar between the
two.  Look at the top of most of Xastir's source files and you'll
see a revision number inside an "$ Id: $" tag.  That's a type of tag
used only by RCS and CVS revision control systems.

If you've never used revision control systems before, the tendency
is to save trees of files in different directories, like xastir.1,
xastir.2, xastir.3...  Sometimes people will compress each of these
to save space, but you're still saving entire copies of each source
tree.  It's difficult to compare between versions or extract a
particular version of a particular file using this system.

Revision control systems make all of this much easier, storing the
base version plus the differences between each revision thereafter
(saving a lot of space), plus they store all of this on a remote
server.  CVS allows multiple developers to read and/or write
revisions at the same time.  When conflicts arise with two or more
developers trying to change the same file at the same time, methods
exist to alleviate the conflicts.

The Xastir project uses CVS, which stands for Concurrent Versions
System.  What this means to a user:  A couple of commands to issue
which cause the entire tree of source code files for Xastir to come
down from the server to your local box.  See README.CVS or the link
above for the specific commands, I won't list those here.

Once you have the files on your local box you may need to install a
few more tools, namely what we call the "autotools" suite,
"autoconf" and "automake", before you can compile Xastir from
scratch.  You'll also need to install some development packages for
various libraries that Xastir uses to do its work.  Most of these
development packages are usually quite small compared to the
libraries they go with.

So...  Switching from a binary release or released tarball (.tar.gz
or .tgz file) to using CVS Xastir takes a small amount of work up
front, but once you do so you can keep up with whatever the
developers have committed.  If a major bug was fixed and noted on
the mailing list, you can issue commands like:

     cd ~/src/xastir  # Or wherever you put the Xastir sources
     cvs update
     ./bootstrap.sh
     ./configure
     make
     sudo make install
     sudo chmod 4755 /usr/local/bin/xastir

to bring down just the changes (differences) between the last
version you snagged and the latest-latest version the developers
just checked in, perhaps a few seconds ago.

We also have an "update-xastir" script that automates most of the
above.  In that case you'd run:

     cd ~/src/xastir   # Or wherever you put the Xastir sources
     ./update-xastir

Again, to get started down this road read the README.CVS file and/or
the CVS Howto on the Xastir webpages listed at the top of this
message.  Note that only those with developer access are allowed to
WRITE to the CVS server, so the sources are safe enough from normal
users.  Regular users can bring down the full sources and also issue
"cvs update" commands as much as they wish in order to stay current.

-- 
Curt, WE7U.                         <http://www.eskimo.com/~archer>
    APRS:  Where it's at!                    <http://www.xastir.org>
   Lotto:  A tax on people who are bad at math. - unknown
Windows:  Microsoft's tax on computer illiterates. - WE7U.
The world DOES revolve around me:  I picked the coordinate system!"



More information about the Xastir mailing list