From 8a2ea53f63811351dfa97e314afb3b9375f8341a Mon Sep 17 00:00:00 2001 From: David McKinney Date: Thu, 18 Apr 2019 17:10:57 -0400 Subject: [PATCH] Added stripped down gvfs to facilitate automounting of luks encrypted USB drives, includes gsettings to prevent autorun --- .../gsettings/90_citadel.gschema.override | 5 ++ .../packagegroups/packagegroup-gnome.bb | 1 + meta-gnome/recipes-gnome/gvfs/gvfs_1.40.1.bb | 73 +++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 meta-gnome/recipes-gnome/gvfs/gvfs_1.40.1.bb diff --git a/meta-citadel/recipes-citadel/citadel-config/files/gsettings/90_citadel.gschema.override b/meta-citadel/recipes-citadel/citadel-config/files/gsettings/90_citadel.gschema.override index f6473ca..8e8809c 100644 --- a/meta-citadel/recipes-citadel/citadel-config/files/gsettings/90_citadel.gschema.override +++ b/meta-citadel/recipes-citadel/citadel-config/files/gsettings/90_citadel.gschema.override @@ -11,6 +11,11 @@ color-shading-type='solid' primary-color='#425265' user-switch-enabled=false +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +autorun-x-content-start-app=[] + [org.gnome.desktop.lockdown] disable-user-switching=true diff --git a/meta-citadel/recipes-citadel/packagegroups/packagegroup-gnome.bb b/meta-citadel/recipes-citadel/packagegroups/packagegroup-gnome.bb index d8e169a..f0d4f19 100644 --- a/meta-citadel/recipes-citadel/packagegroups/packagegroup-gnome.bb +++ b/meta-citadel/recipes-citadel/packagegroups/packagegroup-gnome.bb @@ -18,6 +18,7 @@ RDEPENDS_${PN} = "\ nautilus \ gjs \ caribou \ + gvfs \ gnome-keyring \ gnome-session \ gnome-shell \ diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.1.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.1.bb new file mode 100644 index 0000000..036c13e --- /dev/null +++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.1.bb @@ -0,0 +1,73 @@ +DESCRIPTION = "gvfs is a userspace virtual filesystem" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnome bash-completion gettext upstream-version-is-even + +DEPENDS += "libsecret glib-2.0 gconf libgudev udisks2 polkit shadow-native libusb1" + +SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" + +SRC_URI[archive.md5sum] = "78496947d11a330d5435d669eade70ad" +SRC_URI[archive.sha256sum] = "927af496efee4767f1ba12694190f9c93bc512a44854e88dbb6f5792abfad6b1" + +EXTRA_OEMESON = " \ + -Dadmin=false \ + -Dafc=false \ + -Dafp=false \ + -Darchive=false \ + -Dcdda=false \ + -Ddnssd=false \ + -Dgoa=false \ + -Dgoogle=false \ + -Dgphoto2=false \ + -Dhttp=false \ + -Dmtp=false \ + -Dhttp=false \ + -Dnfs=false \ + -Dsftp=false \ + -Dsmb=false \ + -Dbluray=false \ + -Dgcr=false \ + -Dkeyring=false \ + -Dudisks2=true \ +" + +FILES_${PN} += " \ + ${datadir}/glib-2.0 \ + ${datadir}/GConf \ + ${datadir}/dbus-1/services \ + ${libdir}/gio/modules/*.so \ + ${libdir}/tmpfiles.d \ + ${systemd_user_unitdir} \ +" + +RDEPENDS_${PN} = "udisks2" + +FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*" +FILES_${PN}-dev += "${libdir}/gio/modules/*.la" + +PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd" + +# needs meta-filesystems +PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse" + +do_install_append() { + + # After rebuilds (not from scracth) it can happen that the executables in + # libexec ar missing executable permission flag. Not sure but it came up + # during transition to meson. Looked into build files and logs but could + # not find suspicious + for exe in `find ${D}/${libexec}`; do + chmod +x $exe + done + + # Something sets user services executable - looks a bit as if meson + # transition has room for enhancements... + # Systemd warns with messages as: + # Apr 07 01:00:33 raspberrypi3 systemd[348]: Configuration file /usr/lib/systemd/user/gvfs-mtp-volume-monitor.service is marked executable. Please remove executable permissio> + for service in `find ${D}/${systemd_user_unitdir}`; do + chmod -x $service + done +}