Hi, Am Freitag, 20. Oktober 2023, 15:12:56 CEST schrieb Andrei Borzenkov:
On Fri, Oct 20, 2023 at 4:01 PM Fabian Vogt <fvogt@suse.de> wrote:
Hi,
Am Freitag, 20. Oktober 2023, 14:58:32 CEST schrieb Andrei Borzenkov:
On Fri, Oct 20, 2023 at 3:46 PM Fabian Vogt <fvogt@suse.de> wrote:
Hi,
Am Freitag, 20. Oktober 2023, 14:35:40 CEST schrieb Andrei Borzenkov:
On Fri, Oct 20, 2023 at 3:26 PM Thorsten Kukuk <kukuk@suse.de> wrote:
> > I guess you are implying that containers have no core utilities. > That is something I didn't know, and assumed otherwise.
There are base containers, which include coreutils and util-linux, and there is our busybox base container, which only includes busybox and the symlinks for the tools. So both exists, depending on your needs.
Which reminds me. There were multiple reports on forums about zypper selecting busybox as a dependency for some binary (/usr/bin/xxx). My best guess is that zypper simply takes the first package in alphabetical order when several choices exist.
Correct.
Is there any way to mark some packages as preferred *at runtime*? OBS solves it in project config, but it does not help in this case.
Yes, by having some other package that is part of the transaction suggest the non-busybox option. This is already done by patterns-base-base, but this is not always installed and probably also incomplete...
You probably misunderstood the problem.
You probably misunderstood my answer :P
That's quite possible.
andrei@tumbleweed:~> zypper se --requires /usr/bin/patch Loading repository data... Reading installed packages...
S | Name | Summary | Type --+-----------------+------------------------------------+-------- | flatpak-builder | Tool to build flatpaks from source | package | lsb | LSB Fake Package | package andrei@tumbleweed:~> zypper se --provides -x /usr/bin/patch Loading repository data... Reading installed packages...
S | Name | Summary | Type --+---------------+---------------------------------+-------- | busybox-patch | Busybox applets replacing patch | package | patch | GNU patch | package andrei@tumbleweed:~>
How are you going to ensure that installing flatpak-builder installs "patch" and not "busybox-patch"? By always pre-installing "patch" on every system?
If patterns-base-base has
Suggests: patch
and is installed on the system, "zypper in /usr/bin/patch" will pick patch, not busybox-patch.
But patterns-base-base will *not* be part of the transaction when installing flatpak-builder.
Already installed packages are included as well, unless they will be uninstalled (I think). I wrote "transaction" because it's IMO less obvious that for the initial installation it will be honored. Compare e.g. zypper --installroot $PWD/empty in --no-recommends /usr/bin/killall to zypper --installroot $PWD/empty in --no-recommends pattern:base /usr/bin/killall
andrei@tumbleweed:~> sudo zypper in flatpak-builder Loading repository data... Reading installed packages... Resolving package dependencies...
The following 81 NEW packages are going to be installed: binutils bubblewrap busybox busybox-patch dconf debugedit dwz elfutils flatpak flatpak-builder fuse3 gdk-pixbuf-query-loaders git-core glib-networking gsettings-desktop-schemas libappstream4 libarchive13 libasm1 libasound2 libavahi-client3 libavahi-common3 libavc1394-0 libbluetooth3 libcamera0_1 libcamera-base0_1 libconfig++11 libctf0 libctf-nobfd0 libdconf1 libdrm2 libfdk-aac2 libffado2 libFLAC12 libflatpak0 libfuse3-3 libgdk_pixbuf-2_0-0 libglibmm-2_4-1 libgnutls30 libhogweed6 libiec61883-0 libjbig2 libjpeg8 libjson-glib-1_0-0 liblc3-1 libldac2 liblilv-0-0 libmysofa1 libnettle8 libogg0 libopus0 libostree libostree-1-1 libpipewire-0_3-0 libpng16-16 libpulse0 libraw1394-11 libsbc1 libserd-0-0 libsha1detectcoll1 libsndfile1 libsord-0-0 libsoup-2_4-1 libspeex1 libsratom-0-0 libstemmer1d libtiff6 libunwind8 libvorbis0 libvorbisenc2 libvulkan1 libwebrtc-audio-processing-1-3 libXau6 libxcb1 libxml++-3_0-1 libxmlb2 pipewire-libjack-0_3 pipewire-modules-0_3 pipewire-spa-plugins-0_2 system-user-flatpak xdg-dbus-proxy xdg-desktop-portal
81 new packages to install.
Actually, this installation (WSL image) does not even have the Base System pattern.
In that case it won't help of course.