Your message dated Tue, 06 Sep 2022 09:39:24 +0000
with message-id <e1ovv3e-00dhjk...@fasolo.debian.org>
and subject line Bug#1017369: fixed in mdevctl 1.2.0-2
has caused the Debian Bug report #1017369,
regarding mdevctl FTBFS with rust-uuid 1.x
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1017369: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1017369
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: mdevctl
Version: 1.1.0-2
Severity: serious

Note: I did my testing with version 1.2.0-1 from unstable, but i'm pretty sure 
the
issues apply equally to the version in testing.

mdevctl FTVFS with the new 1.x upload of rust-uuid. There are three issues.

1. The Debian build- dependency is unsatisfiable, librust-uuid+rand-dev is no 
longer
   provided by the new version of rust-uuid, because upstream no longer has a 
"rand"
   feature.
2. The cargo dependency is unsatisfiable, because the style of dependency used 
has
   an implicit upper version limit per semver.
3. hyphenated has been renamed to "hyphenated" in uuid 1.x

The attatched debdiff fixes the abover issues and also fixes incomplete cleanup
by the clean target. I have tested that the package builds with the patch but
I have not tested it beyond that.

I may or may not NMU this later.
diff -Nru mdevctl-1.2.0/debian/changelog mdevctl-1.2.0/debian/changelog
--- mdevctl-1.2.0/debian/changelog      2022-08-09 11:24:25.000000000 +0000
+++ mdevctl-1.2.0/debian/changelog      2022-08-14 23:04:02.000000000 +0000
@@ -1,3 +1,11 @@
+mdevctl (1.2.0-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Add patch for rust-uuid 1.x and update dependencies accordingly
+  * Fix clean target.
+
+ -- Peter Micheal Green <plugw...@debian.org>  Sun, 14 Aug 2022 23:04:02 +0000
+
 mdevctl (1.2.0-1) unstable; urgency=medium
 
   [ Athos Ribeiro ]
diff -Nru mdevctl-1.2.0/debian/control mdevctl-1.2.0/debian/control
--- mdevctl-1.2.0/debian/control        2022-08-09 11:24:25.000000000 +0000
+++ mdevctl-1.2.0/debian/control        2022-08-14 23:04:02.000000000 +0000
@@ -14,7 +14,7 @@
                librust-clap-complete-dev (>= 3.0.6),
                librust-clap+strsim-dev,
                librust-tempfile-dev (>= 3.1.0) <!nocheck>,
-               librust-uuid+rand-dev (>= 0.8.1),
+               librust-uuid-1+v4-dev,
                pkg-config,
                python3-docutils,
                systemd,
diff -Nru mdevctl-1.2.0/debian/patches/lower-versions-for-unstable.patch 
mdevctl-1.2.0/debian/patches/lower-versions-for-unstable.patch
--- mdevctl-1.2.0/debian/patches/lower-versions-for-unstable.patch      
2022-08-09 11:24:25.000000000 +0000
+++ mdevctl-1.2.0/debian/patches/lower-versions-for-unstable.patch      
2022-08-14 23:04:02.000000000 +0000
@@ -5,8 +5,10 @@
 X-Not-Forwarded-Reason: Currently frozen, but likely available after the 
release
 Author: Christian Ehrhardt <christian.ehrha...@canonical.com>
 Last-Update: 2021-07-14
---- a/Cargo.toml
-+++ b/Cargo.toml
+Index: mdevctl-1.2.0/Cargo.toml
+===================================================================
+--- mdevctl-1.2.0.orig/Cargo.toml
++++ mdevctl-1.2.0/Cargo.toml
 @@ -13,14 +13,14 @@ homepage = "https://github.com/mdevctl/m
  
  [dependencies]
@@ -17,13 +19,11 @@
 +env_logger = "0.9.0"
  log = "0.4"
  serde_json = {version = "1.0", features = ["preserve_order"]}
--uuid = {version = "0.8.2", features = ["v4"]}
-+uuid = {version = "0.8.1", features = ["v4"]}
+ uuid = {version = "0.8.2", features = ["v4"]}
  tempfile = "3"
  
  [build-dependencies]
 -clap = { version = "3.1.18", features = ["derive"]}
 +clap = { version = "3.1.7", features = ["derive"]}
  clap_complete = "3.0.6"
--uuid = "0.8.2"
-+uuid = "0.8.1"
+ uuid = "0.8.2"
diff -Nru mdevctl-1.2.0/debian/patches/series 
mdevctl-1.2.0/debian/patches/series
--- mdevctl-1.2.0/debian/patches/series 2022-08-09 11:24:25.000000000 +0000
+++ mdevctl-1.2.0/debian/patches/series 2022-08-14 23:04:02.000000000 +0000
@@ -1,2 +1,3 @@
 lower-versions-for-unstable.patch
 main-binary-already-installed.patch
+uuid-1.0.patch
diff -Nru mdevctl-1.2.0/debian/patches/uuid-1.0.patch 
mdevctl-1.2.0/debian/patches/uuid-1.0.patch
--- mdevctl-1.2.0/debian/patches/uuid-1.0.patch 1970-01-01 00:00:00.000000000 
+0000
+++ mdevctl-1.2.0/debian/patches/uuid-1.0.patch 2022-08-14 23:04:02.000000000 
+0000
@@ -0,0 +1,233 @@
+Index: mdevctl-1.2.0/src/main.rs
+===================================================================
+--- mdevctl-1.2.0.orig/src/main.rs
++++ mdevctl-1.2.0/src/main.rs
+@@ -81,7 +81,7 @@ fn define_command_helper(
+             return Err(anyhow!(
+                 "Cowardly refusing to overwrite existing config for {}/{}",
+                 parent,
+-                uuid.to_hyphenated().to_string()
++                uuid.hyphenated().to_string()
+             ));
+         }
+ 
+@@ -115,7 +115,7 @@ fn define_command_helper(
+         if dev.is_defined() {
+             return Err(anyhow!(
+                 "Device {} on {} already defined",
+-                dev.uuid.to_hyphenated().to_string(),
++                dev.uuid.hyphenated().to_string(),
+                 dev.parent()?
+             ));
+         }
+@@ -149,7 +149,7 @@ fn define_command(
+     }
+     Callout::invoke(&mut dev, Action::Define, |dev| dev.define()).map(|_| {
+         if uuid.is_none() {
+-            println!("{}", dev.uuid.to_hyphenated());
++            println!("{}", dev.uuid.hyphenated());
+         }
+     })
+ }
+@@ -247,7 +247,7 @@ fn start_command_helper(
+                     Ordering::Greater => {
+                         return Err(anyhow!(
+                             "Multiple definitions found for device {}. Please 
specify a parent.",
+-                            uuid.unwrap().to_hyphenated().to_string()
++                            uuid.unwrap().hyphenated().to_string()
+                         ));
+                     }
+                     Ordering::Equal => {
+@@ -260,7 +260,7 @@ fn start_command_helper(
+                             if mdev_type.is_some() && mdev_type != 
d.mdev_type {
+                                 return Err(anyhow!(
+                                     "Device {} already exists on parent {} 
with type {}",
+-                                    d.uuid.to_hyphenated().to_string(),
++                                    d.uuid.hyphenated().to_string(),
+                                     d.parent().unwrap(),
+                                     d.mdev_type.as_ref().unwrap()
+                                 ));
+@@ -305,7 +305,7 @@ fn start_command(
+ 
+     Callout::invoke(&mut dev, Action::Start, |dev| dev.start()).map(|_| {
+         if uuid.is_none() {
+-            println!("{}", dev.uuid.to_hyphenated());
++            println!("{}", dev.uuid.hyphenated());
+         }
+     })
+ }
+@@ -330,24 +330,24 @@ fn get_defined_device<'a>(
+         return match parent {
+             None => Err(anyhow!(
+                 "Mediated device {} is not defined",
+-                uuid.to_hyphenated().to_string()
++                uuid.hyphenated().to_string()
+             )),
+             Some(p) => Err(anyhow!(
+                 "Mediated device {}/{} is not defined",
+                 p,
+-                uuid.to_hyphenated().to_string()
++                uuid.hyphenated().to_string()
+             )),
+         };
+     } else if devs.len() > 1 {
+         return match parent {
+             None => Err(anyhow!(
+                 "Multiple definitions found for {}, specify a parent",
+-                uuid.to_hyphenated().to_string()
++                uuid.hyphenated().to_string()
+             )),
+             Some(p) => Err(anyhow!(
+                 "Multiple definitions found for {}/{}",
+                 p,
+-                uuid.to_hyphenated().to_string()
++                uuid.hyphenated().to_string()
+             )),
+         };
+     } else {
+@@ -356,7 +356,7 @@ fn get_defined_device<'a>(
+             return Err(anyhow!(
+                 "Multiple definitions found for {}/{}",
+                 parent,
+-                uuid.to_hyphenated().to_string()
++                uuid.hyphenated().to_string()
+             ));
+         }
+         return Ok(children.get(0).unwrap().clone());
+Index: mdevctl-1.2.0/Cargo.toml
+===================================================================
+--- mdevctl-1.2.0.orig/Cargo.toml
++++ mdevctl-1.2.0/Cargo.toml
+@@ -17,10 +17,10 @@ clap = { version = "3.1.7", features = [
+ env_logger = "0.9.0"
+ log = "0.4"
+ serde_json = {version = "1.0", features = ["preserve_order"]}
+-uuid = {version = "0.8.2", features = ["v4"]}
++uuid = {version = "1.0.0", features = ["v4"]}
+ tempfile = "3"
+ 
+ [build-dependencies]
+ clap = { version = "3.1.7", features = ["derive"]}
+ clap_complete = "3.0.6"
+-uuid = "0.8.2"
++uuid = "1.0.0"
+Index: mdevctl-1.2.0/src/callouts.rs
+===================================================================
+--- mdevctl-1.2.0.orig/src/callouts.rs
++++ mdevctl-1.2.0/src/callouts.rs
+@@ -139,7 +139,7 @@ impl Callout {
+                     if &st == "[{}]" {
+                         debug!(
+                             "Attribute field for {} is empty",
+-                            dev.uuid.to_hyphenated().to_string()
++                            dev.uuid.hyphenated().to_string()
+                         );
+                         st = "[]".to_string();
+                     }
+Index: mdevctl-1.2.0/src/mdev.rs
+===================================================================
+--- mdevctl-1.2.0.orig/src/mdev.rs
++++ mdevctl-1.2.0/src/mdev.rs
+@@ -43,7 +43,7 @@ impl<'a> MDev<'a> {
+ 
+     pub fn path(&self) -> PathBuf {
+         let mut p = self.env.mdev_base();
+-        p.push(self.uuid.to_hyphenated().to_string());
++        p.push(self.uuid.hyphenated().to_string());
+         p
+     }
+ 
+@@ -52,7 +52,7 @@ impl<'a> MDev<'a> {
+         self.parent.as_ref().ok_or_else(|| {
+             anyhow!(
+                 "Device {} is missing a parent",
+-                self.uuid.to_hyphenated().to_string()
++                self.uuid.hyphenated().to_string()
+             )
+         })
+     }
+@@ -62,7 +62,7 @@ impl<'a> MDev<'a> {
+         self.mdev_type.as_ref().ok_or_else(|| {
+             anyhow!(
+                 "Device {} is missing a mdev_type",
+-                self.uuid.to_hyphenated().to_string()
++                self.uuid.hyphenated().to_string()
+             )
+         })
+     }
+@@ -71,7 +71,7 @@ impl<'a> MDev<'a> {
+         self.parent.as_ref().map(|x| {
+             let mut path = self.env.persist_base();
+             path.push(x);
+-            path.push(self.uuid.to_hyphenated().to_string());
++            path.push(self.uuid.hyphenated().to_string());
+             path
+         })
+     }
+@@ -215,7 +215,7 @@ impl<'a> MDev<'a> {
+             }
+         }
+ 
+-        let mut output = self.uuid.to_hyphenated().to_string();
++        let mut output = self.uuid.hyphenated().to_string();
+         output.push(' ');
+         output.push_str(self.parent()?);
+         output.push(' ');
+@@ -265,7 +265,7 @@ impl<'a> MDev<'a> {
+             .collect();
+         partial.insert("attrs".to_string(), jsonattrs.into());
+ 
+-        let full = serde_json::json!({ self.uuid.to_hyphenated().to_string(): 
partial });
++        let full = serde_json::json!({ self.uuid.hyphenated().to_string(): 
partial });
+ 
+         match include_uuid {
+             true => Ok(full),
+@@ -360,7 +360,7 @@ impl<'a> MDev<'a> {
+         path.pop();
+         path.push("create");
+         debug!("Creating mediated device: {:?} -> {:?}", self.uuid, path);
+-        match fs::write(path, self.uuid.to_hyphenated().to_string()) {
++        match fs::write(path, self.uuid.hyphenated().to_string()) {
+             Ok(_) => {
+                 self.active = true;
+                 Ok(())
+@@ -368,7 +368,7 @@ impl<'a> MDev<'a> {
+             Err(e) => Err(e).with_context(|| {
+                 format!(
+                     "Failed to create mdev {}, type {} on {}",
+-                    self.uuid.to_hyphenated(),
++                    self.uuid.hyphenated(),
+                     mdev_type,
+                     parent
+                 )
+@@ -409,7 +409,7 @@ impl<'a> MDev<'a> {
+         let p = self.persist_path().ok_or_else(|| {
+             anyhow!(
+                 "Failed to undefine {}",
+-                self.uuid.to_hyphenated().to_string()
++                self.uuid.hyphenated().to_string()
+             )
+         })?;
+ 
+Index: mdevctl-1.2.0/src/tests.rs
+===================================================================
+--- mdevctl-1.2.0.orig/src/tests.rs
++++ mdevctl-1.2.0/src/tests.rs
+@@ -210,7 +210,7 @@ fn test_load_json_helper(uuid: &str, par
+         let jsonstr = serde_json::to_string_pretty(&jsonval).unwrap();
+ 
+         test.compare_to_file(&format!("{}.out", uuid), &jsonstr);
+-        assert_eq!(uuid, dev.uuid.to_hyphenated().to_string());
++        assert_eq!(uuid, dev.uuid.hyphenated().to_string());
+         assert_eq!(Some(parent.to_string()), dev.parent);
+     }
+ }
+@@ -846,7 +846,7 @@ fn test_start_helper<F>(
+             assert_eq!(uuid.unwrap(), dev.uuid);
+         }
+         let contents = fs::read_to_string(create_path).expect("Unable to read 
'create' file");
+-        assert_eq!(dev.uuid.to_hyphenated().to_string(), contents);
++        assert_eq!(dev.uuid.hyphenated().to_string(), contents);
+     }
+ }
+ 
diff -Nru mdevctl-1.2.0/debian/rules mdevctl-1.2.0/debian/rules
--- mdevctl-1.2.0/debian/rules  2022-08-09 11:24:25.000000000 +0000
+++ mdevctl-1.2.0/debian/rules  2022-08-14 23:04:02.000000000 +0000
@@ -33,3 +33,7 @@
        dh_auto_test $@
 endif
 endif
+
+execute_after_dh_auto_clean:
+       rm -f mdevctl.spec Makefile
+

--- End Message ---
--- Begin Message ---
Source: mdevctl
Source-Version: 1.2.0-2
Done: Christian Ehrhardt <christian.ehrha...@canonical.com>

We believe that the bug you reported is fixed in the latest version of
mdevctl, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1017...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Christian Ehrhardt <christian.ehrha...@canonical.com> (supplier of updated 
mdevctl package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 06 Sep 2022 10:25:20 +0200
Source: mdevctl
Built-For-Profiles: noudeb
Architecture: source
Version: 1.2.0-2
Distribution: unstable
Urgency: medium
Maintainer: Christian Ehrhardt <christian.ehrha...@canonical.com>
Changed-By: Christian Ehrhardt <christian.ehrha...@canonical.com>
Closes: 1017369
Changes:
 mdevctl (1.2.0-2) unstable; urgency=medium
 .
   [ Christian Ehrhardt ]
   * Update uuid version to 1.0 (Closes: #1017369)
     Thanks to Peter Micheal Green for the report, taking the upstream
     accepted commit landed by Athos Ribeiro to solve this.
     - d/p/Update-uuid-version.patch new patch from upstream to work with
       uuid 1.0
     - d/p/lower-versions-for-unstable.patch: updated as we no more need to
       lower uuid
 .
   [ Peter Micheal Green ]
   * d/control: switch uuid dependency to librust-uuid-1+v4-dev
   * d/rules: Fix clean target
Checksums-Sha1:
 46baaa9c1fe5dafa619962c43602ba8256e0c50a 2194 mdevctl_1.2.0-2.dsc
 876daa85cb456c8f17cc2ae3f980d044a6852a7d 6420 mdevctl_1.2.0-2.debian.tar.xz
 d1434b8c8010e52c5486a772b22f431e686257c3 8486 mdevctl_1.2.0-2_source.buildinfo
Checksums-Sha256:
 1733f8c7cd682747780acde1c0a372677e0cc1fb572c76440ba3026e590eff55 2194 
mdevctl_1.2.0-2.dsc
 cada378a70b71c75f4ff222c883a1ac4be436365b66eb7d534335cc0813f4abf 6420 
mdevctl_1.2.0-2.debian.tar.xz
 95809f9cbbf342cc13264e032648b407b99857212585964c86204a5a76bd8fd5 8486 
mdevctl_1.2.0-2_source.buildinfo
Files:
 8f5138a9d6a60f2f7a36e6e17be90e59 2194 admin optional mdevctl_1.2.0-2.dsc
 0fafca92349f23113fae4586720cd6a2 6420 admin optional 
mdevctl_1.2.0-2.debian.tar.xz
 eb002b4e13f809f40592f0440ef2d355 8486 admin optional 
mdevctl_1.2.0-2_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEktYY9mjyL47YC+71uj4pM4KAskIFAmMXCsoACgkQuj4pM4KA
skKM3w//bMYzCmbu9ETVYZBpBTDO0/2qp1S7fLfw/NMUUZH953BqM9blP6bMCl5T
6ym1q9/hdJwCbjuSRp15bjGL5yb8A5G0KBSDA+FQVR2IJrzUynwDvMjFR9uMS/6y
pqYGSmpb8dcC+rIo7sn+WC/baMJa7U6TkgeZ/wbLUVNWCtuGADJo3YJc6Nr5zFZ/
K4rYjJSbWxY3vj0JakW3ah5A5zYRyeXpR6/vYzJRWwYzk8KRpLyPxhEr4mWMm+hN
W3aw215mCwJQE8ZQ7qEHVO88FRz5TRMkAXvig0H/jFWj0+pgHEr2zBqjrTNX2TfT
1VdUcNuop99F3Sp2+iVQe7t+d1WPEmrl3Lf9qV4tcycI97ayxJxnjsiGjfh965Nv
5UTvUrDbgi3eEunWRkzlDwpWZx6zboFjXTlggcUO3ZOvxJEC2GbXuONtNnDoGb4g
iL1422xXOsaCFK1sN8ZxB8ZNap5s9u1AchKzlbf+e0KguYXxU9hGQrqGHxzlCLfl
/ftUklMhb9txcvSd8piH/ZkHvMzO4PW/IQLEr79Y/GK2/rVY+0Ndt3CRdcIfgMPl
hYnXEXwmJvyLZ/cJnvE8geNLSZFdU9iOBdIpVLrIouTSpMDNJ8tk181SvlVEMBOn
RAXdLhq/1XFl1IqDgvsZ/m3tkwHLKuhSfvkhs1MEOI9NZaB9q+g=
=JOHJ
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to