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