On Tue, Mar 27, 2007 at 05:50:41PM +0200, Michal Marek wrote:
it took me >1 hour to figure out what's wrong. The worker successfully built the rpm, but it didn't show up in the :full directory and 'osc log' still reported 'building'. The problem was that I created /srv/obs/build as a symlink to a larger partition, but the repserver didn't expect that and tried to link files fron .../build to .../jobs and didn't abort when this didn't work.
See attached patch. In case the link() is just a performance optimization (the code doesn't relly on the two files being links), it would be a nice feature to fallback to File::Copy :) But aborting with a meaningful error message is IMO sufficient.
Well, in the "finished" case it's just an optimization, i.e. it uses one inode less. We could fall back to a simple "create empty file" in that case. Regarding the other two calls, "link" has the advantage that the change is atomic. Anyway, patch applied. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org