Package: gnome-user-share
Version: 48.3-1
Severity: serious
Tags: patch

The selinux crate in Debian was recently updated from 0.4 to 0.6.
Breaking changes in the upstream changelog seem very minimal.

I was able to build gnome-user-share successfully against the new
version after bumping the dependencies (both Debian and Cargo)
diff -Nru gnome-user-share-48.3/debian/changelog 
gnome-user-share-48.3/debian/changelog
--- gnome-user-share-48.3/debian/changelog      2026-06-01 18:33:29.000000000 
+0000
+++ gnome-user-share-48.3/debian/changelog      2026-08-11 10:01:45.000000000 
+0000
@@ -1,3 +1,10 @@
+gnome-user-share (48.3-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Relax dependency on selinux crate.
+
+ -- Peter Michael Green <[email protected]>  Tue, 11 Aug 2026 10:01:45 +0000
+
 gnome-user-share (48.3-1) unstable; urgency=medium
 
   * New upstream release
diff -Nru gnome-user-share-48.3/debian/control 
gnome-user-share-48.3/debian/control
--- gnome-user-share-48.3/debian/control        2026-06-01 18:33:08.000000000 
+0000
+++ gnome-user-share-48.3/debian/control        2026-08-11 10:01:45.000000000 
+0000
@@ -12,7 +12,8 @@
                librust-gio-0.22+v2-74-dev,
                librust-glib-unix-0.22-dev,
                librust-libc-dev,
-               librust-selinux-0.4-dev,
+               librust-selinux-dev (>= 0.4),
+               librust-selinux-dev (<< 0.7),
                libselinux1-dev [linux-any],
                libxt-dev,
                meson (>=0.57.0),
diff -Nru gnome-user-share-48.3/debian/patches/Relax-dependencies.patch 
gnome-user-share-48.3/debian/patches/Relax-dependencies.patch
--- gnome-user-share-48.3/debian/patches/Relax-dependencies.patch       
2026-06-01 18:25:42.000000000 +0000
+++ gnome-user-share-48.3/debian/patches/Relax-dependencies.patch       
2026-08-11 10:01:45.000000000 +0000
@@ -8,24 +8,28 @@
  src/application.rs | 11 ++++++-----
  2 files changed, 8 insertions(+), 6 deletions(-)
 
-diff --git a/Cargo.toml b/Cargo.toml
-index 0efebf0..b9a7a6b 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -4,7 +4,8 @@ edition = "2021"
+Index: gnome-user-share-48.3/Cargo.toml
+===================================================================
+--- gnome-user-share-48.3.orig/Cargo.toml
++++ gnome-user-share-48.3/Cargo.toml
+@@ -4,10 +4,11 @@ edition = "2021"
  rust-version = "1.80.0"
-
+ 
  [dependencies]
 -gio = { version = "0.20", features = ["v2_74"]}
 +gio = { version = "0.22", features = ["v2_74"]}
 +glib-unix = "0.22"
  gettext-rs = { version = "0.7", features = ["gettext-system"] }
  libc = "0.2.154"
- selinux = { version = "0.4.4", optional = true }
-diff --git a/src/application.rs b/src/application.rs
-index f28d4f8..d1fded9 100644
---- a/src/application.rs
-+++ b/src/application.rs
+-selinux = { version = "0.4.4", optional = true }
++selinux = { version = ">= 0.4.4, < 0.7", optional = true }
+ 
+ [profile.release]
+ debug = "full"
+Index: gnome-user-share-48.3/src/application.rs
+===================================================================
+--- gnome-user-share-48.3.orig/src/application.rs
++++ gnome-user-share-48.3/src/application.rs
 @@ -13,7 +13,7 @@ use std::process::exit;
  use gio::glib;
  use gio::prelude::*;
@@ -33,28 +37,28 @@
 -
 +use glib_unix;
  use crate::{http, settings::Settings};
-
+ 
  const APPLICATION_ID: &str = "org.gnome.user-share.webdav";
 @@ -66,9 +66,9 @@ mod imp {
                                exit(2)
                        });
-
+ 
 -                      glib::unix_signal_add_local(libc::SIGINT, 
signal_handler.clone());
 -                      glib::unix_signal_add_local(libc::SIGHUP, 
signal_handler.clone());
 -                      glib::unix_signal_add_local(libc::SIGTERM, 
signal_handler);
 +                      glib_unix::unix_signal_add_local(libc::SIGINT, 
signal_handler.clone());
 +                      glib_unix::unix_signal_add_local(libc::SIGHUP, 
signal_handler.clone());
 +                      glib_unix::unix_signal_add_local(libc::SIGTERM, 
signal_handler);
-
+ 
                        Settings::connect_password_required_changed(|_, _| {
                                http::down();
 @@ -89,7 +89,8 @@ mod imp {
-
+ 
  glib::wrapper! {
        pub struct WebdavApplication(ObjectSubclass<imp::WebdavApplication>)
 -              @extends gio::Application;
 +              @extends gio::Application,
 +              @implements gio::ActionGroup, gio::ActionMap;
  }
-
+ 
  impl Default for WebdavApplication {

Reply via email to