Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] RFC: git-able spells

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Treeve Jelbert <treeve AT scarlet.be>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: Re: [SM-Discuss] RFC: git-able spells
  • Date: Fri, 30 Oct 2009 18:29:56 +0100

On Friday 30 October 2009 17:31:43 Thomas Orgis wrote:
> I have one gripe with git spells... namely: branches. I am still trying to
> get my HD3200 integrated graphics to do XVideo, and in the course of that
> I am faced with drm and Mesalib spells that offer git and choice of git
> branch. I think it is suboptimal that the tarball is always named the same
> way regardless of branch it represents. Since stuff is not working for me
> (well, drm isn't with the HD3200), I am suspicious of everything,
> including wondering if switching branches works properly with the existing
> git snapshot tarball from /var/spool/sorcery. The larger issue here is
> that I share the spool directory via NFS and somehow don't feel good with
> one machine using one branch and another machine another branch, both
> extracting the current tarball and switching the branch it represents back
> and forth. Basically, I'd like the branch to be part of the version
> "number" of the git spells... that would solve the shizophrenic tarball,
> too.
>
> A real fix would be to have some sort of named releases, even usable ones
> at that, of course:-/
>

I have a working prototype of this, and it handles checking out the correct
branch each time the spell is cast. However it does not provide any locking
for the case where the repository is shared by multiple machines, as this
does
not yet apply in my case.

DETAILS:
# make spell git-able
GIT_ABLE=yes
. $SPELL_DIRECTORY/FUNCTIONS
SPELL=boost
VERSION=git
BRANCH=1.41.0
SOURCE=$SPELL-$VERSION
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SOURCE
SOURCE_URL[0]=git://gitorious.org/boost/cmake.git


FUNCTIONS:
# support for git-able spells
# we keep the repository in $SMGL_GIT and make a symlink to it when building
if [[ $GIT_ABLE == yes ]];then
SMGL_GIT=/var/git
# don't need the archive or docs, as they are readily available in the
repository
ARCHIVE=off
GATHER_DOCS=off
fi

default_git_download() {
message updating git repository for $SPELL
mkdir -p $SMGL_GIT &&
cd $SMGL_GIT &&
if [[ ! -d $SOURCE ]];then
git clone $SOURCE_URL $SOURCE
else
cd $SOURCE &&
git pull
fi

}

default_git_pre_build() {
message checking out git branch $BRANCH
cd $BUILD_DIRECTORY &&
ln -sf $SMGL_GIT/$SOURCE &&
cd $SOURCE_DIRECTORY &&
git checkout $BRANCH
}


>
> Alrighty then,
>
> Thomas.
>

--
Regards, Treeve

Attachment: signature.asc
Description: This is a digitally signed message part.




Archive powered by MHonArc 2.6.24.

Top of Page