Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] What is the definition of a gentoo "binary" package?
Date: Sat, 30 May 2015 07:49:17
Message-Id: 55696B6E.1000504@gmail.com
In Reply to: [gentoo-user] What is the definition of a gentoo "binary" package? by walt
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