1 |
On 30/05/2015 03:48, walt wrote: |
2 |
> <gory details of many frustrating hours of fighting with one particular |
3 |
> gentoo package have been snipped to eliminate uncouth language> |
4 |
> |
5 |
> I think of a gentoo "binary" package (e.g. oracle-jdk-bin) as an ebuild |
6 |
> that fetches a file from somewhere, then merely unpacks that file and |
7 |
> sticks the results in /opt/<whatever>. |
8 |
> |
9 |
> My experience today with libreoffice-bin has broken my mental model of |
10 |
> how a gentoo "binary" package behaves. |
11 |
> |
12 |
> While trying to debug some broken behavior in the (non-binary) localc |
13 |
> spreadsheet app, I decided to install libreoffice-bin as an experiment. |
14 |
> |
15 |
> The libreoffice-bin package wanted to drag in dozens of other non-binary |
16 |
> gentoo packages before it would install itself, and even caused a blocker |
17 |
> between two different versions of poppler. (I said "no" because I thought |
18 |
> the blocker would make the entire experiment fail in the end.) |
19 |
> |
20 |
> Any thoughts from you gentoo gurus would be most appreciated. |
21 |
|
22 |
|
23 |
"binary package" is a fuzzy definition. It's a package that can be |
24 |
compiled (i.e. not purely shell scripts) but for whatever reason that is |
25 |
not viable for a large enough number of users. So a precompiled version |
26 |
is made available, and this is what we call a binary. |
27 |
|
28 |
Example reasons could be license restrictions that forbid redistributing |
29 |
sources (eg nvidia-drivers), or the damn thing just takes too bloody |
30 |
long to build (libreoffice). |
31 |
|
32 |
Either way, a binary package still has to work in the larger Gentoo |
33 |
ecosystem. It still has deps, blockers, even devs who commit bugs. |
34 |
|
35 |
"A completely self-contained package that can never interfere with |
36 |
another package" is NOT part of the definition, and reading between the |
37 |
lines I think you might have a part of that thinking lurking around in |
38 |
your mental model. |
39 |
|
40 |
Binary packages are more prone to break stuff than non-binary packages |
41 |
when viewing as a group. A binary package from a vendor may require |
42 |
specific versions of deps, or require a dep be built with certain config |
43 |
options for example - this can so easily interfere with what you already |
44 |
have installed and your choice of USE. With source packages, we can |
45 |
often work around this easily and patch stuff. With binary packages we |
46 |
all too often cannot and are stuck. |
47 |
|
48 |
Add in the Gentoo attitude where binary packages are the evil step-child |
49 |
that only serve expediency and the devs mostly won't change things to |
50 |
accomodate binary packages, and what you ran into is actually quite common. |
51 |
|
52 |
If you want to use a binary package, be prepared to compromise and |
53 |
change your system to accommodate it, as the other way round is often |
54 |
unfeasible. |
55 |
|
56 |
|
57 |
-- |
58 |
Alan McKinnon |
59 |
alan.mckinnon@×××××.com |