# Generated by rust2rpm %bcond_without check ### # Cherry-pick some rust-packaging macros (from rust2rpm), # as the package is heavily entangled in modern py3 dependencies. # Source is at https://pagure.io/fedora-rust/rust2rpm/blob/master/f/data. # This section can be dropped on a buildroot where "rust-packaging" rpm # exists. %define rust_arches x86_64 i686 armv7hl aarch64 ppc64 ppc64le s390x %define __global_rustflags -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now %define __cargo_common_opts %{?_smp_mflags} %define __global_rustflags_toml [%{lua: for arg in string.gmatch(rpm.expand("%{__global_rustflags}"), "%S+") do print('"' .. arg .. '", ') end}] %define cargo_prep (\ set -eu \ %{__mkdir} -p .cargo \ %{__cat} > .cargo/config << EOF \ [build]\ rustc = "rustc"\ rustdoc = "rustdoc"\ rustflags = %{__global_rustflags_toml}\ \ [term]\ verbose = true\ \ [source]\ \ [source.local-registry]\ directory = "%{cargo_registry}"\ \ [source.crates-io]\ registry = "https://crates.io"\ replace-with = "local-registry"\ EOF\ %{__rm} -f Cargo.lock \ # lto is causing build --release to fail so it needs to be disabled \ # side effect is a larger binary \ %{__sed} -i 's/lto = true/lto = false/g' Cargo.toml \ %if ! %{with check} \ # https://github.com/rust-lang/cargo/issues/3732 \ %{__awk} -i inplace -v INPLACE_SUFFIX=.orig '/^\\\[dev-dependencies/{f=1;next} /^\\\[/{f=0}; !f' Cargo.toml \ %endif \ ) ### %global crate coreos-metadata %global cargo_registry ./vendor Name: rust-%{crate} Version: 3.1.0 Release: 3%{?dist} Summary: A simple cloud-provider metadata agent License: ASL 2.0 URL: https://github.com/coreos/coreos-metadata Source0: https://crates.io/api/v1/crates/%{crate}/%{version}/download#/%{crate}-%{version}.crate Source1: https://github.com/coreos/coreos-metadata/releases/download/v%{version}/%{crate}-%{version}-vendor.tar.gz Patch0: coreos-metadata-checkin-service.patch ExclusiveArch: %{rust_arches} BuildRequires: rust-toolset BuildRequires: openssl-devel BuildRequires: systemd %description %{summary}. %package -n %{crate} Summary: %{summary} %description -n %{crate} %{summary}. %prep %setup -q -a 1 -n %{crate}-%{version} %patch0 -p1 %cargo_prep %build cargo build \ %{__cargo_common_opts} \ --release %install mkdir -p %{buildroot}%{_unitdir} install -p -m 0644 -D -t %{buildroot}%{_unitdir} systemd/coreos-metadata.service install -p -m 0644 -D -t %{buildroot}%{_unitdir} systemd/coreos-metadata-checkin.service # Replaced cargo install with install due to cargo attempting to make network connections install -p -m 0755 -D -t %{buildroot}%{_bindir} target/release/coreos-metadata %if %{with check} %check cargo test \ %{__cargo_common_opts} \ --release \ --no-fail-fast %endif %files -n %{crate} %license LICENSE %doc README.md %{_bindir}/coreos-metadata %{_unitdir}/coreos-metadata.service %{_unitdir}/coreos-metadata-checkin.service %changelog * Thu Apr 11 2019 Steve Milner - 3.1.0-3 - Fix systemd description * Thu Mar 14 2019 Steve Milner - 3.1.0-2 - Bump release * Mon Mar 11 2019 Steve Milner - 3.1.0-1 - Update rust-toolset dependency for RHEL 8 - Remove SCL enablement - New upstream version - Added coreos-metadata-checkin.service * Mon Dec 17 2018 Michael Nguyen - 3.0.2-3 - Bump release * Wed Nov 14 2018 Michael Nguyen - 3.0.2-2 - Add dependency on rust-toolset-1.29 and enable software collection - Remove path to rust/cargo binaries * Mon Nov 05 2018 Luca Bruno - 3.0.2-1 - New upstream version - Use upstream vendor tarball * Tue Sep 18 2018 Luca Bruno - 3.0.1-1 - New upstream version * Wed Sep 05 2018 Luca Bruno - 3.0.0-2 - Drop a useless dependency on openssl utilities * Mon Aug 27 2018 Luca Bruno - 3.0.0-1 - Initial package