]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
ci: enable Packit integration
authorFrantisek Sumsal <frantisek@sumsal.cz>
Thu, 19 Mar 2020 10:37:41 +0000 (11:37 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 28 Jan 2021 17:57:24 +0000 (18:57 +0100)
Let's enable the Packit integration and see if it's a viable option for
us. This configuration builds systemd on Fedora (on x86_64, i386, and
aarch64) and runs the unit test suite. To do that, it uses the specfile
from Fedora Rawhide[0] with some minor modifications, thus dropping the
need to have a specfile in the upstream repository.

So far the builds took around 25 minutes each, so speed-wise it's pretty
good. The two remaining supported architectures (s390x and armhfp) are
excluded, for now, since they're emulated and build there takes a really
long time (~4 hours).

[0] https://src.fedoraproject.org/rpms/systemd/

.packit.yml [new file with mode: 0644]

diff --git a/.packit.yml b/.packit.yml
new file mode 100644 (file)
index 0000000..70f6b5d
--- /dev/null
@@ -0,0 +1,33 @@
+---
+# vi:ts=2 sw=2 et:
+#
+# Docs: https://packit.dev/docs/
+
+specfile_path: .packit_rpm/systemd.spec
+synced_files:
+  - .packit.yaml
+  - src: .packit_rpm/systemd.spec
+    dest: systemd.spec
+upstream_package_name: systemd
+downstream_package_name: systemd
+# `git describe` returns in systemd's case 'v245-xxx' which breaks RPM version
+# detection (that expects 245-xxxx'. Let's tweak the version string accordingly
+upstream_tag_template: "v{version}"
+
+actions:
+  post-upstream-clone:
+    # Use the Fedora Rawhide specfile
+    - "git clone https://src.fedoraproject.org/rpms/systemd .packit_rpm --depth=1"
+    # Drop backported patches from the specfile, but keep the downstream-only ones
+    # - Patch0000-0499: backported patches from upstream
+    # - Patch0500-9999: downstream-only patches
+    - "sed -ri '/^Patch0[0-4][0-9]{2}+\\:.+\\.patch/d' .packit_rpm/systemd.spec"
+
+jobs:
+- job: copr_build
+  trigger: pull_request
+  metadata:
+    targets:
+    - fedora-rawhide-aarch64
+    - fedora-rawhide-i386
+    - fedora-rawhide-x86_64