blob: 6ea8727539a2b954b5de814a54afc1862e1e4613 [file] [log] [blame]
Andrew Geissler9aee5002022-03-30 16:27:02 +00001DESCRIPTION = "gvfs is a userspace virtual filesystem"
2LICENSE = "LGPL-2.0-only"
3LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
4
5GNOMEBASEBUILDCLASS = "meson"
6inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check useradd
7
Andrew Geissler517393d2023-01-13 08:55:19 -06008DEPENDS += "\
9 dbus \
10 glib-2.0 \
11 glib-2.0-native \
12 gsettings-desktop-schemas \
13 libgudev \
14 libsecret \
15 libxml2 \
16 shadow-native \
17"
Andrew Geissler9aee5002022-03-30 16:27:02 +000018
19RDEPENDS:${PN} += "gsettings-desktop-schemas"
20
Andrew Geissler517393d2023-01-13 08:55:19 -060021SRC_URI = "\
22 https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive \
23 file://0001-daemon-PATH-expand-the-sftp-backend-ssh-client.patch \
24"
Andrew Geissler9aee5002022-03-30 16:27:02 +000025
Andrew Geissler615f2f12022-07-15 14:00:58 -050026SRC_URI[archive.sha256sum] = "03d72b8c15ef438110f0cf457b5655266c8b515d0412b30f4d55cfa0da06ac5e"
Andrew Geissler9aee5002022-03-30 16:27:02 +000027
Andrew Geissler78b72792022-06-14 06:47:25 -050028ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
Andrew Geissler9aee5002022-03-30 16:27:02 +000029
30EXTRA_OEMESON = " \
31 -Dbluray=false \
32 -Dgoa=false \
33 -Dgoogle=false \
34 -Dnfs=false \
35"
36
37PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
38
39FILES:${PN} += " \
40 ${datadir}/glib-2.0 \
41 ${datadir}/GConf \
42 ${datadir}/dbus-1/services \
43 ${libdir}/gio/modules/*.so \
44 ${libdir}/tmpfiles.d \
45 ${systemd_user_unitdir} \
46"
47
48FILES:${PN}-dbg += "${libdir}/gio/modules/.debug/*"
49FILES:${PN}-dev += "${libdir}/gio/modules/*.la"
50
51FILES:gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
52FILES:gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
53FILES:gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
54
55RRECOMMENDS:gvfsd-ftp += "openssh-sftp openssh-ssh"
56
57PACKAGECONFIG ?= "libgphoto2 \
58 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
59 ${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \
60 ${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \
61 "
62
63PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2"
64PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit"
65PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
66PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
67PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
Andrew Geissler517393d2023-01-13 08:55:19 -060068PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr3"
69PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-3.0"
Andrew Geissler9aee5002022-03-30 16:27:02 +000070PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
71PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
72PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
73PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
74PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
75
76# needs meta-filesystems
77PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse3"
78
79# libcdio-paranoia recipe doesn't exist yet
80PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
81
82USERADD_PACKAGES = "${PN}"
Andrew Geissler517393d2023-01-13 08:55:19 -060083USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
Andrew Geissler9aee5002022-03-30 16:27:02 +000084
85do_install:append() {
86 if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then
87 # Fix up permissions on polkit rules.d to work with rpm4 constraints
Andrew Geissler517393d2023-01-13 08:55:19 -060088 chmod 700 ${D}${datadir}/polkit-1/rules.d
89 chown polkitd:root ${D}${datadir}/polkit-1/rules.d
Andrew Geissler9aee5002022-03-30 16:27:02 +000090 fi
91
92 # After rebuilds (not from scracth) it can happen that the executables in
93 # libexec ar missing executable permission flag. Not sure but it came up
94 # during transition to meson. Looked into build files and logs but could
95 # not find suspicious
96 for exe in `find ${D}/${libexecdir}`; do
97 chmod +x $exe
98 done
99}