Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fedora 42 template #9807

Open
7 tasks
marmarek opened this issue Feb 25, 2025 · 1 comment
Open
7 tasks

Fedora 42 template #9807

marmarek opened this issue Feb 25, 2025 · 1 comment
Labels
C: Fedora P: default Priority: default. Default priority for new issues, to be replaced given sufficient information.

Comments

@marmarek
Copy link
Member

Fedora 42 (https://fedorapeople.org/groups/schedule/f-42/f-42-key-tasks.html) is planned for mid April 2025.

Tasks:

  • build all packages
  • update rpmfusion to final released version
  • build the template
  • document
  • upload to testing repo
  • migrate to stable repo
  • announce

If any issue affects Fedora 42 specifically (build failures, things that worked fine before etc.), please add reference to this issue too.

@marmarek marmarek added C: Fedora C: templates P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. labels Feb 25, 2025
marmarek added a commit to marmarek/qubes-builderv2 that referenced this issue Feb 25, 2025
marmarek added a commit to marmarek/qubes-linux-utils that referenced this issue Feb 25, 2025
GCC 17 defaults to -std=gnu23, which changes type of u8 string
constants. This breaks the validator, as
qubes_pure_string_safe_for_display expects 'const char *' not 'const
unsigned char *'.

The specific error message is:

validator-test.c:286:48: error: pointer targets in passing argument 1 of ...qubes_pure_string_safe_for_display... differ in signedness [-Werror=pointer-sign]
  286 |     assert(!qubes_pure_string_safe_for_display(u8"\U0001f3f3", 0));
      |                                                ^~~~~~~~~~~~~~
      |                                                |
      |                                                unsigned char *
In file included from validator-test.c:6:
pure.h:199:48: note: expected ...const char *... but argument is of type ...unsigned char *...
  199 | qubes_pure_string_safe_for_display(const char *untrusted_str,
      |                                    ~~~~~~~~~~~~^~~~~~~~~~~~~
validator-test.c:286:48: error: pointer targets in passing argument 1 of ...qubes_pure_string_safe_for_display... differ in signedness [-Werror=pointer-sign]
  286 |     assert(!qubes_pure_string_safe_for_display(u8"\U0001f3f3", 0));
      |                                                ^~~~~~~~~~~~~~
      |                                                |
      |                                                unsigned char *
pure.h:199:48: note: expected ...const char *... but argument is of type ...unsigned char *...
  199 | qubes_pure_string_safe_for_display(const char *untrusted_str,
      |                                    ~~~~~~~~~~~~^~~~~~~~~~~~~

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-linux-utils that referenced this issue Feb 25, 2025
Fedora 42 merges /usr/bin and /usr/sbin, adjust package %install section
accordingly.
Related change link:
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-linux-utils that referenced this issue Feb 25, 2025
Fedora 42 merges /usr/bin and /usr/sbin, adjust package %install section
accordingly.
Related change link:
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-gui-agent-linux that referenced this issue Feb 25, 2025
The function takes an argument. Actual function used there was okay, but
the field in the structure used wrong type. And GCC 15 (rightfully)
started complaining.
Use CreateWindowProcPtr type to avoid similar issue in the future.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-fwupd that referenced this issue Feb 25, 2025
F42 merged /usr/sbin and /usr/bin. But also, fwupdmgr lives in /usr/bin
in Fedora for a long time.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-builder-rpm that referenced this issue Feb 25, 2025
marmarek added a commit to marmarek/qubes-builder-rpm that referenced this issue Feb 25, 2025
marmarek added a commit to marmarek/qubes-builder-rpm that referenced this issue Feb 25, 2025
This package is an alternative to systemd-sysusers, but without systemd
dependency. They cannot be both installed, but for some reason DNF
downloads them both. Exclude the unwanted one.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-builder-rpm that referenced this issue Feb 25, 2025
marmarek added a commit to marmarek/qubes-builder-rpm that referenced this issue Feb 25, 2025
This package is an alternative to systemd-sysusers, but without systemd
dependency. They cannot be both installed, but for some reason DNF
downloads them both. Exclude the unwanted one.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-desktop-linux-xfce4-xfwm4 that referenced this issue Feb 26, 2025
Includes rebasing qubes patches.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-desktop-linux-xfce4-xfwm4 that referenced this issue Feb 26, 2025
Xfce4 4.20 is present in Fedora 42+ and Debian 13+

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-desktop-linux-xfce4-xfwm4 that referenced this issue Feb 26, 2025
Includes rebasing qubes patches.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-desktop-linux-xfce4-xfwm4 that referenced this issue Feb 26, 2025
Xfce4 4.20 is present in Fedora 42+ and Debian 13+

QubesOS/qubes-issues#9807
@marmarek
Copy link
Member Author

The pull requests linked above are enough to build the template. I don't know yet if it works.

marmarek added a commit to QubesOS/qubes-release-configs that referenced this issue Feb 26, 2025
marmarek added a commit to QubesOS/qubes-continuous-integration that referenced this issue Feb 26, 2025
Don't add it for R4.2 yet, and also skip openQA builds for now - until
all packages are built.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-core-qrexec that referenced this issue Feb 26, 2025
It doesn't exist in F42 anymore, and appears to not really be needed.

QubesOS/qubes-issues#9807
marmarek added a commit to QubesOS/qubes-continuous-integration that referenced this issue Feb 27, 2025
marmarek added a commit to marmarek/qubes-linux-utils that referenced this issue Mar 1, 2025
There it a tendency to merge /usr/bin and /usr/sbin (replace the latter
with a symlink). This caused a few issues already, including SELinux
mislabeling (QubesOS/qubes-issues#9663), file install issues where
%_sbindir RPM macro points at /usr/bin, and now on in-place upgrade
systemd unit points at /usr/sbin/meminfo-writer that doesn't exist at
the upgrade time.

Since this merging happened on Fedora 42 now, and much earlier on
Archlinux too, simplify things by simply moving meminfo-writer to
/usr/bin and don't have any special cases for distributions with merged
/usr/sbin or not. The change isn't relevant for Debian (yet?) but also
shouldn't hurt either.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-core-qubesdb that referenced this issue Mar 1, 2025
In practice only qubesdb-daemon remained in /usr/sbin.
Since Fedora 42 merged those two, it ends up in /usr/bin anyway, and
since its harmless on other distros, move it everywhere. This simplifies
for example systemd unit handling (which otherwise would sometimes need
/usr/bin and sometimes /usr/sbin path).

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-core-qubesdb that referenced this issue Mar 1, 2025
In practice only qubesdb-daemon remained in /usr/sbin.
Since Fedora 42 merged those two, it ends up in /usr/bin anyway, and
since its harmless on other distros, move it everywhere. This simplifies
for example systemd unit handling (which otherwise would sometimes need
/usr/bin and sometimes /usr/sbin path).

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-core-qubesdb that referenced this issue Mar 1, 2025
In practice only qubesdb-daemon remained in /usr/sbin.
Since Fedora 42 merged those two, it ends up in /usr/bin anyway, and
since its harmless on other distros, move it everywhere. This simplifies
for example systemd unit handling (which otherwise would sometimes need
/usr/bin and sometimes /usr/sbin path).

But keep /usr/sbin/qubesdb-daemon compatibility symlink in RPM distros
that don't merge sbin with bin yet. This especially applies to F41-based
dom0, where qubesd referrs to /usr/sbin/qubesdb-daemon.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-core-qubesdb that referenced this issue Mar 1, 2025
In practice only qubesdb-daemon remained in /usr/sbin.
Since Fedora 42 merged those two, it ends up in /usr/bin anyway, and
since its harmless on other distros, move it everywhere. This simplifies
for example systemd unit handling (which otherwise would sometimes need
/usr/bin and sometimes /usr/sbin path).

But keep /usr/sbin/qubesdb-daemon compatibility symlink in RPM distros
that don't merge sbin with bin yet. This especially applies to F41-based
dom0, where qubesd referrs to /usr/sbin/qubesdb-daemon.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-core-qubesdb that referenced this issue Mar 1, 2025
In practice only qubesdb-daemon remained in /usr/sbin.
Since Fedora 42 merged those two, it ends up in /usr/bin anyway, and
since its harmless on other distros, move it everywhere. This simplifies
for example systemd unit handling (which otherwise would sometimes need
/usr/bin and sometimes /usr/sbin path).

But keep /usr/sbin/qubesdb-daemon compatibility symlink in RPM distros
that don't merge sbin with bin yet. This especially applies to F41-based
dom0, where qubesd referrs to /usr/sbin/qubesdb-daemon.

QubesOS/qubes-issues#9807
marmarek added a commit to marmarek/qubes-core-agent-linux that referenced this issue Mar 3, 2025
It's not relevant a qube (that has only local user database). And also
it causes issues distribution upgrade (when the service is being
re-started, while socket is still up, all user lookups take a long time
eventually causing timeouts of service restart).

QubesOS/qubes-issues#9807
marmarek added a commit to QubesOS/qubes-builderv2 that referenced this issue Mar 3, 2025
marmarek added a commit to QubesOS/qubes-builderv2 that referenced this issue Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Fedora P: default Priority: default. Default priority for new issues, to be replaced given sufficient information.
Projects
None yet
Development

No branches or pull requests

2 participants