On Tue, Jul 14, 2020 at 11:24:31PM +0200, n952162 wrote: > binary packages: how to: > > 1. find out if a package is binary before you install it (e.g. where on > app-arch/rar does it say it's a binary package)
RAR is an unusual case, with both the "mirror" and "bindist" flags set in the RESTRICT variable (i.e., Gentoo cannot legally mirror the package, and you're not allowed to redistribute binaries either). I couldn't find anything in the ebuild which suggests it is a binary package; perhaps this is something that should be reviewed by the Gentoo developers, as most packages supporting a binary distribution provide a separate package with the `-bin` suffix, although I suppose this doesn't make much sense when there is no source package. The entire RAR business model of free decompression and paid compression has caused confusion for many people over many decades. I'd always stick to 7zip or one of the classic UNIX compression utilities, if I had a choice. > 2. inhibit their installation Don't install them. ;-) More seriously: there's not that many of them, so it's probably not a process worth automating, unless you're on a multi-user machine, in which untrusted users can install packages - although I think you'd have more significant problems at that point. As you've unfortunately discovered, there isn't much of a concrete framework in place to automatically detect binary packages, which also makes Point (3) difficult. > 3. get a list of the ones installed on a system `EIX_LIMIT=0 eix --only-names -I *-bin`, perhaps ? Unfortunately, this won't catch the unusual cases, as seen with `app-arch/rar`. > Any ideas about that are appreciated. [1] might be worth a read; it's quite comprehensive, and gives you a glimpse into the inner-workings of Portage, allowing you to fix these issues yourself. Something to note: "bindist", as the USE-flag and RESTRICT option, does not mean "use a binary distribution", but rather "compile the package in such a way that I can redistribute my build without putting myself in a legal problem with the package authors" (this commonly is synonymous with disabling official branding): $ ash-euses -sk bindist dev-libs/openssl:bindist - Disable/Restrict EC algorithms (as they seem to be patented) -- note: changes the ABI dev-libs/openssl-compat:bindist - Disable/Restrict EC algorithms (as they seem to be patented) -- note: changes the ABI dev-qt/qtnetwork:bindist - Disable EC support via dev-libs/openssl mail-client/thunderbird:bindist - Disable official Firefox/Thunderbird branding (icons, name) which are not binary-redistributable according to upstream. media-libs/freetype:bindist - Disable ClearType support (see http://freetype.org/patents.html) net-libs/liboauth:bindist - Alias for the nss USE flag, since there are license compliancy trouble when using OpenSSL. net-misc/openssh:bindist - Disable EC/RC5 algorithms in OpenSSL for patent reasons. sys-apps/ucspi-ssl:bindist - Disable EC/RC5 algorithms in OpenSSL for patent reasons. www-client/firefox:bindist - Disable official Firefox branding (icons, name) which are not binary-redistributable according to upstream. Hope this helps, Ashley. [1] https://wiki.gentoo.org/wiki/Binary_package_guide -- Ashley Dixon suugaku.co.uk 2A9A 4117 DA96 D18A 8A7B B0D2 A30E BF25 F290 A8AA
signature.asc
Description: PGP signature