Skip to content

Commit 75964b0

Browse files
committed
Add distinct GUI bookmark package
GTK bookmarks can be used by all currently supported file managers: - caja - thunar - nautilus - pcmanfm-qt (yes, it has a fallback for gtk bookmarks) For: QubesOS/qubes-issues#10081 Signed-off-by: Ben Grande <ben@invisiblethingslab.com>
1 parent f26fc08 commit 75964b0

10 files changed

Lines changed: 72 additions & 19 deletions

File tree

archlinux/PKGBUILD.in

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Maintainer: Frédéric Pierret (fepitre) <frederic@invisiblethingslab.com>
22

3-
pkgname=(qubes-vm-core qubes-vm-networking qubes-vm-keyring qubes-vm-caja qubes-vm-nautilus qubes-vm-passwordless-root qubes-vm-thunar qubes-vm-dom0-updates)
3+
pkgname=(qubes-vm-core qubes-vm-networking qubes-vm-keyring qubes-vm-bookmark qubes-vm-caja qubes-vm-nautilus qubes-vm-passwordless-root qubes-vm-thunar qubes-vm-dom0-updates)
44
pkgver=@VERSION@
55
pkgrel=@REL@
66
pkgdesc="The Qubes core files for installation inside a Qubes VM."
@@ -95,6 +95,7 @@ package_qubes-vm-core() {
9595
qubes-vm-nautilus
9696
qubes-vm-networking
9797
qubes-vm-thunar
98+
qubes-vm-bookmark
9899
)
99100
install="archlinux/PKGBUILD.install"
100101

@@ -229,6 +230,22 @@ package_qubes-vm-caja() {
229230
DIST=archlinux
230231
}
231232

233+
package_qubes-vm-bookmark() {
234+
pkgdesc="Qubes integration for GUI bookmarks"
235+
provides=(qubes-core-agent-bookmark=@VERSION@)
236+
conflicts=('qubes-vm-core<4.3.26')
237+
238+
cd "${_pkgnvr}"
239+
make -C qubes-rpc/bookmark install \
240+
DESTDIR="$pkgdir" \
241+
SBINDIR=/usr/bin \
242+
LIBDIR=/usr/lib \
243+
SYSLIBDIR=/usr/lib \
244+
SYSTEM_DROPIN_DIR=/usr/lib/systemd/system \
245+
USER_DROPIN_DIR=/usr/lib/systemd/user \
246+
DIST=archlinux
247+
}
248+
232249
package_qubes-vm-thunar() {
233250
pkgdesc="Qubes OS Thunar addons for inter-VM file copy/move/open"
234251
provides=(qubes-core-agent-thunar=@VERSION@)

debian/control

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,19 @@ Description: Qubes core agent
8787
This package includes various daemons necessary for qubes domU support,
8888
such as qrexec services.
8989

90+
Package: qubes-core-agent-bookmark
91+
Architecture: any
92+
Replaces: qubes-core-agent (<< 4.0.0-1)
93+
Breaks: qubes-core-agent (<< 4.0.0-1)
94+
Description: Qubes integration for GUI bookmarks
95+
GUI bookmarks for useful Qubes OS directories.
96+
9097
Package: qubes-core-agent-nautilus
9198
Architecture: any
9299
Depends:
93100
${pythonver:Depends}-nautilus,
94101
qubes-core-qrexec,
102+
qubes-core-agent-bookmark,
95103
Replaces: qubes-core-agent (<< 4.0.0-1)
96104
Breaks: qubes-core-agent (<< 4.0.0-1)
97105
Description: Qubes integration for Nautilus
@@ -102,6 +110,7 @@ Architecture: any
102110
Depends:
103111
${pythonver:Depends}-caja,
104112
qubes-core-qrexec,
113+
qubes-core-agent-bookmark,
105114
Replaces: qubes-core-agent (<< 4.0.0-1)
106115
Breaks: qubes-core-agent (<< 4.0.0-1)
107116
Description: Qubes integration for Caja
@@ -112,6 +121,7 @@ Architecture: any
112121
Depends:
113122
thunar,
114123
qubes-core-qrexec,
124+
qubes-core-agent-bookmark,
115125
Replaces: qubes-core-agent (<< 4.0.0-1)
116126
Breaks: qubes-core-agent (<< 4.0.0-1)
117127
Description: Qubes integration for Thunar
@@ -122,6 +132,7 @@ Architecture: any
122132
Depends:
123133
pcmanfm-qt,
124134
qubes-core-qrexec,
135+
qubes-core-agent-bookmark,
125136
Replaces: qubes-core-agent (<< 4.0.0-1)
126137
Breaks: qubes-core-agent (<< 4.0.0-1)
127138
Description: Qubes integration for PCManFM-Qt
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
usr/lib/qubes/qvm_bookmark.sh
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
usr/share/nautilus-python/extensions/*
2-
usr/lib/qubes/qvm_nautilus_bookmark.sh

qubes-rpc/bookmark/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
QUBESLIBDIR ?= /usr/lib/qubes
2+
3+
.PHONY: install
4+
5+
install:
6+
install -d $(DESTDIR)$(QUBESLIBDIR)
7+
install -t $(DESTDIR)$(QUBESLIBDIR) -m 0755 *.sh

qubes-rpc/bookmark/qvm_bookmark.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/sh
2+
3+
incoming_dir="$HOME/QubesIncoming"
4+
bookmark_created_basename="qubes-incoming-bookmark-created"
5+
6+
dir="$HOME/.config/gtk-3.0"
7+
test -d "$dir" || exit 0
8+
created="$dir/$bookmark_created_basename"
9+
! test -e "$created" || exit 0
10+
printf '%s\n' "file://$incoming_dir" >> "$dir"/bookmarks
11+
touch -- "$created"

qubes-rpc/nautilus/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,3 @@ install:
77
install -d $(DESTDIR)$(NAUTILUSPYEXTDIR)
88
install -t $(DESTDIR)$(NAUTILUSPYEXTDIR) -m 0644 *.py
99
install -d $(DESTDIR)$(QUBESLIBDIR)
10-
install -t $(DESTDIR)$(QUBESLIBDIR) -m 0755 *.sh

qubes-rpc/nautilus/qvm_nautilus_bookmark.sh

Lines changed: 0 additions & 6 deletions
This file was deleted.

qubes-rpc/qubes.Filecopy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
2-
if [ -f /usr/lib/qubes/qvm_nautilus_bookmark.sh ]
2+
if [ -f /usr/lib/qubes/qvm_bookmark.sh ]
33
then
4-
/usr/lib/qubes/qvm_nautilus_bookmark.sh >/dev/null 2>&1 </dev/null
4+
/usr/lib/qubes/qvm_bookmark.sh >/dev/null 2>&1 </dev/null
55
fi
66
case $1 in
77
('') arg=;;

rpm_spec/core-agent.spec.in

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,18 @@ DNF plugin for Qubes specific post-installation actions:
260260
%endif
261261
%endif
262262

263+
%package bookmark
264+
Summary: Qubes integration for GUI bookmarks
265+
Requires: qubes-core-agent = %{version}
266+
Conflicts: qubes-core-vm < 4.0.0
267+
268+
%description bookmark
269+
GUI bookmarks for useful Qubes OS directories.
270+
263271
%package caja
264272
Summary: Qubes integration for Caja
265273
Requires: qubes-core-agent = %{version}
274+
Requires: qubes-core-agent-bookmark = %{version}
266275
%if 0%{?is_opensuse}
267276
Requires: python-caja
268277
%else
@@ -280,6 +289,7 @@ Caja addons for inter-VM file copy/move/open.
280289
%package nautilus
281290
Summary: Qubes integration for Nautilus
282291
Requires: qubes-core-agent = %{version}
292+
Requires: qubes-core-agent-bookmark = %{version}
283293
%if 0%{?is_opensuse}
284294
Requires: python-nautilus-common-files
285295
%else
@@ -294,6 +304,14 @@ BuildRequires: python-nautilus-common-files
294304
%description nautilus
295305
Nautilus addons for inter-VM file copy/move/open.
296306

307+
%package thunar
308+
Summary: Thunar support for Qubes VM tools
309+
Requires: Thunar
310+
Requires: qubes-core-agent-bookmark = %{version}
311+
312+
%description thunar
313+
Thunar support for Qubes VM tools
314+
297315
%package dom0-updates
298316
BuildArch: noarch
299317
Summary: Scripts required to handle dom0 updates
@@ -373,13 +391,6 @@ switching from user to root. Since all the user data in a VM is accessible
373391
already from normal user account, there is not much more to guard there. Qubes
374392
VMs are single user systems.
375393

376-
%package thunar
377-
Summary: Thunar support for Qubes VM tools
378-
Requires: Thunar
379-
380-
%description thunar
381-
Thunar support for Qubes VM tools
382-
383394
%if %{with selinux}
384395
%package selinux
385396
BuildArch: noarch
@@ -504,6 +515,7 @@ make -C qubes-rpc/kde DESTDIR=$RPM_BUILD_ROOT install-kde4
504515
make -C qubes-rpc/kde DESTDIR=$RPM_BUILD_ROOT install-kde5
505516
make -C qubes-rpc/nautilus DESTDIR=$RPM_BUILD_ROOT install
506517
make -C qubes-rpc/thunar DESTDIR=$RPM_BUILD_ROOT install
518+
make -C qubes-rpc/bookmark DESTDIR=$RPM_BUILD_ROOT install
507519

508520
%if 0%{?fedora} >= 41
509521
make -C package-managers PYTHON=%{__python3} DESTDIR=$RPM_BUILD_ROOT install install-dnf5
@@ -1097,6 +1109,9 @@ rm -f %{name}-%{version}
10971109
%endif
10981110
%endif
10991111

1112+
%files bookmark
1113+
/usr/lib/qubes/qvm_bookmark.sh
1114+
11001115
%files caja
11011116
/usr/share/caja-python/extensions/qvm_copy_caja.py*
11021117
/usr/share/caja-python/extensions/qvm_move_caja.py*
@@ -1106,7 +1121,6 @@ rm -f %{name}-%{version}
11061121
/usr/share/nautilus-python/extensions/qvm_copy_nautilus.py*
11071122
/usr/share/nautilus-python/extensions/qvm_move_nautilus.py*
11081123
/usr/share/nautilus-python/extensions/qvm_dvm_nautilus.py*
1109-
/usr/lib/qubes/qvm_nautilus_bookmark.sh
11101124

11111125
%files thunar
11121126
/usr/lib/qubes/qvm-actions.sh

0 commit comments

Comments
 (0)