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 {