Bo Ørsted Andresen wrote:
For quite a while the KDE herd has had a modified version of subversion.eclass in the kde overlay. During that time we have added the following features to the eclass which we would like to put back in gentoo-x86 soon. Since the changes are fairly extensive we decided to send it to this list for review first.

1) ESVN_REVISION (before this people had to use ESVN_OPTIONS for this purpose).

ESVN_REPO_URI is a standard subversion URI and as such supports @HEAD, @BASE, @COMMITTED, @PREV and @REV. So this is unnecessary.

2) ESVN_OFFLINE which disables svn up.

Isn't this a bit of a hack? The point is for it to run svn up. Now I've added support in a local refactor that I had started today that if the working copy's revision matches the requested revision, that no svn up is performed. Obviously the situation when you have a "live" SVN ebuild would still result in an svn up, but then again "live" SVN ebuilds are frowned upon and if the person is trying to emerge a "live" SVN ebuild I would expect them to always get the latest version.

3) ESVN_UP_FREQ which uses GNU find to determine if the specified number of hours has passed and only do svn up if it has. This is currently used in the kde4svn-meta eclass for split kde ebuilds that use the same checkout of each module.

This would be handled by the feature above.

4) ESCM_LOGDIR for logging which revisions packages get installed with. See [1]. Users need to explicitly enable this feature to use it.

This seems like it belongs in a generic SCM framework/eclass that all SCM eclasses can support.

However, I personally like to handle this with two different situations.

emerge --info pkg, where the pkg installs a file to /usr/share/${PN}/revision that stores the revision used and emerge --info reads out that info. This is only for "live" SVN ebuilds. I don't have any as an example currently.

The other solution is the way I do this with mythtv. For example, mythtv-0.21_pre15768 checks out trunk revision 15768. This way the revision is part of the version of the package and it's always known.

Additionally the changes I've been working on address the 5 outstanding bugs found in Bugzilla and also remove some unnecessary and unused functionality found in the eclass.

I had actually planned on providing the eclass on the ML later tonight when I had it complete.

Since I have a feeling my changes or suggestions won't jive with the kde herd, I'll offer mine up as svn.eclass

--
Doug Klima <[EMAIL PROTECTED]>
http://dev.gentoo.org/~cardoe/

--
gentoo-dev@lists.gentoo.org mailing list

Reply via email to