Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
How to favor source-built over binary packages?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Guenther Brunthaler
Apprentice
Apprentice


Joined: 22 Jul 2006
Posts: 218
Location: Vienna

PostPosted: Sat Jan 18, 2025 10:26 pm    Post subject: How to favor source-built over binary packages? Reply with quote

I chose Gentoo because it is a source-based Distribution.

However, much to my dislike, a lot of packages were installed as *-bin rather than being built from source.

For instance, when I try to merge "jdk", "openjdk-bin" would be merged by default as a dependency rather than "openjdk" which is also available.

Of course I could merge "openjdk" manually, but this is a lot of additional work in general because I needed to review all dependencies of all packages being merged, always checking for unwanted *-bin packages.

How can I reverse the portage default, so that binary packages are only chosen if there is no way to initially build the source package, i.e. for the famous compiler bootstrap problem when a compiler needs itself to be compiled.

But in all other cases, I want everything being built from source!

If I liked binary packages so much, I could have stayed with Debian.

BTW, I did not explicitly set any USE flags or FEATURES for requesting binary packages:

Code:

$ emerge --info | sed 's/[^ ]*="/\n&/g' | grep -E '^(USE|FEATURES)='
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
USE="X a52 aac acl acpi alsa amd64 asm audiofile avif blas bluetooth bpf branding bzip2 cairo cdda cdr cet clang compress-xz crypt cuda cups dbus deduplicate designer dist-kernel dot dracut dri dts dvd dvdr encode eselect-ldso exif ffmpeg fftw flac fontconfig fuse gd gdbm gif git glusterfs gmp gpm grub gtk gtk-doc gui handbook html iconv icu initramfs inotify jack java jemalloc jpeg jpeg2k jpegxl json kf6compat kyotocabinet ladspa lame lapack lcms libffi libnotify libsamplerate libtirpc lv2 lvm lzo mad magic man matroska mbox mng modules modules-compress mono mp3 mp4 mpeg mpi mtp multilib ncurses nls nvenc odbc offlinehelp ogg openal opencl opencv opengl openmp openvpn opus pam pango pcap pcre pdf png policykit portaudio posix postgres ppds qemu qml qt5 qt6 readline scanner sdl sdl-image seccomp sid smp sndfile socks5 sound sox speech speex spell sqlite ssl startup-notification strip svg syslog taglib test-rust threads tidy tiff timidity tk truetype ttf udev unicode upower usb usbredir uuid v4l vaapi vde vdpau vnc vorbis vpx vte vulkan wayland webkit webp wifi wmf wxwidgets x264 xattr xcb xft xinetd xml xmp xmpp xpm xscreensaver xv xvid zip zlib"
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2091

PostPosted: Sat Jan 18, 2025 10:39 pm    Post subject: Reply with quote

The default is only ever binary for cases where there's a bootstrapping problem (Java, Rust). Someone is currently working on wiring up mrustc so we can have a bootstrap chain for Rust and we've discussed figuring that out for Java too.

Can you list what the other packages were other than Java and Rust, given they're very much a special case (that you identified)?

(With regard to generally avoiding binaries, I plan on pursing bug 885827 at some point, but I don't think it would've really helped here without more data at least.)
Back to top
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1963
Location: 127.0.0.1

PostPosted: Sun Jan 19, 2025 9:07 am    Post subject: Reply with quote

Quote:

How to favor source-built over binary packages?

Mask all -bin packages :

/etc/portage/package.mask wrote:

*/*-bin

Then, I guess that emerge will try to find a way without any -bin.
And if it cannot, it will ask you an extra action to unmask the package it needs.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum