Below is similar to what we do at Dell. Integrating this server side would have extremely limited usefulness for us, at least. The problem with integrating this into the server side is that all of our packages require "./autogen.sh && ./configure && make dist" to even create a buildable tarball. This isnt something you really want to do on the server side. Additionally, we keep our spec file in SCM and create it using configure, so you cant even pull out a specfile from scm. So we end up with a client machine that polls SCM and basically runs a script similar to what you have below. -- Michael ________________________________________ From: Marcus Meissner [meissner@suse.de] Sent: Friday, August 13, 2010 4:31 AM To: Adrian Schröter Cc: opensuse-buildservice@opensuse.org; brook.hong@nokia.com Subject: Re: [opensuse-buildservice] Integrating SCM with OBS 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. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org