public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Joshua Strobl <me@joshuastrobl.com>
To: git-commits@fedoraproject.org
Subject: [rpms/budgie-desktop] rawhide: Add support for oo7 secret service provider
Date: Mon, 07 Sep 2026 16:39:16 GMT [thread overview]
Message-ID: <178879915682.1.3606790726705589628.rpms-budgie-desktop-205162cfbfa5@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/budgie-desktop
Branch : rawhide
Commit : 205162cfbfa5ddb52cf846f5afce5064b71b8cca
Author : Joshua Strobl <me@joshuastrobl.com>
Date : 2026-09-07T19:38:55+03:00
Stats : +208/-3 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/budgie-desktop/c/205162cfbfa5ddb52cf846f5afce5064b71b8cca?branch=rawhide
Log:
Add support for oo7 secret service provider
---
diff --git a/0001-feat-build-add-opt-in-oo7-secret-service-support.patch b/0001-feat-build-add-opt-in-oo7-secret-service-support.patch
new file mode 100644
index 0000000..a91ee6b
--- /dev/null
+++ b/0001-feat-build-add-opt-in-oo7-secret-service-support.patch
@@ -0,0 +1,198 @@
+From adb20980d66d758eb2f470c532f9df49de80cf0d Mon Sep 17 00:00:00 2001
+From: Joshua Strobl <me@joshuastrobl.com>
+Date: Sun, 6 Sep 2026 11:21:46 +0300
+Subject: [PATCH 1/3] feat(build): add opt-in oo7 Secret Service support
+
+oo7 is being adopted as the preferred keyring / SecretService solution in Fedora. This commits adds conditional (off by default) support for it across our portals.conf (moved to .in) and budgie-desktop launch script.
+
+Similar to xdg-desktop-portal, we need to explicitly fire up oo7-daemon during launch due to its systemd user service requiring xdg-desktop-portal (which requires graphical target to be satisfied)
+
+Added oo7 libexecdir so that could be specified like you can with gsd and xdp. Defaults to libexecdir.
+
+Signed-off-by: Joshua Strobl <me@joshuastrobl.com>
+---
+ ...budgie-portals.conf => budgie-portals.conf.in} | 1 +
+ data/meson.build | 15 +++++++++++++--
+ meson.build | 10 ++++++++++
+ meson_options.txt | 2 ++
+ src/session/budgie-desktop.in | 1 +
+ src/session/meson.build | 7 +++++++
+ 6 files changed, 34 insertions(+), 2 deletions(-)
+ rename data/{budgie-portals.conf => budgie-portals.conf.in} (93%)
+
+diff --git a/data/budgie-portals.conf b/data/budgie-portals.conf.in
+similarity index 93%
+rename from data/budgie-portals.conf
+rename to data/budgie-portals.conf.in
+index aa046f63..373ff2b3 100644
+--- a/data/budgie-portals.conf
++++ b/data/budgie-portals.conf.in
+@@ -4,3 +4,4 @@ default=gtk
+ # ... except for the ScreenCast and Screenshot
+ org.freedesktop.impl.portal.ScreenCast=wlr
+ org.freedesktop.impl.portal.Screenshot=wlr
++@secret_portal@
+diff --git a/data/meson.build b/data/meson.build
+index 82840086..b38c5f7d 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -16,7 +16,18 @@ install_data(
+ install_dir: join_paths(datadir, 'budgie')
+ )
+
+-install_data(
+- 'budgie-portals.conf',
++# The Secret portal is only routed to oo7 when oo7 support is enabled
++portals_data = configuration_data()
++
++if oo7 == true
++ portals_data.set('secret_portal', 'org.freedesktop.impl.portal.Secret=oo7-portal')
++else
++ portals_data.set('secret_portal', '')
++endif
++
++configure_file(
++ input: 'budgie-portals.conf.in',
++ output: 'budgie-portals.conf',
++ configuration: portals_data,
+ install_dir: join_paths(datadir, 'xdg-desktop-portal')
+ )
+diff --git a/meson.build b/meson.build
+index 9ba288b1..0434abb1 100644
+--- a/meson.build
++++ b/meson.build
+@@ -180,6 +180,15 @@ if with_bluetooth == true
+ add_project_arguments('-D', 'WITH_BLUETOOTH', language: 'vala')
+ endif
+
++# oo7 provides the Secret Service and the xdg-desktop-portal Secret backend.
++oo7 = get_option('oo7')
++
++# Set the libexecdir for the oo7-* executables
++oo7_libexecdir = get_option('oo7-libexecdir')
++if oo7_libexecdir == ''
++ oo7_libexecdir = libexecdirroot
++endif
++
+ # GVC rpath. it's evil, but gvc will bomb out glib2 due to static linking weirdness now,
+ # so we have to use a shared library to prevent multiple registration of the same types..
+ rpath_libdir = join_paths(libdir, meson.project_name())
+@@ -241,6 +250,7 @@ report = [
+ ' gtk-doc: @0@'.format(with_gtk_doc),
+ ' stateless: @0@'.format(with_stateless),
+ ' bluetooth: @0@'.format(with_bluetooth),
++ ' oo7: @0@'.format(oo7),
+ ]
+
+
+diff --git a/meson_options.txt b/meson_options.txt
+index dabc5760..dfa754d1 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,4 +1,6 @@
+ option('ci', type: 'boolean', value: false, description: 'Continuous Integration flag (internal use only)')
++option('oo7', type: 'boolean', value: false, description: 'Enable support for oo7 Secret Service provider')
++option('oo7-libexecdir', type: 'string', description: 'Directory containing the oo7-* executables, particularly oo7-daemon')
+ option('gsd-libexecdir', type: 'string', description: 'Directory containing the gsd-* executables')
+ option('labwc-bindir', type: 'string', description: 'Directory containing the labwc executable')
+ #option('magpie-bindir', type: 'string', description: 'Directory containing the magpie-wm executable')
+diff --git a/src/session/budgie-desktop.in b/src/session/budgie-desktop.in
+index 845b42b5..6fab6848 100755
+--- a/src/session/budgie-desktop.in
++++ b/src/session/budgie-desktop.in
+@@ -20,5 +20,6 @@ compositor="@gsd_libexecdir@/budgie-session-compositor-ready"
+ if command -v "$compositor" > /dev/null 2>&1 && "$compositor"; then
+ @bindir@/org.buddiesofbudgie.Services &
+ @libexecdirroot@/xdg-desktop-portal &
++@oo7_daemon@
+ exec budgie-session --builtin --session=org.buddiesofbudgie.BudgieDesktop $*
+ fi
+diff --git a/src/session/meson.build b/src/session/meson.build
+index fec1d2b7..c2fba981 100644
+--- a/src/session/meson.build
++++ b/src/session/meson.build
+@@ -68,6 +68,13 @@ if gsd_libexecdir == ''
+ endif
+ session_data.set('gsd_libexecdir', gsd_libexecdir)
+
++# Start oo7-daemon with the session when oo7 support is enabled
++if oo7 == true
++ session_data.set('oo7_daemon', ' ' + join_paths(oo7_libexecdir, 'oo7-daemon') + ' &')
++else
++ session_data.set('oo7_daemon', '')
++endif
++
+ # Write the budgie-desktop.session.in file from the .in.in
+ session_conf = configure_file(
+ input: 'budgie-desktop.session.in.in',
+
+From a7b026c757e37106dbc53c2a7dd2909262f12c64 Mon Sep 17 00:00:00 2001
+From: Joshua Strobl <me@joshuastrobl.com>
+Date: Sun, 6 Sep 2026 11:37:25 +0300
+Subject: [PATCH 2/3] chore: add oo7 bins to runtime deps check with both oo7
+ and rundeps are turned on
+
+Otherwise we aren't checking for them like we are all the others
+
+Signed-off-by: Joshua Strobl <me@joshuastrobl.com>
+---
+ meson.build | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index 0434abb1..f83331cc 100644
+--- a/meson.build
++++ b/meson.build
+@@ -189,6 +189,11 @@ if oo7_libexecdir == ''
+ oo7_libexecdir = libexecdirroot
+ endif
+
++if oo7 == true and get_option('with-runtime-dependencies')
++ find_program(join_paths(oo7_libexecdir, 'oo7-daemon'), required: true)
++ find_program(join_paths(oo7_libexecdir, 'oo7-portal'), required: true)
++endif
++
+ # GVC rpath. it's evil, but gvc will bomb out glib2 due to static linking weirdness now,
+ # so we have to use a shared library to prevent multiple registration of the same types..
+ rpath_libdir = join_paths(libdir, meson.project_name())
+
+From bef26242767ac6051e2ed825cd8a7bc72962ed43 Mon Sep 17 00:00:00 2001
+From: Joshua Strobl <me@joshuastrobl.com>
+Date: Mon, 7 Sep 2026 19:13:26 +0300
+Subject: [PATCH 3/3] fix(build): change oo7 to with-oo7 for consistency
+
+Signed-off-by: Joshua Strobl <me@joshuastrobl.com>
+---
+ meson.build | 2 +-
+ meson_options.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index f83331cc..a8f2a4b0 100644
+--- a/meson.build
++++ b/meson.build
+@@ -181,7 +181,7 @@ if with_bluetooth == true
+ endif
+
+ # oo7 provides the Secret Service and the xdg-desktop-portal Secret backend.
+-oo7 = get_option('oo7')
++oo7 = get_option('with-oo7')
+
+ # Set the libexecdir for the oo7-* executables
+ oo7_libexecdir = get_option('oo7-libexecdir')
+diff --git a/meson_options.txt b/meson_options.txt
+index dfa754d1..f78e1ef0 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,10 +1,10 @@
+ option('ci', type: 'boolean', value: false, description: 'Continuous Integration flag (internal use only)')
+-option('oo7', type: 'boolean', value: false, description: 'Enable support for oo7 Secret Service provider')
+ option('oo7-libexecdir', type: 'string', description: 'Directory containing the oo7-* executables, particularly oo7-daemon')
+ option('gsd-libexecdir', type: 'string', description: 'Directory containing the gsd-* executables')
+ option('labwc-bindir', type: 'string', description: 'Directory containing the labwc executable')
+ #option('magpie-bindir', type: 'string', description: 'Directory containing the magpie-wm executable')
+ option('use-old-zenity', type: 'boolean', value: false, description: 'Use old zenity CLI API for out-of-process dialog handling')
++option('with-oo7', type: 'boolean', value: false, description: 'Enable support for oo7 Secret Service provider')
+ option('with-bluetooth', type: 'boolean', value: true, description: 'Enable Bluetooth (Vala option)')
+ option('with-gtk-doc', type: 'boolean', value: true, description: 'Build gtk-doc documentation')
+ option('with-hibernate', type: 'boolean', value: true, description: 'Include support for system hibernation')
diff --git a/budgie-desktop.spec b/budgie-desktop.spec
index a03282c..8491f00 100644
--- a/budgie-desktop.spec
+++ b/budgie-desktop.spec
@@ -8,7 +8,7 @@
Name: budgie-desktop
Version: 10.10.2
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: A feature-rich, modern desktop designed to keep out the way of the user
# GPL-2.0-or-later:
@@ -29,6 +29,8 @@ Source0: %{url}/releases/download/v%{version}/%{name}-v%{version}.tar.xz
Source1: %{url}/releases/download/v%{version}/%{name}-v%{version}.tar.xz.asc
Source2: https://forge.moderndesktop.dev/BuddiesOfBudgie/keyrings/raw/branch/main/JoshuaStrobl.gpg
+Patch0: 0001-feat-build-add-opt-in-oo7-secret-service-support.patch
+
# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
@@ -67,6 +69,7 @@ BuildRequires: gtklock
BuildRequires: intltool
BuildRequires: magpie-devel
BuildRequires: meson
+BuildRequires: oo7-portal
BuildRequires: sassc
BuildRequires: slurp
BuildRequires: swaybg
@@ -79,12 +82,13 @@ Requires: gammastep
Requires: grim
Requires: gnome-settings-daemon
Requires: gsettings-desktop-schemas
-Requires: gnome-keyring-pam
Requires: hicolor-icon-theme
Requires: labwc
# mutter-common is required for gschemas that the labwc bridge uses
Requires: mutter-common
Requires: network-manager-applet
+Requires: oo7-portal
+Requires: pam_oo7
Requires: python3-psutil
Requires: slurp
Requires: swaybg
@@ -135,7 +139,7 @@ Documentation for budgie-desktop
%autosetup -p1
%build
-%meson -Dwith-hibernate=false
+%meson -Dwith-hibernate=false -Dwith-oo7=true
%meson_build
%install
@@ -228,6 +232,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%{_datadir}/gtk-doc/html/%{name}/*
%changelog
+* Mon Sep 07 2026 Joshua Strobl <joshua@buddiesofbudgie.org> - 10.10.2-4
+- Add support for oo7 secret service provider
+
* Wed Jul 15 2026 Fedora Release Engineering <releng@fedoraproject.org> - 10.10.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
reply other threads:[~2026-09-07 16:39 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=178879915682.1.3606790726705589628.rpms-budgie-desktop-205162cfbfa5@fedoraproject.org \
--to=me@joshuastrobl.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