|Summary:||[Future EAPI] DESTTREE used inconsistently across the helpers|
|Product:||Gentoo Hosted Projects||Reporter:||Michał Górny <mgorny>|
|Package list:||Runtime testing required:||---|
|Bug Depends on:|
Description Michał Górny 2016-10-02 11:10:28 UTC
AFAICS DESTTREE (into) is respected by: - dobin, - dolib, - domo, - dosbin. The following helpers instead hardcode /usr: - dodoc, - doheader, - dohtml, - doinfo, - doman. I can grasp the rationale for using consistent documenation dir for dodoc/dohtml. I can understand that info & manpages should land in well-known location so that tools can find them. However, I have serious doubts about domo (will gettext really find it?) and doinclude (why respect DESTTREE for dolib but not doheader?). It seems that most of the time into is used to force / or /opt (which would fit doheader but not domo). In a few ebuilds it's also used to force subdirectories of /opt, /usr/lib* or /usr/share. To avoid confusion, I would just go for deprecating it and require people to do explicit 'exeinto /bin' etc.
Comment 1 Ulrich Müller 2016-10-03 00:13:34 UTC
Right, it is primarily used to set an install location under / vs /usr. Which makes sense for dobin, dosbin, and dolib*, but for none of the others (e.g., doheader installing into /include wouldn't make any sense). (In reply to Michał Górny from comment #0) > To avoid confusion, I would just go for deprecating it and require people to > do explicit 'exeinto /bin' etc. I doubt that there's much confusion currently. There will be if we change the longstanding behaviour. What appears to be unsystematic is the domo helper (which I think is little used). So a less intrusive change would be to make it install into /usr instead of DESTTREE. But first, someone should scan the tree about actual usage.
Comment 2 Michał Górny 2016-10-03 06:18:30 UTC
Uses of domo (14 files, 7 packages): app-emulation/lxd/lxd-2.0.3-r1.ebuild app-emulation/lxd/lxd-2.1.ebuild app-emulation/lxd/lxd-2.2.ebuild app-portage/porthole/porthole-0.6.1-r1.ebuild app-portage/porthole/porthole-0.6.1-r2.ebuild app-portage/porthole/porthole-0.6.1-r3.ebuild app-portage/porthole/porthole-0.6.1-r4.ebuild app-text/txt2tags/txt2tags-2.6-r1.ebuild app-text/txt2tags/txt2tags-2.6.ebuild dev-java/jinklevel/jinklevel-0.1.ebuild dev-tex/serienbrief/serienbrief-0.2.5.ebuild net-firewall/ufw/ufw-0.34_pre805-r2.ebuild net-firewall/ufw/ufw-0.35.ebuild net-print/gmso2/gmso2-0.1-r1.ebuild None of them combined with 'into'.
Comment 3 Ulrich Müller 2016-10-03 09:44:36 UTC
(In reply to Michał Górny from comment #2) > Uses of domo (14 files, 7 packages): > > app-emulation/lxd/lxd-2.0.3-r1.ebuild > app-emulation/lxd/lxd-2.1.ebuild > app-emulation/lxd/lxd-2.2.ebuild > app-portage/porthole/porthole-0.6.1-r1.ebuild > app-portage/porthole/porthole-0.6.1-r2.ebuild > app-portage/porthole/porthole-0.6.1-r3.ebuild > app-portage/porthole/porthole-0.6.1-r4.ebuild > app-text/txt2tags/txt2tags-2.6-r1.ebuild > app-text/txt2tags/txt2tags-2.6.ebuild > dev-java/jinklevel/jinklevel-0.1.ebuild > dev-tex/serienbrief/serienbrief-0.2.5.ebuild > net-firewall/ufw/ufw-0.34_pre805-r2.ebuild > net-firewall/ufw/ufw-0.35.ebuild > net-print/gmso2/gmso2-0.1-r1.ebuild > > None of them combined with 'into'. Domo arigatou. :) So how about s:DESTTREE:/usr: for domo in the next EAPI? I'd rather not touch any of the others.
Comment 4 Michał Górny 2016-10-03 10:28:23 UTC
(In reply to Ulrich Müller from comment #3) > So how about s:DESTTREE:/usr: for domo in the next EAPI? I'd rather not > touch any of the others. Worksforme. Plus, let's put an explicit list of helpers affected in 'into' desc. However, I still don't like the idea of 'into' at all. We've recently seen an ebuild that does 'into', then calls some other random 'do*' helpers, including those from eclasses. It brings a pretty unpredictable result while reviewing.
Comment 5 Larry the Git Cow 2018-03-04 21:04:56 UTC
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=bab6cc7268d0788d501e05f15b79b220de71664f commit bab6cc7268d0788d501e05f15b79b220de71664f Author: Michał Górny <email@example.com> AuthorDate: 2017-09-21 15:07:17 +0000 Commit: Michał Górny <firstname.lastname@example.org> CommitDate: 2018-03-04 21:03:53 +0000 domo: force /usr prefix in EAPI 7 Bug: https://bugs.gentoo.org/595924 bin/eapi.sh | 4 ++++ bin/ebuild-helpers/domo | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-)}
Comment 6 Larry the Git Cow 2018-04-30 22:14:26 UTC
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/pms.git/commit/?id=dabf617f2e20ae0c4f124a1a8efa303c4e1e382b commit dabf617f2e20ae0c4f124a1a8efa303c4e1e382b Author: Michał Górny <email@example.com> AuthorDate: 2017-09-29 13:41:52 +0000 Commit: Ulrich Müller <firstname.lastname@example.org> CommitDate: 2018-03-31 15:30:43 +0000 EAPI 7: domo installs to /usr. Bug: https://bugs.gentoo.org/595924 eapi-differences.tex | 4 ++++ pkg-mgr-commands.tex | 25 ++++++++++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-)}