Compare commits

...
Sign in to create a new pull request.

33 commits

Author SHA1 Message Date
Gerd Hoffmann
7ea0207b32 update downgrade patch #2 2026-08-27 07:37:37 +02:00
Gerd Hoffmann
4dfdd12778 update downgrade patch 2026-08-26 23:34:52 +02:00
Gerd Hoffmann
62ea0bff67 go back to x509-cert 0.2.x 2026-08-26 21:03:20 +02:00
Gerd Hoffmann
cdb803ae43 update to version 26.8 2026-08-26 20:13:31 +02:00
Gerd Hoffmann
11b822c5e6 update to version 26.7 2026-07-22 12:16:00 +02:00
Fedora Release Engineering
cd95049191 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:32:16 +00:00
Benjamin A. Beasley
c1c986ee4a No longer downgrade the dialoguer dependency 2026-07-08 14:39:43 +01:00
Gerd Hoffmann
17b0f4352b update License: tag 2026-06-24 19:21:12 +02:00
Gerd Hoffmann
2e19df667d tmt: rework test plans 2026-06-24 16:49:35 +02:00
Gerd Hoffmann
04c30ccd29 add update-generate-boot-csv.patch 2026-06-24 15:59:37 +02:00
Gerd Hoffmann
5648cc35e0 update to version 26.6
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2026-06-08 12:11:26 +02:00
Gerd Hoffmann
a0cc4e7990 drop experimental workspace 2026-03-25 10:06:14 +01:00
Gerd Hoffmann
62b740f97f update downgrade-dialoguer.patch 2026-03-25 09:37:43 +01:00
Gerd Hoffmann
7134205e2c update to version 26.4
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2026-03-24 14:27:48 +01:00
Gerd Hoffmann
e2c1c28b2e update to version 26.3 2026-03-04 15:55:12 +01:00
Gerd Hoffmann
a179111fbe add packit config 2026-03-04 13:53:25 +01:00
Gerd Hoffmann
7d3e38096a enable authenticode for the correct crate 2026-02-03 15:07:31 +01:00
Gerd Hoffmann
18f1a4656d enable authendicode support 2026-02-03 14:50:07 +01:00
Gerd Hoffmann
56b1347f02 tmt: pick one kernel in case multiple are present 2026-02-03 14:50:07 +01:00
Fedora Release Engineering
6ffee04a0c Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 19:58:08 +00:00
Gerd Hoffmann
fe5801e6a8 move %cargo_prep from %prep to %build 2026-01-15 09:14:25 +01:00
Gerd Hoffmann
9cbbd89c4a Revert "drop tier0.functional test from gating"
This reverts commit baa76ab3f3.
2026-01-14 19:20:50 +01:00
Gerd Hoffmann
c833c4b9cf init tmt 2026-01-14 17:08:01 +01:00
Gerd Hoffmann
baa76ab3f3 drop tier0.functional test from gating 2026-01-14 16:45:44 +01:00
Gerd Hoffmann
bea64d8dc4 drop rpminspect.static-analysis test from gating
Seems to have trouble to deal with the rust licensing mix ...
2026-01-14 15:01:47 +01:00
Gerd Hoffmann
8e7b719710 enable tmt tests 2026-01-14 14:27:40 +01:00
Gerd Hoffmann
d62be73f05 update to version 26.1 2026-01-14 14:27:28 +01:00
Gerd Hoffmann
7bc3f82f8e update to version 25.12 2025-12-04 13:09:46 +01:00
Gerd Hoffmann
a5959e8308 update to version 25.11 2025-11-12 10:56:26 +01:00
Gerd Hoffmann
86dbe9d574 update to version 25.10 2025-10-15 15:24:22 +02:00
Cole Robinson
5e760b9697 Fix --without check
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-10-10 13:27:11 -04:00
Gerd Hoffmann
a856096e60 limit build to uefi architectures 2025-09-22 15:01:03 +02:00
Gerd Hoffmann
2d728b9bb2 update to version 25.9 2025-09-22 13:58:06 +02:00
7 changed files with 165 additions and 18 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

16
.packit.yaml Normal file
View file

@ -0,0 +1,16 @@
# See the documentation for more information:
# https://packit.dev/docs/configuration/
jobs:
- job: pull_from_upstream
trigger: release
dist_git_branches:
- fedora-rawhide
- job: koji_build
trigger: commit
dist_git_branches:
- fedora-all
- job: bodhi_update
trigger: commit
dist_git_branches:
- fedora-branched

60
downgrade-x509.patch Normal file
View file

@ -0,0 +1,60 @@
diff --git a/Cargo.toml b/Cargo.toml
index 2a38a77d0a32..ed0d5a2f7314 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,7 +24,7 @@ byteorder = { version = "1", default-features = false }
clap = { version = "4.5.4", features = [ "derive", "wrap_help" ] }
clap_mangen = { version = ">= 0.2.30, < 0.4" }
env_logger = { version = "0.11" }
-der = { version = "0.8" }
+der = { version = "0.7.10" }
fdt = { version = "0.1" }
igvm = { version = "0.4" }
igvm_defs = { version = "0.4" }
@@ -38,7 +38,7 @@ spin = { version = ">= 0.10, < 0.13" }
uefi = { version = "0.39" }
uefi-raw = { version = "0.15.1" }
uguid = { version = "2" }
-x509-cert = { version = "0.3", default-features = false }
+x509-cert = { version = "0.2.5", default-features = false }
zerocopy = { version = "0.8", features = [ "derive" ] }
virtfw-libhw = { path = "libhw", version = "0.5.2" }
diff --git a/libefi/src/sb/certs/info.rs b/libefi/src/sb/certs/info.rs
index 5926898c0e9d..0cd31bc376cc 100644
--- a/libefi/src/sb/certs/info.rs
+++ b/libefi/src/sb/certs/info.rs
@@ -20,8 +20,8 @@ pub struct CertInfo {
impl CertInfo {
fn attr(name: &Name, oid: &ObjectIdentifier) -> Option<String> {
- for attr in name.iter_rdn() {
- if attr.iter().any(|x| x.oid == *oid) {
+ for attr in name.0.iter() {
+ if attr.0.iter().any(|x| x.oid == *oid) {
return Some(attr.to_string());
}
}
@@ -30,16 +30,15 @@ impl CertInfo {
pub fn new_from_der(der: &[u8]) -> Option<Self> {
let cert = Certificate::from_der(der).ok()?;
- let tbs = cert.tbs_certificate();
- let subject = tbs.subject();
- let issuer = tbs.issuer();
- let not_before = tbs.validity().not_before.to_date_time();
- let not_after = tbs.validity().not_after.to_date_time();
+ let subject = cert.tbs_certificate.subject;
+ let issuer = cert.tbs_certificate.issuer;
+ let not_before = cert.tbs_certificate.validity.not_before.to_date_time();
+ let not_after = cert.tbs_certificate.validity.not_after.to_date_time();
let info = Self {
subject: subject.to_string(),
- subject_cn: Self::attr(subject, &OID_CN),
+ subject_cn: Self::attr(&subject, &OID_CN),
issuer: issuer.to_string(),
- issuer_cn: Self::attr(issuer, &OID_CN),
+ issuer_cn: Self::attr(&issuer, &OID_CN),
not_before: EfiTime::from(&not_before),
not_after: EfiTime::from(&not_after),
};

8
gating.yaml Normal file
View file

@ -0,0 +1,8 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_stable]
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional}

46
plans.fmf Normal file
View file

@ -0,0 +1,46 @@
summary: run tests from distgit tarball
execute:
how: tmt
/tmt:
summary: run upstream tmt tests
provision:
how: virtual
hardware:
memory: '>= 4 GB'
cpu:
processors: ">= 2"
virtualization:
is-supported: true
prepare:
- name: install dependencies
how: install
package:
- virt-firmware-rs
- qemu-system-x86-core
discover:
how: fmf
dist-git-source: true
/cargo:
summary: run upstream cargo tests
prepare:
- name: install dependencies
how: install
package:
- git
- make
- cargo
- rustc
- openssl-devel
- systemd-devel
discover:
how: shell
dist-git-source: true
tests:
- name: /run/make/test
test: |
set -ex
version=$(rpmspec -q --qf '%{version}\n' $TMT_SOURCE_DIR/*.spec | head -1)
prepdir="$TMT_SOURCE_DIR/virt-firmware-rs-v${version}"
make -C $prepdir test

View file

@ -1 +1 @@
SHA512 (virt-firmware-rs-v25.8.tar.gz) = 6e5cba78a5117acb8488a559a52d34285e108974889ca332094b21119ec09c112308cea6ec3fec17031c43cf1dd3e8567a19ebb4776a5fa9c4976f783e3de6a2
SHA512 (virt-firmware-rs-v26.8.tar.gz) = 4573b05f567f2b4e17b2f7a0f54dd154b16e55f5b773a52358d42ffc841086be0c7a9231fa66150d55b5da267187a62b19d382ed10bd0c4558a264cb7baad68d

View file

@ -18,26 +18,31 @@ BuildRequires: rust-std-static-x86_64-unknown-uefi
%endif
Name: virt-firmware-rs
Version: 25.8
Version: 26.8
Release: %autorelease
Summary: Tools for EFI and virtual machine firmware
SourceLicense: MIT
License: %{shrink:
Apache-2.0
Apache-2.0 OR BSL-1.0
Apache-2.0 OR MIT
Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
BSD-2-Clause OR Apache-2.0 OR MIT
MIT
MIT OR Apache-2.0
MPL-2.0
Unlicense OR MIT
((MIT OR Apache-2.0) AND Unicode-DFS-2016) AND
(0BSD OR MIT OR Apache-2.0) AND
(Apache-2.0) AND
(Apache-2.0 OR MIT) AND
(Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND
(BSD-2-Clause OR Apache-2.0 OR MIT) AND
(BSD-3-Clause) AND
(MIT) AND
(MIT OR Apache-2.0) AND
(MIT OR Zlib OR Apache-2.0) AND
(MPL-2.0) AND
(Unlicense OR MIT)
}
URL: https://gitlab.com/kraxel/virt-firmware-rs
Source: https://gitlab.com/kraxel/%{name}/-/archive/v%{version}/%{name}-v%{version}.tar.gz
Patch1: downgrade-x509.patch
ExclusiveArch: x86_64 aarch64 riscv64
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: pkgconfig(libudev)
@ -59,20 +64,22 @@ firmware. This package has EFI applications for %{efiarch}.
%prep
%autosetup -n %{name}-v%{version} -p1
%cargo_prep
# drop unused packages from workspace to reduce dependencies.
sed -i Cargo.toml -e '/varstore/d'
sed -i Cargo.toml -e '/experimental/d'
sed -i Cargo.toml -e '/mefisto/d'
%if %{without efi_apps}
sed -i Cargo.toml -e '/efi-apps/d'
%endif
%generate_buildrequires
%cargo_generate_buildrequires
%cargo_generate_buildrequires -f std,json,pem,udev,authenticode
%build
%cargo_prep
%cargo_build -- --package virtfw-efi-tools --features udev
%cargo_build -- --package virtfw-efi-tools
%cargo_build -- --package virtfw-igvm-tools
%cargo_build -- --package virtfw-igvm-tools --features authenticode
%cargo_build -- --package virtfw-varstore --features std,json,pem
%if %{with efi_apps}
%cargo_build -- --package virtfw-efi-apps --target $(uname -m)-unknown-uefi
%endif
@ -85,9 +92,11 @@ install -d %{buildroot}%{_bindir}
install -v -m 755 target/rpm/generate-boot-csv %{buildroot}%{_bindir}
install -v -m 755 target/rpm/list-sb-vars %{buildroot}%{_bindir}
install -v -m 755 target/rpm/mini-bootcfg %{buildroot}%{_bindir}
install -v -m 755 target/rpm/virt-fw-vars-setup %{buildroot}%{_bindir}
install -v -m 755 target/rpm/uefi-boot-menu %{buildroot}%{_bindir}/uefi-boot-menu-rs
install -v -m 755 target/rpm/igvm-inspect %{buildroot}%{_bindir}
install -v -m 755 target/rpm/igvm-wrap %{buildroot}%{_bindir}
install -v -m 755 target/rpm/igvm-update %{buildroot}%{_bindir}
%if %{with efi_apps}
# efi-apps
install -d %{buildroot}%{_datadir}/%{name}/%{efiarch}
@ -97,14 +106,18 @@ install -v -m 644 target/*-unknown-uefi/rpm/*.efi %{buildroot}%{_datadir}/%{name
for dir in efi-apps efi-tools igvm-tools; do
cp -v ${dir}/README.md README.${dir}.md
done
# man pages
mkdir -p %{buildroot}%{_mandir}/man1
for app in virt-fw-vars-setup igvm-inspect igvm-wrap igvm-update; do
%{buildroot}%{_bindir}/${app} --manpage > %{buildroot}%{_mandir}/man1/${app}.1
done
%if %{with check}
%check
%ifarch s390x
echo "skip tests on bigendian"
%else
%cargo_test -- --package virtfw-libefi
%cargo_test -- --package virtfw-efi-tools --features udev
%cargo_test -- --package virtfw-igvm-tools
%cargo_test -- --package virtfw-varstore
%endif
%files
@ -115,9 +128,12 @@ echo "skip tests on bigendian"
%{_bindir}/generate-boot-csv
%{_bindir}/list-sb-vars
%{_bindir}/mini-bootcfg
%{_bindir}/virt-fw-vars-setup
%{_bindir}/uefi-boot-menu-rs
%{_bindir}/igvm-inspect
%{_bindir}/igvm-wrap
%{_bindir}/igvm-update
%{_mandir}/man1/*
%if %{with efi_apps}
%files -n %{name}-%{efiarch}