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

systemd: 246 -> 246.4 #97658

Merged
merged 1 commit into from Sep 13, 2020
Merged

systemd: 246 -> 246.4 #97658

merged 1 commit into from Sep 13, 2020

Conversation

flokli
Copy link
Contributor

@flokli flokli commented Sep 10, 2020

This bumps systemd to the latest stable maintenance release.

  • dc2e82af33 core: create per-user inaccessible node from the service manager
  • 0b3c497347 nspawn,pid1: pass "inaccessible" nodes from cntr mgr to pid1 payload via /run/host
  • 2239965c29 coredump: don't convert s → µs twice
  • 61d29b7f8c firstboot: fill empty color if ansi_color unavailable from os-release
  • 9678a3daf6 varlink: do not parse invalid messages twice
  • 4e516dcbc1 userdbctl: add forgotten --output mode in help
  • aee20dfbd8 shared/{user,group}-record-nss: adjust filtering of "valid" passwords
  • 5933d77afe doc: cross link sd_listen_fd() docs a bit
  • 97fdde3239 Rework how we cache mtime to figure out if units changed
  • 0500968241 core: always try to reload not-found unit
  • 8ae22f0d64 pid1: use the cache mtime not clock to "mark" load attempts
  • 715507c277 core: rename manager_unit_file_maybe_loadable_from_cache()
  • 20ad76d0a7 man: document fd ownership for sd-bus fd marshalling
  • 38ae73fafd resolved: make sure we initialize t->answer_errno before completing the transaction
  • a1ba0fbef6 homed: fix log message to honor real homework path
  • d6b1e659b3 src/shared/dissect-image.c: fix build without blkdid (zfs: Keep trying root import until it works #16901)
  • e42f9add21 analyze: fix error handling in one case
  • 4804ce1488 units: add missing usb-gadget.target
  • 5ad4e68c37 man: extend on the usec/sec discrepancy
  • 2fb612371d login/logind: Include sys/stat.h for struct stat usage
  • 5e884e7ee0 partition/makefs: Include missing sys/file.h header
  • 7bbc3807da network: dhcp6: logs only new address
  • 2056429e0f Don't run test-repart when loop devices are not available
  • dcbea51c5a man: clarify that several networkctl commands takes device names
  • 16e4cfcc82 networkctl: label command does not take any argument
  • 2352921244 missing: Add new Linux capability
  • 8b29c4a4f9 tty-ask-pw-agent: properly propagate error
  • f7ce2e9839 tty-ask-pw-agent: the message string might not be set
  • 29cba5c9ef tty-ask-pw-agent: make sure "--list" works correctly
  • e1ce367d73 add "list" verb to autocompleted commands
  • 1f4cb5da1e shell-completion/zsh: add missing verbs for networkctl
  • a4236a2764 path: Improve $PATH search directory case
  • b7cef386bd path: Skip directories when finalising $PATH search
  • 122945f315 rules: don't install 80-drivers.rules when kmod is disabled
  • 42fab2d454 zsh: correct journalctl command completion parsing
  • ed3f97f962 basic/missing_syscall: fix syscall numbers for arm64 :(
  • ba6e7f7c46 shared/install: fix preset operations for non-service instantiated units
  • d39f139348 nss-resolve: treat BUS_ERROR_NO_SUCH_UNIT the same as SD_BUS_ERROR_SERVICE_UNKNOWN too
  • 9bb3e64d71 various: treat BUS_ERROR_NO_SUCH_UNIT the same as SD_BUS_ERROR_SERVICE_UNKNOWN
  • 6d802dd596 man: drop reference to long gone .busname unit type
  • a29656804b man: fix a fix of a typo in systemd.service example
  • 21ce0f5b33 network: can: Fix CAN initialization
  • cab5cde8c9 man: update autogenerated dbus api lists
  • 0d8000522b man: fix invalid tag place
  • ea94f218be man: add conditionals to more man pages
  • ef91325349 meson: add ENABLE_ANALYZE conditional
  • 83f7c0a7ec core: add missing conditions/asserts to unit file parsing
  • 716718155d analyze: rework condition testing
  • 5c4c7581bc sd-bus: fix error handling on readv()
  • 6cd058f305 user-runtime-dir: deal gracefully with missing logind properties
  • 6a2d73638d shared/seccomp: do not use ifdef guards around textual syscall names
  • 7355ac9689 machine-id-setup: don't use KVM or container manager supplied uuid if in chroot env
  • 496a71f444 man: Fix typo in systemd-tmpfiles
  • 6c5d216ad8 homework: downgrade chattr failure log message
  • 1708f06a00 homework: explicitly close cryptsetup context, to not keep loopback device busy
  • a21eaa2a3a homework: correct error passed into log message
  • 3a2d169f36 homework: sync everything to disk before we rename LUKS loopback file into place
  • 84e1ab74d2 homed: downgrade quota message in containers
  • 8b62cadf36 analyze-security: do not assign badness to filtered-out syscalls
  • 29854a5437 NEWS: clarify two points
  • 4cb4fb82f7 meson: add min version for libfdisk
  • 76331f86f6 load-fragment: fix grammar in error messages
  • 1e53c2d70f Fix function description in logind man page
  • 669066564d network: do not fail if UseMTU=yes on DHCP lease lost
  • a2a3f16cdc missing_syscall: do not use function name that may conflict with glibc
  • 4091dcd469 missing_syscall: fix pidfd_{send_signal,open} numbers for alpha
  • 7875daf52b network: wait for previous address removal before configuring static addresses
  • 120064b4a1 network: only process non-error message
  • f44ec1de15 test: accept that char device 0/0 can now be created witout privileges
  • 946e4c43bb tools/make-man-index: fix purpose text that contains tags
  • dae0586e91 test-fs-util: skip encrypted path test if we get EACCES
  • 0d026c9b0d Newer Glibc use faccessat2 to implement faccessat
  • fde6520d46 namespace: fix minor memory leak
  • 208ba581f4 man: fix incorrectly placed full stop
  • 6c81d57828 man: fix typo
  • 53a8d2588e bless-boot: add missing verb to --help
  • 4cfa0ac4fd user-record: deal with invalid GECOS fields gracefully
  • ae5234ef48 user-util: add mangle_gecos() call for turning strings into fields suitable as GECOS fields
  • 972391ac39 fix typo in systemctl help
  • 443aacfcda man: clarify that LogNamespace= is for system services only
  • 5aec8fe54e _sd-common.h: avoid parsing errors with Coverity
  • f9ad4ea2ca analyze: fix 'cat-config systemd/zram-generator.conf'
  • dda6fec1df man: describe that changing Storage= does not move existing data
  • 2bbd33e476 core: reset bus error before reuse
  • b81504a3c7 nspawn: Fix incorrect usage of putenv
  • cb263973ac man: fix typo in systemd.service
  • 73b432e7ef network: fix DHCPv6 Prefix Delegation example after option rename
Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@flokli
Copy link
Contributor Author

flokli commented Sep 10, 2020

I'm currently running a bunch of tests with this PR. I might bump the PR to 246.5 if there's a release soon containing systemd/systemd#17001 (comment).

@picnoir
Copy link
Member

picnoir commented Sep 11, 2020

As a data point about this PR: I've been running this today on my router and desktop. It did not wreck my world so far.

I'm always scared about validating such big changes. Especially provided the past data of us breaking things after bumping systemd.

We need to find a way to improve the test coverage here. I'm still not sure how.

@mohe2015
Copy link
Contributor

mohe2015 commented Sep 11, 2020

Maybe also ask more people to test it (with instructions)? I think there are a few people (including me) that would be fine with testing it especially as it's easy to revert a nixos configuration.

Do I need to just checkout this pr and rebuild or are there additional steps? Also do you get prebuilt packages from hydra or do you have to build yourself?

@flokli
Copy link
Contributor Author

flokli commented Sep 11, 2020

@mohe2015 Thanks for asking!

I'd essentially be a nixos-rebuild switch -I nixpkgs=/path/to/this/checkout.

Unfortunately, there's no hydra jobset, so you'd need to build everything by yourself.

@mohe2015
Copy link
Contributor

mohe2015 commented Sep 11, 2020

Are there any estimationa? I'm using flakes and it says it needs to rebuild 1982 packages (it's getting down fast, now its at 1785, aah I understand the output it's downloading some packages I think) and I have a laptop with an 500 gigs nvme ssd, 16 gb ram, some swap and AMD Ryzen 7 4700U (8 cores, max is 4 GHz or so). I don't think it will manage it.

@vcunat
Copy link
Member

vcunat commented Sep 11, 2020

Depends on the particular packages, but I'd expect this to be fine e.g. as one overnight build. Some packages take several seconds, some can take an hour on their own (chromium, libreoffice).

@mohe2015
Copy link
Contributor

mohe2015 commented Sep 11, 2020

I think you're right - thanks for the heads up. I didn't interpret the output correctly at first (it's nix unstable).

@FRidh
Copy link
Member

FRidh commented Sep 12, 2020

@vcunat what do you think of creating a systemd branch and jobset that builds nixos/release-small.nix? We could also have such branch and jobset for gcc/binutils and future PR's could reuse those jobsets. At least that way the core is being build.

@cole-h
Copy link
Member

cole-h commented Sep 12, 2020

Doesn't look like the sha256 was updated, only the version?

https://github.com/NixOS/nixpkgs/pull/97658/files#diff-dd830f049b8e42facd9261dc425529f1

This bumps systemd to the latest stable maintenance release.

 - dc2e82af33 core: create per-user inaccessible node from the service manager
 - 0b3c497347 nspawn,pid1: pass "inaccessible" nodes from cntr mgr to pid1 payload via /run/host
 - 2239965c29 coredump: don't convert s → µs twice
 - 61d29b7f8c firstboot: fill empty color if ansi_color unavailable from os-release
 - 9678a3daf6 varlink: do not parse invalid messages twice
 - 4e516dcbc1 userdbctl: add forgotten --output mode in help
 - aee20dfbd8 shared/{user,group}-record-nss: adjust filtering of "valid" passwords
 - 5933d77afe doc: cross link sd_listen_fd() docs a bit
 - 97fdde3239 Rework how we cache mtime to figure out if units changed
 - 0500968241 core: always try to reload not-found unit
 - 8ae22f0d64 pid1: use the cache mtime not clock to "mark" load attempts
 - 715507c277 core: rename manager_unit_file_maybe_loadable_from_cache()
 - 20ad76d0a7 man: document fd ownership for sd-bus fd marshalling
 - 38ae73fafd resolved: make sure we initialize t->answer_errno before completing the transaction
 - a1ba0fbef6 homed: fix log message to honor real homework path
 - d6b1e659b3 src/shared/dissect-image.c: fix build without blkdid (NixOS#16901)
 - e42f9add21 analyze: fix error handling in one case
 - 4804ce1488 units: add missing usb-gadget.target
 - 5ad4e68c37 man: extend on the usec/sec discrepancy
 - 2fb612371d login/logind: Include sys/stat.h for struct stat usage
 - 5e884e7ee0 partition/makefs: Include missing sys/file.h header
 - 7bbc3807da network: dhcp6: logs only new address
 - 2056429e0f Don't run test-repart when loop devices are not available
 - dcbea51c5a man: clarify that several networkctl commands takes device names
 - 16e4cfcc82 networkctl: label command does not take any argument
 - 2352921244 missing: Add new Linux capability
 - 8b29c4a4f9 tty-ask-pw-agent: properly propagate error
 - f7ce2e9839 tty-ask-pw-agent: the message string might not be set
 - 29cba5c9ef tty-ask-pw-agent: make sure "--list" works correctly
 - e1ce367d73 add "list" verb to autocompleted commands
 - 1f4cb5da1e shell-completion/zsh: add missing verbs for networkctl
 - a4236a2764 path: Improve $PATH search directory case
 - b7cef386bd path: Skip directories when finalising $PATH search
 - 122945f315 rules: don't install 80-drivers.rules when kmod is disabled
 - 42fab2d454 zsh: correct journalctl command completion parsing
 - ed3f97f962 basic/missing_syscall: fix syscall numbers for arm64 :(
 - ba6e7f7c46 shared/install: fix preset operations for non-service instantiated units
 - d39f139348 nss-resolve: treat BUS_ERROR_NO_SUCH_UNIT the same as SD_BUS_ERROR_SERVICE_UNKNOWN too
 - 9bb3e64d71 various: treat BUS_ERROR_NO_SUCH_UNIT the same as SD_BUS_ERROR_SERVICE_UNKNOWN
 - 6d802dd596 man: drop reference to long gone .busname unit type
 - a29656804b man: fix a fix of a typo in systemd.service example
 - 21ce0f5b33 network: can: Fix CAN initialization
 - cab5cde8c9 man: update autogenerated dbus api lists
 - 0d8000522b man: fix invalid tag place
 - ea94f218be man: add conditionals to more man pages
 - ef91325349 meson: add ENABLE_ANALYZE conditional
 - 83f7c0a7ec core: add missing conditions/asserts to unit file parsing
 - 716718155d analyze: rework condition testing
 - 5c4c7581bc sd-bus: fix error handling on readv()
 - 6cd058f305 user-runtime-dir: deal gracefully with missing logind properties
 - 6a2d73638d shared/seccomp: do not use ifdef guards around textual syscall names
 - 7355ac9689 machine-id-setup: don't use KVM or container manager supplied uuid if in chroot env
 - 496a71f444 man: Fix typo in systemd-tmpfiles
 - 6c5d216ad8 homework: downgrade chattr failure log message
 - 1708f06a00 homework: explicitly close cryptsetup context, to not keep loopback device busy
 - a21eaa2a3a homework: correct error passed into log message
 - 3a2d169f36 homework: sync everything to disk before we rename LUKS loopback file into place
 - 84e1ab74d2 homed: downgrade quota message in containers
 - 8b62cadf36 analyze-security: do not assign badness to filtered-out syscalls
 - 29854a5437 NEWS: clarify two points
 - 4cb4fb82f7 meson: add min version for libfdisk
 - 76331f86f6 load-fragment: fix grammar in error messages
 - 1e53c2d70f Fix function description in logind man page
 - 669066564d network: do not fail if UseMTU=yes on DHCP lease lost
 - a2a3f16cdc missing_syscall: do not use function name that may conflict with glibc
 - 4091dcd469 missing_syscall: fix pidfd_{send_signal,open} numbers for alpha
 - 7875daf52b network: wait for previous address removal before configuring static addresses
 - 120064b4a1 network: only process non-error message
 - f44ec1de15 test: accept that char device 0/0 can now be created witout privileges
 - 946e4c43bb tools/make-man-index: fix purpose text that contains tags
 - dae0586e91 test-fs-util: skip encrypted path test if we get EACCES
 - 0d026c9b0d Newer Glibc use faccessat2 to implement faccessat
 - fde6520d46 namespace: fix minor memory leak
 - 208ba581f4 man: fix incorrectly placed full stop
 - 6c81d57828 man: fix typo
 - 53a8d2588e bless-boot: add missing verb to --help
 - 4cfa0ac4fd user-record: deal with invalid GECOS fields gracefully
 - ae5234ef48 user-util: add mangle_gecos() call for turning strings into fields suitable as GECOS fields
 - 972391ac39 fix typo in systemctl help
 - 443aacfcda man: clarify that LogNamespace= is for system services only
 - 5aec8fe54e _sd-common.h: avoid parsing errors with Coverity
 - f9ad4ea2ca analyze: fix 'cat-config systemd/zram-generator.conf'
 - dda6fec1df man: describe that changing Storage= does not move existing data
 - 2bbd33e476 core: reset bus error before reuse
 - b81504a3c7 nspawn: Fix incorrect usage of putenv
 - cb263973ac man: fix typo in systemd.service
 - 73b432e7ef network: fix DHCPv6 Prefix Delegation example after option rename
@flokli
Copy link
Contributor Author

flokli commented Sep 12, 2020

Indeed, just pushed a new commit fixing that :-D Thanks!

@vcunat
Copy link
Member

vcunat commented Sep 12, 2020

At this moment, it feels like adding more "rebuild branches" can only come at the expense of some of those that we already have. There are four with much work to do ATM: staging-{next,20.09,20.03} and glibc-232.

I hope that this will die down soon (except staging-next). I think the glibc update might be already good enough to merge to staging, though we want more of the jobs to finish to know better ;-)

Generally it would be nice (wrt. efficiency) if we only had one or two feature branches (e.g. glibc-232) with many rebuilds active at one time, though I understand it may be hard for priorities of the contributors.

@mohe2015
Copy link
Contributor

builder for '/nix/store/5i38nzfljv8hnxj1ck453x0id1d3zr3f-bash-completion-2.10.drv' failed with exit code 1; last 10 log lines:
    /build/source/test/t/unit/test_unit_variables.py:39: PytestUnknownMarkWarning: Unknown pytest.mark.complete - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
      @pytest.mark.complete(": ${#___v")
  
  -- Docs: https://docs.pytest.org/en/latest/warnings.html
  =========================== short test summary info ============================
  FAILED test/t/test_installpkg.py::TestInstallpkg::test_3 - AssertionError: as...
  ERROR test/t/test_installpkg.py::TestInstallpkg::test_2 - pexpect.exceptions....
  ERROR test/t/test_installpkg.py::TestInstallpkg::test_4 - AssertionError: Error running "cd 'slackware/home'": exit status=130, output="
  ERROR test/t/test_installpkg.py::TestInstallpkg::test_4 - AssertionError: Env...
  = 1 failed, 959 passed, 411 skipped, 22 xfailed, 1 xpassed, 1326 warnings, 3 errors in 904.55s (0:15:04) =

anyone any ideas? (this was at the point I commented - I will retry with the current commit). btw I'm using home-manager, nix-unstable and flakes

@arianvp
Copy link
Member

arianvp commented Sep 12, 2020 via email

@andir
Copy link
Member

andir commented Sep 13, 2020

bash-completion package test suite s very flakey and the test suite sometimes randomly takes hours on my machine. We should just completely disable the test suite on that package. It's a recurring issue and totally unrelated to this PR. I was wanting to make a pr for this for quite some time now but I keep forgetting.

I actually submitted a PR a while ago that should at least make it execute in parallel and thus massively speed up the execution. Was that reverted due to (the previously existing) flakiness?

Anyway, I've built the tested nixos set of this PR on my hydra instance and you can use it if you trust my binary cache. Most/all of the tests did finish and I just restarted a all the failed once again since there appeared to be some issue with one of the builders.
The result can be seen at https://hydra.h4ck.space/eval/1428 (ipv6 only).

Just pass the following to the nix-build invocation:

--option substituters "https://cache.nixos.org/ https://cache.h4ck.space/" --option trusted-public-keys "zeta:9zm3cHRlqz3T9HnRsodtQGGqHOLDAiB+8d0kOKnFI0M= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" 

Copy link
Contributor

@mohe2015 mohe2015 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still boots on my laptop. Checked some systemd services and journalctl - seems to be fine. Built without the bash-completion test-suite.

@helinko
Copy link
Contributor

helinko commented Sep 13, 2020

246.5 was released a couple of hours ago, containing the bootctl fix: https://github.com/systemd/systemd-stable/releases

@flokli
Copy link
Contributor Author

flokli commented Sep 13, 2020

This unfortunately also includes systemd/systemd-stable@d0f0f04, and I'm not sure if there's any fallout - see systemd/systemd#17009 (comment).

I'd prefer to tackle 246.5 as a follow-up, and merge this in first.

@flokli flokli merged commit 333ab52 into NixOS:staging Sep 13, 2020
@flokli flokli deleted the systemd-246.4 branch September 13, 2020 11:33
@flokli
Copy link
Contributor Author

flokli commented Sep 13, 2020 via email

@vcunat
Copy link
Member

vcunat commented Sep 13, 2020

Why should this go to 20.09 as well? I've missed that part so far.

@flokli
Copy link
Contributor Author

flokli commented Sep 13, 2020 via email

@flokli
Copy link
Contributor Author

flokli commented Sep 14, 2020

After successfully running nixosTests.systemd, I pushed the 246.4 bump to staging-20.09 as a1abac1.

@flokli
Copy link
Contributor Author

flokli commented Sep 14, 2020

I opened a PR to disable tests for bash-completion at #97987.

@flokli
Copy link
Contributor Author

flokli commented Sep 14, 2020

Regarding 246.5: Turns out systemd/systemd@6e65df8 was /not/ backported, which means 246.4 -> 246.5 should be simple.

I'll file a PR shortly.

@flokli
Copy link
Contributor Author

flokli commented Sep 14, 2020

246.5 PR is at #97989.

@Ma27
Copy link
Member

Ma27 commented Sep 17, 2020

@vcunat I'm in favor of porting this to 20.09 since systemd-246` has a bug where my network doesn't get up again after a suspend (systemd/systemd#16696).

Didn't read the full release-notes yet, but there are probably more things fixed :)

EDIT: oops should've read the full thread, it seems to be on staging for 20.09 already, sorry :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants