Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 555010 - sys-power/upower-pm-utils-0.9.23-r2 - missing DEPEND on sys-devel/gettext
Summary: sys-power/upower-pm-utils-0.9.23-r2 - missing DEPEND on sys-devel/gettext
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Freedesktop bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-15 20:37 UTC by Ben Kohler
Modified: 2015-08-06 11:03 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,10.67 KB, text/plain)
2015-07-15 20:37 UTC, Ben Kohler
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Kohler gentoo-dev 2015-07-15 20:37:07 UTC
Created attachment 406876 [details]
build.log

Hello,

sys-power/upower-pm-utils appears to need gettext at build time, otherwise it will fail in the configure phase.  I've attached a build.log but it's also easy to reproduce:

# emerge -C gettext
# emerge -1 upower-pm-utils

Thanks!
Comment 1 Gilles Dartiguelongue (RETIRED) gentoo-dev 2015-08-01 09:45:38 UTC
upower-pm-utils depends on intltool which rdepends on gettext.
By uninstalling gettext you actually broke intltool and the dependency tree of the package.

We can debate that this dependency must be listed explicitly due to calling gettext macros in configure:

http://cgit.freedesktop.org/upower/tree/configure.ac#n234

I have no clear cut idea about this.
Comment 2 Ben Kohler gentoo-dev 2015-08-01 12:08:19 UTC
Some recent bugs (related to subslot rebuilds) have shown the importance of explicit deps in cases like these.  Like it or not, upower-pm-utils currently depends on several *working* gettext binaries at build time.  

If it doesn't depend directly on them, emerge may allow them to be temporarily broken during an emerge run, when upower-pm-utils checks for them.  If it has a proper direct dep, emerge will correct the problem on gettext binaries before they're used by upower-pm-utils' configure script.
Comment 3 Gilles Dartiguelongue (RETIRED) gentoo-dev 2015-08-02 20:46:09 UTC
Links to said reports would go a long way.
Comment 4 Alexandre Rostovtsev (RETIRED) gentoo-dev 2015-08-04 13:15:39 UTC
In this particular case, IMHO the situation is clear. Since configure.ac explicitly checks for AM_GNU_GETTEXT_VERSION([0.17]), we need to explicitly check for >=gettext-0.17.

+  04 Aug 2015; Alexandre Rostovtsev <tetromino@gentoo.org>
+  upower-pm-utils-0.9.23-r2.ebuild:
+  Missing gettext dependency (bug #555010, thanks to Ben Kohler).

+  04 Aug 2015; Alexandre Rostovtsev <tetromino@gentoo.org>
+  upower-0.99.2-r1.ebuild, upower-0.99.3.ebuild:
+  Missing gettext dependency (bug #555010, thanks to Ben Kohler).
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-08-06 07:31:13 UTC
(In reply to Gilles Dartiguelongue from comment #1)
> upower-pm-utils depends on intltool which rdepends on gettext.
> By uninstalling gettext you actually broke intltool and the dependency tree
> of the package.
> 
> We can debate that this dependency must be listed explicitly due to calling
> gettext macros in configure:
> 
> http://cgit.freedesktop.org/upower/tree/configure.ac#n234
> 
> I have no clear cut idea about this.

If you can rely on intltool RDEPEND-ing on gettext all the time (i.e. the dependency not being removed in any forseeable future), there's no need for explicit dependency. Though indeed it may be cleaner *if* the package in question directly uses some gettext components rather than implicitly via intltool, and use of those components is not obligatory for intltool API.

(In reply to Ben Kohler from comment #2)
> If it doesn't depend directly on them, emerge may allow them to be
> temporarily broken during an emerge run, when upower-pm-utils checks for
> them.  If it has a proper direct dep, emerge will correct the problem on
> gettext binaries before they're used by upower-pm-utils' configure script.

No, emerge must not allow any temporarily broken build-time dependencies.
Comment 6 Ben Kohler gentoo-dev 2015-08-06 11:03:42 UTC
I was a little overzealous in updating this bug.  gettext is already in the depgraph (indirect) for upower-pm-utils which is enough for the issue I mentioned.  My mistake.

When I said "temporarily broken", I mean "not yet subslot-rebuilt, possibly relying on preserve-libs to work".