Mailing List Archive

gentoo packages contain binary images?
Hello,

When I do:

$  equery list cmake
 * Searching for cmake ...
[IP-] [  ] dev-util/cmake-3.22.2:0

Furthermore, I find no /var/tmp/portage/dev-util/cmake*

and when I do this:

$ cd /var/cache/binpkgs/dev-util

$ tar -tjvf cmake-3.22.2.tbz2  2>&1 | grep /usr/bin/cmake
-rwxr-xr-x root/root   7332776 2022-03-03 10:10 ./usr/bin/cmake

I see that a ready-to-use cmake is included.

Am I interpreting this correctly that cmake is downloaded as pre-built
binary?

Can I inhibit that?  How many pre-built binaries do I have?  How do I
get rid of them?

Incidently, I checked another package in /var/cache/binpkgs, byacc, and
it's the same.
Re: gentoo packages contain binary images? [ In reply to ]
cmake is not downloaded as binary. Your system has built it and stored the
binaries it built, especially if more than one package is like that.

This happens when you use quickpkg or emerge -b.
I seem to recall there is a global option that can be used for this, I used
it one when building on a central host to then distribute binaries to other
hosts.

Alan

On Thu, Sep 28, 2023 at 5:29?PM n952162 <n952162@web.de> wrote:

> Hello,
>
> When I do:
>
> $ equery list cmake
> * Searching for cmake ...
> [IP-] [ ] dev-util/cmake-3.22.2:0
>
> Furthermore, I find no /var/tmp/portage/dev-util/cmake*
>
> and when I do this:
>
> $ cd /var/cache/binpkgs/dev-util
>
> $ tar -tjvf cmake-3.22.2.tbz2 2>&1 | grep /usr/bin/cmake
> -rwxr-xr-x root/root 7332776 2022-03-03 10:10 ./usr/bin/cmake
>
> I see that a ready-to-use cmake is included.
>
> Am I interpreting this correctly that cmake is downloaded as pre-built
> binary?
>
> Can I inhibit that? How many pre-built binaries do I have? How do I
> get rid of them?
>
> Incidently, I checked another package in /var/cache/binpkgs, byacc, and
> it's the same.
>
>
>
>

--
Alan McKinnon
alan dot mckinnon at gmail dot com
Re: gentoo packages contain binary images? [ In reply to ]
On 9/28/23 17:48, Alan McKinnon wrote:
> cmake is not downloaded as binary. Your system has built it and stored
> the binaries it built, especially if more than one package is like that.

$ tar -xjvf /var/cache/binpkgs/dev-util/cmake-3.22.2.tbz2  ./usr/bin/cmake
./usr/bin/cmake


$ file usr/bin/cmake
usr/bin/cmake: ELF 64-bit LSB pie executable, x86-64, version 1
(GNU/Linux), dynamically linked, interpreter
/lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped

It looks to me that it's in the tarball received from gentoo.


>
> This happens when you use quickpkg or emerge -b.


Maybe I'm misinterpreting something?

emerge *--getbinpkg n *-v --tree --deep --update --noreplace
--changed-use --verbose-conflicts --keep-going --with-bdeps=y
--backtrack=100 cmake

> I seem to recall there is a global option that can be used for this, I
> used it one when building on a central host to then distribute
> binaries to other hosts.
>
> Alan
>
> On Thu, Sep 28, 2023 at 5:29?PM n952162 <n952162@web.de> wrote:
>
> Hello,
>
> When I do:
>
> $  equery list cmake
>   * Searching for cmake ...
> [IP-] [  ] dev-util/cmake-3.22.2:0
>
> Furthermore, I find no /var/tmp/portage/dev-util/cmake*
>
> and when I do this:
>
> $ cd /var/cache/binpkgs/dev-util
>
> $ tar -tjvf cmake-3.22.2.tbz2  2>&1 | grep /usr/bin/cmake
> -rwxr-xr-x root/root   7332776 2022-03-03 10:10 ./usr/bin/cmake
>
> I see that a ready-to-use cmake is included.
>
> Am I interpreting this correctly that cmake is downloaded as pre-built
> binary?
>
> Can I inhibit that?  How many pre-built binaries do I have? How do I
> get rid of them?
>
> Incidently, I checked another package in /var/cache/binpkgs,
> byacc, and
> it's the same.
>
>
>
>
>
> --
> Alan McKinnon
> alan dot mckinnon at gmail dot com
Re: gentoo packages contain binary images? [ In reply to ]
On Thu, Sep 28, 2023 at 12:24?PM n952162 <n952162@web.de> wrote:
>
> $ tar -xjvf /var/cache/binpkgs/dev-util/cmake-3.22.2.tbz2 ./usr/bin/cmake
> It looks to me that it's in the tarball received from gentoo.

Unless you tell portage to fetch binpkgs it won't fetch one from
Gentoo. Until very recently Gentoo didn't even offer them.

Distfiles are located in DISTDIR, not PKGDIR, as defined in make.conf

> Maybe I'm misinterpreting something?
>
> emerge --getbinpkg n -v --tree --deep --update --noreplace --changed-use --verbose-conflicts --keep-going --with-bdeps=y --backtrack=100 cmake

Most likely you have FEATURES=buildpkg set.

Unless you're short on space I recommend leaving it set. Being able
to re-install from a binary package can be handy if somehow a package
gets corrupted. It doesn't require a working toolchain/etc, and of
course is faster, and gives you the exact same result as rebuilding
from source assuming you haven't changed the underlying dependencies,
USE flags, etc.

Portage won't actually use a binary package unless you tell it to with
--usepkg(only) (-k/K). Most common use cases for this are when you
want to either use upstream binaries, or build your own to stage or
deploy en-masse. I build binpkgs with a cron job overnight and then
when I review the packages to be installed I can skip most of the
build time by using --usepkg - I get the exact same result as building
them after I review the packages to be installed, since these are all
built with my settings anyway.

--
Rich
Re: gentoo packages contain binary images? [ In reply to ]
Hi,

n952162 <n952162@web.de> writes:

> Hello,
>
> When I do:
>
> $  equery list cmake
>  * Searching for cmake ...
> [IP-] [  ] dev-util/cmake-3.22.2:0
>
> Furthermore, I find no /var/tmp/portage/dev-util/cmake*
>
> and when I do this:
>
> $ cd /var/cache/binpkgs/dev-util
>
> $ tar -tjvf cmake-3.22.2.tbz2  2>&1 | grep /usr/bin/cmake
> -rwxr-xr-x root/root   7332776 2022-03-03 10:10 ./usr/bin/cmake
>
> I see that a ready-to-use cmake is included.
>
> Am I interpreting this correctly that cmake is downloaded as pre-built
> binary?
>
> Can I inhibit that?  How many pre-built binaries do I have?  How do I
> get rid of them?
>
> Incidently, I checked another package in /var/cache/binpkgs, byacc, and
> it's the same.

Check 'portageq envvar FEATURES' for buildpkg. Also check if you have
/etc/portage/binrepos.conf.

There recently was a brief period of time when the new
(not-yet-fully-unleashed) binhost was added to the binrepos.conf of the
stage3. Maybe you installed during that period. You can edit
binrepos.conf safely if you'd prefer not to fetch packages from our
binhost.

Note that you need to pass --getbinpkg to fetch binpkgs.
--
Arsen Arsenovi?
Re: gentoo packages contain binary images? [ In reply to ]
unsubscribe

Arsen Arsenovi? <arsen@gentoo.org> ? 2023?9?29??? 18:15???

> Hi,
>
> n952162 <n952162@web.de> writes:
>
> > Hello,
> >
> > When I do:
> >
> > $ equery list cmake
> > * Searching for cmake ...
> > [IP-] [ ] dev-util/cmake-3.22.2:0
> >
> > Furthermore, I find no /var/tmp/portage/dev-util/cmake*
> >
> > and when I do this:
> >
> > $ cd /var/cache/binpkgs/dev-util
> >
> > $ tar -tjvf cmake-3.22.2.tbz2 2>&1 | grep /usr/bin/cmake
> > -rwxr-xr-x root/root 7332776 2022-03-03 10:10 ./usr/bin/cmake
> >
> > I see that a ready-to-use cmake is included.
> >
> > Am I interpreting this correctly that cmake is downloaded as pre-built
> > binary?
> >
> > Can I inhibit that? How many pre-built binaries do I have? How do I
> > get rid of them?
> >
> > Incidently, I checked another package in /var/cache/binpkgs, byacc, and
> > it's the same.
>
> Check 'portageq envvar FEATURES' for buildpkg. Also check if you have
> /etc/portage/binrepos.conf.
>
> There recently was a brief period of time when the new
> (not-yet-fully-unleashed) binhost was added to the binrepos.conf of the
> stage3. Maybe you installed during that period. You can edit
> binrepos.conf safely if you'd prefer not to fetch packages from our
> binhost.
>
> Note that you need to pass --getbinpkg to fetch binpkgs.
> --
> Arsen Arsenovi?
>