diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..44958f7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+SOURCES/bootupd-0.2.6-vendor.tar.gz
+SOURCES/bootupd-0.2.6.crate
diff --git a/.rust-bootupd.metadata b/.rust-bootupd.metadata
new file mode 100644
index 0000000..99515b1
--- /dev/null
+++ b/.rust-bootupd.metadata
@@ -0,0 +1,2 @@
+b69f8bc33615ba70f7cd468219f03acede48921e SOURCES/bootupd-0.2.6-vendor.tar.gz
+1b58ee98c7b9b1c0cb0970ba479e877bab9123a8 SOURCES/bootupd-0.2.6.crate
diff --git a/SPECS/rust-bootupd.spec b/SPECS/rust-bootupd.spec
new file mode 100644
index 0000000..f1a7f94
--- /dev/null
+++ b/SPECS/rust-bootupd.spec
@@ -0,0 +1,112 @@
+%bcond_without check
+%global __cargo_skip_build 0
+
+%global crate bootupd
+
+Name:           rust-%{crate}
+Version:        0.2.6
+Release:        1%{?dist}
+Summary:        Bootloader updater
+
+License:        ASL 2.0
+URL:            https://crates.io/crates/bootupd
+Source0:        https://crates.io/api/v1/crates/%{crate}/%{version}/download#/%{crate}-%{version}.crate
+Source1:        https://github.com/coreos/%{crate}/releases/download/v%{version}/%{crate}-%{version}-vendor.tar.gz
+
+# For now, see upstream
+ExclusiveArch:  x86_64 aarch64
+BuildRequires: make
+BuildRequires:  openssl-devel
+%if 0%{?rhel} && !0%{?eln}
+BuildRequires: rust-toolset
+%else
+BuildRequires: rust-packaging
+%endif
+BuildRequires:  systemd
+
+%global _description %{expand:
+Bootloader updater}
+%description %{_description}
+
+%package     -n %{crate}
+Summary:        %{summary}
+License:        ASL 2.0
+%{?systemd_requires}
+
+%description -n %{crate} %{_description}
+
+%files -n %{crate}
+%license LICENSE
+%doc README.md
+%{_bindir}/bootupctl
+%{_libexecdir}/bootupd
+%{_unitdir}/*
+
+%prep
+%autosetup -n %{crate}-%{version} -p1
+tar xvf %{SOURCE1}
+mkdir -p .cargo
+cat >.cargo/config << EOF
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+EOF
+
+%build
+%cargo_build
+
+%install
+%make_install INSTALL="install -p -c"
+
+%post        -n %{crate}
+%systemd_post bootupd.service bootupd.socket
+
+%preun       -n %{crate}
+%systemd_preun bootupd.service bootupd.socket
+
+%postun      -n %{crate}
+%systemd_postun bootupd.service bootupd.socket
+
+%changelog
+* Thu Sep 16 2021 Luca BRUNO <lucab@lucabruno.net> - 0.2.6-1
+- New upstream version
+  https://github.com/coreos/bootupd/releases/tag/v0.2.6
+
+* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Jan  6 14:48:03 UTC 2021 Colin Walters <walters@verbum.org> - 0.2.5-2
+- https://github.com/coreos/bootupd/releases/tag/v0.2.5
+
+* Tue Dec 15 14:48:20 UTC 2020 Colin Walters <walters@verbum.org> - 0.2.4-2
+- https://github.com/coreos/bootupd/releases/tag/v0.2.4
+
+* Tue Nov 17 14:33:06 UTC 2020 Colin Walters <walters@verbum.org> - 0.2.3-2
+- https://github.com/coreos/rpm-ostree/bootupd/tag/v0.2.3
+
+* Wed Nov 11 18:07:38 UTC 2020 Colin Walters <walters@verbum.org> - 0.2.2-2
+- Update to 0.2.2
+
+* Mon Nov  2 23:03:03 UTC 2020 Colin Walters <walters@verbum.org> - 0.2.0-3
+- Switch to vendored sources since RHEL requires it
+
+* Mon Oct 26 15:06:37 UTC 2020 Colin Walters <walters@verbum.org> - 0.2.0-2
+- https://github.com/coreos/bootupd/releases/tag/v0.2.0
+
+* Tue Oct 13 2020 Colin Walters <walters@verbum.org> - 0.1.3-2
+- https://github.com/coreos/bootupd/releases/tag/v0.1.3
+
+* Tue Sep 22 2020 Colin Walters <walters@verbum.org> - 0.1.2-2
+- New upstream
+
+* Mon Sep 21 2020 Colin Walters <walters@verbum.org> - 0.1.1-2
+- Also build on aarch64
+
+* Fri Sep 11 2020 Colin Walters <walters@verbum.org> - 0.1.0-3
+- Initial package
+