On 01/17/06 01:49, Chad wrote: > If I maintain a single SVN source and pass it around my network to > different systems (64-bit, athlon-xp, and P3's), how do I 'make clean' > everything once the source is copied over to the new system. What is > currently happening is I scp the 'mythtv' directory from one of my P3 > machines to the 64-bit machine (different distro's, different GCC's, > different arch) and try a make clean, make distclean, but still get > complaints about files not being where they are supposed to be (I have > Makefile's that reference the location of QT files on the old system). > So I'm wondering what I'm missing/mis-understanding.
Totally different approach, but it works well for me. It's similar to the make distclean, but I always copy a pristine source directory by tar'ing up the source after update and then compile--so the tar file contains a source directory that's never been used for compilation. Next time I compile, I delete the existing source directory and untar the last checkout, update, and tar... I untar the previous checkout into my working directory (the first time, just do an svn co into your working directory) and from that directory (the one containing the mythtv, mythplugins, and myththemes directory): ----- echo Last Updated: `date` > mythtv-update.log && ( svn update mythtv mythplugins myththemes 2>&1 | tee -a mythtv-update.log && exit $PIPESTATUS ) && tar cjf ../myth-`date +'%Y%m%d'`.tar.bz2 * ----- This gives me a nice record of when I updated (first line of mythtv-update.log) and what revision I have (at the end of the update, SVN outputs "Updated to revision XXXX") as well as a list of files which changed since my last update, and the record is stored in the tar.bz2 so it doesn't get lost. Also, by updating all three on the same command line, I don't have to worry about getting a different revision of mythtv and mythplugins or something. This has the benefit that you're always building everything, so you never have the "partial build" problems when you miss a "needs a make distclean" commit message. However, it means that every time you do an update you're always building from scratch, so build times will probably be longer. Also, since you've never built anything in the tar file, all your machines can have different directory layouts (i.e. you'll never have a problem with incorrect relative paths in the Makefiles if you forget to make distclean on the machine you used to build). And, finally, the biggest benefit is that I always have a clean copy of the SVN source, so I can rollback without using any of Myth's bandwidth after I find that some changes I made totally messed up Myth. :) Mike _______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
