Tracking local changes in CVS

Bob Proulx bob at proulx.com
Wed Jun 28 19:20:22 EST 2006


Dan Peterson wrote:
> I'm tracking some custom OpenSSH changes (based on 4.3p2) in a local CVS 
> repository and have run into a few problems... mainly (I believe) because 
> of the .cvsignore files.

It is a little odd that the .cvsignore file is distributed in the
distribution file.  For what you are doing you may want to modify the
.cvsignore file.

> Keep in mind the main idea here is to commit the OpenSSH source without 
> changes, tag, then add my custom changes and add a new tag.  I can 
> probably fix these by making local modes, but I'm just wondering if there 
> are specific reasons importing the source without changes doesn't work.

I am not speaking as an ssh developer (I'm not) but as an ssh user and
as a developer of other software which uses the autotools.

> 1) .cvsignore includes "configure" and "config.h.in", which means those 
> aren't available when I checkout my imported OpenSSH tree.  Is the 
> "standard" approach to use the automake stuff to generate these, ie:

Generally generated files are not checked into version control.
(There are other opinions on this.  But I disagree with them. :-)
Being generated they are more like object files.  Developers are
expected to have correct versions of the build tools to generate those
files.

But since you are using the distribution image you should be able to
use the files that are distributed without needing to generate your
own.  Unless you are also modifying those files too.  But if not then
you shouldn't need to rebuild them.

>     aclocal
>     autoconf
>     autoheader
>     automake
> 
> or some combination of those?

You are doing too much.  I think only autoconf is needed to generate
the configure script.  In any case openssh does not use automake.
Trying to use that is causing you all kinds of problems.

> The error appears to be that "AM_INIT_AUTOMAKE" is not in configure.ac. 
> Is it supposed to be?

No.  There are no Makefile.am files.  The Makefile.in is supplied.

> I must admit I had to chuckle at "required file ./missing not found"... 1) 
> because "./missing" is required and 2) that "/.missing" was not found. :-)

You won't need the automake 'missing' file.  (In a project using
automake you would run 'automake --copy' or 'autoreconf --install' or
similar to have the framework files copied into the project if they
are not there.  The 'missing' script is one of those.)

Bob




More information about the openssh-unix-dev mailing list