Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 168203 - app-portage/layman depends on subversion
Summary: app-portage/layman depends on subversion
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: Low trivial (vote)
Assignee: Gunnar Wrobel (RETIRED)
URL:
Whiteboard:
Keywords:
: 175330 202674 203600 208172 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-02-24 01:48 UTC by norbert
Modified: 2008-06-02 16:14 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description norbert 2007-02-24 01:48:12 UTC
gensync has been 'deprecated', and officially replaced by layman. But layman as a dep on subversion. having to install subversion on all the machines to be able to deploy customized or home-grown ebuild seems like an overkill.


Reproducible: Always
Comment 1 Paul Varner (RETIRED) gentoo-dev 2007-02-24 04:46:01 UTC
Reassigning to the layman maintainer since it is his decision if he wants to modify layman to not have a hard dependency on subversion.

If you really don't want to use layman, you can continue to use gensync.  It is still installed in /usr/share/doc/gentoolkit-dev-0.2.6.2/deprecated/gensync/ 

Additionally all of the source code is available at http://sources.gentoo.org/viewcvs.py/gentoolkit/trunk/src/gensync/
Comment 2 norbert 2007-02-24 06:27:35 UTC
Paul,
I have seen the 'alternate location'.
I'm fine with doing an alternate ebuild to be able to continue to install it at the 'right' place (there will be some interesting boostrapping issue for new machines :-) ) 
I was concerned about doing that because the code of gensync rely on portage (I no nothing about python and therefore nothing about portage's internal), so the deprecation may have been an indication that change in portage are coming that would break that gensync code, and the maintainer has decided he will not maintain it when that happen - since layman is better/faster/... which is fine with me. I, nominally, would not mind using layman.


Maybe I don't need either of them at all, maybe a simple rsync between the /usr/local/portage directories will do ? (but again to deploy cleanly a script to do that, I would 'need' a custom ebuild... catch 22)

Just to explain more clearly: I use ebuilds to deploy few home-grown scripts/little appli/CA-certificates/ on my gentoo-based machines (two dozen of desktops and quite few servers), these ebuilds have no interest for anybody but me. Except for these nobody-care-but-me ebuilds, I use only vanilla 'official' gentoo ebuilds. So really I have 1 and only 1 syncsource defined.

To use layman I would have to deploy subversion on all desktops and all servers...  Not an option in my case.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-02-24 09:12:05 UTC
I fail to see why do you need layman to "deploy few home-grown
scripts"; nor do you need gensync or anything like that for it. You can export the overlay dir via NFS or whatever else.

Layman needs subversion for 95% of the overlays out there and killing the dependency flat out doesn't make sense. You are using wrong tool for your stuff, I'm afraid.
Comment 4 norbert 2007-02-24 19:08:08 UTC
"You are using wrong tool for your
stuff, I'm afraid."

You are probably right. 
I didn't think I could simply 'nfs-mount' the overlay... I, apparently wrongly, though that there was more to gensync than just rsync'ing the overlay. I will probably do that then.

Still I tried something:
>emerge layman

>layman -L
... works.
>emerge -Ca subversion
>layman -L
... works, expect that subversion rep are not flagged with a red star
>layman -a zugaina (a random non subversion rep)
... works
>layman -d ALL
... works

>layman -a wrobel
* Failed to add overlay "wrobel".
* Error was: Binary /usr/bin/svn seems to be missing! Overlay type "svn" not supported. Did you emerge dev-util/subversion?

Looks to me that the subversion dependency is already optional, in the sens that the layman code deal gracefully with subversion not being there.

So the only thing is why does the dependency hard coded in the ebuild, when the dependency is really optional ?

Isn't that what use flag are for ?

I tested with the following patch:
--- /usr/portage/app-portage/layman/layman-1.0.6.ebuild 2006-10-15 05:35:30.000000000 -0400
+++ layman-1.0.6.ebuild 2007-02-24 14:03:42.000000000 -0500
@@ -11,10 +11,10 @@
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="alpha amd64 ia64 ppc sparc x86"
-IUSE=""
+IUSE="svn"
 S=${WORKDIR}/${PF}

-DEPEND="dev-util/subversion"
+DEPEND="svn? dev-util/subversion"

 src_install() {

and it seems to work fine.
Comment 5 norbert 2007-02-24 19:23:05 UTC
BTW shouldn't 
DEPEND="dev-util/subversion"
be a 
RDEPEND="dev-util/subversion"

subversion is not needed to build layman, and subversion could indeed be emerged afterward.
Isn't that the very definition of RDEPEND ?
Comment 6 Gunnar Wrobel (RETIRED) gentoo-dev 2007-02-26 10:46:16 UTC
It is true. This is actually no hard dependency anymore and I can remove it. The newer layman versions should be able to tell the user the required emerge command if a subversion overlay is needed and it is not installed. I'll remove the dependency next time I'm working on layman (the RDEPEND comment is also correct).
Comment 7 Gunnar Wrobel (RETIRED) gentoo-dev 2007-04-09 19:49:55 UTC
Fixed in layman-1.0.99
Comment 8 Markus Ullmann (RETIRED) gentoo-dev 2007-04-21 09:40:23 UTC
*** Bug 175330 has been marked as a duplicate of this bug. ***
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2007-12-18 09:16:25 UTC
*** Bug 202674 has been marked as a duplicate of this bug. ***
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2007-12-28 18:51:05 UTC
*** Bug 203600 has been marked as a duplicate of this bug. ***
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2008-01-30 13:45:44 UTC
*** Bug 208172 has been marked as a duplicate of this bug. ***
Comment 12 Ben de Groot (RETIRED) gentoo-dev 2008-05-24 18:45:08 UTC
Can we please add:
RDEPEND="darcs? ( dev-util/darcs )
	git? ( dev-util/git )
	subversion? ( dev-util/subversion )"
Comment 13 Gunnar Wrobel (RETIRED) gentoo-dev 2008-06-02 16:14:59 UTC
I did not add darcs as the package does not exist on arm and there is only a single overlay in the layman list running on darcs. The other two are supported by the layman-1.2.0 ebuild now.