Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 789588 - net-wireless/iwd should unconditionally depend on dev-python/docutils
Summary: net-wireless/iwd should unconditionally depend on dev-python/docutils
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Ben Kohler
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-12 06:45 UTC by Matt Turner
Modified: 2021-05-13 13:12 UTC (History)
1 user (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 Matt Turner gentoo-dev 2021-05-12 06:45:28 UTC
iwd depends on docutils only when ${PV} == *9999*:

> iwd-1.12.ebuild:[[ ${PV} == *9999* ]] && DEPEND+=" dev-python/docutils"
> iwd-1.13.ebuild:[[ ${PV} == *9999* ]] && BDEPEND+=" dev-python/docutils"
> iwd-1.14.ebuild:[[ ${PV} == *9999* ]] && BDEPEND+=" dev-python/docutils"
> iwd-9999.ebuild:[[ ${PV} == *9999* ]] && BDEPEND+=" dev-python/docutils"

But it actually uses it unconditionally. This is particularly problematic when docutils requires a PYTHON_TARGETS update, because without the knowledge of the dependency, portage doesn't update docutils, which leads to iwd failing to build:

/bin/mkdir -p src/ && /bin/sed -e 's,@libexecdir\@,/usr/libexec,g' < src/iwd.service.in > src/iwd.service
/bin/mkdir -p src/ && rst2man.py --strict --no-raw --no-generator --no-datestamp src/iwd.rst src/iwd.8
/bin/mkdir -p src/ && rst2man.py --strict --no-raw --no-generator --no-datestamp src/iwd.config.rst src/iwd.config.5
/bin/mkdir -p src/ && rst2man.py --strict --no-raw --no-generator --no-datestamp src/iwd.network.rst src/iwd.network.5
/bin/mkdir -p src/ && rst2man.py --strict --no-raw --no-generator --no-datestamp src/iwd.ap.rst src/iwd.ap.5
rst2man.py: no python-exec wrapped executable found in /usr/lib/python-exec.
make[1]: *** [Makefile:3678: src/iwd.8] Error 127
make[1]: *** Waiting for unfinished jobs....
rst2man.py: no python-exec wrapped executable found in /usr/lib/python-exec.
rst2man.py: no python-exec wrapped executable found in /usr/lib/python-exec.
make[1]: *** [Makefile:3672: src/iwd.config.5] Error 127
make[1]: *** [Makefile:3672: src/iwd.network.5] Error 127
rst2man.py: no python-exec wrapped executable found in /usr/lib/python-exec.
make[1]: *** [Makefile:3672: src/iwd.ap.5] Error 127
make: *** [Makefile:1478: all] Error 2
 * ERROR: net-wireless/iwd-1.13::gentoo failed (compile phase):
 *   emake failed
Comment 1 Ben Kohler gentoo-dev 2021-05-12 11:46:00 UTC
I can build it fine without docutils installed, but perhaps it's a sort of automagic dep... mine checks for (and doesn't find) rst2man during configure, I bet yours finds it and thinks it can use it, but it actually cannot:

checking for rst2man... no
checking for rst2man.py... no

Is that the case?
Comment 2 Ben Kohler gentoo-dev 2021-05-12 12:09:15 UTC
I can reproduce failure if I don't install docutils but create /usr/bin/rst2man with "false" inside.

What if we pass RST2MAN=/bin/true to make?  This will effectively skip the (re)build of man pages but still install them, and eliminate any attempt to use the system rst2man (whether it exists or not).
Comment 3 Matt Turner gentoo-dev 2021-05-12 17:55:45 UTC
Yeah, I think you've hit the nail on the head. Thanks for investigating so quickly!
Comment 4 Larry the Git Cow gentoo-dev 2021-05-13 13:12:27 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37185b74ecef0c62116ef5733b5b36cbb9c475c6

commit 37185b74ecef0c62116ef5733b5b36cbb9c475c6
Author:     Ben Kohler <bkohler@gentoo.org>
AuthorDate: 2021-05-13 13:11:25 +0000
Commit:     Ben Kohler <bkohler@gentoo.org>
CommitDate: 2021-05-13 13:12:05 +0000

    net-wireless/iwd: make sure not to call rst2man on official releases
    
    Closes: https://bugs.gentoo.org/789588
    Package-Manager: Portage-3.0.18, Repoman-3.0.3
    Signed-off-by: Ben Kohler <bkohler@gentoo.org>

 net-wireless/iwd/iwd-1.14.ebuild | 7 ++++++-
 net-wireless/iwd/iwd-9999.ebuild | 7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)