On 7/24/06, Dan <[EMAIL PROTECTED]> wrote:
> Hi there all,
>
> I was wondering if the cvs idea extends to arch, bazaar, and or darcs
> repositories.  (I saw that svn is already covered).
>
> And if so, I assume something like packagename-<repos type name>
> should be used, so people do not install them if they are missing the
> repository software.
>
> Why you ask do you want this?
> Well with help I have the emacs cvs up and running (Recipe coming
> presently), and now I would like to do the same for the tty version of
> emacs (bazaar), and SXemacs (arch).  And I use darcs personally, like
> it a lot, and would be a similar type of functionality.
>
> If it has not been done, I was thinking I would implement it, but
> thought I should check whether this is desired functionality.  And are
> there any other types of repository that should be included.  I have
> not looked into Compile yet, but I am sure the code is nicely
> designed. Hmmm, better check out the cvs versions of things.

Yes, supporting more version control systems is nice. We'd certainly like.

There was talk on -devel a while back about making Compile more
modular to allow for extensions like this to be created easily
(http://www.wotfun.com/pipermail/gobolinux-devel/2006-March/
000926.html), but I don't think that conversation really went anywhere.

If this is still on the Big List of Stuff to Do, you may want to hold
off on adding new recipe types until it's been done. Or hey, maybe
you want to implement modular recipe types yourself :)

Yes, it's on the Big List of Stuff to Do, but if there's the desire to
add support for VCSs now, there's no need to wait. We can just
modularize the code later.

Another thought: maybe a more generic "Versioning System" recipe type
could be used, where instead of giving MakeRecipe just a url, you
also give it a command, leading to recipes like

url="svn://some.server.com/repository"
download_sources() {
   svn export ${url} ${dir}
}

If $url becomes smart to this point, this kind of download_sources
action would not need to be in the recipe. Instead we could have
something like this in Compile:

protocol=${url%%:*}
case "$protocol" in
http|https|ftp) old_stuff ;;
cvs) cvs_stuff ;;
svn) svn_stuff ;;
...
esac # ah, you know.

-- Hisham
_______________________________________________
gobolinux-devel mailing list
gobolinux-devel@lists.gobolinux.org
http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel

Reply via email to