Doug Klima wrote:
Doug Klima wrote:
Doug Klima wrote:
Doug Klima wrote:
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).
2) ESVN_OFFLINE which disables svn up.
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.
4) ESCM_LOGDIR for logging which revisions packages get installed
with. See [1]. Users need to explicitly enable this feature to use
it.
Other than this the eclass has been documented for use with
eclass-manpages.
[1] http://thread.gmane.org/gmane.linux.gentoo.devel/54233
ok. Well zlin and I have been talking lately and we've hammered out
his proposed changes and mine. I'm attaching a patch for the first
set of changes I have proposed.
Attached is a patch for the following:
- use $ECLASS
- adding rsync to deps
- fixing some quoting
- remove multiple subshell calls and problematic to upper usage
(bug #s escape me right now)
- provide some more information about the working copy that will be
used in the future.
- supporting svn switch
The most important being the svn switch functionality.
Please review for commit.
And the eclass-manpages documentation broken out into it's own patch.
Please review for commit.
Here's a patch that implements the ESVN_REVISION variable. It finally
removes all the problematic to_upper usage. It builds off the
previous patches that make the official way for an ebuild to pass the
revision it wants via the ESVN_REPO_URI. It ewarn's if an ebuild
tries to stick a revision into ESVN_OPTIONS. It prints out the
revision that it's going to be pulling. This was the issue I had with
zlin's original patch since it would break for the MythTV ebuilds
since we request the revision in the ebuild.
Here's another patch in the series.
This patch will skip running svn update when it's unnecessary.
Basically if your local working copy is the same URI and same
revision, it won't run svn update which should speed up emerge times
for those svn KDE users that specify a revision they're looking to
use. Also MythTV users that re-emerge with different use flags.
The following patch makes changes to where the svn checkouts are stored.
This will fix the issue where for example:
mytharchive, mythdvd, mythvideo, mythweather are all stored in
http://svn.mythtv/svn/trunk/mythplugins
the KDE team has similar issues with their split out ebuilds and are
currently solving the issues by calling "private" subversion.eclass
Giving the ebuild and eclass programmer full control over the
ESVN_PROJECT path will allow for these hacks to disappear.
--- subversion-4.eclass 2008-02-20 11:14:23.000000000 -0500
+++ subversion-5.eclass 2008-02-20 11:35:10.000000000 -0500
@@ -104,9 +104,9 @@
# # jakarta commons-loggin
# ESVN_PROJECT=commons/logging
#
-# default: ${PN/-svn}.
+# default: ${CATEGORY/${PN/-svn}.
#
-: ${ESVN_PROJECT:=${PN/-svn}}
+: ${ESVN_PROJECT:=${CATEGORY}/${PN}}
# @ECLASS-VARIABLE: ESVN_BOOTSTRAP
@@ -410,7 +410,7 @@
debug-print "${FUNCNAME}: repo_uri = ${repo_uri}"
- echo "${ESVN_STORE_DIR}/${ESVN_PROJECT}/${repo_uri##*/}"
+ echo "${ESVN_STORE_DIR}/${ESVN_PROJECT}/"
}