public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/rust-bootupd] f44: Release 0.3.2
Date: Mon, 14 Sep 2026 10:20:04 GMT	[thread overview]
Message-ID: <178938120434.1.11021964902025068128.rpms-rust-bootupd-0c793fae7988@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/rust-bootupd
Branch : f44
Commit : 0c793fae7988adc93ffc6556cd7bc8cc936f7f49
Author : Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Date   : 2026-09-11T12:51:34+05:30
Stats  : +9/-530 in 7 file(s)
URL    : https://src.fedoraproject.org/rpms/rust-bootupd/c/0c793fae7988adc93ffc6556cd7bc8cc936f7f49?branch=f44

Log:
Release 0.3.2

---
diff --git a/.gitignore b/.gitignore
index f66307f..6346912 100644
--- a/.gitignore
+++ b/.gitignore
@@ -71,3 +71,9 @@
 /bootupd-0.2.35-vendor.tar.zstd
 /bootupd-0.2.36.crate
 /bootupd-0.2.36-vendor.tar.zstd
+/bootupd-0.3.0.crate
+/bootupd-0.3.0-vendor.tar.zstd
+/bootupd-0.3.1.crate
+/bootupd-0.3.1-vendor.tar.zstd
+/bootupd-0.3.2.crate
+/bootupd-0.3.2-vendor.tar.zstd

diff --git a/0001-Revert-Fix-grub-static-config-install.patch b/0001-Revert-Fix-grub-static-config-install.patch
deleted file mode 100644
index c9750fe..0000000
--- a/0001-Revert-Fix-grub-static-config-install.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From cd7b27e6c4dfcd28848fa98f19981e9d5af9451a Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam@redhat.com>
-Date: Fri, 21 Aug 2026 15:08:18 -0700
-Subject: [PATCH 1/4] Revert "Fix grub static config install"
-
-This reverts commit 883c7a888d16991672cf9b9d06ff74a4d2b11297.
----
- src/bios.rs        |  2 +-
- src/bootupd.rs     | 25 -------------------------
- src/efi.rs         | 11 +++--------
- src/grubconfigs.rs | 21 ++++++---------------
- 4 files changed, 10 insertions(+), 49 deletions(-)
-
-diff --git a/src/bios.rs b/src/bios.rs
-index 1263d8a..a638df6 100644
---- a/src/bios.rs
-+++ b/src/bios.rs
-@@ -211,7 +211,7 @@ impl Component for Bios {
-                 .context("Failed to backup GRUB config")?;
-         }
- 
--        crate::grubconfigs::install(&destdir, None, None, true, None)?;
-+        crate::grubconfigs::install(&destdir, None, None, true)?;
- 
-         // Remove the real config if it is symlink and will not
-         // if /boot/grub2/grub.cfg is file
-diff --git a/src/bootupd.rs b/src/bootupd.rs
-index bdad9ff..72266a3 100644
---- a/src/bootupd.rs
-+++ b/src/bootupd.rs
-@@ -276,36 +276,11 @@ pub(crate) fn install(opts: &InstallOpts, devices: &[Device], configs: ConfigMod
-             Some(uuid) => {
-                 let meta = get_static_config_meta()?;
-                 state.static_configs = Some(meta);
--
--                let mut esp_dir = None;
--
--                #[cfg(efi_arch)]
--                {
--                    for c in &target_components {
--                        use crate::efi::Efi;
--
--                        if let Some(efi) = c.as_any().downcast_ref::<Efi>() {
--                            let mounted_esp_path = efi.get_esp_mountpoint();
--                            let mounted_esp_path = mounted_esp_path.as_ref().ok_or_else(|| {
--                                anyhow!("Mounted ESP not found to install static grub config")
--                            })?;
--
--                            esp_dir = Some(
--                                Dir::open_ambient_dir(mounted_esp_path, ambient_authority())
--                                    .context("Opening mounted ESP dir")?,
--                            );
--
--                            break;
--                        }
--                    }
--                }
--
-                 crate::grubconfigs::install(
-                     sysroot,
-                     Some(&source_root_dir),
-                     installed_efi_vendor.as_deref(),
-                     uuid,
--                    esp_dir.as_ref(),
-                 )?;
-             }
-             // On other architectures, assume that there's nothing to do.
-diff --git a/src/efi.rs b/src/efi.rs
-index 834e35f..4c9d2cc 100644
---- a/src/efi.rs
-+++ b/src/efi.rs
-@@ -181,11 +181,6 @@ impl Efi {
-         }
-     }
- 
--    /// Returns the ESP's mountpoint if present
--    pub(crate) fn get_esp_mountpoint(&self) -> std::cell::Ref<'_, Option<PathBuf>> {
--        self.mountpoint.borrow()
--    }
--
-     /// Checks if we have already mounted the ESP
-     /// If not, checks if the ESP is mounted at common mountpoints, i.e. /boot, /boot/efi
-     /// Else, mounts the ESP at a temp path
-@@ -374,7 +369,7 @@ impl Component for Efi {
- 
-     // Backup "/boot/efi/EFI/{vendor}/grub.cfg" to "/boot/efi/EFI/{vendor}/grub.cfg.bak"
-     // Replace "/boot/efi/EFI/{vendor}/grub.cfg" with new static "grub.cfg"
--    fn migrate_static_grub_config(&self, sysroot_path: &str, dest_efi_dir: &Dir) -> Result<()> {
-+    fn migrate_static_grub_config(&self, sysroot_path: &str, destdir: &Dir) -> Result<()> {
-         let sysroot = Dir::open_ambient_dir(sysroot_path, ambient_authority())
-             .with_context(|| format!("Opening {sysroot_path}"))?;
-         let Some(vendor) = self.get_efi_vendor(&Path::new(sysroot_path))? else {
-@@ -382,7 +377,7 @@ impl Component for Efi {
-         };
- 
-         // destdir is /boot/efi/EFI
--        let efidir = dest_efi_dir
-+        let efidir = destdir
-             .open_dir(&vendor)
-             .with_context(|| format!("Opening EFI/{}", vendor))?;
- 
-@@ -397,7 +392,7 @@ impl Component for Efi {
-                 .context("Failed to backup GRUB config")?;
-         }
- 
--        grubconfigs::install(&sysroot, None, Some(&vendor), true, Some(&efidir))?;
-+        grubconfigs::install(&sysroot, None, Some(&vendor), true)?;
-         // Synchronize the filesystem containing /boot/efi/EFI/{vendor} to disk.
-         fsfreeze_thaw_cycle(efidir.reopen_as_ownedfd()?)?;
- 
-diff --git a/src/grubconfigs.rs b/src/grubconfigs.rs
-index f06180e..476f934 100644
---- a/src/grubconfigs.rs
-+++ b/src/grubconfigs.rs
-@@ -34,7 +34,6 @@ pub(crate) fn install(
-     src_root: Option<&Dir>,
-     installed_efi_vendor: Option<&str>,
-     write_uuid: bool,
--    mounted_esp: Option<&Dir>,
- ) -> Result<()> {
-     let bootdir = &target_root.open_dir("boot").context("Opening /boot")?;
-     let boot_is_mount = {
-@@ -44,7 +43,6 @@ pub(crate) fn install(
-         root_dev != boot_dev
-     };
- 
--    // This is in /sysroot/boot
-     if !bootdir.exists(GRUB2DIR) {
-         let mut dir_options = DirBuilder::new();
-         dir_options.recursive(true).mode(0o700);
-@@ -132,16 +130,16 @@ pub(crate) fn install(
- 
-     if let Some(vendordir) = installed_efi_vendor {
-         log::debug!("vendordir={:?}", &vendordir);
--        let vendor = PathBuf::from("EFI").join(vendordir);
-+        let vendor = PathBuf::from(vendordir);
-         let target = &vendor.join("grub.cfg");
--
--        if let Some(efidir) = mounted_esp {
-+        let dest_efidir = target_root
-+            .open_dir_optional("boot/efi/EFI")
-+            .context("Opening /boot/efi/EFI")?;
-+        if let Some(efidir) = dest_efidir {
-             configdir
-                 .copy("grub-static-efi.cfg", &efidir, target)
-                 .context("Copying static EFI")?;
--
-             println!("Installed: {target:?}");
--
-             if let Some(uuid_path) = uuid_path {
-                 let target = &vendor.join(uuid_path);
-                 grub2dir
-@@ -218,14 +216,7 @@ mod tests {
-         std::fs::create_dir_all(tdp.join("boot/grub2"))?;
-         std::fs::create_dir_all(tdp.join("boot/efi/EFI/BOOT"))?;
-         std::fs::create_dir_all(tdp.join("boot/efi/EFI/fedora"))?;
--        install(
--            &td,
--            None,
--            Some("fedora"),
--            false,
--            Some(&td.open_dir("boot/efi").unwrap()),
--        )
--        .unwrap();
-+        install(&td, None, Some("fedora"), false).unwrap();
- 
-         assert!(td.exists("boot/grub2/grub.cfg"));
-         assert!(td.exists("boot/efi/EFI/fedora/grub.cfg"));
--- 
-2.55.0
-

diff --git a/0002-Revert-component-Add-as_any-method-for-downcasting.patch b/0002-Revert-component-Add-as_any-method-for-downcasting.patch
deleted file mode 100644
index 7ef29a9..0000000
--- a/0002-Revert-component-Add-as_any-method-for-downcasting.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From fa7905a4c9296e09a4daf12b73cf45dd6c226327 Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam@redhat.com>
-Date: Fri, 21 Aug 2026 15:08:22 -0700
-Subject: [PATCH 2/4] Revert "component: Add `as_any` method for downcasting"
-
-This reverts commit d59fb20db75c553a750b45830ddd671cd5cae702.
----
- src/bios.rs      | 4 ----
- src/component.rs | 3 ---
- src/efi.rs       | 4 ----
- 3 files changed, 11 deletions(-)
-
-diff --git a/src/bios.rs b/src/bios.rs
-index a638df6..03a3408 100644
---- a/src/bios.rs
-+++ b/src/bios.rs
-@@ -99,10 +99,6 @@ impl Bios {
- }
- 
- impl Component for Bios {
--    fn as_any(&self) -> &dyn std::any::Any {
--        self
--    }
--
-     fn name(&self) -> &'static str {
-         self.component_type().into()
-     }
-diff --git a/src/component.rs b/src/component.rs
-index 73043c3..23a14b5 100644
---- a/src/component.rs
-+++ b/src/component.rs
-@@ -10,7 +10,6 @@ use cap_std::{ambient_authority, fs::Permissions};
- use cap_std_ext::dirext::CapStdExtDirExt;
- use fn_error_context::context;
- use serde::{Deserialize, Serialize};
--use std::any::Any;
- use std::path::{Path, PathBuf};
- 
- use bootc_internal_blockdev::Device;
-@@ -54,8 +53,6 @@ impl std::fmt::Display for ComponentType {
- /// handles installing bootloader files during image builds, applying updates at runtime,
- /// and optionally adopting existing installations not originally managed by bootupd.
- pub(crate) trait Component {
--    fn as_any(&self) -> &dyn Any;
--
-     /// Returns the name of the component; this will be used for serialization
-     /// and should remain stable.
-     fn name(&self) -> &'static str;
-diff --git a/src/efi.rs b/src/efi.rs
-index 4c9d2cc..d1d911c 100644
---- a/src/efi.rs
-+++ b/src/efi.rs
-@@ -330,10 +330,6 @@ fn skip_systemd_bootloaders() -> bool {
- }
- 
- impl Component for Efi {
--    fn as_any(&self) -> &dyn std::any::Any {
--        self
--    }
--
-     fn name(&self) -> &'static str {
-         self.component_type().into()
-     }
--- 
-2.55.0
-

diff --git a/0003-Revert-esp-Update-unmount-method.patch b/0003-Revert-esp-Update-unmount-method.patch
deleted file mode 100644
index e156277..0000000
--- a/0003-Revert-esp-Update-unmount-method.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 7dfcb94b589e88fc61a589ee3184fd075b018d91 Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam@redhat.com>
-Date: Fri, 21 Aug 2026 15:09:02 -0700
-Subject: [PATCH 3/4] Revert "esp: Update `unmount` method"
-
-This reverts commit 85053a8a72aad8082097566871a08bf5a9e4b271.
----
- src/efi.rs | 28 ++++++++++++++++++++++++----
- 1 file changed, 24 insertions(+), 4 deletions(-)
-
-diff --git a/src/efi.rs b/src/efi.rs
-index d1d911c..72ac5d5 100644
---- a/src/efi.rs
-+++ b/src/efi.rs
-@@ -93,6 +93,9 @@ pub(crate) fn is_efi_booted() -> Result<bool> {
- #[derive(Default, Debug)]
- pub(crate) struct Efi {
-     mountpoint: RefCell<Option<PathBuf>>,
-+    /// Whether the above mountpoint was already mounted or not
-+    /// Won't unmount if it was already mounted
-+    was_mounted: RefCell<bool>,
-     /// Guard for ESP mounted at a temporary location
-     tempmount_guard: RefCell<Option<TempMount>>,
- }
-@@ -149,6 +152,7 @@ impl Efi {
- 
-         // Only borrow mutably if we found a mount point
-         log::debug!("Reusing existing mount point {mnt:?}");
-+        *self.was_mounted.borrow_mut() = true;
-         *self.mountpoint.borrow_mut() = Some(mnt.clone());
-         Ok(Some(mnt))
-     }
-@@ -159,7 +163,9 @@ impl Efi {
-         match self.search_common_esp_mountpoints(root)? {
-             Some(mnt) => {
-                 log::debug!("Mounted at {:?}", mnt);
-+                *self.was_mounted.borrow_mut() = true;
-                 *self.mountpoint.borrow_mut() = Some(mnt.clone());
-+
-                 Ok(mnt)
-             }
-             None => {
-@@ -198,12 +204,26 @@ impl Efi {
-     }
- 
-     pub(crate) fn unmount(&self) -> Result<()> {
--        if let Some(tmpmount) = self.tempmount_guard.borrow_mut().take() {
--            drop(tmpmount);
--            log::trace!("Dropped tempmount");
-+        if *self.was_mounted.borrow() {
-+            log::debug!("Mountpoint was already mounted, won't unmount");
-+            return Ok(());
-         }
- 
--        *self.mountpoint.borrow_mut() = None;
-+        *self.was_mounted.borrow_mut() = false;
-+
-+        if let Some(mount) = self.mountpoint.borrow_mut().take() {
-+            if let Some(tmpmount) = self.tempmount_guard.borrow_mut().take() {
-+                drop(tmpmount);
-+                log::trace!("Dropped tempmount");
-+                return Ok(());
-+            }
-+
-+            Command::new("umount")
-+                .arg(&mount)
-+                .run_inherited()
-+                .with_context(|| format!("Failed to unmount {mount:?}"))?;
-+            log::trace!("Unmounted");
-+        }
- 
-         Ok(())
-     }
--- 
-2.55.0
-

diff --git a/0004-Revert-esp-TempMount-ESP-if-not-already-mounted.patch b/0004-Revert-esp-TempMount-ESP-if-not-already-mounted.patch
deleted file mode 100644
index 5192b89..0000000
--- a/0004-Revert-esp-TempMount-ESP-if-not-already-mounted.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-From e8eeb12e79330385a15f765d1cf7ee8ac3516736 Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam@redhat.com>
-Date: Fri, 21 Aug 2026 15:09:07 -0700
-Subject: [PATCH 4/4] Revert "esp: TempMount ESP if not already mounted"
-
-This reverts commit 150ae3281407f315d131674e0e5cc758c4ee0746.
----
- src/efi.rs | 123 +++++++++++++++++++++--------------------------------
- 1 file changed, 48 insertions(+), 75 deletions(-)
-
-diff --git a/src/efi.rs b/src/efi.rs
-index 72ac5d5..fceecd9 100644
---- a/src/efi.rs
-+++ b/src/efi.rs
-@@ -10,7 +10,6 @@ use std::path::{Path, PathBuf};
- use std::process::Command;
- 
- use anyhow::{bail, Context, Result};
--use bootc_internal_mount::tempmount::TempMount;
- use bootc_internal_utils::CommandRunExt;
- use camino::{Utf8Path, Utf8PathBuf};
- use cap_std::ambient_authority;
-@@ -19,8 +18,6 @@ use cap_std_ext::cap_std;
- use cap_std_ext::dirext::CapStdExtDirExt;
- use fn_error_context::context;
- use os_release::OsRelease;
--use rustix::mount::MountFlags;
--use rustix::path::Arg;
- use rustix::{fd::AsFd, fd::BorrowedFd, fs::StatVfsMountFlags};
- use walkdir::WalkDir;
- use widestring::U16CString;
-@@ -96,25 +93,13 @@ pub(crate) struct Efi {
-     /// Whether the above mountpoint was already mounted or not
-     /// Won't unmount if it was already mounted
-     was_mounted: RefCell<bool>,
--    /// Guard for ESP mounted at a temporary location
--    tempmount_guard: RefCell<Option<TempMount>>,
--}
--
--/// Mount flags shared by all ESP mounts: non-executable, no setuid.
--const ESP_MOUNT_FLAGS: MountFlags =
--    MountFlags::from_bits_retain(MountFlags::NOEXEC.bits() | MountFlags::NOSUID.bits());
--
--/// FAT mount options: owner-only permissions on files (0600) and dirs (0700).
--const ESP_MOUNT_DATA: &std::ffi::CStr = c"fmask=0177,dmask=0077";
--
--/// Mount the ESP from the provided device into a temporary directory.
--fn mount_esp(device: &str) -> Result<TempMount> {
--    TempMount::mount_dev(device, "vfat", ESP_MOUNT_FLAGS, Some(ESP_MOUNT_DATA))
- }
- 
- impl Efi {
--    #[context("Searching common ESP mountpoints")]
--    fn search_common_esp_mountpoints(&self, root: &Path) -> Result<Option<PathBuf>> {
-+    // Get mounted point for esp
-+    pub(crate) fn get_mounted_esp(&self, root: &Path) -> Result<Option<PathBuf>> {
-+        // First check all potential mount points without holding the borrow
-+        let mut found_mount = None;
-         for &mnt in ESP_MOUNTS.iter() {
-             let path = root.join(mnt);
-             if !path.exists() {
-@@ -134,63 +119,59 @@ impl Efi {
-                     continue;
-                 }
-                 util::ensure_writable_mount(&path)?;
--                return Ok(Some(path));
-+                *self.was_mounted.borrow_mut() = true;
-+                found_mount = Some(path);
-+                break;
-             }
-         }
- 
--        Ok(None)
--    }
--
--    /// Get mounted point for ESP
--    /// NOTE: This function only searches the common ESP mountpoints and returns
--    /// the path of the mountpoint, if there is one
--    #[context("Getting mounted ESP")]
--    pub(crate) fn get_mounted_esp(&self, root: &Path) -> Result<Option<PathBuf>> {
--        let Some(mnt) = self.search_common_esp_mountpoints(root)? else {
--            return Ok(None);
--        };
--
-         // Only borrow mutably if we found a mount point
--        log::debug!("Reusing existing mount point {mnt:?}");
--        *self.was_mounted.borrow_mut() = true;
--        *self.mountpoint.borrow_mut() = Some(mnt.clone());
--        Ok(Some(mnt))
-+        if let Some(mnt) = found_mount {
-+            log::debug!("Reusing existing mount point {mnt:?}");
-+            *self.mountpoint.borrow_mut() = Some(mnt.clone());
-+            Ok(Some(mnt))
-+        } else {
-+            Ok(None)
-+        }
-     }
- 
--    /// Mount the passed esp_device, return mount point
--    #[context("Mounting ESP device at {}", root.display())]
-+    // Mount the passed esp_device, return mount point
-     pub(crate) fn mount_esp_device(&self, root: &Path, esp_device: &Path) -> Result<PathBuf> {
--        match self.search_common_esp_mountpoints(root)? {
--            Some(mnt) => {
--                log::debug!("Mounted at {:?}", mnt);
--                *self.was_mounted.borrow_mut() = true;
--                *self.mountpoint.borrow_mut() = Some(mnt.clone());
-+        let mut mountpoint = None;
- 
--                Ok(mnt)
-+        for &mnt in ESP_MOUNTS.iter() {
-+            let mnt = root.join(mnt);
-+            if !mnt.exists() {
-+                continue;
-             }
--            None => {
--                // If the ESP isn't already mounted at /boot, /boot/efi mount it at a temporary point
--                // This is so that we don't shadow existing files in the above directories
--                let esp_mount = mount_esp(
--                    esp_device
--                        .as_str()
--                        .context("Converting esp_device path to str")?,
--                )
--                .context("Creating temp ESP mount")?;
--
--                let mnt_path = esp_mount.dir.path().to_path_buf();
--                *self.mountpoint.borrow_mut() = Some(mnt_path.clone());
--                *self.tempmount_guard.borrow_mut() = Some(esp_mount);
- 
--                Ok(mnt_path)
-+            // Check if the target is already a mounted ESP (e.g. the host
-+            // already has the ESP mounted when running install-to-filesystem).
-+            let st = rustix::fs::statfs(&mnt)?;
-+            if st.f_type == libc::MSDOS_SUPER_MAGIC {
-+                if is_mount_point(&mnt)? {
-+                    log::debug!("ESP already mounted at {mnt:?}, reusing");
-+                    mountpoint = Some(mnt);
-+                    *self.was_mounted.borrow_mut() = true;
-+                    break;
-+                }
-             }
-+
-+            std::process::Command::new("mount")
-+                .arg(&esp_device)
-+                .arg(&mnt)
-+                .run_inherited()
-+                .with_context(|| format!("Failed to mount {:?}", esp_device))?;
-+            log::debug!("Mounted at {mnt:?}");
-+            mountpoint = Some(mnt);
-+            break;
-         }
-+        let mnt = mountpoint.ok_or_else(|| anyhow::anyhow!("No mount point found"))?;
-+        *self.mountpoint.borrow_mut() = Some(mnt.clone());
-+        Ok(mnt)
-     }
- 
--    /// Checks if we have already mounted the ESP
--    /// If not, checks if the ESP is mounted at common mountpoints, i.e. /boot, /boot/efi
--    /// Else, mounts the ESP at a temp path
--    #[context("Ensuring mounted ESP")]
-+    // Firstly check if esp is already mounted, then mount the passed esp device
-     pub(crate) fn ensure_mounted_esp(&self, root: &Path, esp_device: &Path) -> Result<PathBuf> {
-         if let Some(mountpoint) = self.mountpoint.borrow().as_deref() {
-             return Ok(mountpoint.to_owned());
-@@ -204,27 +185,14 @@ impl Efi {
-     }
- 
-     pub(crate) fn unmount(&self) -> Result<()> {
--        if *self.was_mounted.borrow() {
--            log::debug!("Mountpoint was already mounted, won't unmount");
--            return Ok(());
--        }
--
-         *self.was_mounted.borrow_mut() = false;
--
-         if let Some(mount) = self.mountpoint.borrow_mut().take() {
--            if let Some(tmpmount) = self.tempmount_guard.borrow_mut().take() {
--                drop(tmpmount);
--                log::trace!("Dropped tempmount");
--                return Ok(());
--            }
--
-             Command::new("umount")
-                 .arg(&mount)
-                 .run_inherited()
-                 .with_context(|| format!("Failed to unmount {mount:?}"))?;
-             log::trace!("Unmounted");
-         }
--
-         Ok(())
-     }
- 
-@@ -783,6 +751,11 @@ impl Component for Efi {
- 
- impl Drop for Efi {
-     fn drop(&mut self) {
-+        if *self.was_mounted.borrow() {
-+            log::debug!("mountpoint was already mounted. Won't unmount",);
-+            return;
-+        }
-+
-         log::debug!("Unmounting {:?}", self.mountpoint);
-         let _ = self.unmount();
-     }
--- 
-2.55.0
-

diff --git a/rust-bootupd.spec b/rust-bootupd.spec
index 370012e..b457c1c 100644
--- a/rust-bootupd.spec
+++ b/rust-bootupd.spec
@@ -3,7 +3,7 @@
 %global crate bootupd
 
 Name:           rust-%{crate}
-Version:        0.2.36
+Version:        0.3.2
 Release:        %autorelease
 Summary:        Bootloader updater
 
@@ -11,13 +11,6 @@ License:        Apache-2.0
 URL:            https://github.com/coreos/bootupd
 Source0:        %{crates_source}
 Source1:        %{url}/releases/download/v%{version}/bootupd-%{version}-vendor.tar.zstd
-# Revert https://github.com/coreos/bootupd/pull/1126
-# to fix UEFI installs - see
-# https://github.com/coreos/bootupd/issues/1139
-Patch:          0001-Revert-Fix-grub-static-config-install.patch
-Patch:          0002-Revert-component-Add-as_any-method-for-downcasting.patch
-Patch:          0003-Revert-esp-Update-unmount-method.patch
-Patch:          0004-Revert-esp-TempMount-ESP-if-not-already-mounted.patch
 
 ExcludeArch:    %{ix86}
 

diff --git a/sources b/sources
index 3335386..def7517 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (bootupd-0.2.36.crate) = 2ee451f486ef35a1978731657fcbbd964f525e29b73a603b72250f84518bfc1afb13acb0ef9b2ae96ac4be4efb586c516d4c7f88605c990ed241b57c1edd6d7e
-SHA512 (bootupd-0.2.36-vendor.tar.zstd) = daa3b5cbe09780f414be889d05ff28167932c7ccfa202a2be0144d9223b950491cb700f46503c6d62cc34bb88a52a49f1eca6a29c1dc7ac565197640b9996d5e
+SHA512 (bootupd-0.3.2.crate) = 52e6f482d780a1746845733c3c579a5524787a2e048f424c60d52120e744794fbd01509eb70e21cf381b27c0e7739c71d54c80c2cb718e7ea6bc17a0df74ea38
+SHA512 (bootupd-0.3.2-vendor.tar.zstd) = 365ac8ec890c2bd395c8a238e147b1ba8693cc5734a735f1106ddf2da5b971679dfd39d8d5563807bd442c8125191932e98af9ab22833b080dfb6c8bb536f1c9

                 reply	other threads:[~2026-09-14 10:20 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178938120434.1.11021964902025068128.rpms-rust-bootupd-0c793fae7988@fedoraproject.org \
    --to=pragyanpoudyal41999@gmail.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox