%define subrel 1 %define libsystemd_major 0 %define libudev_major 1 %define libname %mklibname %{name} %{libsystemd_major} %define libdaemon %mklibname systemd-daemon 0 %define libjournal %mklibname systemd-journal 0 %define liblogin %mklibname systemd-login 0 %define libid128 %mklibname systemd-id 128 0 %define libudev %mklibname udev %{libudev_major} %define libudev_devel %mklibname -d udev # (tmb) Turn off the brp-python-bytecompile automagic %global _python_bytecompile_extra 0 # (ngompa): This implicitly requires pam_selinux %bcond_with selinux # (tmb): experiment with homed %bcond_without homed # Iurt causes issues with the test execution, # so for now, it's disabled by default... %bcond_with check # stable branches now have patch levels %define systemd_branch 246 %define systemd_patch 9 Summary: A System and Session Manager Name: systemd %if 0%{systemd_patch} Version: %{systemd_branch}.%{systemd_patch} %else Version: %{systemd_branch} %endif Release: %mkrel 6 License: GPLv2+ Group: System/Boot and Init Url: http://www.freedesktop.org/wiki/Software/systemd %if 0%{systemd_patch} Source0: https://github.com/systemd/systemd-stable/archive/v%{version}/%{name}-%{version}.tar.gz %else Source0: https://github.com/systemd/systemd/archive/v%{version}/%{name}-%{version}.tar.gz %endif Source10: 50-udev-mageia.rules Source11: 69-printeracl.rules # (hk) udev rules for zte 3g modems with drakx-net Source12: 61-mobile-zte-drakx-net.rules # (blino) net rules and helpers Source20: 81-net.rules Source21: udev_net_create_ifcfg Source22: udev_net_action Source23: udev_net.sysconfig # Patching scheme: ## 100s: Upstream stable https://github.com/systemd/systemd-stable ## 400s: Upstream master https://github.com/systemd/systemd ## 450s: Changes proposed to upstream ## 500s: Mageia-specific changes # upstream stable # upstream master # (ngompa): I'm not entirely sure why this is considered distro-specific... Patch501: 0501-main-Add-failsafe-to-the-sysvinit-compat-cmdline-key.patch Patch502: 0502-Disable-modprobe-pci-devices-on-coldplug-for-storage.patch # (ngompa): Needs to be reworked Source503: 0503-udev-Allow-the-udevadm-settle-timeout-to-be-set-via-.patch Patch504: 0504-Mageia-Relax-perms-on-sys-kernel-debug-for-lspcidrak.patch Patch505: 0505-udev-rules-Apply-SuSE-patch-to-restore-cdrom-cdrw-dv.patch # (tmb) need check if still needed Source506: 0506-pam_systemd-Always-reset-XDG_RUNTIME_DIR.patch Source507: 0507-pam-Suppress-errors-in-the-SuSE-patch-to-unset-XDG_R.patch Patch508: 0508-Add-path-to-locale-search.patch # (tmb) silence udev version print as it breaks splash Patch509: 0509-Silence-udev-version-print-during-boot-as-it-breaks-.patch # (wally) fix build with new meson Source510: 0510-Fix-build-with-new-meson.patch # (tmb) treat nokmsboot like nomodeset Patch511: 0511-login-mark-nokmsboot-fb-devices-as-master-of-seat.patch # (tmb) dont complain about missing native service file # FIXME: REMOVE patch when Cauldron re-opens for Mageia 9 Patch512: 0512-systemd-revert-warning-about-sysv-file.patch # systemctl call to be sourced Patch513: systemd-246.9-xinit-to-be-sourced.patch BuildRequires: pkgconfig(dbus-1) >= 1.4.0 BuildRequires: pkgconfig(libcap) BuildRequires: tcp_wrappers-devel BuildRequires: pam-devel BuildRequires: glib2-devel BuildRequires: pkgconfig(libnotify) BuildRequires: intltool BuildRequires: gettext-devel BuildRequires: gperf BuildRequires: pkgconfig(gee-1.0) BuildRequires: pkgconfig(libcryptsetup) BuildRequires: pkgconfig(libkmod) BuildRequires: pkgconfig(blkid) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: xsltproc BuildRequires: docbook-style-xsl BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libidn2) BuildRequires: pkgconfig(libcurl) BuildRequires: python3-lxml BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(mount) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(libseccomp) %if %{with selinux} BuildRequires: pkgconfig(libselinux) %endif # for systemd-repart BuildRequires: pkgconfig(fdisk) BuildRequires: pkgconfig(bzip2) BuildRequires: libelfutils-devel BuildRequires: pkgconfig(libiptc) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: quota-devel BuildRequires: acl BuildRequires: tree # synchronized with ExclusiveArch list from valgrind.spec %ifarch %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 BuildRequires: pkgconfig(valgrind) %endif %ifarch %{ix86} x86_64 BuildRequires: gnu-efi-devel #BuildRequires: qemu %endif BuildRequires: git BuildRequires: gcc >= 10.2.1-0.20210130.1 BuildRequires: binutils >= 1:2.35.2-1 BuildRequires: meson >= 0.46 Requires(pre): filesystem >= 2.1.9-18 Requires(pre): shadow-utils Requires(pre): filesystem >= 2.1.9-18 Requires(post): system-release Requires(post): coreutils grep awk Requires: chkconfig >= 1.5 Requires: %{libname} = %{version}-%{release} Requires: systemd-units = %{version}-%{release} Requires: dbus >= 1.3.2 Requires: util-linux >= 2.18 Requires: nss-myhostname Conflicts: initscripts < 9.78-27 Provides: should-restart = system Provides: udev = %{version}-%{release} Obsoletes: udev < 185 Provides: u2f-hidraw-policy = 1.0.2-1 Obsoletes: u2f-hidraw-policy < 1.0.2-2 Provides: systemd-sysvinit = %{version}-%{release} Conflicts: systemd-sysvinit < 185 Obsoletes: systemd-sysvinit < 185 Provides: systemd-sysv = %{version}-%{release} Provides: sysvinit = 2.87-22 Obsoletes: sysvinit < 2.87-22 Conflicts: SysVinit # Due to halt/poweroff etc. in _bindir Conflicts: usermode-consoleonly < 1:1.110 Provides: system-logger # (blino) consolekit has been replaced by systemd-logind Obsoletes: consolekit Obsoletes: consolekit-x11 Obsoletes: libconsolekit0 Obsoletes: lib64consolekit0 Obsoletes: systemd-tools Obsoletes: gummiboot # (ngompa): For moving rpm macros to main package (like Fedora, openSUSE, etc.) Conflicts: systemd < 236-1 Conflicts: systemd-devel < 236-1 # (tmb) systemd-repart moved to main package Conflicts: systemd-homed < 245-3 # Conflict with mageia-release prior to presets Conflicts: mageia-release < 7-0.2 # Merge back units subpkg: Conflicts: systemd-units <= 245.4-4.mga8 Obsoletes: systemd-units <= 245.4-4.mga8 Provides: systemd-units = %{version}-%{release} %description systemd is a system and session manager for Linux, compatible with SysV and LSB init scripts. systemd 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 cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. %if %{with homed} %package homed Summary: systemd homed support Group: System/Boot and Init Requires: %{name} = %{version}-%{release} %description homed Systemd-homed makes it easier to support migratable home directories, more self containment within home directories, better password and encryption handling, %endif %package devel Summary: Systemd development files Group: Development/C Conflicts: %{name} <= 35-4 Requires: %{libname} = %{version}-%{release} # (ngompa): For moving rpm macros to main package (like Fedora, openSUSE, etc.) Conflicts: systemd < 236-1 Conflicts: systemd-devel < 236-1 %description devel This package provides the development files for systemd. %package tests Summary: Internal unit tests for systemd Group: Development/Other Requires: %{name} = %{version}-%{release} %description tests "Installed tests" that are usually run as part of the build system. They can be useful to test systemd internals. %package -n nss-myhostname Summary: systemd provided glibc plugin for local system host name resolution Group: System/Base # (pterjan) Moved nss-systemd man pages here Conflicts: systemd < 236-4 %description -n nss-myhostname nss-myhostname is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) providing host name resolution for the locally configured system hostname as returned by gethostname(2). Various software relies on an always resolvable local host name. When using dynamic hostnames this is usually achieved by patching /etc/hosts at the same time as changing the host name. This however is not ideal since it requires a writable /etc file system and is fragile because the file might be edited by the administrator at the same time. nss-myhostname simply returns all locally configure public IP addresses, or -- if none are configured -- the IPv4 address 127.0.0.2 (wich is on the local loopback) and the IPv6 address ::1 (which is the local host) for whatever system hostname is configured locally. Patching /etc/hosts is thus no longer necessary. %package -n %{libname} Summary: Systemd library package Group: System/Libraries %description -n %{libname} This package provides the systemd shared library. %package -n %{libudev} Summary: udev library package Group: System/Libraries Requires(pre): filesystem >= 2.1.9-18 %description -n %{libudev} This package provides the udev shared library. %package -n %{libudev_devel} Summary: udev library development files Group: Development/C Requires: %{libudev} = %{version}-%{release} Provides: udev-devel = %{version}-%{release} Provides: libudev-devel = %{version}-%{release} %description -n %{libudev_devel} This package provides the development files for the udev shared library. %prep %if 0%{systemd_patch} %autosetup -n %{name}-stable-%{version} -S git %else %autosetup -S git %endif find src/ -name "*.vala" -exec touch '{}' \; %build %define ntpvendor %(source /etc/os-release; echo ${ID}) %{!?ntpvendor: echo 'NTP vendor zone is not set!'; exit 1} CONFIGURE_OPTS=( -Dsysvinit-path=/etc/rc.d/init.d -Drc-local=/etc/rc.d/rc.local -Ddev-kvm-mode=0666 -Dkmod=true -Dxkbcommon=true -Dblkid=true -Dseccomp=true -Dima=true -Dselinux=%{?with_selinux:true}%{!?with_selinux:false} -Dapparmor=false -Dpolkit=true -Dxz=true -Dzlib=true -Dbzip2=true -Dlz4=true -Dpam=true -Dacl=true -Dsmack=true -Dgcrypt=true -Daudit=true -Delfutils=true -Dlibcryptsetup=true -Delfutils=true -Dqrencode=true -Dgnutls=true -Dmicrohttpd=true -Dlibidn2=true -Dlibiptc=true -Dlibcurl=true -Defi=true %ifarch %{ix86} x86_64 -Dgnu-efi=true %else -Dgnu-efi=false %endif -Dtpm=true -Dhwdb=true -Dsysusers=true -Ddefault-kill-user-processes=false -Dtests=unsafe -Dinstall-tests=true -Dtty-gid=5 -Dusers-gid=100 -Dnobody-user=nobody -Dnobody-group=nogroup -Dsystem-uid-max=999 -Dsystem-gid-max=999 -Db_lto=true -Db_ndebug=false -Dman=true -Dhomed=%{?with_homed:true}%{!?with_homed:false} -Dpamconfdir=%{_sysconfdir}/pam.d ) # (tv) "fix" build with gcc8: perl -pi -e 'undef $_ if /PIE|-pie/' meson.build %meson "${CONFIGURE_OPTS[@]}" %meson_build %install %meson_install find %{buildroot} \( -name '*.a' -o -name '*.la' \) -exec rm {} \; # (cg) Create and ship folder to hold user rules install -d -m 755 %{buildroot}%{_sysconfdir}/udev/rules.d install -m 644 %SOURCE10 %{buildroot}%{_prefix}/lib/udev/rules.d/ install -m 644 %SOURCE11 %{buildroot}%{_prefix}/lib/udev/rules.d/ # udev rules for zte 3g modems and drakx-net install -m 0644 %SOURCE12 %{buildroot}%{_prefix}/lib/udev/rules.d/ # net rules install -m 0644 %SOURCE20 %{buildroot}%{_prefix}/lib/udev/rules.d/ install -m 0755 %SOURCE21 %{buildroot}%{_prefix}/lib/udev/net_create_ifcfg install -m 0755 %SOURCE22 %{buildroot}%{_prefix}/lib/udev/net_action install -m 0755 -d %{buildroot}%{_sysconfdir}/sysconfig install -m 0644 %SOURCE23 %{buildroot}%{_sysconfdir}/sysconfig/udev_net # Create SysV compatibility symlinks. systemctl/systemd are smart # enough to detect in which way they are called. mkdir -p %{buildroot}{%{_bindir},%{_sbindir}} ln -s ../lib/systemd/systemd %{buildroot}%{_bindir}/systemd ln -s ../bin/systemctl %{buildroot}%{_bindir}/reboot ln -s ../bin/systemctl %{buildroot}%{_bindir}/halt ln -s ../bin/systemctl %{buildroot}%{_bindir}/poweroff # Also add a symlink for udevadm for now as lots of things use an absolute path ln -s ../bin/udevadm %{buildroot}%{_sbindir}/udevadm # (cg) To avoid making life hard for developers, don't package the # kernel.core_pattern setting until systemd-coredump is a part of an actual # systemd release and it's made clear how to get the core dumps out of the # journal. rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-coredump.conf # Compatiblity and documentation files touch %{buildroot}/etc/crypttab chmod 600 %{buildroot}/etc/crypttab # Make sure these directories are properly owned mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants # And the default symlink we generate automatically based on inittab rm -f %{buildroot}%{_sysconfdir}/systemd/system/default.target # (bor) make sure we own directory for bluez to install service mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/bluetooth.target.wants touch %{buildroot}%{_localstatedir}/log/{w,b}tmp # (cg) Set up the pager to make it generally more useful mkdir -p %{buildroot}%{_sysconfdir}/profile.d cat > %{buildroot}%{_sysconfdir}/profile.d/40systemd.sh << EOF export SYSTEMD_PAGER="/usr/bin/less -FR" EOF chmod 644 %{buildroot}%{_sysconfdir}/profile.d/40systemd.sh # (bor) enable rpcbind.target by default so we have something to plug # portmapper service into ln -s ../rpcbind.target %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants # create modules.conf as a symlink to /etc/ ln -s /etc/modules %{buildroot}%{_sysconfdir}/modules-load.d/modules.conf # 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}/timezone mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf mkdir -p %{buildroot}%{_sysconfdir}/udev touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # (cg) Make the journal's persistent in order to provide a real syslog implementation install -m 0755 -d %{buildroot}%{_logdir}/journal # (cg) Default preset policy # (for now, just a placeholder directory) mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset # This file is already in systemd-ui rpm rm -fr %{buildroot}%_mandir/man1/systemadm.* # we already have resolvconf rm -f %{buildroot}%{_sbindir}/resolvconf # (cg) These are the compat libs but we don't need them in cauldron. # All we need is the pkgconfig files so we can rebuild everything and # kill off the need for the old library packages (which will remain installed # and operational due to our packaging policy) for lib in daemon id128 journal login; do rm -f %{buildroot}%{_libdir}/libsystemd-$lib.so{,.0.*} done # (ngompa) Purge links to services in /etc/systemd/system # It *shouldn't* break anything, but if it does, we'll recreate elsewhere.. rm -rf %{buildroot}%{_sysconfdir}/systemd/system/* %find_lang %{name} %if %{with check} %check if [ `systemd-detect-virt -c` == "systemd-nspawn" ]; then echo "Skipping package tests because of issues in mock nspawn containers" exit 0 else %meson_test fi %endif %triggerin -- glibc # reexec daemon on self or glibc update to avoid busy / on shutdown # trigger is executed on both self and target install so no need to have # extra own post if [ $1 -ge 2 -o $2 -ge 2 ] ; then %{_bindir}/systemctl daemon-reexec 2>&1 || : fi %pre # (cg) Cannot use rpm-helper scripts as it results in a cyclical dep as # rpm-helper requires systemd-units which in turn requires systemd... getent group systemd-journal &>/dev/null || groupadd -r -g 190 systemd-journal 2>&1 || : getent group systemd-coredump &>/dev/null || groupadd -r systemd-coredump 2>&1 || : getent passwd systemd-coredump &>/dev/null || useradd -r -l -g systemd-coredump -d / -s /sbin/nologin -c "systemd Core Dumper" systemd-coredump &>/dev/null || : getent group systemd-network &>/dev/null || groupadd -r -g 192 systemd-network 2>&1 || : getent passwd systemd-network &>/dev/null || useradd -r -u 192 -l -g systemd-network -d / -s /sbin/nologin -c "systemd Network Management" systemd-network &>/dev/null || : getent group systemd-resolve &>/dev/null || groupadd -r -g 193 systemd-resolve 2>&1 || : getent passwd systemd-resolve &>/dev/null || useradd -r -u 193 -l -g systemd-resolve -d / -s /sbin/nologin -c "systemd Resolver" systemd-resolve &>/dev/null || : # Write on first install or upgrade from MGA3. if [ ! -r %{_prefix}/lib/sysctl.d/50-default.conf ]; then if [ ! -d %{_sysconfdir}/sysctl.d ]; then mkdir -m 0755 %{_sysconfdir}/sysctl.d fi cat > %{_sysconfdir}/sysctl.d/51-alt-sysrq.conf << EOF # This file ensures that the Alt+SysRq Magic keys still work. # This setting is insecure, although commonly expected and you can remove this # file to disable this feature. It will not be readded on future systemd # upgrades/updates. # http://en.wikipedia.org/wiki/Magic_SysRq_key#Security kernel.sysrq = 1 EOF fi %post %{_bindir}/systemd-machine-id-setup > /dev/null 2>&1 || : %{_prefix}/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : if [ $1 -eq 1 ] ; then # Try to read default runlevel from the old inittab if it exists runlevel=$(%{_bindir}/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) if [ -z "$runlevel" ] ; then target="%{_prefix}/lib/systemd/system/multi-user.target" else target="%{_prefix}/lib/systemd/system/runlevel$runlevel.target" fi # And symlink what we found to the new-style default.target %{_bindir}/ln -sf "$target" %{_sysconfdir}/systemd/system/default.target || : # Flag to %posttrans touch %{_sysconfdir}/systemd/.installing-units fi # (martinw) Run as posttrans as there was a circular dependency between systemd # and systemd-units (mga#22620). %posttrans if [ -f %{_sysconfdir}/systemd/.installing-units ] ; then rm -f %{_sysconfdir}/systemd/.installing-units # Enable the services we install by default. %{_bindir}/systemctl --quiet preset \ remote-fs.target \ getty@.service \ serial-getty@.service \ console-getty.service \ debug-shell.service \ systemd-timesyncd.service \ systemd-networkd.service \ systemd-networkd-wait-online.service \ systemd-resolved.service \ || : fi hostname_new=`cat %_sysconfdir/hostname 2>/dev/null` if [ -z $hostname_new ]; then hostname_old=`cat /etc/sysconfig/network 2>/dev/null | grep HOSTNAME | cut -d "=" -f2` if [ ! -z $hostname_old ]; then echo $hostname_old >> %_sysconfdir/hostname else echo "localhost" >> %_sysconfdir/hostname fi fi %preun if [ $1 -eq 0 ] ; then %{_bindir}/systemctl --quiet disable \ getty@.service \ remote-fs.target \ 2>&1 || : %{_bindir}/rm -f %_sysconfdir/systemd/system/default.target 2>&1 || : fi %postun if [ $1 -ge 1 ] ; then %{_bindir}/systemctl daemon-reload 2>&1 || : fi # automatic systemd daemon reload on rpm installs/removals %transfiletriggerin -- /usr/lib/systemd/system/ /etc/systemd/system/ /etc/init.d/ /etc/rc.d/init.d/ if [ -d %{_rundir}/systemd/system ]; then if [ -x %{_bindir}/systemctl ]; then %{_bindir}/systemctl daemon-reload >/dev/null 2>&1 || : fi fi # sysusers (make sure to run before tmpfiles) %transfiletriggerin -P 100700 -- /usr/lib/sysusers.d/ # TODO Make sysusers support --quiet %{_bindir}/systemd-sysusers || : # tmpfiles (make sure to run early just incase the tmpfiles created are needed by other filetriggers) %transfiletriggerin -P 100500 -- /usr/lib/tmpfiles.d/ %{_bindir}/systemd-tmpfiles --create || : # hwdb %transfiletriggerin -- /usr/lib/udev/hwdb.d/ exec %{_bindir}/systemd-hwdb update # journal catalog %transfiletriggerin -- /usr/lib/systemd/catalog/ exec %{_bindir}/journalctl --update-catalog %triggerpostun -- systemd-units <= 245.4-4.mga8 # fix the damage done by the obsoleted systemd-units's preun scriptlet: /bin/systemctl enable \ getty@.service \ remote-fs.target %files -f %{name}.lang # (cg) Note some of these directories are empty, but that is intended %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/tmpfiles.d %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/modules-load.d %dir %{_sysconfdir}/binfmt.d %dir %{_datadir}/bash-completion %dir %{_prefix}/lib/systemd %{_datadir}/bash-completion/completions %{_datadir}/zsh/site-functions %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/system-preset %{_prefix}/lib/systemd/user %{_prefix}/lib/systemd/user-preset %{_prefix}/lib/environment.d/99-environment.conf %{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/user-environment-generators/30-systemd-environment-d-generator %dir %{_prefix}/lib/modprobe.d %{_prefix}/lib/modprobe.d/systemd.conf %ifarch %{ix86} x86_64 %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %endif %dir %{_prefix}/lib/systemd/network %dir %{_prefix}/lib/systemd/ntp-units.d %dir %{_prefix}/lib/systemd/portable %dir %{_prefix}/lib/systemd/portable/profile %dir %{_prefix}/lib/systemd/portable/profile/default %dir %{_prefix}/lib/systemd/portable/profile/nonetwork %dir %{_prefix}/lib/systemd/portable/profile/strict %dir %{_prefix}/lib/systemd/portable/profile/trusted %dir %{_prefix}/lib/systemd/system-generators %dir %{_prefix}/lib/systemd/system-shutdown %dir %{_prefix}/lib/systemd/system-sleep %dir %{_prefix}/lib/systemd/user-generators %dir %{_prefix}/lib/tmpfiles.d %dir %{_prefix}/lib/sysctl.d %dir %{_prefix}/lib/modules-load.d %dir %{_prefix}/lib/kernel %dir %{_prefix}/lib/kernel/install.d %dir %{_prefix}/lib/binfmt.d %config(noreplace) %{_sysconfdir}/sysconfig/udev_net %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf %config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %config(noreplace) %{_sysconfdir}/systemd/networkd.conf %config(noreplace) %{_sysconfdir}/systemd/pstore.conf %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %config(noreplace) %{_sysconfdir}/systemd/sleep.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/udev/udev.conf %{_sysconfdir}/profile.d/40systemd.sh %{_sysconfdir}/modules-load.d/*.conf %ghost %{_sysconfdir}/udev/hwdb.bin %{_sysconfdir}/xdg/systemd %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/crypttab %ghost %config(noreplace) %{_sysconfdir}/hostname %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf %ghost %config(noreplace) %{_sysconfdir}/machine-id %ghost %config(noreplace) %{_sysconfdir}/machine-info %ghost %config(noreplace) %{_sysconfdir}/timezone %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %attr(0664,root,utmp) /var/log/btmp %ghost %attr(0664,root,utmp) /var/log/wtmp # (cg) NB dbus policy files are not really config that users are expected to # edit manually and thus should NOT be marked as config(noreplace). # This should really be fixed in upstream dbus (work in progress) # to separate these policy files from /etc and ship them in /usr instead # but allow override by admins by copying to /etc. # There are security implications here (CVE's have been issued due to mistakes # in these type of files) %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %{_sysconfdir}/pam.d/%{name}-user %dir %{_sysconfdir}/udev/rules.d %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %ifarch %{ix86} x86_64 %{_prefix}/lib/systemd/boot/efi/linux*.efi.stub %{_prefix}/lib/systemd/boot/efi/systemd-boot*.efi %endif %{_prefix}/lib/systemd/import-pubring.gpg %{_prefix}/lib/systemd/network/80-container-host0.network %{_prefix}/lib/systemd/network/80-container-ve.network %{_prefix}/lib/systemd/network/80-container-vz.network %{_prefix}/lib/systemd/network/80-vm-vt.network %{_prefix}/lib/systemd/network/80-wifi-adhoc.network %{_prefix}/lib/systemd/network/80-wifi-ap.network.example %{_prefix}/lib/systemd/network/80-wifi-station.network.example %{_prefix}/lib/systemd/network/99-default.link %{_prefix}/lib/systemd/ntp-units.d/80-systemd-timesync.list %{_prefix}/lib/systemd/portable/profile/default/service.conf %{_prefix}/lib/systemd/portable/profile/nonetwork/service.conf %{_prefix}/lib/systemd/portable/profile/strict/service.conf %{_prefix}/lib/systemd/portable/profile/trusted/service.conf #{_prefix}/lib/sysctl.d/50-coredump.conf # (cg) NB See pre script for soemthing that relies on this name... # If it is ever renamed, change the pre script too %{_prefix}/lib/sysctl.d/50-default.conf %ifarch x86_64 aarch64 %{_prefix}/lib/sysctl.d/50-pid-max.conf %endif %{_prefix}/lib/sysusers.d/basic.conf %{_prefix}/lib/sysusers.d/systemd.conf %{_prefix}/lib/sysusers.d/systemd-remote.conf %{_prefix}/lib/tmpfiles.d/etc.conf %{_prefix}/lib/tmpfiles.d/home.conf %{_prefix}/lib/tmpfiles.d/journal-nocow.conf %{_prefix}/lib/tmpfiles.d/legacy.conf %{_prefix}/lib/tmpfiles.d/portables.conf %{_prefix}/lib/tmpfiles.d/static-nodes-permissions.conf %{_prefix}/lib/tmpfiles.d/systemd.conf %{_prefix}/lib/tmpfiles.d/systemd-nologin.conf %{_prefix}/lib/tmpfiles.d/systemd-nspawn.conf %{_prefix}/lib/tmpfiles.d/systemd-pstore.conf %{_prefix}/lib/tmpfiles.d/systemd-tmp.conf %{_prefix}/lib/tmpfiles.d/tmp.conf %{_prefix}/lib/tmpfiles.d/var.conf %{_prefix}/lib/tmpfiles.d/x11.conf %{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_bindir}/bootctl %{_bindir}/busctl %{_bindir}/coredumpctl %{_bindir}/halt %{_bindir}/hostnamectl %{_bindir}/journalctl %{_bindir}/kernel-install %{_bindir}/localectl %{_bindir}/loginctl %{_bindir}/machinectl %{_bindir}/networkctl %{_bindir}/portablectl %{_bindir}/poweroff %{_bindir}/reboot %{_bindir}/resolvectl %{_bindir}/systemd %{_bindir}/systemd-ask-password %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot %{_bindir}/systemd-hwdb %{_bindir}/systemd-id128 %{_bindir}/systemd-inhibit %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-path %{_bindir}/systemd-run %{_bindir}/systemd-resolve %{_bindir}/systemd-sysusers %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl %{_bindir}/userdbctl %{_sbindir}/halt %{_sbindir}/init %{_sbindir}/poweroff %{_sbindir}/reboot #{_sbindir}/resolvconf %{_sbindir}/runlevel %{_sbindir}/shutdown %{_sbindir}/telinit %{_sbindir}/udevadm %{_prefix}/lib/systemd/systemd* %{_prefix}/lib/systemd/libsystemd-shared-%{systemd_branch}.so %{_prefix}/lib/systemd/system-generators/systemd-* %{_prefix}/lib/systemd/user-generators/systemd-* %{_prefix}/lib/udev %{_libdir}/security/pam_systemd.so %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-cat %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-delta %{_bindir}/systemd-detect-virt %{_bindir}/systemd-nspawn %{_bindir}/systemd-repart %{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/udevadm %dir %{_datadir}/systemd %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map %dir %{_datadir}/systemd/gatewayd %{_datadir}/systemd/gatewayd/browse.html %{_mandir}/man1/bootctl.* %{_mandir}/man1/busctl.* %{_mandir}/man1/coredumpctl.* %{_mandir}/man1/hostnamectl.* %{_mandir}/man1/init.* %{_mandir}/man1/journalctl.* %{_mandir}/man1/localectl.* %{_mandir}/man1/loginctl.* %{_mandir}/man1/machinectl.* %{_mandir}/man1/networkctl.* %{_mandir}/man1/portablectl.* %{_mandir}/man1/resolvconf.* %{_mandir}/man1/resolvectl.* %{_mandir}/man1/systemctl.* %{_mandir}/man1/systemd.* %{_mandir}/man1/systemd-* %{_mandir}/man1/timedatectl.* %{_mandir}/man1/userdbctl.1.* %{_mandir}/man3/* %{_mandir}/man5/* %{_mandir}/man7/* %{_mandir}/man8/30-systemd-environment-d-generator.8.* %{_mandir}/man8/halt.* %{_mandir}/man8/kernel-install.* %{_mandir}/man8/shutdown.* %{_mandir}/man8/pam_systemd.* %{_mandir}/man8/poweroff.* %{_mandir}/man8/reboot.* %{_mandir}/man8/runlevel.* %{_mandir}/man8/systemd-* %{_mandir}/man8/telinit.* %{_mandir}/man8/udevadm.* %{_sysconfdir}/rc.d/init.d/README %{_logdir}/README %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service %dir %{_datadir}/factory %dir %{_datadir}/factory/etc %{_datadir}/factory/etc/issue %{_datadir}/factory/etc/nsswitch.conf %dir %{_datadir}/factory/etc/pam.d %{_datadir}/factory/etc/pam.d/other %{_datadir}/factory/etc/pam.d/system-auth %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/rules.d/systemd-networkd.rules %{_docdir}/systemd %{_prefix}/lib/systemd/catalog/systemd.catalog # For RPM packages to utilize standard systemd runtime macros %{_prefix}/lib/rpm/macros.d/macros.systemd %lang(be) %{_prefix}/lib/systemd/catalog/systemd.be.catalog %lang(be@latin) %{_prefix}/lib/systemd/catalog/systemd.be@latin.catalog %lang(bg) %{_prefix}/lib/systemd/catalog/systemd.bg.catalog %lang(de) %{_prefix}/lib/systemd/catalog/systemd.de.catalog %lang(fr) %{_prefix}/lib/systemd/catalog/systemd.fr.catalog %lang(it) %{_prefix}/lib/systemd/catalog/systemd.it.catalog %lang(pl) %{_prefix}/lib/systemd/catalog/systemd.pl.catalog %lang(pt_BR) %{_prefix}/lib/systemd/catalog/systemd.pt_BR.catalog %lang(ru) %{_prefix}/lib/systemd/catalog/systemd.ru.catalog %lang(zh_CN) %{_prefix}/lib/systemd/catalog/systemd.zh_CN.catalog %lang(zh_TW) %{_prefix}/lib/systemd/catalog/systemd.zh_TW.catalog %attr(02755,root,systemd-journal) %dir %{_logdir}/journal %if %{with homed} %files homed %{_bindir}/homectl %{_libdir}/security/pam_systemd_home.so %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy %{_mandir}/man1/homectl.1.* %{_mandir}/man8/pam_systemd_home.8.* %config(noreplace) %{_sysconfdir}/systemd/homed.conf %endif %files devel %{_includedir}/systemd %{_libdir}/libsystemd*.so %{_libdir}/pkgconfig/libsystemd*.pc # For allowing applications to find systemd runtime paths %{_datadir}/pkgconfig/systemd.pc %files tests %{_prefix}/lib/systemd/tests/ %files -n nss-myhostname %{_mandir}/man8/nss-myhostname.* %{_mandir}/man8/libnss_myhostname.so.2.* %{_libdir}/libnss_myhostname.so.2 # (cg) Yes, this is a hack for now, I'll likely rename the package to just lib[64]systemd-nss2 or something... %{_mandir}/man8/nss-mymachines.* %{_mandir}/man8/libnss_mymachines.so.2.* %{_libdir}/libnss_mymachines.so.2 %{_mandir}/man8/nss-resolve.* %{_mandir}/man8/libnss_resolve.so.2.* %{_libdir}/libnss_resolve.so.2 %{_mandir}/man8/nss-systemd.8.* %{_mandir}/man8/libnss_systemd.so.2.* %{_libdir}/libnss_systemd.so.2 %files -n %{libname} %{_libdir}/libsystemd.so.%{libsystemd_major}{,.*} %files -n %{libudev} %{_libdir}/libudev.so.%{libudev_major}{,.*} %files -n %{libudev_devel} %{_libdir}/libudev.so %{_includedir}/libudev.h %{_datadir}/pkgconfig/udev.pc %{_libdir}/pkgconfig/libudev.pc