On Friday 13 August 2010 11:31:05 Marcus Meissner wrote:
On Fri, Aug 13, 2010 at 11:23:30AM +0200, Adrian Schröter wrote:
Hi,
This all is way too bloated.
I mean you can just use a simple osc client checkout/update/checkout.
Feed in some kind lists and you are set.
e.g. for wine in OBS I have this simple script which pulls daily git snapshots, including detecting unchanged state and seperating local patches:
#!/bin/bash -x bsdir="/suse/meissner/projects/Emulators:Wine/wine-snapshot" snapdir=/suse/meissner/projects/snapshot-wine/ xdate=`date +%Y%m%d`
cd $bsdir cd $snapdir/wine git pull chars=`git diff '@{1 day ago}' | wc -c` if [ "$chars" == "0" ]; then echo "*** No git change found from yesterday, not rebuilding package." exit 0 fi rm $bsdir/wine-*.tar.bz2 winever=`cat VERSION|sed -e 's/Wine version //;s/1.2-/1.2./;'` git archive origin --prefix=wine-$winever.$xdate/ | bzip2 >$bsdir/wine-$winever.$xdate.tar.bz2 # perhaps split into seperate patches git diff origin..master > $bsdir/susepatches.patch cd $bsdir perl -pi -e "s/Version:.*/Version:$winever.$xdate/;" wine-snapshot.spec osc addremove osc ci -m "$xdate git checkout"
So why not just write such little helpers for tar downloads, git checkouts, svn checkouts, and then use a simple list or XML file as configuration.
Should really be doable in 200 lines of code, all client-side, without lots of server magic.
Well, the download_url is way less bash script code. And you can run services always on the server and on the client. But with server side execution you have ensured that the source is really comming from the configured origin. And others can do it in the same way, so it is not a specific hack in your private home. bye adrian -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org