[phenixbb] Official release vs nightly builds
Antony.Oliver at sussex.ac.uk
Sat Apr 6 11:16:34 PDT 2013
Well that's absolutely fair enough Nat. I do think a "quick patch" system would be certainly very useful for correcting minor things, as you suggest - if of course you can squeeze it in along with everything else(!). We can then download full updates, as and when they become available. I keep my personal version of Phenix fairly up to date with some of the nightly builds - but only implement full releases on my team's computers, to minimise my time spent on admin.
Just to say a big thank you for all your current and future(!) hard work on Phenix.
With regards, Antony.
Sent from my iPhone
On 6 Apr 2013, at 18:06, "Nathaniel Echols" <nechols at lbl.gov<mailto:nechols at lbl.gov>> wrote:
On Sat, Apr 6, 2013 at 9:18 AM, Antony Oliver <Antony.Oliver at sussex.ac.uk<mailto:Antony.Oliver at sussex.ac.uk>> wrote:
Dare I? - yes I do. CCP4 have recently put in place a very nice update system - which essentially does exactly what Ed is suggesting / asking for. What's also nice is that updates can be installed / uninstalled as a user wishes.
Massively reduces the file sizes of downloads.
I too would like something like this implemented in Phenix if at all possible.
The fundamental problem is this: there is exactly one person (me!) responsible for building and maintaining installers and handling the release cycle. And I have another half-dozen projects which involve actual science. Before the nightly builds were automated, Paul (who certainly has much better things to do) had build each new installer manually. Unlike CCP4, our funding sources do not provide much if any support for this process. (And needless to say, most of this stuff isn't publishable either.)
We have had internal discussions about adding an update mechanism, and I'm fairly confident I can implement something quickly that would at least address relatively simple patches like the B-factor issue. The reason I haven't done this is a) I have other things I also need to get done (some very time-sensitive), b) we are concerned about the added overhead of maintaining such a system, and c) because of the nightly builds we have slightly less motivation to rush something out. Keeping it running would require considerably modifications to our build system - the good news is that we need to change a lot of this anyway, so it may become slightly easier to manage in the future. However, the fundamental problem of too little manpower remains.
One point that needs to be clarified:
Given that changes between nightly builds are likely limited to relatively small patches/additions, is there some mechanism to do updates "revision control style", i.e. by downloading and updating only the parts of code that changed?
This is only true for Python code, where there is no platform dependence. Compiled code (e.g. SOLVE, RESOLVE, nearly all of Phaser, Reduce, Probe, etc.) is considerably more difficult, because we would need to rebuild the shared libraries and/or executables on each platform, and distribute those in a system-dependent matter. (Which is especially difficult right now, because we have multiple 64-bit Linux builds made on different distributions.)
One final point: if we add an update mechanism, it would definitely *not* replace the nightly builds for getting bleeding-edge features; it would only be used to add critical fixes for problems with the official releases. The nightly builds provide us with the essential ability to quickly push experimental new code out to power users, but these aren't changes we necessarily want to inflict on the rest of our users. (And yes, I realize this makes the use of nightly builds to provide bug fixes somewhat problematic.)
phenixbb mailing list
phenixbb at phenix-online.org<mailto:phenixbb at phenix-online.org>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the phenixbb