From a95f14a72ed67f826802bb44714b0ec7dd9a2a11 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Feb 11 2024 19:31:41 +0000 Subject: Replace inplace macro with upstream macro Currently, the inplace macro only influences whether we use tools/meson-vcs-tag.sh to figure out the version instead of using the predefined one. But doing an inplace build shouldn't really affect the version, since it's possible to do an inplace builds that's not a git main upstream build, so the two concepts are disjoint. Instead, let's replace the "inplace" macro with an "upstream" macro to indicate that we're building from systemd git upstream. Aside from influencing the version, this also disables various patches and adds a libarchive dependency that was added upstream recently but isn't in an official release yet. --- diff --git a/README.build-in-place.md b/README.build-in-place.md index 8c444c5..df108d1 100644 --- a/README.build-in-place.md +++ b/README.build-in-place.md @@ -7,7 +7,7 @@ and his [talk during ASG2019](https://www.youtube.com/watch?v=fVM1kJrymRM). git clone https://github.com/systemd/systemd fedpkg clone systemd fedora-systemd cd systemd -rpmbuild -bb --build-in-place --noprep --define "_sourcedir $PWD/../fedora-systemd" --define "_rpmdir $PWD/rpms" --with inplace ../fedora-systemd/systemd.spec +rpmbuild -bb --build-in-place --noprep --define "_sourcedir $PWD/../fedora-systemd" --define "_rpmdir $PWD/rpms" --with upstream ../fedora-systemd/systemd.spec sudo dnf upgrade --setopt install_weak_deps=False rpms/*/*.rpm ``` diff --git a/systemd.spec b/systemd.spec index fe91d40..354678e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -28,13 +28,12 @@ %bcond tests 1 %bcond lto 1 -# Support for quick builds with rpmbuild --build-in-place. -# See README.build-in-place. -%bcond inplace 0 +# Build from git main +%bcond upstream 0 Name: systemd Url: https://systemd.io -%if %{without inplace} +%if %{without upstream} Version: 255.3 %else # determine the build information from local checkout @@ -100,6 +99,8 @@ GIT_DIR=../../src/systemd/.git git diffab -M v233..master@{2017-06-15} -- hwdb/[ # than in the next section. Packit CI will drop any patches in this range before # applying upstream pull requests. +%if %{without upstream} + # Work-around for dracut issue: run generators directly when we are in initrd # https://bugzilla.redhat.com/show_bug.cgi?id=2164404 # Drop when dracut-060 is available. @@ -115,6 +116,8 @@ Patch0491: https://github.com/systemd/systemd/pull/30846.patch # Adjust upstream config to use our shared stack Patch0499: fedora-use-system-auth-in-pam-systemd-user.patch +%endif + %ifarch %{ix86} x86_64 aarch64 %global want_bootloader 1 %endif @@ -206,6 +209,10 @@ BuildRequires: pkgconfig(bash-completion) BuildRequires: perl BuildRequires: perl(IPC::SysV) +%if %{with upstream} +BuildRequires: pkgconfig(libarchive) +%endif + %ifnarch %ix86 # bpftool is not built for i368 BuildRequires: bpftool @@ -282,6 +289,10 @@ Recommends: libelf.so.1(ELFUTILS_1.7)%{?elf_bits} Recommends: libcryptsetup.so.12%{?elf_suffix} Recommends: libcryptsetup.so.12(CRYPTSETUP_2.4)%{?elf_bits} +%if %{with upstream} +Recommends: libarchive.so.13%{?elf_suffix} +%endif + %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