!1 add afterburn source package and spec file
From: @duyiwei7w Reviewed-by: @yangzhao_kl Signed-off-by: @yangzhao_kl
This commit is contained in:
commit
a4853b8691
BIN
afterburn-5.1.0-vendor.tar.gz
Normal file
BIN
afterburn-5.1.0-vendor.tar.gz
Normal file
Binary file not shown.
BIN
afterburn-5.1.0.crate
Normal file
BIN
afterburn-5.1.0.crate
Normal file
Binary file not shown.
112
rust-afterburn.spec
Normal file
112
rust-afterburn.spec
Normal file
@ -0,0 +1,112 @@
|
||||
%bcond_without check
|
||||
%define debug_package %{nil}
|
||||
%global __cargo_skip_build 0
|
||||
|
||||
%global dracutmodulesdir %(pkg-config --variable=dracutmodulesdir dracut || echo '/usr/lib/dracut/modules.d')
|
||||
|
||||
%global crate afterburn
|
||||
|
||||
Name: rust-%{crate}
|
||||
Version: 5.1.0
|
||||
Release: 1
|
||||
Summary: Simple cloud provider agent
|
||||
|
||||
# Upstream license specification: Apache-2.0
|
||||
License: ASL 2.0
|
||||
URL: https://crates.io/crates/afterburn
|
||||
Source0: %{crate}-%{version}.crate
|
||||
Source1: %{crate}-%{version}-vendor.tar.gz
|
||||
|
||||
BuildRequires: rust-packaging openssl-devel
|
||||
BuildRequires: systemd
|
||||
|
||||
%global _description %{expand:
|
||||
Simple cloud provider agent.}
|
||||
|
||||
%description %{_description}
|
||||
|
||||
%package -n %{crate}
|
||||
Summary: %{summary}
|
||||
License: ASL 2.0 and MIT and BSD and zlib
|
||||
%{?systemd_requires}
|
||||
|
||||
%description -n %{crate} %{_description}
|
||||
|
||||
%files -n %{crate}
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/afterburn
|
||||
%{_unitdir}/afterburn.service
|
||||
%{_unitdir}/afterburn-checkin.service
|
||||
%{_unitdir}/afterburn-firstboot-checkin.service
|
||||
%{_unitdir}/afterburn-sshkeys@.service
|
||||
%{_unitdir}/afterburn-sshkeys.target
|
||||
|
||||
%post -n %{crate}
|
||||
%systemd_post afterburn.service
|
||||
%systemd_post afterburn-checkin.service
|
||||
%systemd_post afterburn-firstboot-checkin.service
|
||||
%systemd_post afterburn-sshkeys@.service
|
||||
|
||||
%preun -n %{crate}
|
||||
%systemd_preun afterburn.service
|
||||
%systemd_preun afterburn-checkin.service
|
||||
%systemd_preun afterburn-firstboot-checkin.service
|
||||
%systemd_preun afterburn-sshkeys@.service
|
||||
|
||||
%postun -n %{crate}
|
||||
%systemd_postun afterburn.service
|
||||
%systemd_postun afterburn-checkin.service
|
||||
%systemd_postun afterburn-firstboot-checkin.service
|
||||
%systemd_postun afterburn-sshkeys@.service
|
||||
|
||||
%package -n %{crate}-dracut
|
||||
Summary: Dracut modules for afterburn
|
||||
BuildRequires: pkgconfig(dracut)
|
||||
Requires: %{crate}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: dracut
|
||||
Requires: dracut-network
|
||||
|
||||
%description -n %{crate}-dracut
|
||||
Dracut module that enables afterburn and corresponding services
|
||||
to run in the initramfs on boot.
|
||||
|
||||
%files -n %{crate}-dracut
|
||||
%{dracutmodulesdir}/30afterburn/
|
||||
|
||||
%prep
|
||||
%autosetup -n %{crate}-%{version} -p1
|
||||
# afterburn-sshkeys@.service is by default enabled for the 'core' user in NestOS
|
||||
|
||||
tar xvf %{SOURCE1}
|
||||
|
||||
sed -e 's,@DEFAULT_INSTANCE@,core,' < \
|
||||
systemd/afterburn-sshkeys@.service.in > \
|
||||
systemd/afterburn-sshkeys@.service
|
||||
%cargo_prep
|
||||
|
||||
mkdir -p .cargo
|
||||
cat >.cargo/config << EOF
|
||||
|
||||
[source.crates-io]
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source.vendored-sources]
|
||||
directory = "vendor"
|
||||
EOF
|
||||
|
||||
%build
|
||||
%cargo_build
|
||||
|
||||
%install
|
||||
%cargo_install
|
||||
install -Dpm0644 -t %{buildroot}%{_unitdir} \
|
||||
systemd/*.service systemd/*.target
|
||||
mkdir -p %{buildroot}%{dracutmodulesdir}
|
||||
cp -a dracut/* %{buildroot}%{dracutmodulesdir}
|
||||
|
||||
cp -r $RPM_BUILD_DIR/afterburn-5.1.0/.cargo/bin %{buildroot}/usr
|
||||
|
||||
%changelog
|
||||
* Fri Dec 24 2021 duyiwei <duyiwei@kylinos.cn> - 5.1.0-1
|
||||
- Package init
|
||||
Loading…
x
Reference in New Issue
Block a user