From 4ba6d39d9341767831cc69899265d1082ea9374a22279f238a242380f0fe861b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 6 Feb 2018 15:23:04 +0000 Subject: [PATCH] Accepting request 573381 from home:fbui:systemd:Factory - Switch to Meson build system Some rearrangement in the file list was also needed. That was probably due to the upgrade of rpm. - Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 2a181fc6f insserv-generator: make it build with meson 7b0401da4 build-sys: don't build networkctl if networkd is disabled - Don't build-require selinux for the mini package - Drop libgcrypt.m4 The mini package builds fine without it so it doesn't seem necessary anymore. - Import commit 846d838c37865da60eba48090e570e959291399f b1e0a348d fileio: include sys/mman.h f1fa784cb meson: update header file to detect memfd_create() 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" (the 3 first commits make systemd build against glibc 2.27) - Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" 23ce1207a meson.build: make docdir configurable (#8068) - Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 OBS-URL: https://build.opensuse.org/request/show/573381 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1009 --- ...make-path_id_compat-build-with-meson.patch | 41 ++++ libgcrypt.m4 | 123 ------------ systemd-234.tar.xz | 4 +- systemd-mini.changes | 49 +++++ systemd-mini.spec | 175 ++++++++---------- systemd.changes | 49 +++++ systemd.spec | 175 ++++++++---------- 7 files changed, 291 insertions(+), 325 deletions(-) create mode 100644 0001-compat-rules-make-path_id_compat-build-with-meson.patch delete mode 100644 libgcrypt.m4 diff --git a/0001-compat-rules-make-path_id_compat-build-with-meson.patch b/0001-compat-rules-make-path_id_compat-build-with-meson.patch new file mode 100644 index 00000000..deecae15 --- /dev/null +++ b/0001-compat-rules-make-path_id_compat-build-with-meson.patch @@ -0,0 +1,41 @@ +From 1cbe23da27e68bd3c7ca2a2fe6007d9a53533de9 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 2 Feb 2018 17:58:19 +0100 +Subject: [PATCH 1/1] compat-rules: make path_id_compat build with meson + +--- + src/udev/compat/meson.build | 11 +++++++++++ + src/udev/meson.build | 2 ++ + 2 files changed, 13 insertions(+) + create mode 100644 src/udev/compat/meson.build + +diff --git a/src/udev/compat/meson.build b/src/udev/compat/meson.build +new file mode 100644 +index 000000000..0d77da2e1 +--- /dev/null ++++ b/src/udev/compat/meson.build +@@ -0,0 +1,11 @@ ++foreach prog : ['path_id_compat.c'] ++ ++ executable(prog.split('.')[0], ++ prog, ++ include_directories : includes, ++ c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], ++ link_with : [libudev_internal], ++ install_rpath : udev_rpath, ++ install : true, ++ install_dir : udevlibexecdir) ++endforeach +diff --git a/src/udev/meson.build b/src/udev/meson.build +index 13cd26bb8..4aa431ecc 100644 +--- a/src/udev/meson.build ++++ b/src/udev/meson.build +@@ -151,3 +151,5 @@ install_data(udev_pc, + + meson.add_install_script('sh', '-c', + mkdir_p.format(join_paths(sysconfdir, 'udev/rules.d'))) ++ ++subdir('compat') +-- +2.15.1 + diff --git a/libgcrypt.m4 b/libgcrypt.m4 deleted file mode 100644 index b0aeccd2..00000000 --- a/libgcrypt.m4 +++ /dev/null @@ -1,123 +0,0 @@ -dnl Autoconf macros for libgcrypt -dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc. -dnl -dnl This file is free software; as a special exception the author gives -dnl unlimited permission to copy and/or distribute it, with or without -dnl modifications, as long as this notice is preserved. -dnl -dnl This file is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, -dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. -dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed -dnl with the API version to also check the API compatibility. Example: -dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed -dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using -dnl this features allows to prevent build against newer versions of libgcrypt -dnl with a changed API. -dnl -AC_DEFUN([AM_PATH_LIBGCRYPT], -[ AC_ARG_WITH(libgcrypt-prefix, - AC_HELP_STRING([--with-libgcrypt-prefix=PFX], - [prefix where LIBGCRYPT is installed (optional)]), - libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") - if test x$libgcrypt_config_prefix != x ; then - if test x${LIBGCRYPT_CONFIG+set} != xset ; then - LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config - fi - fi - - AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no) - tmp=ifelse([$1], ,1:1.2.0,$1) - if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then - req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` - min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` - else - req_libgcrypt_api=0 - min_libgcrypt_version="$tmp" - fi - - AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version) - ok=no - if test "$LIBGCRYPT_CONFIG" != "no" ; then - req_major=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - req_micro=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` - major=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - micro=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -gt "$req_minor"; then - ok=yes - else - if test "$minor" -eq "$req_minor"; then - if test "$micro" -ge "$req_micro"; then - ok=yes - fi - fi - fi - fi - fi - fi - if test $ok = yes; then - AC_MSG_RESULT([yes ($libgcrypt_config_version)]) - else - AC_MSG_RESULT(no) - fi - if test $ok = yes; then - # If we have a recent libgcrypt, we should also check that the - # API is compatible - if test "$req_libgcrypt_api" -gt 0 ; then - tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` - if test "$tmp" -gt 0 ; then - AC_MSG_CHECKING([LIBGCRYPT API version]) - if test "$req_libgcrypt_api" -eq "$tmp" ; then - AC_MSG_RESULT([okay]) - else - ok=no - AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp]) - fi - fi - fi - fi - if test $ok = yes; then - LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` - LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` - ifelse([$2], , :, [$2]) - if test x"$host" != x ; then - libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` - if test x"$libgcrypt_config_host" != xnone ; then - if test x"$libgcrypt_config_host" != x"$host" ; then - AC_MSG_WARN([[ -*** -*** The config script $LIBGCRYPT_CONFIG was -*** built for $libgcrypt_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libgcrypt-prefix -*** to specify a matching config script. -***]]) - fi - fi - fi - else - LIBGCRYPT_CFLAGS="" - LIBGCRYPT_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(LIBGCRYPT_CFLAGS) - AC_SUBST(LIBGCRYPT_LIBS) -]) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 75985aaa..ff0ac11c 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99fb2aa924449a90db2431507c82cb778a7563e22de08f1ac8e9e77c30c06fc3 -size 3353804 +oid sha256:67c4157ca16b0e7ee1d02b11463df889aac4f25f682388357da029125eb3e367 +size 3353968 diff --git a/systemd-mini.changes b/systemd-mini.changes index 0fd8a7e7..6c780916 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com + +- Switch to Meson build system + + Some rearrangement in the file list was also needed. That was + probably due to the upgrade of rpm. + +------------------------------------------------------------------- +Tue Feb 6 14:54:57 UTC 2018 - fbui@suse.com + +- Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 + + 2a181fc6f insserv-generator: make it build with meson + 7b0401da4 build-sys: don't build networkctl if networkd is disabled + +------------------------------------------------------------------- +Tue Feb 6 09:27:59 UTC 2018 - fbui@suse.com + +- Don't build-require selinux for the mini package + +------------------------------------------------------------------- +Tue Feb 6 08:56:33 UTC 2018 - fbui@suse.com + +- Drop libgcrypt.m4 + + The mini package builds fine without it so it doesn't seem necessary + anymore. + +------------------------------------------------------------------- +Mon Feb 5 20:25:31 UTC 2018 - fbui@suse.com + +- Import commit 846d838c37865da60eba48090e570e959291399f + + b1e0a348d fileio: include sys/mman.h + f1fa784cb meson: update header file to detect memfd_create() + 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) + 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" + + (the 3 first commits make systemd build against glibc 2.27) + +------------------------------------------------------------------- +Mon Feb 5 10:01:37 UTC 2018 - fbui@suse.com + +- Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 + + 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" + 23ce1207a meson.build: make docdir configurable (#8068) + ------------------------------------------------------------------- Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 7b940175..7f69f828 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -69,6 +69,7 @@ BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 %endif BuildRequires: fdupes BuildRequires: gperf @@ -76,8 +77,8 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: libsepol-devel -BuildRequires: libtool +BuildRequires: m4 +BuildRequires: meson >= 0.43 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -87,8 +88,6 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -144,7 +143,6 @@ Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf -Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy @@ -162,8 +160,7 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. - -# Empty +Patch1: 0001-compat-rules-make-path_id_compat-build-with-meson.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -408,64 +405,53 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -# %autopatch -p1 - -# only needed for bootstrap -%if 0%{?bootstrap} -cp %{SOURCE7} m4/ -%endif +%autopatch -p1 %build -./autogen.sh - # keep split-usr until all packages have moved their systemd rules to /usr -%configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ +%meson \ + -Ddocdir=%{_docdir}/systemd \ + -Drootprefix=/usr \ + -Dsplit-usr=true \ + -Dpamlibdir=/%{_lib}/security \ + -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Dcertificate-root=%{_sysconfdir}/pki/systemd \ + -Ddefault-hierarchy=hybrid \ + -Ddefault-kill-user-processes=false \ + -Drc-local=/etc/init.d/boot.local \ + -Dhalt-local=/etc/init.d/halt.local \ + -Ddebug-shell=/bin/bash \ + -Dselinux=auto \ + -Dapparmor=auto \ + -Dsmack=false \ + -Dima=false \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + -Dman=false \ + -Dhtml=false \ + -Dmyhostname=false \ %endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-lto \ - --disable-tests \ - --without-kill-user-processes \ - --with-default-hierarchy=hybrid \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ - --disable-ldconfig \ - --disable-gshadow \ %if %{without networkd} - --disable-networkd \ -%endif -%if %{without machined} - --disable-machined \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + -Dnetworkd=false \ %endif %if %{without resolved} - --disable-resolved \ + -Dresolve=false \ %endif - --disable-kdbus +%if %{without machined} + -Dmachined=false \ +%endif +%if %{without sysvcompat} + -Dsysvinit-path= \ + -Dsysvrcnd-path= \ +%endif + -Dadm-group=false \ + -Dwheel-group=false \ + -Dgshadow=false \ + -Dldconfig=false -%make_build V=e +%meson_build %install -%make_install -find %{buildroot} -type f -name '*.la' -delete +%meson_install # move to %{_lib} %if ! 0%{?bootstrap} @@ -481,13 +467,12 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't @@ -529,10 +514,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# Remove .so file for the shared library, it's not supposed to be -# used. -rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -902,14 +883,16 @@ fi %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/systemd-udevd +%if %{with journal_remote} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload +%endif +%exclude %{_prefix}/lib/systemd/systemd-sysv* +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service @@ -963,11 +946,13 @@ fi %{_libexecdir}/modules-load.d/sg.conf %{_libexecdir}/sysusers.d/ -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf - %dir %{_sysconfdir}/tmpfiles.d %{_libexecdir}/tmpfiles.d/ + +%if %{with journal_remote} +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%endif %{_libexecdir}/environment.d/ @@ -981,12 +966,12 @@ fi %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%if %{with networkd} %dir %{_sysconfdir}/systemd/network +%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -1001,27 +986,33 @@ fi %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/system.d +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services + +%{_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.systemd1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %if %{with machined} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %endif -# Some files created by us. +# Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1032,31 +1023,13 @@ fi %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname -%if %{with networkd} -%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname -%endif -%if %{with resolved} -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if %{with machined} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname -%endif -%if %{with importd} -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%endif - %{_datadir}/systemd %{_datadir}/factory -%exclude %{_datadir}/systemd/gatewayd -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%if %{with journal_remote} +%exclude %{_datadir}/systemd/gatewayd +%endif + %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1206,7 +1179,9 @@ fi %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link +%if %{with networkd} %{_prefix}/lib/systemd/network/*.network +%endif %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini} diff --git a/systemd.changes b/systemd.changes index 0fd8a7e7..6c780916 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com + +- Switch to Meson build system + + Some rearrangement in the file list was also needed. That was + probably due to the upgrade of rpm. + +------------------------------------------------------------------- +Tue Feb 6 14:54:57 UTC 2018 - fbui@suse.com + +- Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 + + 2a181fc6f insserv-generator: make it build with meson + 7b0401da4 build-sys: don't build networkctl if networkd is disabled + +------------------------------------------------------------------- +Tue Feb 6 09:27:59 UTC 2018 - fbui@suse.com + +- Don't build-require selinux for the mini package + +------------------------------------------------------------------- +Tue Feb 6 08:56:33 UTC 2018 - fbui@suse.com + +- Drop libgcrypt.m4 + + The mini package builds fine without it so it doesn't seem necessary + anymore. + +------------------------------------------------------------------- +Mon Feb 5 20:25:31 UTC 2018 - fbui@suse.com + +- Import commit 846d838c37865da60eba48090e570e959291399f + + b1e0a348d fileio: include sys/mman.h + f1fa784cb meson: update header file to detect memfd_create() + 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) + 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" + + (the 3 first commits make systemd build against glibc 2.27) + +------------------------------------------------------------------- +Mon Feb 5 10:01:37 UTC 2018 - fbui@suse.com + +- Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 + + 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" + 23ce1207a meson.build: make docdir configurable (#8068) + ------------------------------------------------------------------- Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 80b8c033..71ffddc6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -67,6 +67,7 @@ BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 %endif BuildRequires: fdupes BuildRequires: gperf @@ -74,8 +75,8 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: libsepol-devel -BuildRequires: libtool +BuildRequires: m4 +BuildRequires: meson >= 0.43 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -85,8 +86,6 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -142,7 +141,6 @@ Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf -Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy @@ -160,8 +158,7 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. - -# Empty +Patch1: 0001-compat-rules-make-path_id_compat-build-with-meson.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -406,64 +403,53 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -# %autopatch -p1 - -# only needed for bootstrap -%if 0%{?bootstrap} -cp %{SOURCE7} m4/ -%endif +%autopatch -p1 %build -./autogen.sh - # keep split-usr until all packages have moved their systemd rules to /usr -%configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ +%meson \ + -Ddocdir=%{_docdir}/systemd \ + -Drootprefix=/usr \ + -Dsplit-usr=true \ + -Dpamlibdir=/%{_lib}/security \ + -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Dcertificate-root=%{_sysconfdir}/pki/systemd \ + -Ddefault-hierarchy=hybrid \ + -Ddefault-kill-user-processes=false \ + -Drc-local=/etc/init.d/boot.local \ + -Dhalt-local=/etc/init.d/halt.local \ + -Ddebug-shell=/bin/bash \ + -Dselinux=auto \ + -Dapparmor=auto \ + -Dsmack=false \ + -Dima=false \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + -Dman=false \ + -Dhtml=false \ + -Dmyhostname=false \ %endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-lto \ - --disable-tests \ - --without-kill-user-processes \ - --with-default-hierarchy=hybrid \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ - --disable-ldconfig \ - --disable-gshadow \ %if %{without networkd} - --disable-networkd \ -%endif -%if %{without machined} - --disable-machined \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + -Dnetworkd=false \ %endif %if %{without resolved} - --disable-resolved \ + -Dresolve=false \ %endif - --disable-kdbus +%if %{without machined} + -Dmachined=false \ +%endif +%if %{without sysvcompat} + -Dsysvinit-path= \ + -Dsysvrcnd-path= \ +%endif + -Dadm-group=false \ + -Dwheel-group=false \ + -Dgshadow=false \ + -Dldconfig=false -%make_build V=e +%meson_build %install -%make_install -find %{buildroot} -type f -name '*.la' -delete +%meson_install # move to %{_lib} %if ! 0%{?bootstrap} @@ -479,13 +465,12 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't @@ -527,10 +512,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# Remove .so file for the shared library, it's not supposed to be -# used. -rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -900,14 +881,16 @@ fi %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/systemd-udevd +%if %{with journal_remote} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload +%endif +%exclude %{_prefix}/lib/systemd/systemd-sysv* +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service @@ -961,11 +944,13 @@ fi %{_libexecdir}/modules-load.d/sg.conf %{_libexecdir}/sysusers.d/ -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf - %dir %{_sysconfdir}/tmpfiles.d %{_libexecdir}/tmpfiles.d/ + +%if %{with journal_remote} +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%endif %{_libexecdir}/environment.d/ @@ -979,12 +964,12 @@ fi %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%if %{with networkd} %dir %{_sysconfdir}/systemd/network +%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -999,27 +984,33 @@ fi %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/system.d +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services + +%{_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.systemd1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %if %{with machined} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %endif -# Some files created by us. +# Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1030,31 +1021,13 @@ fi %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname -%if %{with networkd} -%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname -%endif -%if %{with resolved} -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if %{with machined} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname -%endif -%if %{with importd} -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%endif - %{_datadir}/systemd %{_datadir}/factory -%exclude %{_datadir}/systemd/gatewayd -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%if %{with journal_remote} +%exclude %{_datadir}/systemd/gatewayd +%endif + %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1204,7 +1177,9 @@ fi %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link +%if %{with networkd} %{_prefix}/lib/systemd/network/*.network +%endif %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini}