Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 259543 - dev-python/django-1.0.2 should not depend on subversion
Summary: dev-python/django-1.0.2 should not depend on subversion
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-19 00:35 UTC by Russell Haering
Modified: 2009-05-16 05:18 UTC (History)
5 users (show)

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


Attachments
ebuild that removes testing functionality (django-ebuild.patch,1.63 KB, patch)
2009-02-19 00:38 UTC, Russell Haering
Details | Diff
subversion.eclass patch (subversion.eclass.patch,697 bytes, patch)
2009-04-27 18:31 UTC, Benedikt Böhm (RETIRED)
Details | Diff
django.ebuild patch (django.ebuild.patch,959 bytes, patch)
2009-04-27 18:31 UTC, Benedikt Böhm (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Russell Haering 2009-02-19 00:35:09 UTC
dev-python/django-1.0.2 shouldn't depend on subversion. Most administrators won't want to install subversion just to use a web framework.

Reproducible: Always

Steps to Reproduce:
emerge -pv =dev-python/django-1.0.2
Actual Results:  
Calculating dependencies... done!
[ebuild  N    ] dev-python/imaging-1.1.5  USE="-X -doc -scanner -tk" 420 kB
[ebuild  N    ] net-misc/neon-0.28.3  USE="nls ssl zlib -doc -expat -gnutls -kerberos -pkcs11 -socks5" LINGUAS="-cs -de -fr -ja -nn -pl -ru -tr -zh_CN" 781 kB
[ebuild  N    ] dev-util/subversion-1.5.4  USE="apache2 berkdb dso nls perl python webdav-neon -bash-completion -debug -doc -emacs -extras -java -ruby -sasl -vim-syntax -webdav-serf" 4,810 kB
[ebuild  N    ] dev-python/django-1.0.2  USE="vhosts -bash-completion -doc -examples -mysql -postgres -sqlite3" 0 kB

Expected Results:  
Calculating dependencies... done!
[ebuild  N    ] dev-python/imaging-1.1.5  USE="-X -doc -scanner -tk" 420 kB
[ebuild  N    ] dev-python/django-1.0.2  USE="vhosts -bash-completion -doc -examples -mysql -postgres -sqlite3" 0 kB

The dependency results from the ebuild inheriting subversion. Subversion is only actually used if the "test" flag is enabled. The options would seem to be:

1. Remove the testing functionality
2. Have a DEPEND on subversion only with the "test" flag enabled, then re-implement the relevant parts of subversion_fetch in the ebuild.
Comment 1 Russell Haering 2009-02-19 00:38:38 UTC
Created attachment 182492 [details, diff]
ebuild that removes testing functionality

This patch drops the testing functionality from the ebuild, removing the subversion dependency
Comment 2 Patrick Lauer gentoo-dev 2009-03-08 16:52:06 UTC
As django upstream has removed the tests from the tarballs we're forced to do such silly things. I'm unwilling to give up the test function, so it'll stay there (and subversion is only pulled in with FEATURES="test" anyway)
Comment 3 Nirbheek Chauhan (RETIRED) gentoo-dev 2009-03-08 20:28:02 UTC
(In reply to comment #2)
> As django upstream has removed the tests from the tarballs we're forced to do
> such silly things. I'm unwilling to give up the test function, so it'll stay
> there (and subversion is only pulled in with FEATURES="test" anyway)
> 

Since subversion.eclass is inherited unconditionally (it needs to be so as to not invalidate metadata), subversion is always required.

However, I wonder if this is a valid case for conditional inherits since inheriting subversion does not change any global-scope stuff at all (atleast we don't want any of those changes)
Comment 4 Benedikt Böhm (RETIRED) gentoo-dev 2009-04-27 18:30:30 UTC
subversion.eclass should be patched to allow a custom depend on subversion, which should then only be pulled if tests are enabled. building the whole subversion bloat just for the sake of having a test function while having tests disabled is unacceptable.
Comment 5 Benedikt Böhm (RETIRED) gentoo-dev 2009-04-27 18:31:00 UTC
Created attachment 189629 [details, diff]
subversion.eclass patch
Comment 6 Benedikt Böhm (RETIRED) gentoo-dev 2009-04-27 18:31:14 UTC
Created attachment 189632 [details, diff]
django.ebuild patch
Comment 7 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-05-02 05:00:03 UTC
(In reply to comment #5)
> Created an attachment (id=189629) [edit]
> subversion.eclass patch

Other variables in subversion.eclass have names starting with "ESVN_".
What do you think about ESVN_DISABLE_AUTOMATIC_DEPENDENCIES or ESVN_OPTIONAL_DEPEND{,ENCIES} instead of SUBVERSION_OPTIONAL?
Comment 8 James Rowe 2009-05-02 10:17:53 UTC
  I fail to see the reason why a mirror://gentoo tarball can't be made
of the missing parts from an SVN checkout.  Either the tests pulled by
SVN are static and a distfiles-local tarball is a valid way to
distribute them, or they're being updated which would imply tests are
not repeatable which would be worrying.  It appears from their Trac[1]
that no updates are being made, so requiring SVN irrespective of
FEATURES=test seems quite pointless.

[Thoughts from a user without access to machine where SVN can be installed]

1. http://code.djangoproject.com/browser/django/tags/releases/1.0.2

Comment 9 Benedikt Böhm (RETIRED) gentoo-dev 2009-05-15 11:25:30 UTC
(In reply to comment #7)
> (In reply to comment #5)
> > Created an attachment (id=189629) [edit]
> > subversion.eclass patch
> 
> Other variables in subversion.eclass have names starting with "ESVN_".
> What do you think about ESVN_DISABLE_AUTOMATIC_DEPENDENCIES or
> ESVN_OPTIONAL_DEPEND{,ENCIES} instead of SUBVERSION_OPTIONAL?

yes, that's ok with me too, as long as one can disable it somehow. feel free to fix the issue in django too


(In reply to comment #8)
>   I fail to see the reason why a mirror://gentoo tarball can't be made
> of the missing parts from an SVN checkout.

this is a valid question, but i assume, the svn solution is the lazy maintainers approach to not have to upload a tarball with every release.
Comment 10 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-05-16 05:18:30 UTC
Fixed. I created django-1.0.2-tests.tar.bz2.

subversion.eclass now also supports ESVN_DISABLE_DEPENDENCIES variable.