This fixes#1020396 in a superior way by using
$KERNEL_INSTALL_STAGING_AREA, available since systemd v251:
367165a406
By just copying the file we both simplify our code,
but defer to 90-loaderentry to correctly permission it,
and simply never generate an unversioned initrd in the first place!
Since we explicitly (though this is hidden by indirection through
85-initrd.install) depend on /boot/initrd.img-$1
existing or not existing, hard-order ourselves at the end
The zz- prefix matches grub
Make sure homed is tried first when logging in. This is required
after adding nss-systemd support for 'shadow' in /etc/nsswitch.conf.
See Arch bug: https://bugs.archlinux.org/task/72967
This ensures that all scans are completed, before installer reaches
partitioning stage, when kernel is configured with
CONFIG_SCSI_SCAN_ASYNC=y. This prevents confusing error message "no disk drives
detected", and drives magically appearing if one re-enters partitioning screen
a little while later.
LP: #1751813
Those udev rules were a Debian specific workaround that were mainly
added for compat with older software which wasn't able to automatically
discover those types of devices. Those rules didn't provide
stable/predictable names though, so remove them.
Closes: #991639
As systemd-udevd no longer sets them up itself, we create them manually
after mounting devtmpfs. This avoids breaking applications which expect
those symlinks.
Closes: #975018
This applies an (upstreamed) patch to permit systemd-localed to run
locale-gen to generate missing locale when requested to switch the
system locale.
This makes localectl usable on Debian for changing locale without
breaking system localization or even prevent certain applications from
running at all after switching to a non-generated locale.
job-mode=ignore-dependencies, as currently used in the LSB hook during
bootup and shutdown, can have undesired side-effects, like changing the
ordering of services and ultimately causing them to fail, due to unmet
dependencies.
So simplify that, and only apply --no-block on reload requests during
bootup and shutdown.
Closes: #960594
The kernel will return EINVAL if the memory or cpu is already online, which
is harmless, but adds a confusing error to the log. Avoid the error
message by only onlining if the memory or cpu is currently offline.
LP: #1876018
The block device rules were split out from 60-persistent-storage.rules
into its own rules file in v220. Those rules ensure that change events
are emitted and the udev db is updated after metadata changes.
Closes: #958397
Thanks: Pascal Hambourg
If the /{etc,lib}/systemd/network directory itself is a symlink, the find
command will not actually find any of the files in the dir it links to.
Use the find -L param to follow symlinks.
Note that the -L does not need to be provided to the cp command, as when
using only the -p parameter symlinks are followed by default. Also,
the [ -d ] test follows symlinks by default, and does not need changing.
LP: #1868892
The new systemd-timesyncd package conflicting with other NTP-related
packages resolves the problems arising when installing systemd-timesyncd
and other NTP servers on the same system.
Co-authored-by: Michael Biebl <biebl@debian.org>
LP: #1849156Closes: #805927, #947936
Replace 73-usb-net-by-mac.rules with 73-usb-net-by-mac.link. The .link
file provides the same functionality but makes it easier to set a custom
name for USB network adapters via the systemd.link mechanism.
Closes: #941636
Thanks: Benjamin Poirier
The Debian patches that apply cleanly are kept when KEEP_DEBIAN_PATCHES
is set to give a better picture of how the tested upstream version
would work packaged.
The use of the '$' character in PROGRAM="" values is supposed to be doubled
if it is intended for use by the program being run, instead of as a
substitution variable for udev to replace before running the program; i.e.
it should be '$$' if udev should pass a single '$' in its place to the
program command line.
However, if the variable it precedes isn't a valid substitution variable
name, it is left in place for the program to evaluate. So, while not
correct per the 'man udev' documentation, this udev rule's use of single
'$' characters has (and still currently does) work correctly.
However, since commit d7aee41db35f808bca92d4910bf6e52cec3f8e59, un-doubled
use of '$' characters like this has resulted in a warning message being printed:
[ 17.560125] systemd-udevd[132]: /lib/udev/rules.d/73-special-net-names.rules:14 Invalid value "/bin/sh -ec 'D=${DEVPATH#*/vio/}; D=${D%%%%/*}; D=${D#????}; D=${D#0}; D=${D#0}; D=${D#0}; D=${D#0}; echo ${D:-0}'" for PROGRAM (char 16: invalid substitution type), ignoring, but please fix it.
This corrects the rule to use $$ instead.
Also, just to note, the rule already correctly doubles the '%' chars
that it uses.
Create a commit with any debian/ changes, commit with all upstream code
changes, and a final commit with the updated changelog entry.
For normal operation, where this script is being called from upstream
autopkgtest tests, there is no need for creating git commits with the
changes made by this script; however, creating the commits won't (shouldn't)
break anything in the normal upstream test process.
Where creating git commits with this script's changes is useful is for a
local git repository used for development - specifically, to maintain
a git repo that includes the upstream systemd source code, but also the
debian/ code (including tests) so that the package can be built in a ppa
and tested using autopkgtest, without needing to use github to perform the
testing.
It can be useful to skip creating the new changelog entry, if
the caller only wants to pull the latest upstream code into a
git repo; this adds a env var that allows doing that.
By default, without the var set, the changelog entry is created,
so existing behavior is unchanged.