Mailinglist Archive: opensuse-buildservice (258 mails)

< Previous Next >
Re: [opensuse-buildservice] Integrating SCM with OBS
  • From: Marcus Meissner <meissner@xxxxxxx>
  • Date: Fri, 13 Aug 2010 11:31:05 +0200
  • Message-id: <20100813093105.GH20446@xxxxxxx>
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@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >