RSS/Atom feed Twitter
Site is read-only, email is disabled

Compiling in from CVS

This discussion is connected to the gimp-user-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

4 of 4 messages available
Toggle history

Please log in to manage your subscriptions.

Compiling in from CVS Joao S. O. Bueno 27 Nov 14:34
  Compiling in from CVS David Neary 27 Nov 16:42
   Compiling in from CVS Malcolm Tredinnick 28 Nov 00:27
  Compiling in from CVS Sven Neumann 28 Nov 01:18
Joao S. O. Bueno
2003-11-27 14:34:06 UTC (over 20 years ago)

Compiling in from CVS

Hi there,

I am trying to keep a GIMP HEAD running, but oftenly I find some difficulties in compiling in from CVS and would like some hints on how to keep my local tree, in a way it compiles.

Actually, sometimes I simly give up and make a new checkout from the CVS entirely. I made this a day or two before 1.3.23 came out. When I perform this, I always manage to compile and install cleanly.

But, right now, I want to update it. So, let´s go by steps: I go
cvs -z3 update
I go
make distclean
Them
./configure
make
Them it fails because some windowmanager.png has its name changed to windowmanagement.png . I could work around this manually, but them other failures will come over.
How do I avoid this? I get CVS versions from the past? I post them as BUGs and wait for the mainteners to fix it up? Is something beyond make distclean needed?

If the solution is to pull a different version of some files from the CVS, what is the syntax for it.

Thank you for the hints. I hope that with a good willing answer to this e-mail, I don't have to perform
rm -Rf gimp/
cvs -z3 checkout gimp
again nevermore.

David Neary
2003-11-27 16:42:56 UTC (over 20 years ago)

Compiling in from CVS

Hi Joao,

Joao S. O. Bueno wrote:

But, right now, I want to update it. So, let?s go by steps: I go
cvs -z3 update

You should use cvs up -dP - this will create directories present in the repository, but not locally, and prune (remove) directories which have been emptied via file removals. There are reasonable defaults, and should probably go in your .cvsrc, along with diff -u.

That alone will fix some of your problems.

I go
make distclean

If you really want to clean out everything, then maintainer-clean is perhaps better. After doing this, you will need to re-run autogen.sh. Among other things, this rebuilds Makefile.ins from Makefile.ams, which is probably the point at which the changed filenames are causing a problem for you.

Is something beyond make distclean needed?

Usually, you don't need to make distclean at all.

The following is usually sufficient for me...

The first time:

cvs co -d gimp-1.3 gimp cd gimp-1.3
./autogen.sh
make -j4
sudo make install

And thereafter:

cd gimp-1.3 cvs up -dP
make -j4
sudo make install

Sometimes, a new Makefile.am is added (recently, for example, when mitch reorganised script-fu to separate out siod), and this will not work. You will see an error like make: no rule to target all
or somesuch in the directory in question. In this case, simply re-run autogen.sh and all will be well.

When you run autogen.sh, what happens is that the makefiles are created with some special rules which check whether files like Makefile.am or configure.in have changed, and if they have, make will re-run what it needs to to bring these files and their dependencies up to date. This fails when there is a directory with no makefile at all (as is the case when a new directory gets added).

I hope that with a good willing answer to this e-mail, I don't have to perform
rm -Rf gimp/
cvs -z3 checkout gimp
again nevermore.

I hope so too :) The last time I did that is about 6 months ago.

Cheers, Dave.

Malcolm Tredinnick
2003-11-28 00:27:02 UTC (over 20 years ago)

Compiling in from CVS

On Fri, 2003-11-28 at 02:42, David Neary wrote:

Hi Joao,

Joao S. O. Bueno wrote:

But, right now, I want to update it. So, let?s go by steps: I go
cvs -z3 update

You should use cvs up -dP - this will create directories present in the repository, but not locally, and prune (remove) directories which have been emptied via file removals. There are reasonable defaults, and should probably go in your .cvsrc, along with diff -u.

That alone will fix some of your problems.

I go
make distclean

If you really want to clean out everything, then maintainer-clean is perhaps better. After doing this, you will need to re-run autogen.sh. Among other things, this rebuilds Makefile.ins from Makefile.ams, which is probably the point at which the changed filenames are causing a problem for you.

If you are going to run 'make distclean' or 'make maintainer-clean' you should do it *before* the CVS update. Otherwise files in the make processes' run might have been removes, Makefile.am files could have been changed (leading to changed Makefiles) and so the right files will not be cleaned and so on and so on. Your current method arbitrarily changes a bunch of code and then hopes that the old Makefile will still be relevant. Not always a good assumption.

Also, the attached file may prove useful if your tree is a little confused. Run 'python super-clean.py .' inside the gimp directory. It will remove all files that are not known to CVS from your local copy (without running out on the network -- it just looks at the local CVS control files). You can run this, then 'cvs update' to get any new files and be assured that you have a pristine CVS copy.

Malcolm

Sven Neumann
2003-11-28 01:18:26 UTC (over 20 years ago)

Compiling in from CVS

Hi,

"Joao S. O. Bueno" writes:

I am trying to keep a GIMP HEAD running, but oftenly I find some difficulties in compiling in from CVS and would like some hints on how to keep my local tree, in a way it compiles.

I assume you are getting GIMP from anoncvs. The cause of almost all problems with GIMP CVS are two things:

- You don't use 'cvs update -Pd'. Dave explained this nicely.

- You are getting inconsistent checkouts from the anoncvs servers. There are two or three different servers that you will get when you ask DNS for anoncvs.gnome.org. Unfortunately these aren't necessarily at the same state. The solution is hardcode one, preferably 130.239.18.151 in your /etc/hosts or use the IP address as CVS server hostname.

Them it fails because some windowmanager.png has its name changed to windowmanagement.png . I could work around this manually, but them other failures will come over.
How do I avoid this? I get CVS versions from the past? I post them as BUGs and wait for the mainteners to fix it up?

What you are describing here is exactly the symptoms of the anoncvs problems.

The GIMP CVS tree almost always compiles. It happens very rarely that someone forgets to change all relevant files or omits to checkin a changed file. This stuff is usually fixed very quickly but it is of course possible that the anoncvs server does it's daily update right when the CVS tree was broken.

Is something beyond make distclean needed?

You should almost never need to make distclean. I haven't done this for a loooong time now.

Sven