PDA

View Full Version : Defenition of 'Clean Build'



Gungadin
05-19-2002, 06:28 PM
Just to clarify for those of us that aint too smart on the linux stuff, when people say 'do a clean build of seq', what exactly do they mean?
To me, judging from what i have found searching through the old posts, and trying to find detailed explanations of the cvs commands, the following is the most likely method to update seq, but don't know if it is considered a 'Clean Build'......

cvs update showeq
(I believe this will overwrite any existing source files on your linux box that are different to the current versions held on the CVS server, but will NOT delete any files that are no longer used or are already the same as whet's on the CVS server)

and then

make -f Makefile.dist
./configure
make
make install
(which makes a backup somewhere, recompiles all your executables and installs them in the correct directory, overwriting any exsting files of the same name but not cleaning up any obsolete files in this directory)

This seems to work for me so far, but i guess i'm a little unsure about how much junk (obsolter or temp files etc) may build up over time, and any ramifications of that junk sitting around (Not sure if the compilers might process all files in a directory or only specific named ones)

Is it worth deleting the seq directory (where all the seq source goes) and the directory that all the executables end up in (can't remember where that is atm, i'm at work and i always have trouble remembering those long ass linux tree names) when doing a clean build, or is that just paranoid?

Thanks in advance for any positive opinions you may shed on this, and i apologise to all those people that may have seen this question too many times before..

Thanks

Gungadin

Cryonic
05-19-2002, 08:19 PM
updating from CVS should delete files that are no longer relevant to the current repository. Also it doesn't overwrite the files, it downloads the changes from the revision your system claims to have and patches in the changes.

high_jeeves
05-19-2002, 09:42 PM
Actually, updating doesnt delete unneeded files unless you specify the -d option... Also, any new subdirectories are not created unless you do a -P.. generally when I check out for other projects, or from my personal CVS server (yeah, I'm a big geek, I run CVS at home).. I do a "cvs update -dP"

But yes, what you have described above does do a "clean" build.

--Jeeves

fryfrog
05-19-2002, 11:23 PM
actually, to make a "clean" build... RIGHT before/after you do your "cvs update -dP" issue a "make distclean". in theory, it shouldn't matter WHEN you do it, as long as it is BEFORE your "make -f Makefile.dist". this should delete any temporary for compiling files that are still hanging around. this can cause some problems when your cvs updates something, but it was already compiled (say from a previos compile that you maybe ctrl-c'd out of in the middle of it).

compiles can typically pick up where they left off, and i believe that this removes all those types of files and brings it back to its original state before any compiling or configuring was done on it.

Zaphod
05-19-2002, 11:49 PM
fryfrog, actually, you do not need to do the make distclean. Doing a 'make -f Makefile.dist' first makes a backup of the users existing files and then automagically runs 'make maintainer-clean' for you, which will do a more thorough cleanup then 'make distclean' would have.

Enjoy,
Zaphod (dohpaZ)

Cryonic
05-20-2002, 12:19 AM
hmm, just checked my man page for CVS (1.11.1p1) and found that "cvs update -dP" will Prune empty directories and create directories that weren't in the original checkout. Nothing mentioned about being needed to delete no longer relevant files.

Are these different in a newer version of CVS?

fryfrog
05-20-2002, 10:37 AM
ahhh, well that is good to know... i'll stop doing make distclean :)