systemd/systemd.spec

1571 lines
69 KiB
RPMSpec
Raw Permalink Normal View History

#global commit 1781de18ab8ebc3e42a607851d8effb3b0355c87
%{?commit:%global shortcommit %(c=%{commit}; echo ${c:0:7})}
2012-08-08 10:09:51 +00:00
2012-09-13 12:43:03 +00:00
# We ship a .pc file but don't want to have a dep on pkg-config. We
# strip the automatically generated dep here and instead co-own the
# directory.
%global __requires_exclude pkg-config
%global pkgdir %{_prefix}/lib/systemd
%global system_unit_dir %{pkgdir}/system
2017-03-02 16:30:49 +00:00
%global user_unit_dir %{pkgdir}/user
%if 0%{?__isa_bits} == 64
%global elf_bits (64bit)
%global elf_suffix ()%{elf_bits}
%endif
%bcond bzip2 1
%bcond gnutls 1
%bcond lz4 1
%bcond xz 1
%bcond zlib 1
%bcond zstd 1
2022-01-07 16:52:31 +00:00
# Bootstrap may be needed to break circular dependencies with cryptsetup,
# e.g. when re-building cryptsetup on a json-c SONAME-bump.
%bcond bootstrap 0
%bcond tests 1
%bcond lto 1
%bcond docs 1
# Build from git main
%bcond upstream 0
# When bootstrap, libcryptsetup is disabled
# but auto-features causes many options to be turned on
# that depend on libcryptsetup (e.g. libcryptsetup-plugins)
%if %{with bootstrap}
%global __meson_auto_features disabled
%endif
# Override %%autorelease. This is ugly, but rpmautospec doesn't implement
# autorelease correctly if the macro is conditionalized in the Release field.
%{?release_override:%global autorelease %{release_override}%{?dist}}
2010-06-22 04:16:32 +00:00
Name: systemd
Url: https://systemd.io
# Allow users to specify the version and release when building the rpm by
# setting the %%version_override and %%release_override macros.
Version: %{?version_override}%{!?version_override:257}
2025-02-15 03:33:50 +00:00
Release: 9%{?dist}.alma.1
2023-03-03 17:17:58 +00:00
%global stable %(c="%version"; [ "$c" = "${c#*.*}" ]; echo $?)
# For a breakdown of the licensing, see README
License: LGPL-2.1-or-later AND MIT AND GPL-2.0-or-later
2016-11-03 23:00:42 +00:00
Summary: System and Service Manager
2015-07-29 21:32:39 +00:00
# download tarballs with "spectool -g systemd.spec"
%if %{defined commit}
Source0: https://github.com/systemd/systemd/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
2019-11-19 12:27:41 +00:00
%else
Source0: https://github.com/systemd/systemd/archive/v%{version_no_tilde}/%{name}-%{version_no_tilde}.tar.gz
%endif
# This file must be available before %%prep.
2018-10-29 00:53:24 +00:00
# It is generated during systemd build and can be found in build/src/core/.
Source1: triggers.systemd
Source2: split-files.py
2018-02-21 14:23:30 +00:00
Source3: purge-nobody-user
Source4: test_sysusers_defined.py
2015-05-20 04:34:19 +00:00
# Prevent accidental removal of the systemd package
Source5: yum-protect-systemd.conf
Source6: inittab
Source7: sysctl.conf.README
Source8: systemd-journal-remote.xml
Source9: systemd-journal-gatewayd.xml
Source10: 20-yama-ptrace.conf
Source11: systemd-udev-trigger-no-reload.conf
# https://fedoraproject.org/wiki/How_to_filter_libabigail_reports
Source13: .abignore
Source14: 10-oomd-defaults.conf
Source15: 10-oomd-per-slice-defaults.conf
2024-07-22 15:01:08 +00:00
Source17: 10-map-count.conf
2020-02-07 15:34:30 +00:00
Source21: macros.sysusers
Source22: sysusers.attr
Source23: sysusers.prov
Source24: sysusers.generate-pre.sh
Source25: 98-default-mac-none.link
Source26: rc.local
2024-09-14 14:48:11 +00:00
Source27: systemd-resolved.sysusers
%if 0
GIT_DIR=../../src/systemd/.git git format-patch-ab --no-signature -M -N v235..v235-stable
i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done|xclip
GIT_DIR=../../src/systemd/.git git diffab -M v233..master@{2017-06-15} -- hwdb/[67]* hwdb/parse_hwdb.py >hwdb.patch
%endif
2017-03-02 16:30:49 +00:00
# Backports of patches from upstream (00000499)
2021-03-23 00:08:51 +00:00
#
2022-05-06 18:48:00 +00:00
# Any patches which are "in preparation" upstream should be listed here, rather
# than in the next section. Packit CI will drop any patches in this range before
# applying upstream pull requests.
# RHEL-specific
2025-02-10 07:20:10 +00:00
Patch0001: 0001-Create-CNAME.patch
Patch0002: 0002-sd-json-sd-varlink-drop-unexported-functions-from-pu.patch
Patch0003: 0003-test-modernize-generate-sym-test.py.patch
Patch0004: 0004-test-also-generate-list-of-symbols-from-header-files.patch
Patch0005: 0005-man-systemd-cryptenroll-sort-fido2-credential-algori.patch
Patch0006: 0006-analyze-tab-fix.patch
Patch0007: 0007-analyze-add-missing-mask-option-to-help-text.patch
Patch0008: 0008-test-set-nsec3-salt-length-8-in-knot.conf.patch
Patch0009: 0009-test-capability-CAP_LINUX_IMMUTABLE-is-not-available.patch
Patch0010: 0010-test-fd-util-skip-test-when-lacking-privileges-to-cr.patch
Patch0011: 0011-test-fd-util-compare-FDs-to-bin-sh-instead-of-dev-nu.patch
Patch0012: 0012-mkosi-use-inetutils-package-instead-of-hostname-for-.patch
Patch0013: 0013-man-document-unprivileged-is-not-for-reading-propert.patch
Patch0014: 0014-profile.d-don-t-bail-if-SHELL_-variables-are-unset.patch
Patch0015: 0015-Fixing-VLAN-ranges-in-man-systemd.network.patch
Patch0016: 0016-test-bpf-restrict-fs-Migrate-to-new-assertion-macros.patch
Patch0017: 0017-man-update-example-in-systemd-measure.xml-35506.patch
Patch0018: 0018-systemd-cryptenroll.xml-fix-typo.patch
Patch0019: 0019-semaphore-skip-some-tests.patch
Patch0020: 0020-shell-completion-add-systemd-creds.patch
Patch0021: 0021-core-fix-loading-verity-settings-for-MountImages.patch
Patch0022: 0022-test-add-more-coverage-for-extensions-and-verity.patch
Patch0023: 0023-README-drop-CentOS-CI-badges.patch
Patch0024: 0024-meson.version-change-to-257.1.patch
Patch0025: 0025-journalctl-honor-quiet-with-setup-keys.patch
Patch0026: 0026-dbus-log-disconnect-on-api-and-system-busses.patch
Patch0027: 0027-manager-add-list-of-subscribers-to-dump-info.patch
Patch0028: 0028-exec-util-allow-to-invoke-polkit-ask-password-agent-.patch
Patch0029: 0029-mkosi-Fix-opensuse-build.patch
Patch0030: 0030-units-use-PrivateTmp-disconnected-instead-of-yes-if-.patch
Patch0031: 0031-battery-check-parse-options-before-checking-for-kern.patch
Patch0032: 0032-test-loop-block-return-77-on-skip-in-more-places.patch
Patch0033: 0033-mkosi-update-debian-commit-reference.patch
Patch0034: 0034-shell-completion-add-smbios11-verb-to-systemd-analyz.patch
Patch0035: 0035-logind-let-system-wide-idle-begin-at-the-time-logind.patch
Patch0036: 0036-tmpfiles-reduce-quoting-in-warning-message.patch
Patch0037: 0037-semaphore-bump-timeout.patch
Patch0038: 0038-Revert-semaphore-skip-some-tests.patch
Patch0039: 0039-mkosi-fix-section-for-WithNetwork.patch
Patch0040: 0040-test-time-util-fix-truncation-of-usec-to-sec.patch
Patch0041: 0041-network-don-t-warn-with-no-NSID-assigned.patch
Patch0042: 0042-TEST-35-LOGIN-check-only-tty-session.patch
Patch0043: 0043-test-README-Environment-setting-for-mkosi-should-be-.patch
Patch0044: 0044-mkosi-temporarily-disable-panic_on_warn.patch
Patch0045: 0045-networkd-show-wireguard-private-key-read-error-numbe.patch
Patch0046: 0046-systemctl-edit-ignore-ENOENT-from-unit_is_masked.patch
Patch0047: 0047-test-skip-TEST-69-SHUTDOWN-on-ubuntu-too.patch
Patch0048: 0048-mkosi-Fix-tools-image-package-name.patch
Patch0049: 0049-tpm2-util-Also-retry-unsealing-after-policy_pcr-retu.patch
Patch0050: 0050-resolved-if-one-transaction-completes-expect-other-t.patch
Patch0051: 0051-man-Document-generator-sandbox-environment.patch
Patch0052: 0052-ukify-Fix-regression-in-no-sign-kernel-flag.patch
Patch0053: 0053-mkosi-switch-debian-ubuntu-to-ci-v257-stable-branch.patch
Patch0054: 0054-semaphore-switch-debian-ubuntu-to-ci-v257-stable-bra.patch
Patch0055: 0055-Revert-terminal-util-unify-code-that-resets-dev-cons.patch
Patch0056: 0056-mkosi-move-config-options.patch
Patch0057: 0057-mkosi-Update-to-latest.patch
Patch0058: 0058-mkosi-Add-gdb-to-tools-tree.patch
Patch0059: 0059-mkosi-Add-libz1-to-opensuse-tools-tree.patch
Patch0060: 0060-mkosi-Enable-EPEL-for-CentOS-Stream-tools-tree.patch
Patch0061: 0061-mkosi-Use-tools-tree-by-default.patch
Patch0062: 0062-mkosi-Use-build-as-extra-search-path-by-default.patch
Patch0063: 0063-mkosi.clangd-Don-t-pass-host-if-we-re-not-using-flat.patch
Patch0064: 0064-mkosi.clangd-Fail-on-command-errors.patch
Patch0065: 0065-docs-Simplify-hacking-documentation.patch
Patch0066: 0066-mkosi-Fix-authselect-systemd-homed-feature-name.patch
Patch0067: 0067-docs-Use-meson-compile-instead-of-ninja.patch
Patch0068: 0068-docs-Explicitly-mention-.local-bin-in-section-on-ins.patch
Patch0069: 0069-mkosi-update-opensuse-spec-repo-commit.patch
Patch0070: 0070-mkosi-update-openSUSE-commit-reference.patch
Patch0071: 0071-mkosi-add-libopenssl-devel-package-to-openSUSE-tools.patch
Patch0072: 0072-mkosi-switch-to-github-mirror-of-openSUSE-sources-fr.patch
Patch0073: 0073-mkosi-Allow-disabling-vcs-tag-via-environment-variab.patch
Patch0074: 0074-docs-Use-mkosi-sandbox-in-test-documentation-as-well.patch
Patch0075: 0075-test-update-README-s-Ubuntu-CI-section-for-mkosi-cha.patch
Patch0076: 0076-mkosi-Add-docbook-tools.patch
Patch0077: 0077-mkosi-Handle-directories-in-debian-not-installed-cor.patch
Patch0078: 0078-mkosi-Warn-on-unpackaged-files-in-the-debian-package.patch
Patch0079: 0079-mkosi-Update-to-latest.patch
Patch0080: 0080-mkosi-Make-path-exclude-more-generic.patch
Patch0081: 0081-packit-Move-fmf-metadata-into-upstream.patch
Patch0082: 0082-mkosi-replace-deprecated-settings-and-command-with-n.patch
Patch0083: 0083-mkosi-Migrate-more-deprecated-options.patch
Patch0084: 0084-ci-Rename-qemu-variable-to-vm.patch
Patch0085: 0085-fmf-Insist-on-mkosi-sha-being-available.patch
Patch0086: 0086-fmf-Support-being-used-downstream-in-dist-git-tests.patch
Patch0087: 0087-core-fix-assert-when-AddDependencyUnitFiles-is-calle.patch
Patch0088: 0088-repart-Use-streq_ptr.patch
Patch0089: 0089-sd-device-add-missing-debugging-log.patch
Patch0090: 0090-sd-device-fix-validation-for-devices-under-sys-firmw.patch
Patch0091: 0091-resolved-stop-mdns-lnrr-when-config-changes-to-disab.patch
Patch0092: 0092-shared-hibernate-util-don-t-attempt-to-fiemap-fd-if-.patch
Patch0093: 0093-shared-hibernate-util-handle-the-case-where-no-swap-.patch
Patch0094: 0094-locale-setup-do-not-load-locale-from-environemnt-whe.patch
Patch0095: 0095-machine-GC-machine-when-no-leader-PID-is-set.patch
Patch0096: 0096-creds-fix-use-after-free-in-varlink-interface.patch
Patch0097: 0097-core-unit-serialize-fix-serialization-of-markers.patch
Patch0098: 0098-test-answer-2nd-mdadm-create-question-for-compat-wit.patch
Patch0099: 0099-hwdb-comment-out-the-entry-for-Logitech-MX-Keys-for-.patch
Patch0100: 0100-mkosi-Install-which-in-build-image.patch
Patch0101: 0101-packit-Simplify-configuration.patch
Patch0102: 0102-fmf-Check-out-target-branch-in-packit.patch
Patch0103: 0103-stdio-bridge-fix-polled-fds.patch
Patch0104: 0104-Revert-mkosi-Fix-opensuse-build.patch
Patch0105: 0105-CI-add-OBS-workflow-integration-to-build-packages-on.patch
Patch0106: 0106-obs-also-trigger-Fedora-package-builds.patch
Patch0107: 0107-systemctl-also-ignore-ENOENT-in-checking-inhibitors.patch
Patch0108: 0108-systemctl-certainly-ignore-ENOENT-in-checking-inhibi.patch
Patch0109: 0109-journalctl-make-invocation-and-list-invocations-acce.patch
Patch0110: 0110-meson-bump-version-to-257.2.patch
Patch0111: 0111-fmf-Don-t-fail-if-we-can-t-put-selinux-in-permissive.patch
Patch0112: 0112-fmf-Fix-dist-git-example.patch
Patch0113: 0113-fmf-Fix-glob.patch
Patch0114: 0114-fmf-Only-mess-with-etc-yum.repos.d-when-running-with.patch
Patch0115: 0115-fmf-Dump-CPU-and-memory-information.patch
Patch0116: 0116-TEST-06-SELINUX-Add-knob-to-allow-checking-for-AVCs.patch
Patch0117: 0117-fmf-Force-SELinux-relabel-when-running-within-testin.patch
Patch0118: 0118-test-Drop-set-x-from-integration-test-setup.sh.patch
Patch0119: 0119-test-Only-plug-in-integration-test-setup.sh-in-inter.patch
Patch0120: 0120-mkosi-Re-enable-TEST-21-DFUZZER-when-running-with-sa.patch
Patch0121: 0121-fmf-Move-meson-logs-and-failed-test-journals-to-test.patch
Patch0122: 0122-fmf-Log-clock-source.patch
Patch0123: 0123-tree-wide-Fix-python-formatting.patch
Patch0124: 0124-test-Add-option-to-save-in-progress-test-journals-to.patch
Patch0125: 0125-test-Don-t-register-machines-with-machined-unless-we.patch
Patch0126: 0126-test-Move-StateDirectory-directive-into-dropin.patch
Patch0127: 0127-fmf-Bump-inotify-limits-to-avoid-systemd-nspawn-fail.patch
Patch0128: 0128-fmf-Use-different-heuristic-on-beefy-systems.patch
Patch0129: 0129-fmf-Skip-TEST-21-DFUZZER.patch
Patch0130: 0130-test-Fix-bug-in-integration-test-wrapper.patch
Patch0131: 0131-test-Only-move-journal-file-if-we-didn-t-just-unlink.patch
Patch0132: 0132-fmf-Only-move-logs-if-corresponding-directory-exists.patch
Patch0133: 0133-mkosi-Install-libxslt-on-CentOS-Fedora-instead-of-xs.patch
Patch0134: 0134-man-Clarify-systemd-notify-and-sd_notify-PID-documen.patch
Patch0135: 0135-mkosi-Update-to-latest.patch
Patch0136: 0136-test-Drop-sandbox-from-integration-test-wrapper.patch
Patch0137: 0137-ci-Stop-archiving-packages.patch
Patch0138: 0138-sbsign-Make-two-debug-logs-into-error-logs.patch
Patch0139: 0139-sbsign-Make-sure-output-file-mode-respects-umask.patch
Patch0140: 0140-mkosi-Don-t-set-ToolsTreeRepositories-for-CentOS-Str.patch
Patch0141: 0141-mkosi-Update-to-latest.patch
Patch0142: 0142-mkosi-Use-a-bigger-variety-of-tools-tree-distributio.patch
Patch0143: 0143-mkosi-lcov-and-shellcheck-are-not-in-EPEL-10.patch
Patch0144: 0144-mkosi-Don-t-set-O-orphan_file-in-centos-stream-9-too.patch
Patch0145: 0145-mkosi-Run-more-commands-as-root.patch
Patch0146: 0146-test-Look-for-qemu-in-usr-libexec-qemu-kvm-as-well.patch
Patch0147: 0147-TEST-74-AUX-UTILS-Move-run0-pcrlock-test-to-TEST-70-.patch
Patch0148: 0148-test-Make-sure-we-run-lcov-from-the-meson-source-dir.patch
Patch0149: 0149-mkosi-Run-two-more-mkosi-commands-with-sudo.patch
Patch0150: 0150-mkosi-Update-to-latest.patch
Patch0151: 0151-mkosi-Add-back-preserve-env-when-running-integration.patch
Patch0152: 0152-mkosi-Drop-usage-of-_systemd_QUIET-in-arch-build-scr.patch
Patch0153: 0153-HACKING-Move-OBS-section-further-down.patch
Patch0154: 0154-docs-HACKING-use-run0-to-indicate-which-commands-req.patch
Patch0155: 0155-HACKING-Drop-run0-from-mkosi-boot-invocation.patch
Patch0156: 0156-boot-Improve-log-message.patch
Patch0157: 0157-efivars-deal-with-uncommitted-efi-variables.patch
Patch0158: 0158-core-device-do-not-drop-backslashes-in-SYSTEMD_WANTS.patch
Patch0159: 0159-test-add-test-cases-for-parsing-SYSTEMD_WANTS-SYSTEM.patch
Patch0160: 0160-process-util-do-not-unblock-unrelated-signals-while-.patch
Patch0161: 0161-stub-drop-PE-sections-parsing-cap.patch
Patch0162: 0162-bus-wait-for-jobs-fix-service-result-table.patch
Patch0163: 0163-man-also-fix-documentation-of-start-limit-hit.patch
Patch0164: 0164-varlink-fix-error-name.patch
Patch0165: 0165-core-job-never-consider-reload-jobs-redundant.patch
Patch0166: 0166-mount-util-make-path_get_mount_info_at-also-read-uta.patch
Patch0167: 0167-machine-revert-type-change-of-leader-in-io.systemd.M.patch
Patch0168: 0168-resolved-do-not-disable-mdns-llmnr-globally-if-it-s-.patch
Patch0169: 0169-resolved-stop-mdns-llmnr-if-no-interface-request-it-.patch
Patch0170: 0170-man-fix-reference-to-non-existing-ukify-parameter.patch
Patch0171: 0171-ukify-add-loongarch64-to-efi-arch.patch
Patch0172: 0172-ukify-add-riscv32-to-efi-arch.patch
Patch0173: 0173-tools-add-loongarch64-to-debug-sd-boot-script.patch
Patch0174: 0174-systemctl-fix-memleak.patch
Patch0175: 0175-random-util-fix-compilation-error.patch
Patch0176: 0176-mkosi-Update-to-latest.patch
Patch0177: 0177-mkosi-Bump-minimum-version-to-25.patch
Patch0178: 0178-mkosi-Add-VCS_TAG-to-PassEnvironment.patch
Patch0179: 0179-mkosi-add-loongarch64-to-Debian-s-list-of-EFI-arches.patch
Patch0180: 0180-kbd-model-map-add-a-georgian-mapping.patch
Patch0181: 0181-core-add-trigger-to-path-unit-debug-log.patch
Patch0182: 0182-test-cleanup-after-testcase_12_resolvectl2.patch
Patch0183: 0183-test-install-stub-package-for-test-ukify-unit-test.patch
Patch0184: 0184-test-use-local-stub-if-available-in-test-ukify.patch
Patch0185: 0185-test-support-slow-test-ukify-on-Debian-Ubuntu.patch
Patch0186: 0186-man-Update-nss-myhostname.xml-to-reflect-files.patch
Patch0187: 0187-ukify-Fix-two-typing-issues.patch
Patch0188: 0188-meson-generate-keyboard-keys-list-from-local-input.h.patch
Patch0189: 0189-Fix-inversion-of-timesyncd_usec-epoch_usec-variables.patch
Patch0190: 0190-pe-do-not-warn-about-.initrd-addons.patch
Patch0191: 0191-Fix-tense-in-SD_MESSAGE_SHUTDOWN_STR.patch
Patch0192: 0192-firstboot-fix-crash-when-hostname-question-is-skippe.patch
Patch0193: 0193-build-deps-bump-coverallsapp-github-action-from-2.3..patch
Patch0194: 0194-build-deps-bump-softprops-action-gh-release-from-2.1.patch
Patch0195: 0195-build-deps-bump-super-linter-super-linter-from-7.1.0.patch
Patch0196: 0196-homectl-Fix-empty-checks.patch
Patch0197: 0197-ukify-measure-Revert-changes-to-use-SizeOfImage-from.patch
Patch0198: 0198-sysupdate-Update-example-mode-to-644-instead-of-444.patch
Patch0199: 0199-meson-add-install-tag-for-systemctl.patch
Patch0200: 0200-test-Drop-Dremote-enabled-instructions-from-readme.patch
Patch0201: 0201-test-Move-NO_BUILD-instructions-to-a-separate-sectio.patch
Patch0202: 0202-test-Move-external-packages-section-down-and-reword-.patch
Patch0203: 0203-repart-Don-t-fail-when-we-re-unable-to-read-file-att.patch
Patch0204: 0204-homectl-fix-typo-in-help-text.patch
Patch0205: 0205-homectl-fix-typo-in-man-page.patch
Patch0206: 0206-resolved-fix-DNSSEC-missing-key-error.patch
Patch0207: 0207-docs-Add-an-examples-for-command-line-access.patch
Patch0208: 0208-mkosi-Only-make-build-sources-ephemeral-if-NO_BUILD-.patch
Patch0209: 0209-vmspawn-ignore-failure-from-sshd-vsock-unit.patch
Patch0210: 0210-mkosi-extend-util-linux-script-config-drop-in-to-F43.patch
Patch0211: 0211-meson-Skip-getent-when-it-s-not-found.patch
Patch0212: 0212-meson-also-skip-uid-gid-check-for-nobody-user-group-.patch
Patch0213: 0213-core-namespace-relabel-bind-mount-source-based-on-th.patch
Patch0214: 0214-mkosi-Install-strace-in-build-image.patch
Patch0215: 0215-mkosi-Fix-section-for-BuildSourcesEphemeral.patch
Patch0216: 0216-mkosi-Work-around-regression-in-opensuse-rpm-4.20-re.patch
Patch0217: 0217-userdbctl-don-t-expect-argument-to-fuzzy.patch
Patch0218: 0218-userdb-reset-errno-before-getpwent.patch
Patch0219: 0219-network-routing-policy-rule-fix-compare-func.patch
Patch0220: 0220-test-network-add-test-case-for-issue-35874.patch
Patch0221: 0221-network-allow-to-configure-routing-policy-rule-even-.patch
Patch0222: 0222-test-network-add-test-case-for-requesting-routing-po.patch
Patch0223: 0223-meson-allow-to-customize-the-access-mode-for-tty-pts.patch
Patch0224: 0224-meson-fix-suite-of-alignment-check-tests.patch
Patch0225: 0225-hwdb-Make-remote-controllable-lights-work-out-of-the.patch
Patch0226: 0226-hwdb-update-to-main-2025-02-07.patch
Patch0227: 0227-udevadm-test-fix-gid-check.patch
Patch0228: 0228-update-utmp-do-not-give-up-if-the-first-attempt-at-c.patch
Patch0229: 0229-bootctl-fix-potential-uninitialized-memory-access.patch
Patch0230: 0230-bootctl-also-shown-whether-stub-loader-partition-dat.patch
Patch0231: 0231-bootctl-suppress-output-of-empty-partition-info-if-w.patch
Patch0232: 0232-bootctl-minor-reordering-of-fields-in-output.patch
Patch0233: 0233-missing_sched-add-CLONE_PIDFD.patch
Patch0234: 0234-stub-Mention-that-VirtualSize-should-be-SizeOfRawDat.patch
Patch0235: 0235-import-pubring.gpg-add-openSUSE-build-key.patch
Patch0236: 0236-import-update-to-current-fedora-keyring.patch
Patch0237: 0237-ukify-do-not-fail-if-pefile-complains-about-hardcode.patch
Patch0238: 0238-tmpfiles-fix-copypasta-in-create_symlink-FIFO-symlin.patch
Patch0239: 0239-udev-worker-add-debugging-log-about-success-of-flock.patch
Patch0240: 0240-udev-watch-mention-that-the-failure-is-ignored.patch
Patch0241: 0241-udev-watch-do-not-try-to-remove-invalid-watch-handle.patch
Patch0242: 0242-login-Continue-watching-leader-pidfd-after-stop.patch
Patch0243: 0243-login-Queue-session-for-garbage-collection-on-leader.patch
Patch0244: 0244-ukify-print-debug-progress-messages-to-stderr.patch
Patch0245: 0245-ukify-Calculate-section-size-more-correctly.patch
Patch0246: 0246-mkosi-Update-to-latest.patch
Patch0247: 0247-core-condition-fix-segfault-when-key-not-found-in-os.patch
Patch0248: 0248-meson-bump-version-to-257.3.patch
Patch0249: 0249-ci-update-workflows-to-run-on-source-git-setup.patch
Patch0250: 0250-ci-setup-source-git-automation.patch
Patch0251: 0251-ci-reconfigure-Packit-for-RHEL-10.patch
Patch0252: 0252-journal-again-create-user-journals-for-users-with-hi.patch
Patch0253: 0253-tmpfiles-make-purge-hard-to-mis-use.patch
Patch0254: 0254-fedora-use-system-auth-in-pam-systemd-user.patch
Patch0255: 0255-net-naming-scheme-start-rhel10-naming-and-include-rh.patch
Patch0256: 0256-rules-copy-40-redhat.rules-from-RHEL-9.patch
Patch0257: 0257-logind-set-RemoveIPC-to-false-by-default.patch
Patch0258: 0258-tmpfiles-don-t-create-resolv.conf-stub-resolv.conf-s.patch
Patch0259: 0259-rc-local-order-after-network-online.target.patch
Patch0260: 0260-random-util-increase-random-seed-size-to-1024.patch
Patch0261: 0261-journal-don-t-enable-systemd-journald-audit.socket-b.patch
Patch0262: 0262-journald.conf-don-t-touch-current-audit-settings.patch
Patch0263: 0263-rules-add-elevator-kernel-command-line-parameter.patch
Patch0264: 0264-pid1-bump-DefaultTasksMax-to-80-of-the-kernel-pid.ma.patch
Patch0265: 0265-udev-net-setup-link-change-the-default-MACAddressPol.patch
Patch0266: 0266-core-decrease-log-level-of-messages-about-use-of-Kil.patch
Patch0267: 0267-taint-remove-unmerged-bin.patch
Patch0268: 0268-presets-remove-resolved.patch
Patch0269: 0269-ci-run-mkosi-test-only-for-Fedora-and-CentOS-Stream.patch
Patch0270: 0270-taint-remove-unused-variable-usr_sbin.patch
Patch0271: 0271-packit-drop-the-libarchive-workaround.patch
Patch0272: 0272-coredump-by-default-process-and-store-core-files-up-.patch
Patch0273: 0273-Avoid-tmp-being-mounted-as-tmpfs-without-the-user-s-.patch
Patch0274: 0274-unit-don-t-add-Requires-for-tmp.mount.patch
Patch0275: 0275-units-add-Install-section-to-tmp.mount.patch
Patch0276: 0276-units-don-t-enable-tmp.mount-statically-in-local-fs..patch
Patch0277: 0277-netif-naming-scheme-add-rhel-9.5-scheme.patch
Patch0278: 0278-netif-naming-scheme-rename-rhel-10.0-to-rhel-10.0.be.patch
Patch0279: 0279-net-naming-scheme-disable-NAMING_FIRMWARE_NODE_SUN.patch
Patch0280: 0280-netif-naming-scheme-introduce-rhel-10.0-scheme.patch
Patch0281: 0281-udev-net_id-introduce-naming-scheme-for-RHEL-9.6.patch
Patch0282: 0282-ci-use-ubuntu-22-04-for-deploy-of-man-pages.patch
Patch0283: 0283-ci-fix-Packit.patch
Patch0284: 0284-ci-drop-testing-farm-test.patch
Patch0285: 0285-dbus-stash-the-subscriber-list-when-we-disconenct-fr.patch
Patch0286: 0286-manager-s-deserialized_subscribed-subscribed_as_strv.patch
Patch0287: 0287-shared-bus-util-move-bus_message_read_id128-to-bus-m.patch
Patch0288: 0288-shared-bus-util-move-bus_message_hash_ops-to-bus-mes.patch
Patch0289: 0289-shared-bus-util-move-string-set-append-get-funcs-to-.patch
Patch0290: 0290-shared-serialize-make-input-params-const.patch
Patch0291: 0291-shared-serialize-introduce-serialize_id128.patch
Patch0292: 0292-bus-util-do-not-reset-the-count-returned-by-sd_bus_t.patch
Patch0293: 0293-core-manager-use-FOREACH_ARRAY-at-one-more-place.patch
Patch0294: 0294-core-manager-drop-duplicate-bus-track-deserializatio.patch
Patch0295: 0295-bus-util-introduce-bus_get_instance_id.patch
Patch0296: 0296-core-serialize-API-bus-id-and-validate-before-deseri.patch
Patch0297: 0297-core-manager-restore-bus-track-deserialization-clean.patch
Patch0298: 0298-shared-bus-util-add-missing-set.h-include.patch
Patch0299: 0299-udevadm-test-add-missing-oom-check.patch
Patch0300: 0300-udev-rules-replace-type-func-type-func.patch
Patch0301: 0301-udev-rules-do-not-change-maximum-log-level-when-runn.patch
Patch0302: 0302-udevadm-test-introduce-v-verbose-option-to-show-verb.patch
Patch0303: 0303-udev-rules-show-original-token-string-in-log_event_e.patch
Patch0304: 0304-udev-rules-logs-result-of-format-substitution.patch
Patch0305: 0305-udev-rules-add-more-trace-logs-for-string-match.patch
Patch0306: 0306-udev-rules-introduce-udev_replace_chars_and_log.patch
Patch0307: 0307-udev-rules-ignore-whole-command-result-if-it-is-too-.patch
Patch0308: 0308-udev-rules-update-log-messages.patch
Patch0309: 0309-udev-rules-add-trace-logs-for-GOTO-and-parent-condit.patch
Patch0310: 0310-udev-move-enums-to-udev-def.h.patch
Patch0311: 0311-udev-move-listen_fds-to-udev-manager.c.patch
Patch0312: 0312-udev-several-coding-style-fixes.patch
Patch0313: 0313-udev-builtin-make-udev_builtin_add_property-and-frie.patch
Patch0314: 0314-udev-introduce-reference-counter-for-UdevEvent.patch
Patch0315: 0315-udev-net-make-Link-object-take-reference-to-UdevEven.patch
Patch0316: 0316-udev-move-parsers-for-config-file-kerenel-command-li.patch
Patch0317: 0317-udev-config-introduce-UdevConfig.patch
Patch0318: 0318-udev-reload-.rules-files-and-builtins-only-when-nece.patch
Patch0319: 0319-udev-also-reload-udev.conf-when-explicitly-requested.patch
Patch0320: 0320-TEST-17-use-udevadm-control-reload-or-systemctl-relo.patch
Patch0321: 0321-udevd-add-missing-header-for-glibc-2.34.patch
Patch0322: 0322-meson-sort-source-files.patch
Patch0323: 0323-sd-json-introduce-json_dispatch_log_level.patch
Patch0324: 0324-varlink-invert-uid-check-to-reduce-call-of-getuid.patch
Patch0325: 0325-string-util-modernize-split_pair.patch
Patch0326: 0326-udev-split-manager_init-and-manager_main-into-small-.patch
Patch0327: 0327-udev-config-split-on_ctrl_msg-into-small-pieces.patch
Patch0328: 0328-udev-introduce-udev_property_name_is_valid-and-frien.patch
Patch0329: 0329-udev-ctrl-refuse-ENV-control-message-with-invalid-en.patch
Patch0330: 0330-varlink-add-comments-for-io.systemd.service-interfac.patch
Patch0331: 0331-sd-varlink-introduce-sd_varlink_get_current_method.patch
Patch0332: 0332-TEST-17-UDEV-wait-for-udevd-being-restarted-after-ex.patch
Patch0333: 0333-udev-make-worker-event-source-take-file-descriptor.patch
Patch0334: 0334-udev-dump-split-out-dump_event-from-udevadm-test.c.patch
Patch0335: 0335-udev-rules-introduce-OPTIONS-dump-token.patch
Patch0336: 0336-udev-control-move-setting-of-log-level-to-manager_ad.patch
Patch0337: 0337-udev-config-allow-to-enable-trace-logging-through-ke.patch
Patch0338: 0338-udev-dump-voidify-one-function-call.patch
Patch0339: 0339-udev-dump-also-show-written-sysfs-attributes-and-sys.patch
Patch0340: 0340-udevadm-test-allow-to-specify-extra-directories-to-l.patch
Patch0341: 0341-shell-completion-udevadm-add-net_driver.patch
Patch0342: 0342-udev-sort-builtins.patch
Patch0343: 0343-udev-rules-log-the-first-line-number-when-continued.patch
Patch0344: 0344-chase-introduce-flags-that-verify-that-chased-inode-.patch
Patch0345: 0345-udevadm-verify-chase-specified-paths.patch
Patch0346: 0346-bash-completion-udevadm-verify-suggest-found-udev-ru.patch
Patch0347: 0347-udevadm-introduce-cat-command.patch
2020-11-12 12:08:11 +00:00
# Downstream-only patches (90009999)
%ifarch %{ix86} x86_64 aarch64 riscv64
%global want_bootloader 1
2017-02-14 23:59:10 +00:00
%endif
BuildRequires: gcc
BuildRequires: gcc-c++
2021-12-25 14:29:02 +00:00
BuildRequires: clang
BuildRequires: coreutils
2025-02-14 11:42:23 +00:00
BuildRequires: git-core
2010-06-22 04:16:32 +00:00
BuildRequires: libcap-devel
2014-12-10 23:01:54 +00:00
BuildRequires: libmount-devel
2020-02-05 12:21:04 +00:00
BuildRequires: libfdisk-devel
BuildRequires: libpwquality-devel
2010-06-22 04:16:32 +00:00
BuildRequires: pam-devel
2010-07-24 01:05:02 +00:00
BuildRequires: libselinux-devel
2010-09-14 15:51:38 +00:00
BuildRequires: audit-libs-devel
%if %{without bootstrap}
BuildRequires: cryptsetup-devel
%endif
BuildRequires: dbus-devel
BuildRequires: util-linux
# /usr/bin/getfacl is needed by test-acl-util
BuildRequires: acl
2011-07-13 21:28:44 +00:00
BuildRequires: libacl-devel
2013-03-07 22:46:46 +00:00
BuildRequires: gobject-introspection-devel
BuildRequires: libblkid-devel
%if %{with xz}
2012-01-11 03:44:49 +00:00
BuildRequires: xz-devel
BuildRequires: xz
%endif
%if %{with lz4}
2015-11-19 13:46:22 +00:00
BuildRequires: lz4-devel
BuildRequires: lz4
%endif
%if %{with bzip2}
2015-11-19 13:46:22 +00:00
BuildRequires: bzip2-devel
%endif
%if %{with zstd}
2020-06-30 07:40:20 +00:00
BuildRequires: libzstd-devel
%endif
2017-12-12 05:28:37 +00:00
BuildRequires: libidn2-devel
2014-08-19 23:48:42 +00:00
BuildRequires: libcurl-devel
2013-03-07 22:46:46 +00:00
BuildRequires: kmod-devel
2014-07-22 03:04:01 +00:00
BuildRequires: elfutils-devel
2020-02-05 12:21:04 +00:00
BuildRequires: openssl-devel
%if %{with gnutls}
2014-07-22 03:04:01 +00:00
BuildRequires: gnutls-devel
%endif
%if %{undefined rhel}
2012-08-23 01:27:58 +00:00
BuildRequires: qrencode-devel
%endif
2012-09-28 00:38:31 +00:00
BuildRequires: libmicrohttpd-devel
BuildRequires: libxkbcommon-devel
2015-02-16 20:54:03 +00:00
BuildRequires: iptables-devel
BuildRequires: pkgconfig(bash-completion)
BuildRequires: pkgconfig(libarchive)
BuildRequires: pkgconfig(libfido2)
2021-05-06 13:30:27 +00:00
BuildRequires: pkgconfig(tss2-esys)
BuildRequires: pkgconfig(tss2-rc)
BuildRequires: pkgconfig(tss2-mu)
BuildRequires: pkgconfig(libbpf)
2021-05-23 20:05:07 +00:00
BuildRequires: systemtap-sdt-devel
%if %{with docs}
2012-08-23 01:27:58 +00:00
BuildRequires: libxslt
BuildRequires: docbook-style-xsl
%endif
2012-08-23 01:27:58 +00:00
BuildRequires: pkgconfig
BuildRequires: gperf
BuildRequires: gawk
2015-12-02 04:53:29 +00:00
BuildRequires: tree
2019-03-29 15:06:48 +00:00
BuildRequires: hostname
BuildRequires: python3
BuildRequires: python3-devel
BuildRequires: python3dist(jinja2)
BuildRequires: python3dist(lxml)
BuildRequires: python3dist(pefile)
%if %{undefined rhel}
BuildRequires: python3dist(pillow)
BuildRequires: python3dist(pytest-flakes)
%endif
BuildRequires: python3dist(pytest)
BuildRequires: python3dist(zstd)
%if 0%{?want_bootloader}
BuildRequires: python3dist(pyelftools)
%endif
# gzip and lzma are provided by the stdlib
2015-01-06 02:08:08 +00:00
BuildRequires: firewalld-filesystem
2014-02-20 00:12:13 +00:00
BuildRequires: libseccomp-devel
2017-12-12 05:27:09 +00:00
BuildRequires: meson >= 0.43
2017-07-02 00:16:12 +00:00
BuildRequires: gettext
2018-12-21 19:08:58 +00:00
# We use RUNNING_ON_VALGRIND in tests, so the headers need to be available
%ifarch %{valgrind_arches}
2018-12-21 19:08:58 +00:00
BuildRequires: valgrind-devel
%endif
2022-04-12 08:26:11 +00:00
%ifnarch %ix86
# bpftool is not built for i368
BuildRequires: bpftool
%global have_bpf 1
%endif
2023-02-02 01:14:52 +00:00
%if 0%{?fedora}
%ifarch x86_64 aarch64
%global have_xen 1
# That package is only built for those two architectures
BuildRequires: xen-devel
%endif
2023-02-02 01:14:52 +00:00
%endif
2012-01-22 19:46:45 +00:00
Requires(post): coreutils
Requires(post): grep
# systemd-machine-id-setup requires libssl
Requires(post): openssl-libs
Requires: dbus >= 1.9.18
Requires: %{name}-pam%{_isa} = %{version}-%{release}
2022-02-24 07:01:43 +00:00
Requires(meta): (%{name}-rpm-macros = %{version}-%{release} if rpm-build)
Requires: %{name}-libs%{_isa} = %{version}-%{release}
%{?fedora:Recommends: %{name}-resolved = %{version}-%{release}}
Recommends: diffutils
Requires: (util-linux-core or util-linux)
Recommends: libxkbcommon%{_isa}
Provides: /bin/systemctl
2012-01-26 13:37:41 +00:00
Provides: /sbin/shutdown
2013-03-07 22:46:46 +00:00
Provides: syslog
2012-01-22 19:46:45 +00:00
Provides: systemd-units = %{version}-%{release}
Obsoletes: system-setup-keyboard < 0.9
Provides: system-setup-keyboard = 0.9
# systemd-sysv-convert was removed in f20: https://fedorahosted.org/fpc/ticket/308
Obsoletes: systemd-sysv < 206
# self-obsoletes so that dnf will install new subpackages on upgrade (#1260394)
Obsoletes: %{name} < 249~~
Provides: systemd-sysv = 206
Conflicts: initscripts < 9.56.1
%if 0%{?fedora}
Conflicts: fedora-release < 23-0.12
%endif
%if 0%{?fedora} >= 41
BuildRequires: setup >= 2.15.0-3
BuildRequires: python3
Conflicts: setup < 2.15.0-3
Conflicts: selinux-policy-any < 41.1
%endif
%if 0%{?fedora} >= 41
# Make sure that dracut supports systemd-executor and the renames done for v255,
# and dlopen libraries and read-only fs in initrd.
Conflicts: dracut < 060-2
%else
# Make sure that dracut supports systemd-executor and the renames done for v255.
2023-11-08 16:02:18 +00:00
Conflicts: dracut < 059-16
%endif
2020-03-08 11:12:39 +00:00
Obsoletes: timedatex < 0.6-3
2019-09-21 22:05:52 +00:00
Provides: timedatex = 0.6-3
Provides: %{name}-tmpfiles = %{version}-%{release}
Provides: %{name}-sysusers = %{version}-%{release}
Provides: %{name}-shutdown = %{version}-%{release}
2010-06-22 04:16:32 +00:00
2020-10-20 15:33:29 +00:00
# Recommends to replace normal Requires deps for stuff that is dlopen()ed
Recommends: libidn2.so.0%{?elf_suffix}
Recommends: libidn2.so.0(IDN2_0.0.0)%{?elf_bits}
Recommends: libpcre2-8.so.0%{?elf_suffix}
Recommends: libpwquality.so.1%{?elf_suffix}
Recommends: libpwquality.so.1(LIBPWQUALITY_1.0)%{?elf_bits}
%if %{undefined rhel}
Recommends: libqrencode.so.4%{?elf_suffix}
%endif
Recommends: libbpf.so.1%{?elf_suffix}
Recommends: libbpf.so.1(LIBBPF_0.4.0)%{?elf_bits}
# used by systemd-coredump and systemd-analyze
Recommends: libdw.so.1%{?elf_suffix}
Recommends: libdw.so.1(ELFUTILS_0.186)%{?elf_bits}
Recommends: libelf.so.1%{?elf_suffix}
Recommends: libelf.so.1(ELFUTILS_1.7)%{?elf_bits}
# used by dissect, integritysetup, veritysetyp, growfs, repart, cryptenroll, home
Recommends: libcryptsetup.so.12%{?elf_suffix}
Recommends: libcryptsetup.so.12(CRYPTSETUP_2.4)%{?elf_bits}
2020-10-20 15:33:29 +00:00
# Libkmod is used to load modules.
Recommends: libkmod.so.2%{?elf_suffix}
# kmod_list_next, kmod_load_resources, kmod_module_get_initstate,
# kmod_module_get_module, kmod_module_get_name, kmod_module_new_from_lookup,
# kmod_module_probe_insert_module, kmod_module_unref, kmod_module_unref_list,
# kmod_new, kmod_set_log_fn, kmod_unref, kmod_validate_resources
# are part of LIBKMOD_5.
Recommends: libkmod.so.2(LIBKMOD_5)%{?elf_bits}
Recommends: libarchive.so.13%{?elf_suffix}
2010-06-22 04:16:32 +00:00
%description
systemd is a system and service manager that runs as PID 1 and starts the rest
of the system. It provides aggressive parallelization capabilities, uses socket
and D-Bus activation for starting services, offers on-demand starting of
daemons, keeps track of processes using Linux control groups, maintains mount
and automount points, and implements an elaborate transactional dependency-based
service control logic. systemd supports SysV and LSB init scripts and works as a
replacement for sysvinit. Other parts of this package are a logging daemon,
utilities to control basic system configuration like the hostname, date, locale,
maintain a list of logged-in users, system accounts, runtime directories and
2022-01-04 16:41:56 +00:00
settings, and a logging daemons.
2019-07-30 19:39:02 +00:00
%if 0%{?stable}
2023-03-03 17:17:58 +00:00
This package was built from the %(c=%version; echo "v${c%.*}-stable") branch of systemd.
%endif
2010-06-22 04:16:32 +00:00
%package libs
Summary: systemd libraries
License: LGPL-2.1-or-later AND MIT
Obsoletes: libudev < 183
Obsoletes: systemd < 185-4
Conflicts: systemd < 185-4
2016-05-22 03:56:03 +00:00
Obsoletes: systemd-compat-libs < 230
Obsoletes: nss-myhostname < 0.4
Provides: nss-myhostname = 0.4
Provides: nss-myhostname%{_isa} = 0.4
%description libs
Libraries for systemd and udev.
%package pam
Summary: systemd PAM module
Requires: %{name} = %{version}-%{release}
%description pam
Systemd PAM module registers the session with systemd-logind.
%package rpm-macros
Summary: Macros that define paths and scriptlets related to systemd
2018-11-02 10:53:19 +00:00
BuildArch: noarch
%description rpm-macros
Just the definitions of rpm macros.
See
https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_systemd
for information how to use those macros.
2011-07-27 21:25:36 +00:00
%package devel
Summary: Development headers for systemd
License: LGPL-2.1-or-later AND MIT
Requires: %{name}-libs%{_isa} = %{version}-%{release}
Requires(meta): (%{name}-rpm-macros = %{version}-%{release} if rpm-build)
2012-06-05 16:33:49 +00:00
Provides: libudev-devel = %{version}
Provides: libudev-devel%{_isa} = %{version}
Obsoletes: libudev-devel < 183
2011-07-27 21:25:36 +00:00
%description devel
2015-06-17 18:49:27 +00:00
Development headers and auxiliary files for developing applications linking
to libudev or libsystemd.
2011-07-27 21:25:36 +00:00
2015-11-12 06:12:17 +00:00
%package udev
Summary: Rule-based device node and kernel event manager
2023-02-08 11:31:21 +00:00
License: LGPL-2.1-or-later
Requires: systemd%{_isa} = %{version}-%{release}
Requires(post): systemd%{_isa} = %{version}-%{release}
Requires(preun): systemd%{_isa} = %{version}-%{release}
Requires(postun): systemd%{_isa} = %{version}-%{release}
Requires(post): grep
Requires: kmod >= 18-4
# https://bodhi.fedoraproject.org/updates/FEDORA-2020-dd43dd05b1
Obsoletes: systemd < 245.6-1
2015-11-12 06:12:17 +00:00
Provides: udev = %{version}
Provides: udev%{_isa} = %{version}
2015-11-12 06:12:17 +00:00
Obsoletes: udev < 183
Requires: (grubby > 8.40-72 if grubby)
Requires: (sdubby > 1.0-3 if sdubby)
# Libkmod is used to load modules. Assume that if we need udevd, we certainly
# want to load modules, so make this into a hard dependency here.
Requires: libkmod.so.2%{?elf_suffix}
Requires: libkmod.so.2(LIBKMOD_5)%{?elf_bits}
# Recommends to replace normal Requires deps for stuff that is dlopen()ed
# used by dissect, integritysetup, veritysetyp, growfs, repart, cryptenroll, home
Recommends: libcryptsetup.so.12%{?elf_suffix}
Recommends: libcryptsetup.so.12(CRYPTSETUP_2.4)%{?elf_bits}
# used by systemd-coredump and systemd-analyze
Recommends: libdw.so.1%{?elf_suffix}
Recommends: libdw.so.1(ELFUTILS_0.186)%{?elf_bits}
Recommends: libelf.so.1%{?elf_suffix}
Recommends: libelf.so.1(ELFUTILS_1.7)%{?elf_bits}
# used by home, cryptsetup, cryptenroll, logind
Recommends: libfido2.so.1%{?elf_suffix}
Recommends: libp11-kit.so.0%{?elf_suffix}
Recommends: libtss2-esys.so.0%{?elf_suffix}
Recommends: libtss2-mu.so.0%{?elf_suffix}
Recommends: libtss2-rc.so.0%{?elf_suffix}
# https://bugzilla.redhat.com/show_bug.cgi?id=1377733#c9
Suggests: systemd-bootchart
# https://bugzilla.redhat.com/show_bug.cgi?id=1408878
Requires: kbd
# https://bugzilla.redhat.com/show_bug.cgi?id=1753381
Provides: u2f-hidraw-policy = 1.0.2-40
Obsoletes: u2f-hidraw-policy < 1.0.2-40
2015-11-12 06:12:17 +00:00
# self-obsoletes to install both packages after split of systemd-boot
Obsoletes: systemd-udev < 252.2^
Provides: %{name}-repart = %{version}-%{release}
2015-11-12 06:12:17 +00:00
%description udev
This package contains systemd-udev and the rules and hardware database needed to
manage device nodes. This package is necessary on physical machines and in
virtual machines, but not in containers.
2015-11-12 06:12:17 +00:00
2022-01-04 16:41:56 +00:00
This package also provides systemd-timesyncd, a network time protocol daemon.
It also contains tools to manage encrypted home areas and secrets bound to the
2022-01-04 16:41:56 +00:00
machine, and to create or grow partitions and make file systems automatically.
%package ukify
Summary: Tool to build Unified Kernel Images
Requires: %{name} = %{version}-%{release}
Requires: (systemd-boot if %{shrink:(
filesystem(x86-32) or
filesystem(x86-64) or
filesystem(aarch64) or
filesystem(riscv64)
)})
Requires: python3dist(pefile)
Requires: python3dist(zstd)
Requires: python3dist(cryptography)
Recommends: python3dist(pillow)
# for tests
%ifarch riscv64
# 2.42 received support for riscv64 + efi targets
%global binutils_version_req >= 2.42
%endif
BuildRequires: binutils %{?binutils_version_req}
BuildArch: noarch
%description ukify
This package provides ukify, a script that combines a kernel image, an initrd,
with a command line, and possibly PCR measurements and other metadata, into a
Unified Kernel Image (UKI).
%if 0%{?want_bootloader}
%package boot-unsigned
Summary: UEFI boot manager (unsigned version)
Provides: systemd-boot-unsigned-%{efi_arch} = %version-%release
Provides: systemd-boot = %version-%release
Provides: systemd-boot%{_isa} = %version-%release
# A provides with just the version, no release or dist, used to build systemd-boot
Provides: version(systemd-boot-unsigned) = %version
Provides: version(systemd-boot-unsigned)%{_isa} = %version
# self-obsoletes to install both packages after split of systemd-boot
Obsoletes: systemd-udev < 252.2^
%description boot-unsigned
systemd-boot (short: sd-boot) is a simple UEFI boot manager. It provides a
graphical menu to select the entry to boot and an editor for the kernel command
line. systemd-boot supports systems with UEFI firmware only.
This package contains the unsigned version. Install systemd-boot instead to get
the version that works with Secure Boot.
%endif
2015-11-12 04:46:42 +00:00
%package container
# Name is the same as in Debian
Summary: Tools for containers and VMs
Requires: %{name}%{_isa} = %{version}-%{release}
Requires(post): systemd%{_isa} = %{version}-%{release}
Requires(preun): systemd%{_isa} = %{version}-%{release}
Requires(postun): systemd%{_isa} = %{version}-%{release}
2015-11-12 06:12:17 +00:00
# obsolete parent package so that dnf will install new subpackage on upgrade (#1260394)
2015-11-12 04:46:42 +00:00
Obsoletes: %{name} < 229-5
# Bias the system towards libcurl-minimal if nothing pulls in full libcurl (#1997040)
Suggests: libcurl-minimal
2023-02-08 11:31:21 +00:00
License: LGPL-2.1-or-later
2015-11-12 04:46:42 +00:00
%description container
Systemd tools to spawn and manage containers and virtual machines.
This package contains systemd-nspawn, machinectl, systemd-machined,
and systemd-importd.
2015-11-12 04:46:42 +00:00
%package journal-remote
# Name is the same as in Debian
Summary: Tools to send journal events over the network
Requires: %{name}%{_isa} = %{version}-%{release}
2023-02-08 11:31:21 +00:00
License: LGPL-2.1-or-later
2015-01-06 02:08:08 +00:00
Requires: firewalld-filesystem
Provides: %{name}-journal-gateway = %{version}-%{release}
Provides: %{name}-journal-gateway%{_isa} = %{version}-%{release}
Obsoletes: %{name}-journal-gateway < 227-7
# Bias the system towards libcurl-minimal if nothing pulls in full libcurl (#1997040)
Suggests: libcurl-minimal
%description journal-remote
Programs to forward journal entries over the network, using encrypted HTTP, and
to write journal files from serialized journal contents.
This package contains systemd-journal-gatewayd, systemd-journal-remote, and
systemd-journal-upload.
%package resolved
Summary: Network Name Resolution manager
Requires: %{name}%{_isa} = %{version}-%{release}
Obsoletes: %{name} < 249~~
Requires: libidn2.so.0%{?elf_suffix}
Requires: libidn2.so.0(IDN2_0.0.0)%{?elf_bits}
Requires(posttrans): grep
2024-09-14 14:48:11 +00:00
%{?sysusers_requires_compat}
%description resolved
systemd-resolved is a system service that provides network name resolution to
local applications. It implements a caching and validating DNS/DNSSEC stub
resolver, as well as an LLMNR and MulticastDNS resolver and responder.
%package oomd
Summary: A userspace out-of-memory (OOM) killer
Requires: %{name}-udev = %{version}-%{release}
Provides: %{name}-oomd-defaults = %{version}-%{release}
2023-02-08 11:31:21 +00:00
License: LGPL-2.1-or-later
%description oomd
systemd-oomd is a system service that uses cgroups-v2 and pressure stall
information (PSI) to monitor and take action on processes before an OOM
occurs in kernel space.
2010-06-22 04:16:32 +00:00
%prep
%autosetup -S git
2010-06-22 04:16:32 +00:00
%build
2022-02-24 07:01:43 +00:00
%global ntpvendor %(source /etc/os-release; echo ${ID})
%{!?ntpvendor: echo 'NTP vendor zone is not set!'; exit 1}
CONFIGURE_OPTS=(
-Dmode=%[%{with upstream}?"developer":"release"]
2017-07-02 00:16:12 +00:00
-Dsysvinit-path=/etc/rc.d/init.d
-Drc-local=/etc/rc.d/rc.local
resolve: remove the fallback dns server list DNS questions (which necessarilly include IP addresses) are personally indentifying information in the sense of GDPR (https://gdpr.eu/eu-gdpr-personal-data/ explicitly lists IP address as PII). Sending those packets to Google or Cloudflare is "forwarding" this PII to them. GDPR says that information which is not enough to identify individuals still needs to be protected because it may be combined with other information or processed with improved technology later. So even though the information in DNS alone it not very big, it may be interpreted as protected information in various scenarios. When Fedora is installed by an end-user, they must have the reasonable expectation that Fedora will contant Fedora servers for updates and status checks and such. But the case of DNS packets is different, because the dns servers are not under our control. While most of the time the information leak through DNS is negligible, we can't rule out scenarios where it could be considered more important. Another thing to consider is that ISP and other local internet access mechanisms are probably worse overall for privacy compared to google and cloudflare dns servers. Nevertheless, they are more obvious to users and fit better in the regulatory framework, because there are local laws that govern them and implicitic or explicit agreements for their use. Whereas US-based servers are foreign and are covered by different rules. The fallback DNS servers don't matter most of the time because NetworkManager will include the servers from a DHCP lease. So hopefully users will not see any effect from the change done in this patch. Right now I think it is better to avoid the legal and privacy risk. If it turns out this change causes noticable problems, we might want to reconsider. In particular we could use the fallback servers only in containers and such which are not "personal" machines and there is no particular person attached to them. https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/3C4KESHIMZDB6XCFO4EOBEDV4Q2AVVQ5/ I think we could provide a default dns server list more reasonably if there was some kind of privacy policy published by Fedora and users could at least learn about those defaults. Sadly, we don't have any relevant privacy policy (https://pagure.io/Fedora-Council/tickets/issue/53).
2020-10-06 11:19:04 +00:00
-Ddns-servers=
2019-11-22 13:57:07 +00:00
-Duser-path=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-Dservice-watchdog=3min
2017-07-13 15:35:31 +00:00
-Ddev-kvm-mode=0666
-Dkmod=enabled
-Dxkbcommon=enabled
-Dblkid=enabled
-Dfdisk=enabled
-Dseccomp=enabled
2017-07-02 00:16:12 +00:00
-Dima=true
-Dselinux=enabled
-Dbpf-framework=%[0%{?have_bpf}?"enabled":"disabled"]
-Dapparmor=disabled
-Dpolkit=enabled
-Dxz=%[%{with xz}?"enabled":"disabled"]
-Dzlib=%[%{with zlib}?"enabled":"disabled"]
-Dbzip2=%[%{with bzip2}?"enabled":"disabled"]
-Dlz4=%[%{with lz4}?"enabled":"disabled"]
-Dzstd=%[%{with zstd}?"enabled":"disabled"]
-Dpam=enabled
-Dacl=enabled
2017-07-02 00:16:12 +00:00
-Dsmack=true
-Dopenssl=enabled
-Dcryptolib=openssl
-Dp11kit=enabled
-Dgcrypt=disabled
-Daudit=enabled
-Delfutils=enabled
-Dlibcryptsetup=%[%{with bootstrap}?"disabled":"enabled"]
-Delfutils=enabled
-Drepart=enabled
-Dpwquality=enabled
-Dqrencode=%[%{defined rhel}?"disabled":"enabled"]
-Dmicrohttpd=enabled
-Dlibiptc=disabled
-Dlibcurl=enabled
-Dlibfido2=enabled
-Dxenctrl=%[0%{?have_xen}?"enabled":"disabled"]
2017-07-02 00:16:12 +00:00
-Defi=true
-Dtpm=true
-Dtpm2=enabled
2017-07-02 00:16:12 +00:00
-Dhwdb=true
-Dsysusers=true
-Ddefault-kill-user-processes=false
-Dfirst-boot-full-preset=true
-Ddefault-network=true
2017-07-02 00:16:12 +00:00
-Dtests=unsafe
-Dinstall-tests=false
-Dnobody-user=nobody
-Dnobody-group=nobody
2020-10-20 15:33:29 +00:00
-Dcompat-mutable-uid-boundaries=true
2018-03-05 21:31:56 +00:00
-Dsplit-bin=true
-Db_ndebug=false
-Dman=%[%{with docs}?"enabled":"disabled"]
-Dversion-tag=%{version}%[%{without upstream}?"-%{release}":""]
2022-03-29 20:07:50 +00:00
# https://bugzilla.redhat.com/show_bug.cgi?id=1906010
-Dshared-lib-tag=%{version_no_tilde}%[%{without upstream}?"-%{release}":""]
-Dlink-executor-shared=false
-Dfallback-hostname="localhost"
-Ddefault-dnssec=no
-Ddefault-dns-over-tls=no
# https://bugzilla.redhat.com/show_bug.cgi?id=1867830
-Ddefault-mdns=no
# https://bugzilla.redhat.com/show_bug.cgi?id=2028169
-Dstatus-unit-format-default=combined
-Dconfigfiledir=/usr/lib
2020-11-12 12:08:11 +00:00
-Doomd=true
-Dadm-gid=4
-Dtty-gid=5
-Ddisk-gid=6
-Dlp-gid=7
-Dkmem-gid=9
-Dwheel-gid=10
-Dcdrom-gid=11
-Ddialout-gid=18
-Dutmp-gid=22
-Dtape-gid=33
-Dkvm-gid=36
-Dvideo-gid=39
-Daudio-gid=63
-Dusers-gid=100
-Dinput-gid=104
-Drender-gid=105
-Dsgx-gid=106
-Dsystemd-journal-gid=190
-Dsystemd-network-uid=192
-Dsystemd-resolve-uid=193
# -Dsystemd-timesync-uid=, not set yet
# For now, let's build the bootloader in the same places where we
# built with gnu-efi. Later on, we might want to extend coverage, but
# considering that that support is untested, let's not do this now.
-Dbootloader=%[%{?want_bootloader}?"enabled":"disabled"]
-Dukify=enabled
# RHEL10 bootstrapping
-Dstandalone-binaries=false
-Dnscd=false
-Dportabled=false
-Dmountfsd=false
-Dhomed=disabled
-Dnetworkd=false
-Dtimesyncd=false
-Dcreate-log-dirs=false
-Dnsresourced=false
-Dfirstboot=true
-Dvmspawn=disabled
-Dstoragetm=false
-Dhtml=disabled
-Ddefault-net-naming-scheme=rhel-10.0-beta
-Ddefault-llmnr=no
-Ddns-over-tls=openssl
-Dntp-servers=
2024-10-22 15:12:20 +00:00
-Dsupport-url=https://wiki.almalinux.org/Help-and-Support
-Dlibidn=disabled
-Dgnutls=disabled
-Ddefault-compression=zstd
# https://issues.redhat.com/browse/RHEL-16810
2024-10-22 15:12:20 +00:00
-Dsbat-distro-url=mailto:security@almalinux.org
-Dsshconfdir=no
-Dsshdconfdir=no
-Duserdb=true
)
2021-01-13 12:52:14 +00:00
%if %{without lto}
%global _lto_cflags %nil
%endif
{ %meson "${CONFIGURE_OPTS[@]}" %{?meson_extra_configure_options} ; }
%meson_build
new_triggers=%{_vpath_builddir}/src/rpm/triggers.systemd.sh
if ! diff -u %{SOURCE1} ${new_triggers}; then
echo -e "\n\n\nWARNING: triggers.systemd in Source1 is different!"
echo -e " cp $PWD/${new_triggers} %{SOURCE1}\n\n\n"
sleep 5
fi
2010-06-22 04:16:32 +00:00
%install
2017-07-02 00:16:12 +00:00
%meson_install
2016-07-26 19:12:35 +00:00
# udev links
mkdir -p %{buildroot}/%{_sbindir}
ln -sf ../bin/udevadm %{buildroot}%{_sbindir}/udevadm
2010-07-24 00:51:34 +00:00
# Compatiblity and documentation files
touch %{buildroot}/etc/crypttab
chmod 600 %{buildroot}/etc/crypttab
# Config files that were moved under /usr.
# We need to %ghost them so that they are not removed on upgrades.
touch %{buildroot}/etc/systemd/coredump.conf \
%{buildroot}/etc/systemd/journald.conf \
%{buildroot}/etc/systemd/journal-remote.conf \
%{buildroot}/etc/systemd/journal-upload.conf \
%{buildroot}/etc/systemd/logind.conf \
%{buildroot}/etc/systemd/oomd.conf \
%{buildroot}/etc/systemd/pstore.conf \
%{buildroot}/etc/systemd/resolved.conf \
%{buildroot}/etc/systemd/sleep.conf \
%{buildroot}/etc/systemd/system.conf \
%{buildroot}/etc/systemd/user.conf \
%{buildroot}/etc/udev/udev.conf \
%{buildroot}/etc/udev/iocost.conf
install -D -t %{buildroot}/usr/lib/systemd/ %{SOURCE3}
2017-07-02 00:16:12 +00:00
# /etc/initab
install -Dm0644 -t %{buildroot}/etc/ %{SOURCE6}
2017-07-02 00:16:12 +00:00
# /etc/sysctl.conf compat
install -Dm0644 %{SOURCE7} %{buildroot}/etc/sysctl.conf
ln -s ../sysctl.conf %{buildroot}/etc/sysctl.d/99-sysctl.conf
2010-09-14 00:38:13 +00:00
# Make sure these directories are properly owned
mkdir -p %{buildroot}%{system_unit_dir}/basic.target.wants
mkdir -p %{buildroot}%{system_unit_dir}/default.target.wants
mkdir -p %{buildroot}%{system_unit_dir}/dbus.target.wants
mkdir -p %{buildroot}%{system_unit_dir}/syslog.target.wants
mkdir -p %{buildroot}/run
2015-01-19 21:11:51 +00:00
mkdir -p %{buildroot}%{_localstatedir}/log
touch %{buildroot}%{_localstatedir}/log/lastlog
chmod 0664 %{buildroot}%{_localstatedir}/log/lastlog
touch %{buildroot}/run/utmp
touch %{buildroot}%{_localstatedir}/log/{w,b}tmp
2012-02-11 01:46:33 +00:00
# Make sure the user generators dir exists too
mkdir -p %{buildroot}%{pkgdir}/system-generators
mkdir -p %{buildroot}%{pkgdir}/user-generators
2012-02-11 01:46:33 +00:00
2011-04-21 01:39:20 +00:00
# Create new-style configuration files so that we can ghost-own them
touch %{buildroot}%{_sysconfdir}/hostname
touch %{buildroot}%{_sysconfdir}/vconsole.conf
touch %{buildroot}%{_sysconfdir}/locale.conf
touch %{buildroot}%{_sysconfdir}/machine-id
touch %{buildroot}%{_sysconfdir}/machine-info
touch %{buildroot}%{_sysconfdir}/localtime
mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
2011-04-21 01:39:20 +00:00
2012-07-03 19:12:08 +00:00
# Make sure the shutdown/sleep drop-in dirs exist
mkdir -p %{buildroot}%{pkgdir}/system-shutdown/
mkdir -p %{buildroot}%{pkgdir}/system-sleep/
2012-07-03 19:12:08 +00:00
2013-03-07 22:27:37 +00:00
# Make sure directories in /var exist
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog
2014-07-03 20:15:11 +00:00
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/rfkill
2016-04-10 15:21:43 +00:00
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/linger
mkdir -p %{buildroot}%{_localstatedir}/lib/private
mkdir -p %{buildroot}%{_localstatedir}/log/private
mkdir -p %{buildroot}%{_localstatedir}/cache/private
mkdir -p %{buildroot}%{_localstatedir}/lib/private/systemd/journal-upload
ln -s ../private/systemd/journal-upload %{buildroot}%{_localstatedir}/lib/systemd/journal-upload
mkdir -p %{buildroot}%{_localstatedir}/log/journal
touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database
touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin
2014-02-20 00:12:13 +00:00
touch %{buildroot}%{_localstatedir}/lib/systemd/random-seed
touch %{buildroot}%{_localstatedir}/lib/private/systemd/journal-upload/state
2013-03-07 22:27:37 +00:00
# Install rc.local
mkdir -p %{buildroot}%{_sysconfdir}/rc.d/
install -m 0644 %{SOURCE26} %{buildroot}%{_sysconfdir}/rc.d/rc.local
ln -s rc.d/rc.local %{buildroot}%{_sysconfdir}/rc.local
# Install yum protection fragment
install -Dm0644 %{SOURCE5} %{buildroot}/etc/dnf/protected.d/systemd.conf
install -Dm0644 -t %{buildroot}/usr/lib/firewalld/services/ %{SOURCE8} %{SOURCE9}
2015-01-06 02:08:08 +00:00
2015-06-27 18:00:14 +00:00
# Install additional docs
# https://bugzilla.redhat.com/show_bug.cgi?id=1234951
install -Dm0644 -t %{buildroot}%{_pkgdocdir}/ %{SOURCE10}
2015-06-27 18:00:14 +00:00
# https://bugzilla.redhat.com/show_bug.cgi?id=1378974
install -Dm0644 -t %{buildroot}%{system_unit_dir}/systemd-udev-trigger.service.d/ %{SOURCE11}
install -Dm0644 -t %{buildroot}%{_prefix}/lib/systemd/ %{SOURCE13}
# systemd-oomd default configuration
install -Dm0644 -t %{buildroot}%{_prefix}/lib/systemd/oomd.conf.d/ %{SOURCE14}
install -Dm0644 -t %{buildroot}%{system_unit_dir}/system.slice.d/ %{SOURCE15}
install -Dm0644 -t %{buildroot}%{user_unit_dir}/slice.d/ %{SOURCE15}
# https://fedoraproject.org/wiki/Changes/IncreaseVmMaxMapCount
install -Dm0644 -t %{buildroot}%{_prefix}/lib/sysctl.d/ %{SOURCE17}
sed -i 's|#!/usr/bin/env python3|#!%{__python3}|' %{buildroot}/usr/lib/systemd/tests/run-unit-tests.py || :
2018-12-21 19:08:58 +00:00
2020-02-07 15:34:30 +00:00
install -m 0644 -D -t %{buildroot}%{_rpmconfigdir}/macros.d/ %{SOURCE21}
# Use rpm's own sysusers provides where available
%if ! (0%{?fedora} >= 39 || 0%{?rhel} >= 10)
2020-02-07 15:34:30 +00:00
install -m 0644 -D -t %{buildroot}%{_rpmconfigdir}/fileattrs/ %{SOURCE22}
install -m 0755 -D -t %{buildroot}%{_rpmconfigdir}/ %{SOURCE23}
%endif
2020-02-07 15:34:30 +00:00
install -m 0755 -D -t %{buildroot}%{_rpmconfigdir}/ %{SOURCE24}
# https://bugzilla.redhat.com/show_bug.cgi?id=2107754
install -Dm0644 -t %{buildroot}%{_prefix}/lib/systemd/network/ %{SOURCE25}
2023-09-18 19:43:20 +00:00
ln -s --relative %{buildroot}%{_bindir}/kernel-install %{buildroot}%{_sbindir}/installkernel
%if "%{_sbindir}" == "%{_bindir}"
# Systemd has the split-sbin option which is also used to select the directory
# for alias symlinks. We need to keep split-sbin=true for now, to support
# unmerged systems. Move the symlinks here instead.
mv -v %{buildroot}/usr/sbin/* %{buildroot}%{_bindir}/
%endif
%if 0%{?fedora} >= 41
# This requires https://pagure.io/setup/pull-request/50
# and https://src.fedoraproject.org/rpms/setup/pull-request/10.
%{python3} %{SOURCE4} /usr/lib/sysusers.d/20-setup-{users,groups}.conf %{buildroot}/usr/lib/sysusers.d/basic.conf
rm %{buildroot}/usr/lib/sysusers.d/basic.conf
%endif
2014-02-20 00:47:27 +00:00
%find_lang %{name}
# Split files in build root into rpms
python3 %{SOURCE2} %buildroot %{!?want_bootloader:--no-bootloader}
2015-02-16 18:24:46 +00:00
%check
%if %{with tests}
2020-07-09 07:54:04 +00:00
meson test -C %{_vpath_builddir} -t 6 --print-errorlogs
%endif
2015-05-30 22:18:12 +00:00
#############################################################################################
%include %{SOURCE1}
%post
systemd-machine-id-setup &>/dev/null || :
[ $1 -eq 1 ] || exit 0
2013-10-02 02:10:00 +00:00
[ -w %{_localstatedir} ] && journalctl --update-catalog || :
systemd-sysusers || :
systemd-tmpfiles --create &>/dev/null || :
# We reset the enablement of all services upon initial installation
# https://bugzilla.redhat.com/show_bug.cgi?id=1118740#c23
# This will fix up enablement of any preset services that got installed
# before systemd due to rpm ordering problems:
# https://bugzilla.redhat.com/show_bug.cgi?id=1647172.
# We also do this for user units, see
# https://fedoraproject.org/wiki/Changes/Systemd_presets_for_user_units.
systemctl preset-all &>/dev/null || :
systemctl --global preset-all &>/dev/null || :
2013-01-08 02:00:08 +00:00
%postun
if [ $1 -ge 1 ]; then
[ -w %{_localstatedir} ] && journalctl --update-catalog || :
systemctl daemon-reexec || :
systemd-tmpfiles --create &>/dev/null || :
fi
2024-07-22 15:01:08 +00:00
%systemd_postun_with_restart systemd-timedated.service systemd-hostnamed.service systemd-journald.service systemd-localed.service
# FIXME: systemd-logind.service is excluded (https://github.com/systemd/systemd/pull/17558)
# This is the expanded form of %%systemd_user_daemon_reexec. We
# can't use the macro because we define it ourselves.
if [ $1 -ge 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then
# Package upgrade, not uninstall
/usr/lib/systemd/systemd-update-helper user-reexec || :
fi
%triggerun -- systemd < 256
# This is for upgrades from previous versions before systemd restart was moved to %%postun
systemctl daemon-reexec || :
2024-07-25 17:37:56 +00:00
%triggerpostun -- systemd < 256-9
if [ -L /etc/ssh/sshd_config.d/20-systemd-userdb.conf ] && \
[ "$(readlink -m /etc/ssh/sshd_config.d/20-systemd-userdb.conf)" = "/usr/lib/systemd/sshd_config.d/20-systemd-userdb.conf" ] ; then
2024-07-25 17:37:56 +00:00
rm -f /etc/ssh/sshd_config.d/20-systemd-userdb.conf || :
fi
%global udev_services systemd-udev{d,-settle,-trigger}.service systemd-udevd-{control,kernel}.socket %{?want_bootloader:systemd-boot-update.service} systemd-pstore.service remote-cryptsetup.target
2015-11-12 06:12:17 +00:00
%post udev
# Move old stuff around in /var/lib
mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/random-seed &>/dev/null
mv %{_localstatedir}/lib/backlight %{_localstatedir}/lib/systemd/backlight &>/dev/null
udevadm hwdb --update &>/dev/null
%systemd_post %udev_services
# Try to save the random seed, but don't complain if /dev/urandom is unavailable
/usr/lib/systemd/systemd-random-seed save 2>&1 | \
grep -v 'Failed to open /dev/urandom' || :
# Replace obsolete keymaps
# https://bugzilla.redhat.com/show_bug.cgi?id=1151958
grep -q -E '^KEYMAP="?fi-latin[19]"?' /etc/vconsole.conf 2>/dev/null &&
2018-02-09 13:50:35 +00:00
sed -i.rpm.bak -r 's/^KEYMAP="?fi-latin[19]"?/KEYMAP="fi"/' /etc/vconsole.conf || :
2015-11-12 06:12:17 +00:00
%preun udev
%systemd_preun %udev_services
2015-11-12 06:12:17 +00:00
%postun udev
# Restart some services.
# Others are either oneshot services, or sockets, and restarting them causes issues (#1378974)
%systemd_postun_with_restart systemd-udevd.service
2015-11-12 06:12:17 +00:00
%global journal_remote_units_restart systemd-journal-gatewayd.service systemd-journal-remote.service systemd-journal-upload.service
%global journal_remote_units_norestart systemd-journal-gatewayd.socket systemd-journal-remote.socket
%post journal-remote
%systemd_post %journal_remote_units_restart %journal_remote_units_norestart
2015-01-06 02:08:08 +00:00
%firewalld_reload
%preun journal-remote
%systemd_preun %journal_remote_units_restart %journal_remote_units_norestart
if [ $1 -eq 1 ] ; then
if [ -f %{_localstatedir}/lib/systemd/journal-upload/state -a ! -L %{_localstatedir}/lib/systemd/journal-upload ] ; then
mkdir -p %{_localstatedir}/lib/private/systemd/journal-upload
mv %{_localstatedir}/lib/systemd/journal-upload/state %{_localstatedir}/lib/private/systemd/journal-upload/.
rmdir %{_localstatedir}/lib/systemd/journal-upload || :
fi
fi
%postun journal-remote
%systemd_postun_with_restart %journal_remote_units_restart
2015-01-06 02:08:08 +00:00
%firewalld_reload
2024-09-14 14:48:11 +00:00
%pre resolved
%sysusers_create_compat %{SOURCE27}
%post resolved
%systemd_post systemd-resolved.service
%preun resolved
if [ $1 -eq 0 ] ; then
systemctl disable --quiet \
systemd-resolved.service \
>/dev/null || :
if [ -L /etc/resolv.conf ] && \
realpath /etc/resolv.conf | grep ^/run/systemd/resolve/; then
rm -f /etc/resolv.conf # no longer useful
# if network manager is enabled, move to it instead
[ -f /run/NetworkManager/resolv.conf ] && \
systemctl -q is-enabled NetworkManager.service &>/dev/null && \
ln -fsv ../run/NetworkManager/resolv.conf /etc/resolv.conf
fi
fi
%postun resolved
%systemd_postun_with_restart systemd-resolved.service
%pre
getent group systemd-oom &>/dev/null || groupadd -r systemd-oom 2>&1 || :
getent passwd systemd-oom &>/dev/null || useradd -r -l -g systemd-oom -d / -s /sbin/nologin -c "systemd Userspace OOM Killer" systemd-oom &>/dev/null || :
%preun oomd
%systemd_preun systemd-oomd.service
%post oomd
%systemd_post systemd-oomd.service
%postun oomd
%systemd_postun_with_restart systemd-oomd.service
%global _docdir_fmt %{name}
%files -f %{name}.lang -f .file-list-main
2015-01-19 21:11:51 +00:00
%doc %{_pkgdocdir}
%exclude %{_pkgdocdir}/LICENSE*
# Only the licenses texts for the licenses in License line are included.
%license LICENSE.GPL2
%license LICENSES/MIT.txt
%ghost %dir %attr(0755,-,-) /etc/systemd/system/basic.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/bluetooth.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/default.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/getty.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/graphical.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/local-fs.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/machines.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/multi-user.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/network-online.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/printer.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/remote-fs.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/sockets.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/sysinit.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/system-update.target.wants
%ghost %dir %attr(0755,-,-) /etc/systemd/system/timers.target.wants
2021-11-24 09:00:32 +00:00
%ghost %dir %attr(0700,-,-) /var/lib/portables
%ghost %dir %attr(0755,-,-) /var/lib/rpm-state/systemd
%files libs -f .file-list-libs
%license LICENSE.LGPL2.1
2014-07-24 20:41:23 +00:00
%files pam -f .file-list-pam
%files rpm-macros -f .file-list-rpm-macros
%files resolved -f .file-list-resolve
%files devel -f .file-list-devel
%files udev -f .file-list-udev
2015-11-12 06:12:17 +00:00
%files ukify -f .file-list-ukify
%if 0%{?want_bootloader}
%files boot-unsigned -f .file-list-boot
%endif
%files container -f .file-list-container
2021-11-24 09:00:32 +00:00
%ghost %dir %attr(0700,-,-) /var/lib/machines
%files journal-remote -f .file-list-remote
%files oomd -f .file-list-oomd
%clean
rm -rf $RPM_BUILD_ROOT
rm -f 10-timeout-abort.conf.user
rm -f .file-list-*
rm -f %{name}.lang
2010-06-11 06:18:33 +00:00
%changelog
2025-02-15 03:33:50 +00:00
* Sat Feb 15 2025 Andrew Lukoshko <alukoshko@almalinux.org> - 257-9.alma.1
2024-10-22 15:12:20 +00:00
- Debrand for AlmaLinux
2025-02-14 11:42:23 +00:00
* Fri Feb 14 2025 systemd maintenance team <systemd-maint@redhat.com> - 257-9
- Add BuildRequires for git-core (RHEL-71409)
* Fri Feb 14 2025 systemd maintenance team <systemd-maint@redhat.com> - 257-8
- Rebase to new upstream stable release v257.3 (RHEL-71409)
- udev: introduce several features to make debugging rules easier (RHEL-75774)
2025-02-10 07:20:10 +00:00
* Mon Feb 10 2025 systemd maintenance team <systemd-maint@redhat.com> - 257-7
- Rebase to new upstream stable version v257.2+ (RHEL-71409)
* Wed Feb 05 2025 Pat Riehecky <riehecky@fnal.gov> - 257-6
- Enable systemd-userdb (RHEL-59934)
2025-02-03 13:51:44 +00:00
* Mon Feb 03 2025 systemd maintenance team <systemd-maint@redhat.com> - 257-5
- Rebase to new upstream stable version v257.2+ (RHEL-71409)
* Thu Jan 30 2025 systemd maintenance team <systemd-maint@redhat.com> - 257-4
- ci: use ubuntu 22:04 for deploy of man pages (RHEL-57603)
- tree-wide: Fix python formatting (RHEL-57603)
- ci: fix Packit (RHEL-57603)
- ci: drop testing farm test (RHEL-57603)
- dbus: stash the subscriber list when we disconenct from the bus (RHEL-73780)
- manager: s/deserialized_subscribed/subscribed_as_strv (RHEL-73780)
- shared/bus-util: move bus_message_read_id128() to bus-message-util (RHEL-73780)
- shared/bus-util: move bus_message_hash_ops to bus-message-util (RHEL-73780)
- shared/bus-util: move string set append/get funcs to bus-message-util and bus-get-properties, respectively (RHEL-73780)
- shared/serialize: make input params const (RHEL-73780)
- shared/serialize: introduce serialize_id128() (RHEL-73780)
- bus-util: do not reset the count returned by sd_bus_track_count_name() (RHEL-73780)
- core/manager: use FOREACH_ARRAY at one more place (RHEL-73780)
- core/manager: drop duplicate bus track deserialization (RHEL-73780)
- bus-util: introduce bus_get_instance_id() (RHEL-73780)
- core: serialize API bus id and validate before deserializing bus tracks (RHEL-73780)
- core/manager: restore bus track deserialization cleanup in manager_reload() (RHEL-73780)
- shared/bus-util: add missing `set.h` include (RHEL-73780)
- udevadm-test: add missing oom check (RHEL-75774)
- udev-rules: replace 'type *func()' -> 'type* func()' (RHEL-75774)
- udev-rules: do not change maximum log level when running in test mode (RHEL-75774)
- udevadm-test: introduce -v/--verbose option to show verbose log messages (RHEL-75774)
- udev-rules: show original token string in log_event_error() and friends (RHEL-75774)
- udev-rules: logs result of format substitution (RHEL-75774)
- udev-rules: add more trace logs for string match (RHEL-75774)
- udev-rules: introduce udev_replace_chars_and_log() (RHEL-75774)
- udev-rules: ignore whole command result if it is too long and does not contain newline (RHEL-75774)
- udev-rules: update log messages (RHEL-75774)
- udev-rules: add trace logs for GOTO and parent conditions (RHEL-75774)
* Wed Jan 08 2025 Jan Macku <jamacku@redhat.com> - 257-3
- udev/net_id: introduce naming scheme for RHEL-9.6 (RHEL-44417)
- Rebase to new upstream stable release v257.2 (RHEL-71409)
* Fri Dec 20 2024 Jan Macku <jamacku@redhat.com> - 257-2
- Rebase to new upstream stable release v257.1 (RHEL-71409)
* Tue Dec 17 2024 Jan Macku <jamacku@redhat.com> - 257-1
- Rebase to new upstream release v257 (RHEL-71409)
- netif-naming-scheme: introduce rhel-10.0 scheme (RHEL-44417)
2024-09-14 14:48:11 +00:00
* Tue Nov 19 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-18
- add %%pre sysuser scriptlet for resolved subpackage (RHEL-50564)
2024-11-12 07:56:51 +00:00
* Tue Nov 12 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-17
- socket: fix socket activation of stopped services with pinned FD store (RHEL-60896)
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com>
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Tue Oct 15 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-15
- ci: rename beta branch to match dist-git name (RHEL-57603)
- udev: Handle PTP device symlink properly on udev action 'change' (RHEL-59871)
- Fix detection of TDX confidential VM on Azure platform (RHEL-56144)
- confidential-virt: split caching of CVM detection into separate method (RHEL-56144)
- confidential-virt: add detection for s390x target (RHEL-56144)
- man/systemd-detect-virt: fix row spanning for VM header (RHEL-56144)
- man/systemd-detect-virt: list known CVM technologies (RHEL-56144)
2024-08-30 14:04:39 +00:00
* Fri Aug 30 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-14
- Revert "cgroup-util: Don't try to open pidfd for kernel threads" (RHEL-52634)
- ukify: Skip test on architectures without UEFI (RHEL-52634)
* Thu Aug 22 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-13
- systemctl: do not try to acquire triggering units for template units (RHEL-55132)
- core/unit: add one assertion for u->manager (RHEL-55734)
- core/service: destroy runtime data when Type=oneshot services exit (RHEL-55734)
- cgroup-util: Ignore kernel threads in cg_kill_items() (RHEL-55746)
- cgroup-util: Don't try to open pidfd for kernel threads (RHEL-55746)
- cgroup-util: fix typo (RHEL-55746)
- netif-naming-scheme: rename rhel-10.0 to rhel-10.0.beta (RHEL-55728)
- net-naming-scheme: disable NAMING_FIRMWARE_NODE_SUN (RHEL-55728)
- net-naming-scheme: remove NAMING_FIRMWARE_NODE_SUN from 9.5 (RHEL-55728)
- make systemd-ukify subpackage arch dependent (RHEL-52634)
* Thu Aug 15 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-12
- netif-naming-scheme: add rhel-9.5 scheme (RHEL-44416)
- udev-builtin-net_id: use firmware_node/sun for ID_NET_NAME_SLOT (RHEL-44416)
- man/net-naming-scheme: add missing period (RHEL-44416)
- Revert "packit: drop the dependency on python3-zstd" (RHEL-36636)
* Tue Jul 30 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-11
- fix OpenScanHub builds (RHEL-40924)
* Mon Jul 29 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-10
- fix updgrade from versions before removal of systemd-ssh-generator - follow-up (RHEL-50131)
2024-07-25 17:37:56 +00:00
* Thu Jul 25 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-9
- fix updgrade from versions before removal of systemd-ssh-generator (RHEL-50131)
2024-07-23 12:39:36 +00:00
* Tue Jul 23 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-8
- Avoid /tmp being mounted as tmpfs without the user's will (RHEL-40924)
- unit: don't add Requires for tmp.mount (RHEL-40924)
- units: add [Install] section to tmp.mount (RHEL-40924)
- units: don't enable tmp.mount statically in local-fs.target (RHEL-40924)
2024-07-22 15:01:08 +00:00
* Mon Jul 22 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-7
- drop 10-timeout-abort.conf snippet (RHEL-46280)
- don't ship systemd-userdbd (RHEL-46280)
* Fri Jul 19 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-6
- doc: add downstream CONTRIBUTING document (RHEL-40924)
- ci: allow `policy` as rhel-only keyword (RHEL-40924)
- ci: run mkosi test only for Fedora and CentOS Stream (RHEL-40924)
- taint: remove unused variable `usr_sbin` (RHEL-40924)
- packit: drop the libarchive workaround (RHEL-40924)
- packit: drop the dependency on python3-zstd (RHEL-40924)
- coredump: by default process and store core files up to 1GiB (RHEL-46778)
- don't ship systemd-ssh-generator harder (RHEL-40924)
* Wed Jul 17 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-5
- don't ship systemd-ssh-generator (RHEL-40924)
* Tue Jul 16 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-4
- reenable systemd-firstboot (RHEL-48822)
- don't create /var/log/journal (RHEL-40924)
* Mon Jul 08 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-3
- taint: remove unmerged-bin (RHEL-46277)
- presets: remove resolved (RHEL-46576)
- remove resolved scriptlets
- don't install tests
* Thu Jul 04 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-2
- logind: set RemoveIPC to false by default (RHEL-40924)
- tmpfiles: don't create resolv.conf -> stub-resolv.conf symlink (RHEL-40924)
- rc-local: order after network-online.target (RHEL-40924)
- random-util: increase random seed size to 1024 (RHEL-40924)
- journal: don't enable systemd-journald-audit.socket by default (RHEL-40924)
- journald.conf: don't touch current audit settings (RHEL-40924)
- rules: add elevator= kernel command line parameter (RHEL-40924)
- pid1: bump DefaultTasksMax to 80% of the kernel pid.max value (RHEL-40924)
- udev/net-setup-link: change the default MACAddressPolicy to "none" (RHEL-40924)
- core: decrease log level of messages about use of KillMode=none (RHEL-40924)
- meson: rename libbasic to libbasic_static (RHEL-46020)
- meson: build libsystemd-core via an intermediate static library (RHEL-46020)
- meson: add option to build systemd-executor "statically" (RHEL-46020)
* Wed Jun 26 2024 Jan Macku <jamacku@redhat.com> - 256-1
- Initial import and bootsprap from Fedora
* remove standalone packages
* remove networkd package
* remove homed
* remove portabled
* remove timesyncd
* remove tests package
* move oomd to separate package
* revert bin-sbin merge related changes
- remove autorelease stuff
* for changelog history see changelog file
- rules: copy 40-redhat.rules from RHEL 9 (RHEL-40360)
- net-naming-scheme: start rhel10 naming and include rhel8 and rhel9 ones (RHEL-22621)
- fedora: use system-auth in pam systemd-user (RHEL-40924)
- tmpfiles: make --purge hard to (mis-)use (RHEL-40924)
- journal: again create user journals for users with high uids (RHEL-40924)
- (origin/rhel-10.0.beta, rhel-10.0.beta) ci: allow to pass parameters together with rhel-only note (RHEL-36636)
- ci: reconfigure Packit for RHEL 10 (RHEL-36636)
- ci: deploy systemd man to GitHub Pages (RHEL-36636)
- ci: setup source-git automation (RHEL-36636)
- ci: update workflows to run on source-git setup (RHEL-36636)