gpo.zugaina.org

Search Portage & Overlays:
RSS

Gentoo Repository News

Dracut changed default for hostonly setting - 03/02/2025 00:00 GMT

Dracut is an initramfs generation tool. It may be invoked via the
installkernel mechanism in order to automatically generate a new
initramfs when the kernel is installed. If you are reading this then
sys-kernel/installkernel is configured to use Dracut and the below is
relevant for you.

What changed?
====================

Starting with version 106 of sys-kernel/dracut the default for the
"hostonly" setting has changed from disabled to enabled when Dracut is
invoked via installkernel[1].

"hostonly" is a setting for Dracut that controls how much is included
in the generated initramfs image. When it is disabled Dracut aims to
generate an initramfs image that is bootable on any hardware. On the
other hand, when this setting is enabled, Dracut aims to generate an
initramfs image containing only what is needed to boot the current
system. The advantage is a significantly smaller initramfs images,
but this comes with the cost of losing portability.

Example: When the "hostonly" setting is disabled, Dracut's drm module
will cause all GPU drivers to be included in the initramfs. When it is
enabled, only the drivers for GPUs that are currently present in the
system are included in the initramfs.

Enabling the "hostonly" setting was and is our recommendation for most
use cases. This however was not the default behaviour in versions
prior to 106.

Note, the default value for the "hostonly" setting has changed only
when Dracut is invoked via installkernel. Disabled remains the default
behaviour when Dracut is invoked directly.

User Action Required
====================

If your system is already configured to enable "hostonly" setting via
/etc/dracut.conf.d/ then effectively nothing has changed for you.

However, if Dracut has previously not been configured to enable the
"hostonly" setting, then starting with version 106 the behaviour of
Dracut will change for you. Though we do not expect major problems, we
recommend ensuring a backup booting option remains available before
rebooting the system after the first kernel upgrade following the
upgrade of Dracut. This is usually the case unless the old kernels are
manually removed by the user.

If you do experience a booting problem with the "hostonly" enabled
initramfs images, then please report this problem to Dracut[2].

The "hostonly" setting may be disabled via /etc/dracut.conf.d/
configuration snippets. For example:

	echo "hostonly=no" >> /etc/dracut.conf.d/95-no-hostonly.conf


[1] https://github.com/dracut-ng/dracut-ng/pull/1158
[2] https://github.com/dracut-ng/dracut-ng/issues


Posted By: Nowa Ammerlaan

Haskell destabilization - 29/09/2024 00:00 GMT

Packaging Haskell software has proven difficult in Gentoo: many packages are
outdated, unstable versions have not been stabilized in nearly a year, and
stable versions are rather old.

In an effort to reduce the load on the Haskell maintainers, stable keywords
will be removed from dev-haskell/* packages and their reverse dependencies on
October 1.

Users with Haskell packages should add entries to their package.accept_keywords
for these packages to avoid issues rebuilding or upgrading them in the future.

This change does not preclude stabilizing Haskell packages in the future.

Haskell packaging is mostly taking place in the Haskell repository [1].

[1] https://github.com/gentoo-haskell/gentoo-haskell


Posted By: Matt Turner

KDE Plasma 6.1.4 and Gear 24.05.2 Upgrade - 31/08/2024 00:00 GMT

Reasons
=======

KDE Plasma 5 has reached end of life and is no longer supported by Gentoo.
Qt5 upstream OSS support ended on 2020-12-08, and LTS releases - even with
considerable effort by KDE community's backports on top - only go so far.
It is therefore required for all users to upgrade to KDE Plasma 6[1].

At the same time, KDE Gear 24.05.2 is provided with most applications ported
over to KDE Frameworks 6. As long as KF5-based applications are being shipped
with the KDE Gear bundle, and other non-KDE Qt5-based applications still
common in ::gentoo repository, it is advised *not* to disable USE="qt5".


Changes
=======

Not many - much like Qt6, this is mostly an evolution of the existing
codebase, no disruptive feat.

Plasma Wayland support has come a long way and therefore KDE developers have
decided to make it the default login session for Plasma 6, even if some
known papercuts[2] remain. For users affected too much by those, switching
to the still existing X11 session is as easy as selecting it in the display
manager of choice. Disabling USE="wayland" is *not* changing this default,
it will yield no dependency savings, and we advise against doing so. It does
not affect users' X11 sessions.

In Gentoo:

The 32-bit ~arm/arm keyword was inconsistent across KDE Plasma, KDE
Frameworks, and KDE Gear, and has been dropped.

The situation for x86 was similar to arm and test failures often blocked
stabilization. Stable x86 has been dropped, ~x86 was dropped for KDE PIM,
dev-util/kdevelop and any other dev-qt/qtwebengine:6 reverse dependencies.


User Action Required
====================

For users of a desktop profile[3], no specific upgrade steps are necessary,
although some precautionary measures are advised before and during upgrade:

- Switch to a standard (Breeze or Oxygen) theme
- Depclean kde-misc/latte-dock, it is unfit for Plasma 6 (and masked already)
- Cleanup sets and @world from any SLOT or version pinning of KDE packages
- If possible, perform the upgrade not inside a running Plasma session

Necessary USE flag changes were already made in desktop profile, therefore
only users of other profiles should set USE="kf6compat qt6" globally[4].

Users are recommended to run the following command (pretend-only) to identify
packages in @world which have been removed, to help reduce conflicts:

    emerge -pev @world --backtrack=0

Then for any "no ebuild available" messages, either resolve it by making
the needed changes, or emerge --deselect them. Then proceed to the world
upgrade below.

Once the packages become available on your arch, it should be as simple as
update @world:

    emerge -avuUD @world

Run dispatch-conf (preferred) or etc-update to get updated configuration
files:

    dispatch-conf

Then depclean:

    emerge -ac

[1] https://kde.org/plasma-desktop/
[2] https://community.kde.org/Plasma/Wayland_Known_Significant_Issues
[3] https://wiki.gentoo.org/wiki/KDE#Profile
[4] https://wiki.gentoo.org/wiki//etc/portage/package.use


Posted By: Andreas Sturmlechner

dracut module config changes - 09/08/2024 00:00 GMT

Starting with dracut-102, cryptsetup support for systemd has been moved
into a separate module "systemd-cryptsetup". Under specific conditions,
this change may cause a failure to boot. [1]

Users who are not using cryptsetup at all will not be affected.

Users who use the "dracutmodules" config option to explicitly name all
modules to be included may be affected if they fail to update their
dracut configuration to include the new "systemd-cryptsetup" module.

Users who have not altered the default config or who are not using the
"dracutmodules" option should not be affected.

The dracut.conf(5) manual page warns against using "dracutmodules".
Instead, "add_dracutmodules" and "omit_dracutmodules" can be used to
to alter the default module list with less risk of omiting modules by
accident.

[1] https://bugs.gentoo.org/937326


Posted By: Mike Gilbert

Gentoo drops IA-64 support - 07/08/2024 00:00 GMT

Following the removal of IA-64 support in the Linux kernel and glibc,
and subsequent discussions on our mailing list [1], as well as a vote
by the Gentoo Council [2,3], Gentoo will discontinue all ia64 profiles
and keywords. The primary reason for this decision is the inability of
the Gentoo IA-64 team to support this architecture without kernel
support, glibc support, and a functional development box.

In one month, all ia64 profiles will be removed, all ia64 keywords will
be dropped from all packages, and all IA-64 related Gentoo bugs will be
closed.

[1] https://public-inbox.gentoo.org/gentoo-dev/75654daa-c5fc-45c8-a104-fae43b9ca490@gentoo.org/T/
[2] https://projects.gentoo.org/council/meeting-logs/20240721.txt
[3] https://projects.gentoo.org/council/meeting-logs/20240721-summary.txt


Posted By: Arthur Zamarin

Upgrading to TeX Live 2023 - 05/06/2024 00:00 GMT

Upgrading to TeX Live 2023
==========================

We will soon start the stabilization of TeX Live 2023 in Gentoo.

Since TeX Live 2023 underwent a major overhaul, including TeX Live package
moves between the according Gentoo packages, there are file conflicts
between Gentoo's TeX Live 2021 and 2023 packages. To avoid those
conflicts, it is recommended to uninstall all of dev-texlive prior
updating TeX Live to version 2023.

Before uninstalling dev-texlive packages, first check if your system has
a pending texlive update (1). If this is the case, uninstall the old
dev-texlive packages (2) and emerge the update (3).

1. emerge -p '>=app-text/texlive-2023'
[only proceed if texlive update is available]
2. emerge --unmerge --deselect=n 'dev-texlive/*'
3. emerge '>=app-text/texlive-2023'

The steps above are equivalent to the following bash snippet:

if emerge -p '>=app-text/texlive-2023'; then
    emerge --unmerge --deselect=n 'dev-texlive/*'
    emerge '>=app-text/texlive-2023'
fi


Posted By: Florian Schmaus

Changes to dracut kernel module/microcode handling - 17/05/2024 00:00 GMT

Impact
====================

Several changes were made regarding out-of-tree kernel modules, CPU
microcode, and how these are handled in initial RAM file systems
(initramfs) generated by sys-kernel/dracut for distribution kernels.
Depending on the local Dracut and USE flag configuration, some
configuration adjustments may be required as a result of these changes.


Background (the problem)
====================

Previously Dracut implicitly included all out-of-tree kernel modules
it could find. This leads to several problems:
- It unnecessarily increases the size of the initramfs
- It creates a bit of a mess when using distribution kernels, consider
    the following:
        1) Distribution kernel is upgraded
        2) Initramfs for the new kernel is generated, it does not include
            any out-of-tree kernel modules.
        3) Portage triggers rebuild of the out-of-tree kernel modules
        4) If zfs is installed, its rebuild will trigger an initramfs
            re-installation. Otherwise no rebuild is triggered.
    Problem: What is and is not included in the initramfs is now
    ambiguous. It depends on the emerge order of the kernel modules
    when zfs is used. And will completely change if at some later stage
    regeneration of the initramfs is triggered manually via e.g.:
        emerge --config sys-kernel/gentoo-kernel
    As a result, Dracut's "--reproducible" setting is not working. And
    the functionality of the initramfs may change (seemingly) at random.


Background (the fix)
====================

Several things have been changed:
- Out-of-tree kernel modules installed by portage are explicitly omitted
    from the initramfs generated by Dracut by default.
- Packages that install a kernel module for which it might make sense to
    have it in the initramfs, have gained the "initramfs" USE flag. When
    this flag is enabled, Dracut is instructed to include the installed
    kernel modules. Packages for which it is essential that its kernel
    modules are included in the initramfs have this new flag enabled
    by default.
- When distribution kernels are used (USE=dist-kernel), and a module
    that should be in the initramfs is installed (USE=initramfs) the
    initramfs is always re-generated.
- The packages installing CPU microcode (sys-kernel/linux-firmware
    and sys-firmware/intel-microcode) have been adjusted to mirror the
    above changes for out-of-tree kernel modules. Both packages
    have gained the "dist-kernel" USE flag, and the "initramfs" flag is
    now enabled by default. When both flags are enabled, Dracut is
    configured to include the installed microcode in the initramfs, and
    then the initramfs is regenerated. When the "dist-kernel" flag is
    disabled, the "initramfs" flag behaves as it previously did.


User Action Required (Dracut and/or Distribution Kernel users)
====================

Users of sys-kernel/dracut and/or Distribution Kernels should double
check two things:
1) Please ensure that you are *not* globally enabling or disabling
    the "initramfs" USE flag. Enabling it globally might result in an
    unnecessarily large initramfs. Disabling it globally might result
    in missing functionality in the initramfs. Which could lead to boot
    failure if, for example, the zfs module is missing while the root
    partition is a zfs.
2) Any add_drivers, or omit_drivers lines in /etc/dracut.conf or
    /etc/dracut.conf.d/* may override the Dracut configuration snippets
    installed by the kernel module packages in
    /usr/lib/dracut/dracut.conf.d.  Please review your Dracut
    configuration files to ensure that you are not unintentionally
    overriding the settings set by Portage.


User Action Required (other users)
====================

Other users may wish to disable the "initramfs" USE flag on
sys-kernel/linux-firmware and/or sys-firmware/intel-microcode
if they already have other mechanisms in place for updating the CPU
microcode (such as kernel built-in CPU microcode). Users who do not
use sys-kernel/dracut or Distribution Kernels can safely disable
the "initramfs" USE flag globally.


Frequently Asked Questions
====================

A package installing a kernel module I would like in my initramfs has
not gained the "initramfs" USE flag. How do I proceed?

    Please report a new bug on bugs.gentoo.org, requesting that the
    package maintainer consider adding support to the package for
    including the modules in the initramfs. In the meantime you can
    locally override the configuration provided by the package (see
    below). Note though that when distribution kernels are used,
    regeneration of the initramfs must be triggered manually via e.g.:
        emerge --config sys-kernel/gentoo-kernel

How do I override the provided Dracut configuration snippets to
include/exclude a custom list of modules?

    To override the provided configuration snippet, create a new file
    /etc/dracut.conf.d/10-PACKAGENAME.conf, replacing PACKAGENAME with
    the name of the package providing the module. Add to this file:
        omit_drivers+=" my list of drivers to omit "
    and/or
        add_drivers+=" my list of drivers to include "


Posted By: Nowa Ammerlaan

Python 3.12 to become the default on 2024-06-01 - 09/05/2024 00:00 GMT

We are planning to switch the default Python target of Gentoo systems
on 2024-06-01, from Python 3.11 to Python 3.12.  If you have not changed
the values of PYTHON_TARGETS or PYTHON_SINGLE_TARGET, the change will
have immediate effect on your system and the package manager will try
to switch automatically on the next upgrade following the change.

If you did change the values, prefer a safer approach or have problems
with the update, read on.

Please note that the default upgrade method switches packages to the new
Python versions as they are rebuilt.  This means that all interdependent
packages have to support the new version for the upgrade to proceed,
and that some programs may temporarily fail to find their dependencies
throughout the upgrade (although programs that are already started
are unlikely to be affected).


If you have PYTHON_TARGETS or PYTHON_SINGLE_TARGET declared
in make.conf, please remove these declarations as they will interfere
with the package.use samples provided below.  Using make.conf for Python
targets is discouraged as it prevents package defaults from applying
when necessary.  This news item assumes using /etc/portage/package.use
or your package manager's equivalent file for configuration.


At this point, you have a few configuration options to choose from:

1. If you wish Python upgrades to apply automatically, you can remove
   PYTHON_TARGETS and PYTHON_SINGLE_TARGET declarations.  When
   the defaults change, your package manager should handle the upgrade
   automatically.  However, you may still need to run the update
   commands if any problems arise.

2. If you wish to defer the upgrade for the time being, you can
   explicitly set the old values in package.use.

3. If you wish to force the upgrade earlier, you can explicitly set
   the new values and run the upgrade commands.

4. If you wish to use a safer approach (i.e. less likely to temporarily
   break packages during the upgrade), you can perform a multi-step
   upgrade as outlined below.

5. Finally, you can use an arbitrary combination of PYTHON_TARGETS
   and PYTHON_SINGLE_TARGET.


Deferring the upgrade
=====================
To defer the upgrade, explicitly set the old targets:

    */* PYTHON_TARGETS: -* python3_11
    */* PYTHON_SINGLE_TARGET: -* python3_11

This will enforce Python 3.11 and block any future updates.  However,
please note that this is only a temporary solution and you will
eventually need to perform the migration.


Forcing the upgrade
===================
To force the upgrade earlier, explicitly select the Python 3.12 targets:

    */* PYTHON_TARGETS: -* python3_12
    */* PYTHON_SINGLE_TARGET: -* python3_12

However, it is important to remember to remove this after the defaults
change, as it will interfere with the automatic switch to the next
Python version in the future.


Safer upgrade procedure
=======================
A safer approach is to add Python 3.12 support to your system first,
and only then remove Python 3.11.  However, note that this involves two
rebuilds of all the affected packages, so it will take noticeably
longer.

First, enable both Python 3.11 and Python 3.12, and then run the upgrade
commands:

    */* PYTHON_TARGETS: -* python3_11 python3_12
    */* PYTHON_SINGLE_TARGET: -* python3_11

Then switch PYTHON_SINGLE_TARGET and run the second batch of upgrades:

    */* PYTHON_TARGETS: -* python3_11 python3_12
    */* PYTHON_SINGLE_TARGET: -* python3_12

Finally, switch to the final version and upgrade:

    */* PYTHON_TARGETS: -* python3_12
    */* PYTHON_SINGLE_TARGET: -* python3_12

You may wish to remove the target overrides after the defaults switch.
Alternatively, you can keep them to block the next automatic upgrade
to Python 3.13, and upgrade manually then.


Upgrade commands
================
The Python 3.11 cleanup requires that Python 3.11 is removed from
the complete dependency trees in batch.  If some of the
installed packages using an older Python version are not triaged
for the upgrade, the package manager will throw dependency conflicts.
This makes it important that the upgrade is carried via a --deep
--changed-use @world upgrade, as well as that any stray packages
are removed prior to it, e.g.:

    emerge --depclean
    emerge -1vUD @world
    emerge --depclean


Posted By: Michał Górny

dev-lang/perl useflags become a PERL_FEATURES use-expand - 07/05/2024 00:00 GMT

Starting with dev-lang/perl-5.38.2-r3, the three use flags "debug", 
"ithreads", and "quadmath" of Perl are renamed into a common
use-expand variable, PERL_FEATURES, which should be set *globally*
in make.conf.

If you do *not* want to change the settings of your Perl, make
sure that the new variable PERL_FEATURES contains the same settings
that were applied to your Perl all along. 

I.e., if you have dev-lang/perl[ithreads] installed, make sure
to now set in make.conf
  PERL_FEATURES="ithreads"

If you *want* to change the settings of your Perl, you may have to
run perl-cleaner after rebuilding dev-lang/perl:
  perl-cleaner --modules ; perl-cleaner --force --libperl

In either case, a full world update
  emerge -uDNav world
is recommended and should also bring your system into a consistent
state.

Background: This change in the structure of the useflags is
intended to solve bug 930123. The three useflags influence not only
how Perl itself is installed, but also all Perl modules...


Posted By: Andreas K. Huettel

media-video/wireplumber-0.5.2 may break on upgrade - 06/05/2024 00:00 GMT

As some will be aware, WirePlumber 0.5.0 introduced a significant
breaking change to its entire configuration system, eliminating the use
of Lua scripts for configuration purposes. This also came with a
complete rework of how Lua scripts are registered with WirePlumber
for execution.

Most typical desktop users, including EasyEffects users, should not
notice any change to their system. That said, it was not uncommon for
people to suggest or implement configuration changes using the Lua API.

Any custom functionality which relies on WirePlumber's Lua API will
break upon upgrade.

If you rely on this functionality, please review the WirePlumber
documentation on porting your Lua scripts to the new API and
registering them with the system before upgrading:

https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html


Posted By: James Calligeros