diff --git a/.booth.metadata b/.booth.metadata
new file mode 100644
index 0000000..1930862
--- /dev/null
+++ b/.booth.metadata
@@ -0,0 +1 @@
+4813ede4a6bb517564a3b9f6fe523164a7362c5b SOURCES/booth-ac1d34c.tar.gz
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7b6f6dc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/booth-ac1d34c.tar.gz
diff --git a/SOURCES/0001-build-Do-not-link-with-pcmk-libraries.patch b/SOURCES/0001-build-Do-not-link-with-pcmk-libraries.patch
new file mode 100644
index 0000000..d731299
--- /dev/null
+++ b/SOURCES/0001-build-Do-not-link-with-pcmk-libraries.patch
@@ -0,0 +1,33 @@
+From 2f944ea46b1b39113a34ca586cd8e3cd8f0d1d70 Mon Sep 17 00:00:00 2001
+From: Jan Friesse <jfriesse@redhat.com>
+Date: Wed, 3 Jun 2020 15:04:56 +0200
+Subject: [PATCH] build: Do not link with pcmk libraries
+
+Patch 4205de05fe337d1b1127fae302e6e6c2f0613ccf introduced better way to
+check for pacemaker headers but also usage of PCMK_LIBS when linking
+boothd.
+
+This is not needed, because boothd uses just crm/services.h header file
+for inclusion of OCF return codes, so patch removes the use of PCMK_LIBS.
+
+Signed-off-by: Jan Friesse <jfriesse@redhat.com>
+---
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 8598725..4023791 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -23,7 +23,7 @@ boothd_SOURCES		+= auth.c
+ endif
+ 
+ boothd_LDFLAGS		= $(OS_DYFLAGS) -L./
+-boothd_LDADD		= -lm $(GLIB_LIBS) $(ZLIB_LIBS) $(PCMK_LIBS)
++boothd_LDADD		= -lm $(GLIB_LIBS) $(ZLIB_LIBS)
+ boothd_CFLAGS		= $(GLIB_CFLAGS) $(PCMK_CFLAGS)
+ 
+ if !LOGGING_LIBQB
+-- 
+2.18.2
+
diff --git a/SPECS/booth.spec b/SPECS/booth.spec
new file mode 100644
index 0000000..cb01e84
--- /dev/null
+++ b/SPECS/booth.spec
@@ -0,0 +1,357 @@
+# RPMs are split as follows:
+# * booth:
+#   - envelope package serving as a syntactic shortcut to install
+#     booth-site (with architecture reliably preserved)
+# * booth-core:
+#   - package serving as a base for booth-{arbitrator,site},
+#     carrying also basic documentation, license, etc.
+# * booth-arbitrator:
+#   - package to be installed at a machine accessible within HA cluster(s),
+#     but not (necessarily) a member of any, hence no dependency
+#     on anything from cluster stack is required
+# * booth-site:
+#   - package to be installed at a cluster member node
+#     (requires working cluster environment to be useful)
+# * booth-test:
+#   - files for testing booth
+#
+# TODO:
+# wireshark-dissector.lua currently of no use (rhbz#1259623), but if/when
+# this no longer persists, add -wireshark package (akin to libvirt-wireshark)
+
+%bcond_with html_man
+%bcond_with glue
+
+## User and group to use for nonprivileged services (should be in sync with pacemaker)
+%global uname hacluster
+%global gname haclient
+
+# Disable automatic compilation of Python files in extra directories
+%global _python_bytecompile_extra 0
+
+%global specver 6
+%global boothver 1.0
+# set following to the actual commit or, for final release, concatenate
+# "boothver" macro to "v" (will yield a tag per the convention)
+%global commit ac1d34ce172678a8f5ba415e976cf2366d45e15e
+%global lparen (
+%global rparen )
+%global shortcommit %(c=%{commit}; case ${c} in
+                      v*%{rparen} echo ${c:1};;
+                      *%{rparen} echo ${c:0:7};; esac)
+%global pre_release %(s=%{shortcommit}; [ ${s: -3:2} != rc ]; echo $?)
+%global post_release %([ %{commit} = v%{shortcommit} ]; echo $?)
+%global github_owner ClusterLabs
+
+%if 0%{pre_release}
+%global boothrel    0.%{specver}.%(s=%{shortcommit}; echo ${s: -3})
+%else
+%if 0%{post_release}
+%global boothrel    %{specver}.%{shortcommit}.git
+%else
+%global boothrel    %{specver}
+%endif
+%endif
+
+%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}}
+# https://fedoraproject.org/wiki/EPEL:Packaging?rd=Packaging:EPEL#The_.25license_tag
+%{!?_licensedir:%global license %doc}
+
+%global test_path   %{_datadir}/booth/tests
+
+Name:           booth
+Version:        %{boothver}
+Release:        %{boothrel}%{?dist}.2
+Summary:        Ticket Manager for Multi-site Clusters
+License:        GPLv2+
+Url:            https://github.com/%{github_owner}/%{name}
+Source0:        https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
+Patch0:         0001-build-Do-not-link-with-pcmk-libraries.patch
+
+# direct build process dependencies
+BuildRequires:  autoconf
+BuildRequires:  automake
+BuildRequires:  coreutils
+BuildRequires:  make
+## ./autogen.sh
+BuildRequires:  /bin/sh
+# general build dependencies
+BuildRequires:  asciidoc
+BuildRequires:  gcc
+BuildRequires:  pkgconfig
+# linking dependencies
+BuildRequires:  libgcrypt-devel
+BuildRequires:  libxml2-devel
+## just for <pacemaker/crm/services.h> include
+BuildRequires:  pacemaker-libs-devel
+BuildRequires:  pkgconfig(glib-2.0)
+BuildRequires:  zlib-devel
+## logging provider
+BuildRequires:  pkgconfig(libqb)
+## random2range provider
+BuildRequires:  pkgconfig(glib-2.0)
+## nametag provider
+BuildRequires:  pkgconfig(libsystemd)
+# check scriptlet (for hostname and killall respectively)
+BuildRequires:  hostname psmisc
+BuildRequires:  python3-devel
+# For generating tests
+BuildRequires:  sed
+# spec file specifics
+## for _unitdir, systemd_requires and specific scriptlet macros
+BuildRequires:  systemd
+## for autosetup
+BuildRequires:  git
+# check scriptlet (for perl and netstat)
+BuildRequires:  perl-interpreter net-tools
+
+# this is for a composite-requiring-its-components arranged
+# as an empty package (empty files section) requiring subpackages
+# (_isa so as to preserve the architecture)
+Requires:       %{name}-core%{?_isa}
+Requires:       %{name}-site
+%files
+# intentionally empty
+
+%description
+Booth manages tickets which authorize cluster sites located
+in geographically dispersed locations to run resources.
+It facilitates support of geographically distributed
+clustering in Pacemaker.
+
+# SUBPACKAGES #
+
+%package        core
+Summary:        Booth core files (executables, etc.)
+# for booth-keygen (chown, dd)
+Requires:       coreutils
+# deal with pre-split arrangement
+Conflicts:      %{name} < 1.0-1
+
+%description    core
+Core files (executables, etc.) for Booth, ticket manager for
+multi-site clusters.
+
+%package        arbitrator
+Summary:        Booth support for running as an arbitrator
+BuildArch:      noarch
+Requires:       %{name}-core = %{version}-%{release}
+%{?systemd_requires}
+# deal with pre-split arrangement
+Conflicts:      %{name} < 1.0-1
+
+%description    arbitrator
+Support for running Booth, ticket manager for multi-site clusters,
+as an arbitrator.
+
+%post arbitrator
+%systemd_post booth@.service booth-arbitrator.service
+
+%preun arbitrator
+%systemd_preun booth@.service booth-arbitrator.service
+
+%postun arbitrator
+%systemd_postun_with_restart booth@.service booth-arbitrator.service
+
+%package        site
+Summary:        Booth support for running as a full-fledged site
+BuildArch:      noarch
+Requires:       %{name}-core = %{version}-%{release}
+# for crm_{resource,simulate,ticket} utilities
+Requires:       pacemaker >= 1.1.8
+# for ocf-shellfuncs and other parts of OCF shell-based environment
+Requires:       resource-agents
+# deal with pre-split arrangement
+Conflicts:      %{name} < 1.0-1
+
+%description    site
+Support for running Booth, ticket manager for multi-site clusters,
+as a full-fledged site.
+
+%package        test
+Summary:        Test scripts for Booth
+BuildArch:      noarch
+# runtests.py suite (for hostname and killall respectively)
+Requires:       hostname psmisc
+# any of the following internal dependencies will pull -core package
+## for booth@booth.service
+Requires:       %{name}-arbitrator = %{version}-%{release}
+## for booth-site and service-runnable scripts
+## (and /usr/lib/ocf/resource.d/booth)
+Requires:       %{name}-site = %{version}-%{release}
+Requires:       gdb
+Requires:       %{__python3}
+Requires:       python3-pexpect
+# runtests.py suite (for perl and netstat)
+Requires:       perl-interpreter net-tools
+
+%description    test
+Automated tests for running Booth, ticket manager for multi-site clusters.
+
+# BUILD #
+
+%prep
+%autosetup -n %{name}-%{commit} -S git_am
+
+%build
+./autogen.sh
+%{configure} \
+        --with-initddir=%{_initrddir} \
+        --docdir=%{_pkgdocdir} \
+        --enable-user-flags \
+        %{!?with_html_man:--without-html_man} \
+        %{!?with_glue:--without-glue} \
+        PYTHON=%{__python3}
+%{make_build}
+
+%install
+%{make_install}
+mkdir -p %{buildroot}/%{_unitdir}
+cp -a -t %{buildroot}/%{_unitdir} \
+        -- conf/booth@.service conf/booth-arbitrator.service
+install -D -m 644 -t %{buildroot}/%{_mandir}/man8 \
+        -- docs/boothd.8
+ln -s boothd.8 %{buildroot}/%{_mandir}/man8/booth.8
+cp -a -t %{buildroot}/%{_pkgdocdir} \
+        -- ChangeLog README-testing conf/booth.conf.example
+# drop what we don't package anyway (COPYING added via tarball-relative path)
+rm -rf %{buildroot}/%{_initrddir}/booth-arbitrator
+rm -rf %{buildroot}/%{_pkgdocdir}/README.upgrade-from-v0.1
+rm -rf %{buildroot}/%{_pkgdocdir}/COPYING
+# tests
+mkdir -p %{buildroot}/%{test_path}
+# Copy tests from tarball
+cp -a -t %{buildroot}/%{test_path} \
+        -- conf test unit-tests script/unit-test.py
+chmod +x %{buildroot}/%{test_path}/test/booth_path
+chmod +x %{buildroot}/%{test_path}/test/live_test.sh
+mkdir -p %{buildroot}/%{test_path}/src
+ln -s -t %{buildroot}/%{test_path}/src \
+        -- %{_sbindir}/boothd
+# Generate runtests.py and boothtestenv.py
+sed -e 's#PYTHON_SHEBANG#%{__python3} -Es#g' \
+    -e 's#TEST_SRC_DIR#%{test_path}/test#g' \
+    -e 's#TEST_BUILD_DIR#%{test_path}/test#g' \
+    %{buildroot}/%{test_path}/test/runtests.py.in > %{buildroot}/%{test_path}/test/runtests.py
+
+chmod +x %{buildroot}/%{test_path}/test/runtests.py
+
+sed -e 's#PYTHON_SHEBANG#%{__python3} -Es#g' \
+    -e 's#TEST_SRC_DIR#%{test_path}/test#g' \
+    -e 's#TEST_BUILD_DIR#%{test_path}/test#g' \
+    %{buildroot}/%{test_path}/test/boothtestenv.py.in > %{buildroot}/%{test_path}/test/boothtestenv.py
+
+# https://fedoraproject.org/wiki/Packaging:Python_Appendix#Manual_byte_compilation
+%py_byte_compile %{__python3} %{buildroot}/%{test_path}
+
+%check
+# alternatively: test/runtests.py
+VERBOSE=1 make check
+
+%files          core
+%license COPYING
+%doc %{_pkgdocdir}/AUTHORS
+%doc %{_pkgdocdir}/ChangeLog
+%doc %{_pkgdocdir}/README
+%doc %{_pkgdocdir}/booth.conf.example
+# core command(s) + man pages
+%{_sbindir}/booth*
+%{_mandir}/man8/booth*.8*
+# configuration
+%dir %{_sysconfdir}/booth
+%exclude %{_sysconfdir}/booth/booth.conf.example
+
+%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/booth/
+%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/booth/cores
+
+%files          arbitrator
+%{_unitdir}/booth@.service
+%{_unitdir}/booth-arbitrator.service
+
+%files          site
+# OCF (agent + a helper)
+## /usr/lib/ocf/resource.d/pacemaker provided by pacemaker
+%{_usr}/lib/ocf/resource.d/pacemaker/booth-site
+%dir %{_usr}/lib/ocf/lib/booth
+     %{_usr}/lib/ocf/lib/booth/geo_attr.sh
+# geostore (command + OCF agent)
+%{_sbindir}/geostore
+%{_mandir}/man8/geostore.8*
+## /usr/lib/ocf/resource.d provided by resource-agents
+%dir %{_usr}/lib/ocf/resource.d/booth
+     %{_usr}/lib/ocf/resource.d/booth/geostore
+# helper (possibly used in the configuration hook)
+%dir %{_datadir}/booth
+     %{_datadir}/booth/service-runnable
+
+%files          test
+%doc %{_pkgdocdir}/README-testing
+# /usr/share/booth provided by -site
+%{test_path}
+# /usr/lib/ocf/resource.d/booth provided by -site
+%{_usr}/lib/ocf/resource.d/booth/sharedrsc
+
+%changelog
+* Wed Jun 3 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-6.ac1d34c.git.2
+- Related: rhbz#1835831
+
+- Do not link with the pcmk libraries
+- Generate runtests.py and boothtestenv.py with -Es as make check does
+
+* Tue Jun 2 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-6.ac1d34c.git.1
+- Resolves: rhbz#1602455
+- Resolves: rhbz#1682122
+- Resolves: rhbz#1768369
+- Resolves: rhbz#1835831
+
+- Update to current snapshot (commit ac1d34c) to fix test suite,
+  build warnings and build with gcc10
+- Fix hardcoded-library-path
+- Package /var/lib/booth where booth can chroot
+- Add '?dist' macro to release field
+- Pass full path of Python3 to configure
+- Add CI tests
+- Enable gating
+
+* Wed Sep 19 2018 Tomas Orsava <torsava@redhat.com> - 1.0-5.f2d38ce.git
+- Require the Python interpreter directly instead of using the package name
+- Related: rhbz#1619153
+
+* Thu Jul 19 2018 Jan Pokorný <jpokorny+rpm-booth@redhat.com> - 1.0-4.f2d38ce.git
+- revert back to using asciidoc instead of asciidoctor for generating man pages
+  (rhbz#1603119)
+- fix some issues in the shell scripts (rhbz#1602455)
+
+* Mon Jul 16 2018 Jan Pokorný <jpokorny+rpm-booth@redhat.com> - 1.0-3.f2d38ce.git
+- update for another, current snapshot beyond booth-1.0
+  (commit f2d38ce), including:
+  . support for solely manually managed tickets (9a365f9)
+  . use asciidoctor instead of asciidoc for generating man pages (65e6a6b)
+- switch to using Python 3 for the tests instead of Python 2
+  (behind unversioned "python" references; rhbz#1590856)
+
+* Thu Jun 21 2018 Troy Dawson <tdawson@redhat.com> - 1.0-2.570876d.git.3
+- Fix python shebangs (#1580601)
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-2.570876d.git.2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-2.570876d.git.1
+- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
+
+* Wed May 25 2016 Jan Pokorný <jpokorny+rpm-booth@fedoraproject.org> - 1.0-3.570876d.git
+- update per the changesets recently accepted by the upstream
+  (memory/resource leaks fixes, patches previously attached separately
+  that make unit test pass, internal cleanups, etc.)
+
+* Thu May 05 2016 Jan Pokorný <jpokorny+rpm-booth@fedoraproject.org> - 1.0-2.eb4256a.git
+- update a subset of out-of-tree patches per
+  https://github.com/ClusterLabs/booth/pull/22#issuecomment-216936987
+- pre-inclusion cleanups in the spec (apply systemd scriptlet operations
+  with booth-arbitrator, avoid overloading file implicitly considered %%doc
+  as %%license)
+  Resolves: rhbz#1314865
+  Related: rhbz#1333509
+
+* Thu Apr 28 2016 Jan Pokorný <jpokorny+rpm-booth@fedoraproject.org> - 1.0-1.eb4256a.git
+- initial build