-
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
Signed-off-by: Lokesh Mandvekar <[email protected]>
- Loading branch information
Showing
2 changed files
with
180 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,80 @@ | ||
--- | ||
# 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-8-x86_64: {} | ||
epel-8-aarch64: {} | ||
epel-9-x86_64: {} | ||
epel-9-aarch64: {} | ||
additional_repos: | ||
- "copr://rhcontainerbot/podman-next" | ||
enable_net: true | ||
|
||
# Jobs that run on internal testing farm are not run automatically for | ||
# external contributors. Having a separate build task for consumption by | ||
# internal testing farm tasks decouples the internal testing farm tasks from | ||
# the non-internal ones so that non-internal tasks get run automatically. | ||
- job: copr_build | ||
trigger: pull_request | ||
notifications: | ||
failure_comment: | ||
message: "Ephemeral COPR build failed. @containers/packit-build please check." | ||
targets: | ||
- epel-8-x86_64 | ||
- epel-8-aarch64 | ||
- epel-9-x86_64 | ||
- epel-9-aarch64 | ||
additional_repos: | ||
- "copr://rhcontainerbot/podman-next" | ||
enable_net: true | ||
identifier: integration_test_internal | ||
|
||
# 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 | ||
|
||
- job: propose_downstream | ||
trigger: release | ||
update_release: false | ||
dist_git_branches: | ||
- fedora-all | ||
|
||
- job: koji_build | ||
trigger: commit | ||
dist_git_branches: | ||
- fedora-all | ||
|
||
- job: bodhi_update | ||
trigger: commit | ||
dist_git_branches: | ||
- fedora-branched # rawhide updates are created automatically |
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,100 @@ | ||
# 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: Authoritative DNS server for A/AAAA container records | ||
URL: https://github.com/containers/%{name} | ||
# Tarballs fetched from upstream's release page | ||
Source0: %{url}/archive/v%{version}.tar.gz | ||
Source1: %{url}/releases/download/v%{version}/%{name}-v%{version}-vendor.tar.gz | ||
BuildRequires: cargo | ||
BuildRequires: git-core | ||
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 %{name}-%{version} | ||
# Following steps are only required on environments like koji which have no | ||
# network access and thus depend on the vendored tarball. Copr pulls | ||
# dependencies directly from the network. | ||
%if !%{defined copr_build} | ||
tar fx %{SOURCE1} | ||
mkdir -p .cargo | ||
|
||
cat >.cargo/config << EOF | ||
[source.crates-io] | ||
replace-with = "vendored-sources" | ||
|
||
[source.vendored-sources] | ||
directory = "vendor" | ||
EOF | ||
%endif | ||
|
||
%build | ||
%{__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 |