Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 211534 - packages symlinking licenses in PORTDIR
Summary: packages symlinking licenses in PORTDIR
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on: 211110
Blocks:
  Show dependency tree
 
Reported: 2008-02-26 16:03 UTC by Bo Ørsted Andresen (RETIRED)
Modified: 2008-02-26 21:57 UTC (History)
2 users (show)

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


Attachments
affected ebuilds (ebuilds_affected.list,2.37 KB, text/plain)
2008-02-26 16:03 UTC, Bo Ørsted Andresen (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bo Ørsted Andresen (RETIRED) gentoo-dev 2008-02-26 16:03:06 UTC
Things like: `dosym "${PORTDIR}"/licenses/GPL-2 /usr/share/${PN}/COPYING` are clearly a policy violation. I seriously have to wonder what made you think that was a good idea. What happens when a user decides that /usr/portage is an awful place for PORTDIR and decides to move it? It is debateable whether installing things from ${PORTDIR} at all in an ebuild is legal but symlinking to it is just wrong.

Furthermore in these cases you shouldn't be installing COPYING files at all (see the Note). So please just get rid if it.

Packages affected are sci-mathematics/wxmaxima, dev-lang/R and sci-astronomy/celestia.

http://devmanual.gentoo.org/ebuild-writing/functions/src_install/index.html
Comment 1 Bo Ørsted Andresen (RETIRED) gentoo-dev 2008-02-26 16:03:47 UTC
Created attachment 144680 [details]
affected ebuilds
Comment 2 Sébastien Fabbro (RETIRED) gentoo-dev 2008-02-26 16:34:41 UTC
In these packages the COPYING file is needed while either browsing the doc (such as in R) or in a GUI Help menu (such as in wxmaxima and celestia). 
Simply removing these files won't work and will not respect upstream. So I guess installing them (and thus duplicating them) will solve this issue so kindly reported, unless you have a better solution.



Comment 3 Bo Ørsted Andresen (RETIRED) gentoo-dev 2008-02-26 17:27:00 UTC
drac notified me that dev-util/geany is affected too via:

geany-0.12.ebuild:36:   local licdir="${PORTDIR}/licenses"
geany-0.12.ebuild:37:   local lic="${licdir}/GPL-2"
geany-0.12.ebuild:38:   sed -i -e "s:@GEANY_DATA_DIR@/GPL-2:${lic}:" doc/geany.1.in
geany-0.12.ebuild:39:   sed -i -e "s:\"GPL-2\", app->datadir:\"GPL-2\", \"${licdir}\":" src/about.c

so pulling him in on the bug too.

(In reply to comment #2)
> So I guess installing them (and thus duplicating them) will solve this issue
> so kindly reported, unless you have a better solution.

Yes, I probably should have been more polite, but the dosym to PORTDIR really made me go 'WTF?'. And yes, installing them properly will fix this bug.

As far as I'm concerned there really is no question, that making packages have runtime dependencies like this on $PORTDIR is a no-go. If either of you disagree with this we can pull in qa@ and wait for their opinion.
Comment 4 Bo Ørsted Andresen (RETIRED) gentoo-dev 2008-02-26 17:28:29 UTC
Marking geany bump request as blocker as requested by drac.
Comment 5 Sébastien Fabbro (RETIRED) gentoo-dev 2008-02-26 17:35:49 UTC
wxmaxima, R and celestia fixed.
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2008-02-26 18:02:23 UTC
Fixed in Geany 0.13.. 

Unfortunately we have a empty License page in About box now. Not sure how this should be solved, but I don't see installing the GPL-2 _I already have_ in $PORTDIR as a option at all.
Comment 7 Mark Loeser (RETIRED) gentoo-dev 2008-02-26 21:57:53 UTC
(In reply to comment #6)
> Fixed in Geany 0.13.. 
> 
> Unfortunately we have a empty License page in About box now. Not sure how this
> should be solved, but I don't see installing the GPL-2 _I already have_ in
> $PORTDIR as a option at all.

If you want it to display in the About box, the only solution is for you to install it.  Symlinking to $PORTDIR (a value that the user can change and move their tree somewhere else), is not a good idea at all.  Installing the COPYING file in these cases is acceptable, but you should throw a comment into the ebuild stating why you have to do it.