-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Packit/RPM: Initial add of config and rpm spec
Include a validate test using TMT Signed-off-by: Lokesh Mandvekar <[email protected]>
- Loading branch information
Showing
4 changed files
with
153 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
--- | ||
# See the documentation for more information: | ||
# https://packit.dev/docs/configuration/ | ||
|
||
specfile_path: rpm/crun-vm.spec | ||
upstream_tag_template: v{version} | ||
|
||
srpm_build_deps: | ||
- cargo | ||
- make | ||
- openssl-devel | ||
|
||
jobs: | ||
- job: copr_build | ||
trigger: pull_request | ||
notifications: | ||
failure_comment: | ||
message: "Ephemeral COPR build failed. @containers/packit-build please check." | ||
targets: | ||
fedora-all-x86_64: {} | ||
fedora-all-aarch64: {} | ||
fedora-eln-x86_64: | ||
additional_repos: | ||
- "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/" | ||
fedora-eln-aarch64: | ||
additional_repos: | ||
- "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/aarch64/" | ||
epel-9-x86_64: {} | ||
epel-9-aarch64: {} | ||
additional_repos: | ||
- "copr://rhcontainerbot/podman-next" | ||
enable_net: true | ||
|
||
# Run on commit to main branch | ||
- job: copr_build | ||
trigger: commit | ||
notifications: | ||
failure_comment: | ||
message: "podman-next COPR build failed. @containers/packit-build please check." | ||
branch: main | ||
owner: rhcontainerbot | ||
project: podman-next | ||
enable_net: true | ||
|
||
# Validate test | ||
- job: tests | ||
trigger: pull_request | ||
skip_build: true | ||
targets: | ||
# Only need to test on one target | ||
- fedora-latest-stable-x86_64 | ||
identifier: validate_test | ||
tmt_plan: "/plans/validate_test" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
prepare: | ||
- name: Install dependencies | ||
how: install | ||
package: | ||
- cargo | ||
- clippy | ||
- make | ||
- rustfmt | ||
|
||
/validate_test: | ||
summary: Run validate test | ||
execute: | ||
how: tmt | ||
script: make validate |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# trust-dns-{client,server} not available | ||
# using vendored deps | ||
|
||
# RHEL doesn't include the package rust-packaging which provides %%__cargo macro, but EPEL | ||
# does. So we set it separately here and skip rust-packaging dependency for RHEL. | ||
# Buildability without EPEL is essential for packit builds. | ||
# ELN doesn't need this. | ||
%if %{defined rhel} && 0%{?rhel} < 10 | ||
%define __cargo %{_bindir}/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' %{_bindir}/cargo | ||
%endif | ||
|
||
%if %{defined copr_username} | ||
%define copr_build 1 | ||
%endif | ||
|
||
%global with_debug 1 | ||
|
||
%if 0%{?with_debug} | ||
%global _find_debuginfo_dwz_opts %{nil} | ||
%global _dwz_low_mem_die_limit 0 | ||
%else | ||
%global debug_package %{nil} | ||
%endif | ||
|
||
Name: crun-vm | ||
%if %{defined copr_build} | ||
Epoch: 102 | ||
%endif | ||
# DO NOT TOUCH the Version string! | ||
# The TRUE source of this specfile is: | ||
# https://github.com/containers/crun-vm/blob/main/rpm/crun-vm.spec | ||
# If that's what you're reading, Version must be 0, and will be updated by Packit for | ||
# copr and koji builds. | ||
# If you're reading this on dist-git, the version is automatically filled in by Packit. | ||
Version: 0 | ||
# The `AND` needs to be uppercase in the License for SPDX compatibility | ||
License: Apache-2.0 AND MIT AND Zlib | ||
Release: %autorelease | ||
%if %{defined golang_arches_future} | ||
ExclusiveArch: %{golang_arches_future} | ||
%else | ||
ExclusiveArch: aarch64 ppc64le s390x x86_64 | ||
%endif | ||
Summary: OCI Runtime to run QEMU-compatible VM images | ||
URL: https://github.com/containers/%{name} | ||
# Tarballs fetched from upstream's release page | ||
Source0: %{url}/archive/v%{version}.tar.gz | ||
BuildRequires: cargo | ||
BuildRequires: git-core | ||
BuildRequires: libselinux-devel | ||
BuildRequires: make | ||
%if %{defined rhel} | ||
# rust-toolset requires the `local` repo enabled on non-koji ELN build environments | ||
BuildRequires: rust-toolset | ||
%else | ||
BuildRequires: rust-packaging | ||
BuildRequires: rust-srpm-macros | ||
%endif | ||
|
||
%description | ||
%{summary} | ||
|
||
%prep | ||
%autosetup -Sgit -n %{name}-%{version} | ||
|
||
%build | ||
LC_ALL="" %{__make} CARGO="%{__cargo}" build | ||
|
||
%install | ||
%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install | ||
|
||
%files | ||
%license LICENSE | ||
%{_bindir}/%{name} | ||
|
||
%changelog | ||
%if %{defined autochangelog} | ||
%autochangelog | ||
%else | ||
# NOTE: This changelog will be visible on CentOS Stream 8/9 builds | ||
# Other envs are capable of handling autochangelog | ||
* Mon Jan 16 2024 RH Container Bot <[email protected]> | ||
- Placeholder changelog for envs that are not autochangelog-ready | ||
- Contact upstream if you need to report an issue with the build. | ||
%endif |