Build environment and CVS work
Rik Griffin (98) 264 posts |
-z1 seems to work ok. On the subject of bandwidth usage, is it ok for me to do a “cvs update” on the entire source tree (well actually just the castle subdirectory)? Or should I be downloading the monthly delta and applying that locally? |
Ben Avison (25) 445 posts |
I think that’s fair enough if you’re an active developer, that’s why people donate money to cover our bandwidth costs (we do seem to get a lot of people that download the sources and never feed anything back though). If you’re starting from a relatively old sandbox, though, you’ll need to watch out for additional components that have been added in the meantime, as cvs update won’t add them. (Technically, it will if you use cvs update -d, but that will also pull across masses of other components that aren’t used by your current build). It may be less painful if you haven’t updated in a while to make a clean sandbox by running the “checkout” perl script again. |
Jeffrey Lee (213) 6048 posts |
I use the following script for updating my source folders – a combination of ‘checkout’ (for any changes in which components are used) and ‘cvs up’ (since ‘checkout’ doesn’t ensure all the components are up to date, or doesn’t fetch newly added files/directories, I can’t remember which). I’m assuming this uses less bandwidth than just deleting the source tree and doing a checkout from scratch! #!/bin/bash mkdir /sally/src/rool/$1 cd /sally/src/rool/$1 checkout $1 grep -o ^[^#[:space:]]\\\+ < Products/$1/modules | xargs cvs update -RdP |
Steve Revill (20) 1361 posts |
Hmm. Looks good. I should probably get the autobuilder doing something like this because I’m pretty sure I’ve seen it fall over in the past when new components are added to a build. |
Rik Griffin (98) 264 posts |
Another note for posterity. When doing multiple commits from RISCOS remember to check that the current directory of your taskwindow is the correct directory you want to be checking in from. Changing current dir from the Filer does not update a taskwindow’s current dir, when you have DDEUtils loaded. Type ‘*dir’ in the taskwindow to update it. This probably counts as a schoolboy error. One of these days I’ll do a check in without buggering anything up :) |
Trevor Johnson (329) 1645 posts |
Is this by design and needed? |
Rik Griffin (98) 264 posts |
It’s because the DDEUtils module gives each task its own CSD (Current Selected Directory). Which is essential if you’re running, say, make in a taskwindow. |
Trevor Johnson (329) 1645 posts |
OK – thanks for the explanation. |
Steve Revill (20) 1361 posts |
True, but it’s still not quite like Linux with a CSD for a given task window and another task window able to have it’s own CSD. So the critical nugget of knowledge to have when building on RISC OS is: don’t try to run more than one build at once – it will end badly. |
Rik Griffin (98) 264 posts |
Yet another note for myself and posterity. The RISC OS port of ssh v6 doesn’t seem to work properly, or is incompatible in some way with ROOL’s server. Use RISC OS ssh v5.1 and all is well. |
Theo Markettos (89) 919 posts |
What does SSH say with the |