Compare commits
10 Commits
7944fad26a
...
69d5dc91c1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
69d5dc91c1 | ||
|
|
8b6c211a58 | ||
|
|
c670276151 | ||
|
|
4fbeb8eed2 | ||
|
|
4a3d619c15 | ||
|
|
4e9dbc667a | ||
|
|
d7ae1303a6 | ||
|
|
7d5850c478 | ||
|
|
f424b3f746 | ||
|
|
2712acacff |
79
0001-Fix-memory-leaks-detected-by-valgrind.patch
Normal file
79
0001-Fix-memory-leaks-detected-by-valgrind.patch
Normal file
@ -0,0 +1,79 @@
|
||||
From e3b401e8dfd6bfb668113fe0095a3e05566df068 Mon Sep 17 00:00:00 2001
|
||||
From: houlifei <houlifei@uniontech.com>
|
||||
Date: Thu, 20 Jul 2023 17:49:16 +0800
|
||||
Subject: [PATCH] Fix memory leaks detected by valgrind
|
||||
|
||||
---
|
||||
common/gvfsmountinfo.c | 1 +
|
||||
daemon/gvfsbackendnetwork.c | 10 ++--------
|
||||
daemon/gvfsdaemon.c | 3 +++
|
||||
monitor/gphoto2/ggphoto2volumemonitor.c | 1 +
|
||||
4 files changed, 7 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/common/gvfsmountinfo.c b/common/gvfsmountinfo.c
|
||||
index c3f31af..34a5450 100644
|
||||
--- a/common/gvfsmountinfo.c
|
||||
+++ b/common/gvfsmountinfo.c
|
||||
@@ -641,6 +641,7 @@ _g_find_file_insensitive_async (GFile *parent,
|
||||
cancellable,
|
||||
find_file_insensitive_exists_callback, task);
|
||||
|
||||
+ g_object_unref (direct_file); //uos add for fixing memory leaks
|
||||
|
||||
}
|
||||
|
||||
diff --git a/daemon/gvfsbackendnetwork.c b/daemon/gvfsbackendnetwork.c
|
||||
index 87cfec7..9f1905b 100644
|
||||
--- a/daemon/gvfsbackendnetwork.c
|
||||
+++ b/daemon/gvfsbackendnetwork.c
|
||||
@@ -902,19 +902,13 @@ g_vfs_backend_network_init (GVfsBackendNetwork *network_backend)
|
||||
network_backend->smb_settings = g_settings_new ("org.gnome.system.smb");
|
||||
|
||||
current_workgroup = g_settings_get_string (network_backend->smb_settings, "workgroup");
|
||||
-
|
||||
- if (current_workgroup == NULL ||
|
||||
- current_workgroup[0] == 0)
|
||||
- /* it's okay if current_workgroup is null here,
|
||||
- * it's checked before the NetworkFile is added anyway. */
|
||||
- network_backend->current_workgroup = NULL;
|
||||
- else
|
||||
- network_backend->current_workgroup = current_workgroup;
|
||||
+ network_backend->current_workgroup = current_workgroup;
|
||||
|
||||
g_signal_connect (network_backend->smb_settings,
|
||||
"change-event",
|
||||
G_CALLBACK (smb_settings_change_event_cb),
|
||||
network_backend);
|
||||
+ g_free (current_workgroup); // uos add for fixing memory leaks
|
||||
}
|
||||
|
||||
if (network_backend->have_dnssd)
|
||||
diff --git a/daemon/gvfsdaemon.c b/daemon/gvfsdaemon.c
|
||||
index a6d6236..72bdea1 100644
|
||||
--- a/daemon/gvfsdaemon.c
|
||||
+++ b/daemon/gvfsdaemon.c
|
||||
@@ -145,6 +145,9 @@ g_vfs_daemon_finalize (GObject *object)
|
||||
|
||||
daemon = G_VFS_DAEMON (object);
|
||||
|
||||
+ if (daemon->thread_pool != NULL)
|
||||
+ g_thread_pool_free (daemon->thread_pool, TRUE, TRUE); // uos add for fixing memory leaks
|
||||
+
|
||||
/* There may be some jobs outstanding if we've been force unmounted. */
|
||||
if (daemon->jobs)
|
||||
g_warning ("daemon->jobs != NULL when finalizing daemon!");
|
||||
diff --git a/monitor/gphoto2/ggphoto2volumemonitor.c b/monitor/gphoto2/ggphoto2volumemonitor.c
|
||||
index 54dec6e..e689b41 100644
|
||||
--- a/monitor/gphoto2/ggphoto2volumemonitor.c
|
||||
+++ b/monitor/gphoto2/ggphoto2volumemonitor.c
|
||||
@@ -331,6 +331,7 @@ gudev_coldplug_cameras (GGPhoto2VolumeMonitor *monitor)
|
||||
if (g_udev_device_has_property (d, "ID_GPHOTO2"))
|
||||
gudev_add_camera (monitor, d, FALSE);
|
||||
}
|
||||
+ g_list_free_full(usb_devices, g_object_unref); // uos add for fixing memory leaks
|
||||
}
|
||||
|
||||
static GObject *
|
||||
--
|
||||
2.33.0
|
||||
|
||||
53
Ignore-EINVAL-for-kerberos-ccache-login.patch
Normal file
53
Ignore-EINVAL-for-kerberos-ccache-login.patch
Normal file
@ -0,0 +1,53 @@
|
||||
From f99a48e982375e9ff5e98f36f1038cefd182e03c Mon Sep 17 00:00:00 2001
|
||||
From: peijiankang <peijiankang@kylinos.cn>
|
||||
Date: Thu, 26 Oct 2023 17:20:22 +0800
|
||||
Subject: [PATCH] Ignore EINVAL for kerberos/ccache login
|
||||
|
||||
---
|
||||
daemon/gvfsbackendsmb.c | 10 ++++++++--
|
||||
daemon/gvfsbackendsmbbrowse.c | 8 +++++++-
|
||||
2 files changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c
|
||||
index b8319c6..67c4570 100644
|
||||
--- a/daemon/gvfsbackendsmb.c
|
||||
+++ b/daemon/gvfsbackendsmb.c
|
||||
@@ -502,8 +502,14 @@ do_mount (GVfsBackend *backend,
|
||||
|
||||
if (res == 0)
|
||||
break;
|
||||
-
|
||||
- if (op_backend->mount_cancelled || (errsv != EACCES && errsv != EPERM))
|
||||
+
|
||||
+ if (errsv == EINVAL && op_backend->mount_try <= 1 && op_backend->user == NULL)
|
||||
+ {
|
||||
+ /* EINVAL is "expected" when kerberos/ccache is misconfigured, see:
|
||||
+ * https://gitlab.gnome.org/GNOME/gvfs/-/issues/611
|
||||
+ */
|
||||
+ }
|
||||
+ else if (op_backend->mount_cancelled || (errsv != EACCES && errsv != EPERM))
|
||||
{
|
||||
g_debug ("do_mount - (errno != EPERM && errno != EACCES), cancelled = %d, breaking\n", op_backend->mount_cancelled);
|
||||
break;
|
||||
diff --git a/daemon/gvfsbackendsmbbrowse.c b/daemon/gvfsbackendsmbbrowse.c
|
||||
index 3b11883..b3bb7b2 100644
|
||||
--- a/daemon/gvfsbackendsmbbrowse.c
|
||||
+++ b/daemon/gvfsbackendsmbbrowse.c
|
||||
@@ -957,7 +957,13 @@ do_mount (GVfsBackend *backend,
|
||||
uri, op_backend->mount_try, dir, op_backend->mount_cancelled,
|
||||
errsv, g_strerror (errsv));
|
||||
|
||||
- if (dir == NULL &&
|
||||
+ if (errsv == EINVAL && op_backend->mount_try == 0 && op_backend->user == NULL)
|
||||
+ {
|
||||
+ /* EINVAL is "expected" when kerberos is misconfigured, see:
|
||||
+ * https://gitlab.gnome.org/GNOME/gvfs/-/issues/611
|
||||
+ */
|
||||
+ }
|
||||
+ else if (dir == NULL &&
|
||||
(op_backend->mount_cancelled || (errsv != EPERM && errsv != EACCES)))
|
||||
{
|
||||
g_debug ("do_mount - (errno != EPERM && errno != EACCES), cancelled = %d, breaking\n", op_backend->mount_cancelled);
|
||||
--
|
||||
2.33.0
|
||||
|
||||
Binary file not shown.
BIN
gvfs-1.46.2.tar.xz
Normal file
BIN
gvfs-1.46.2.tar.xz
Normal file
Binary file not shown.
87
gvfs.spec
87
gvfs.spec
@ -1,41 +1,39 @@
|
||||
#spec file for gvfs
|
||||
%define _unpackaged_files_terminate_build 0
|
||||
%global avahi_version 0.6
|
||||
%global fuse_version 2.8.0
|
||||
%global fuse_version 3.0.0
|
||||
%global gettext_version 0.19.4
|
||||
%global glib2_version 2.57.2
|
||||
%global gsettings_desktop_schemas_version 3.33.0
|
||||
%global goa_version 3.17.1
|
||||
%global gudev_version 147
|
||||
%global libarchive_version 3.0.22
|
||||
%global libcdio_paranoia_version 0.78.2
|
||||
%global libgcrypt_version 1.2.2
|
||||
%global libgdata_version 0.17.9
|
||||
%global libgdata_version 0.17.11
|
||||
%global libgphoto2_version 2.5.0
|
||||
%global libimobiledevice_version 1.2
|
||||
%global libmtp_version 1.1.12
|
||||
%global libmtp_version 1.1.14
|
||||
%global libnfs_version 1.9.8
|
||||
%global libplist_version 0.15
|
||||
%global libsmbclient_version 3.4.0
|
||||
%global libsoup_version 2.42.0
|
||||
%global libplist_version 2.2
|
||||
%global libsmbclient_version 4.12.0
|
||||
%global libsoup_version 2.58.0
|
||||
%global libusb_version 1.0.21
|
||||
%global systemd_version 206
|
||||
%global talloc_version 1.3.0
|
||||
%global udisks2_version 1.97
|
||||
|
||||
Name: gvfs
|
||||
Version: 1.40.2
|
||||
Release: 8
|
||||
Version: 1.46.2
|
||||
Release: 5
|
||||
Summary: gvfs is a backends for the gio framework in GLib
|
||||
License: GPLv3 and LGPLv2+ and BSD and MPLv2.0
|
||||
URL: https://wiki.gnome.org/Projects/gvfs
|
||||
|
||||
Source0: https://download.gnome.org/sources/gvfs/1.40/gvfs-%{version}.tar.xz
|
||||
|
||||
Patch0001: resolve-the-compilation-failure-caused-by-the-libplist-upgrade.patch
|
||||
|
||||
BuildRequires: /usr/bin/ssh
|
||||
Source0: https://download.gnome.org/sources/gvfs/1.46/gvfs-%{version}.tar.xz
|
||||
Patch0: 0001-Fix-memory-leaks-detected-by-valgrind.patch
|
||||
Patch1: Ignore-EINVAL-for-kerberos-ccache-login.patch
|
||||
BuildRequires: /usr/bin/ssh git pkgconfig fuse3
|
||||
BuildRequires: meson gcc pkgconfig pkgconfig(glib-2.0) >= %{glib2_version} pkgconfig(dbus-glib-1) pkgconfig(gcr-3)
|
||||
BuildRequires: openssl-devel gdb
|
||||
BuildRequires: openssl-devel pkgconfig(gsettings-desktop-schemas) >= %{gsettings_desktop_schemas_version}
|
||||
BuildRequires: pkgconfig(libcdio_paranoia) >= %{libcdio_paranoia_version} pkgconfig(gudev-1.0) >= %{gudev_version}
|
||||
BuildRequires: pkgconfig(libsoup-2.4) >= %{libsoup_version} pkgconfig(avahi-client) >= %{avahi_version}
|
||||
BuildRequires: pkgconfig(avahi-glib) >= %{avahi_version} pkgconfig(libsecret-1)
|
||||
@ -48,22 +46,24 @@ BuildRequires: pkgconfig(talloc) >= %{talloc_version}
|
||||
BuildRequires: pkgconfig(libarchive) >= %{libarchive_version}
|
||||
BuildRequires: pkgconfig(libgphoto2) >= %{libgphoto2_version}
|
||||
BuildRequires: libusb-devel >= %{libusb_version} libexif-devel
|
||||
BuildRequires: pkgconfig(fuse) >= %{fuse_version}
|
||||
BuildRequires: pkgconfig(fuse3) >= %{fuse_version}
|
||||
BuildRequires: pkgconfig(libimobiledevice-1.0) >= %{libimobiledevice_version}
|
||||
BuildRequires: pkgconfig(libplist-2.0) >= %{libplist_version}
|
||||
BuildRequires: libgcrypt-devel >= %{libgcrypt_version}
|
||||
BuildRequires: pkgconfig(libmtp) >= %{libmtp_version}
|
||||
BuildRequires: pkgconfig(libnfs) >= %{libnfs_version} gdb
|
||||
BuildRequires: pkgconfig(libbluray)
|
||||
BuildRequires: chrpath
|
||||
|
||||
Requires: glib2%{?_isa} >= %{glib2_version} udisks2 >= %{udisks2_version}
|
||||
Requires: fuse >= %{fuse_version}
|
||||
Requires: libgdata%{?_isa} >= %{libgdata_version}
|
||||
Requires: fuse3 >= %{fuse_version} gsettings-desktop-schemas >= %{gsettings_desktop_schemas_version}
|
||||
Requires: libgdata%{?_isa} >= %{libgdata_version} usbmuxd
|
||||
Requires: %{name}-client%{?_isa} = %{version}-%{release}
|
||||
Requires(post): desktop-file-utils >= 0.22-6
|
||||
Requires(postun): desktop-file-utils >= 0.22-6
|
||||
|
||||
Provides: %{name}-fuse %{name}-fuse%{?_isa} %{name}-smb %{name}-archive %{name}-gphoto2 %{name}-afc %{name}-afp %{name}-mtp %{name}-goa %{name}-tests
|
||||
Obsoletes: %{name}-fuse %{name}-smb %{name}-archive %{name}-gphoto2 %{name}-afc %{name}-afp %{name}-mtp %{name}-goa %{name}-tests
|
||||
Provides: %{name}-fuse3 %{name}-smb %{name}-archive %{name}-gphoto2 %{name}-afc %{name}-afp %{name}-mtp %{name}-goa %{name}-tests
|
||||
Obsoletes: %{name}-fuse3 %{name}-smb %{name}-archive %{name}-gphoto2 %{name}-afc %{name}-afp %{name}-mtp %{name}-goa %{name}-tests
|
||||
Obsoletes: gnome-mount <= 0.8 gnome-mount-nautilus-properties <= 0.8
|
||||
Obsoletes: gvfs-obexftp < 1.17.91-2
|
||||
Obsoletes: %{name} < 1.9.4-1
|
||||
@ -102,7 +102,7 @@ This package contains help documentation for gvfs
|
||||
%autosetup -n %{name}-%{version} -p1
|
||||
|
||||
%build
|
||||
%meson -Dinstalled_tests=true -Dman=true -Dnfs=false -Dbluray=false %{nil}
|
||||
%meson -Dinstalled_tests=true -Dman=true -Dnfs=false -Dbluray=false -Dafc=false %{nil}
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
@ -112,6 +112,14 @@ cp -p daemon/trashlib/COPYING COPYING.GPL3
|
||||
|
||||
%find_lang gvfs
|
||||
|
||||
# Remove rpath
|
||||
chrpath -d %{buildroot}%{_libdir}/gio/modules/*.so
|
||||
chrpath -d %{buildroot}%{_libdir}/gvfs/*.so
|
||||
chrpath -d %{buildroot}%{_libexecdir}/gvfs*
|
||||
mkdir -p %{buildroot}/etc/ld.so.conf.d
|
||||
echo "%{_libdir}/gio/modules" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||
echo "%{_libdir}/gvfs" >> %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||
|
||||
%post
|
||||
# Reload .mount files:
|
||||
killall -USR1 gvfsd >&/dev/null || :
|
||||
@ -152,6 +160,12 @@ killall -USR1 gvfsd >&/dev/null || :
|
||||
%{_datadir}/glib-2.0/schemas/*.xml
|
||||
%{_datadir}/polkit-1/actions/org.gtk.vfs.file-operations.policy
|
||||
%{_datadir}/polkit-1/rules.d/org.gtk.vfs.file-operations.rules
|
||||
%{_datadir}/dbus-1/services/org.gtk.vfs.GPhoto2VolumeMonitor.service
|
||||
%{_datadir}/dbus-1/services/org.gtk.vfs.MTPVolumeMonitor.service
|
||||
%{_datadir}/gvfs/mounts/gphoto2.mount
|
||||
%{_datadir}/gvfs/mounts/mtp.mount
|
||||
%{_datadir}/gvfs/remote-volume-monitors/gphoto2.monitor
|
||||
%{_datadir}/gvfs/remote-volume-monitors/mtp.monitor
|
||||
%{_libdir}/gvfs/libgvfsdaemon.so
|
||||
%{_libexecdir}/gvfs-goa-volume-monitor
|
||||
%{_libexecdir}/gvfs-udisks2-volume-monitor
|
||||
@ -177,11 +191,18 @@ killall -USR1 gvfsd >&/dev/null || :
|
||||
%{_libexecdir}/gvfsd-smb
|
||||
%{_libexecdir}/gvfsd-smb-browse
|
||||
%{_libexecdir}/gvfsd-trash
|
||||
%{_libexecdir}/gvfs-gphoto2-volume-monitor
|
||||
%{_libexecdir}/gvfs-mtp-volume-monitor
|
||||
%{_libexecdir}/gvfsd-gphoto2
|
||||
%{_libexecdir}/gvfsd-mtp
|
||||
%{_userunitdir}/gvfs-daemon.service
|
||||
%{_userunitdir}/gvfs-metadata.service
|
||||
%{_userunitdir}/gvfs-udisks2-volume-monitor.service
|
||||
%{_userunitdir}/gvfs-goa-volume-monitor.service
|
||||
%{_userunitdir}/gvfs-gphoto2-volume-monitor.service
|
||||
%{_userunitdir}/gvfs-mtp-volume-monitor.service
|
||||
%{_tmpfilesdir}/gvfsd-fuse-tmpfiles.conf
|
||||
%config(noreplace) /etc/ld.so.conf.d/*
|
||||
|
||||
%files client -f gvfs.lang
|
||||
%license COPYING COPYING.GPL3
|
||||
@ -207,6 +228,24 @@ killall -USR1 gvfsd >&/dev/null || :
|
||||
%{_mandir}/man1/gvfsd-fuse.1*
|
||||
|
||||
%changelog
|
||||
* Tue Dec 05 2023 lwg <relpeace@yeah.net> - 1.46.2-5
|
||||
- Remove rpath
|
||||
|
||||
* Thu Oct 26 2023 peijiankang <peijiankang@kylinos.cn> - 1.46.2-4
|
||||
- Ignore EINVAL for kerberos/ccache login
|
||||
|
||||
* Fri Jul 28 2023 haomimi <haomimi@uniontech.com> - 1.46.2-3
|
||||
- Fix memory leaks detected by valgrind
|
||||
|
||||
* Wed Jul 21 2021 yushaogui <yushaogui@huawei.com> - 1.46.2-2
|
||||
- Delete a buildrequires for gdb
|
||||
|
||||
* Mon May 31 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 1.46.2-1
|
||||
- Upgrade to 1.46.2
|
||||
- Update Version, Release, Source0, BuildRequires, Requires, Obsoletes
|
||||
- Delete patch that existed in new version.
|
||||
- Update stage 'build', 'files', global variable quantity
|
||||
|
||||
* Tue Oct 13 2020 zhanzhimin <zhanzhimin@huawei.com> - 1.40.2-8
|
||||
- add gvfs-fuse(x86-64) dependency
|
||||
|
||||
@ -231,11 +270,11 @@ killall -USR1 gvfsd >&/dev/null || :
|
||||
* Tue Jan 7 2020 openEuler Buildteam <buildteam@openeuler.org> - 1.40.2-1
|
||||
- update to 1.40.2
|
||||
|
||||
* Tue Sep 26 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.38.1-3
|
||||
* Thu Sep 26 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.38.1-3
|
||||
- Type:cves
|
||||
- ID:CVE-2019-12447 CVE-2019-12448 CVE-2019-12449
|
||||
- SUG:restart
|
||||
- DESC:fix CVE-2019-12447 CVE-2019-12448 CVE-2019-12449
|
||||
|
||||
* Tue Sep 26 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.38.1-2
|
||||
* Thu Sep 26 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.38.1-2
|
||||
- Package init
|
||||
|
||||
@ -1,12 +0,0 @@
|
||||
diff -Nuar gvfs-1.40.2.origin/meson.build gvfs-1.40.2/meson.build
|
||||
--- gvfs-1.40.2.origin/meson.build 2020-08-12 10:56:28.913116340 +0800
|
||||
+++ gvfs-1.40.2/meson.build 2020-08-12 11:02:03.356989688 +0800
|
||||
@@ -355,7 +355,7 @@
|
||||
enable_afc = get_option('afc')
|
||||
if enable_afc
|
||||
libimobiledevice_dep = dependency('libimobiledevice-1.0', version: '>= 1.2')
|
||||
- libplist_dep = dependency('libplist', version: '>= 0.15')
|
||||
+ libplist_dep = dependency('libplist-2.0', version: '>= 0.15')
|
||||
endif
|
||||
|
||||
# *** Check if we should build with GOA volume monitor ***
|
||||
Loading…
x
Reference in New Issue
Block a user