We only really need i686/x86_64 libraries, and executables which do not exist
(or do not work equivalently) on the arm64 host system.
In particular, removing libexec avoids situations where random dbus services
are started under emulation for no reason.
We're currently shipping GTK2/3 libs in the rootfs. While we're doing
that, let's also install XIM support, which actually works through X11
passthrough with muvm. This should generally make legacy GTK x86_64
apps have input method support the old-fashioned way.
Modern apps should use the Wayland input method protocol stuff, which is
already built into GTK3/GTK4 and should not require any extra shared
libraries for FEX. For muvm, that will work once we have Wayland
passthrough.
Per #112, excluding group specs just does not work in Kiwi at
present. For LXQt this is especially a problem because it means
the image fails to compose. The exclusion of m17n* *does* work
as it's a package spec, but because the exclusion of the
input-methods group does not work, dnf wants to install
ibus-typing-booster (part of input-methods), which requires
m17n-lib, and these conflicting requirements cause it to blow up.
So at least until the problem of not being able to exclude
groups is resolved, we should drop these.
Arguably, we should permanently stop excluding input-methods, at
least. Space constraints aren't as huge of a deal these days as
they used to be, on the whole; lots of folks have decent bandwidth,
lots of disk space, and large USB sticks. Input methods are
critical for CJK users; leaving them off the image makes it more or
less useless for them, which is a significant impairment. (Unless,
that is, input methods don't work properly in LXQt even if included
- I haven't tested this).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Many of the older supported AArch64 systems (particularly single
board computers) require a legacy MBR (Master Boot Record) type
partitioning to successfully boot.
Many of the older supported AArch64 systems (particularly single
board computers) require a legacy MBR (Master Boot Record) type
partitioning to successfully boot.
Group exclusions do not seem to work anymore with DNF5, so explicitly
filter out unwanted packages. Additionally, add missing unwanted
packages from the kickstarts and refactor it to apply to both
KDE Desktop and KDE Mobile profiles.
As it currently stands, this doubles the size of the live ISOs,
which is completely unacceptable.
We will need to make the switch eventually, but we need to figure
out how to compress better first.
This reverts commit 1457e97008f15064dcc30aaca9977ffa1ec66572.
EROFS is newer, more performant filesystem that emphasizes speed
and integrity over SquashFS. It is also much better maintained and
friendlier for flash-based storage that live media is typically
run from these days.
ibus: This is an input method, which is a user choice. It doesn't make
sense to ship some input method libs and not others. These libs
typically communicate with the main IM daemon over UNIX sockets, so this
won't work anyway without additional work. (This might cause some
spurious errors as the guest tries to load the nonexistent IM, but we
can ignore them since it wouldn't work anyway).
xdg-desktop-portal: This is just data and executables, no libraries, so
it makes no sense for FEX.
glibc-langpack-en, kbd-misc: Only needed for kiwi, add a comment
zenity: Used by Steam but it's just a binary, so this should be an
aarch64 dependency, not run emulated.
llvm 14 & 15: I don't think there's a good reason to ship these? Any
reasonable binary-packaged app shouldn't be depending on specific LLVM
versions like this. Let's keep llvm18 & 19 since 18 is used by our Mesa
builds.
sudo & rsync: Binaries only (and sudo doesn't even work, neither under
emulation nor plain in muvm).
dbus: What we really need is the libs, so replace with that. dbus
probably won't do what we want inside the container, but for many use
cases dbus is not critical so it's okay for things to fail as long as
the libs are there.
spirv-tools-devel: Replace with spirv-tools-libs (dep)
glew-devel: Replace with libGLEW (dep)
Production builds in Fedora have a couple extra features:
* ISOs have custom overrides to set the correct volume/app IDs
* Image filenames are structured to follow roughly NVRA format
Now we support these features with extra helper scripts. If a
"image release" value is passed in, then we fully mimic the
production image build process.
This will be particularly useful for making respins of Fedora images
with updates applied.
This is loosely based on the Server kickstart and ELN descriptions.
This covers both the disk image for running on ARM hardware as well
as the VM image for running on various hypervisor platforms.
This package is intended to be the place for Azure utilities along with
the various udev rules that currently live in the WALinuxAgent package.
At the moment it just contains the `azure-nvme-id` binary and udev rules
for providing symlinks in /dev/disk/azure/ for local, data, and
OS disks.
The boot environment for non-cloud disk images was incomplete,
leading to images not bootable on real hardware. This change
adds the missing packages to fix that.
The boot environment for non-cloud disk images was incomplete,
leading to images not bootable on real hardware. This change
adds the missing packages to fix that.
This value is overridden by Koji with the value set by Pungi for
the target RHEL version. Not having it here removes the assumption
that a valid version is being tracked here.
4096 blocksize is required for Macs, and some newer machines can see it,
but many other machines are not able to use the 4096 blocksize.
Signed-off-by: Troy Dawson <tdawson@redhat.com>