diff -pruN 1.46.1-1/debian/changelog 1.46.1-1ubuntu1/debian/changelog
--- 1.46.1-1/debian/changelog	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/changelog	2020-10-05 15:08:07.000000000 +0000
@@ -1,3 +1,15 @@
+gvfs (1.46.1-1ubuntu1) groovy; urgency=medium
+
+  * Merge with debian. Remaining changes:
+    - Revert upstream changes to port to fuse 3. This is in universe in Ubuntu
+      and we'll need to work out a plan to transition away from fuse 2
+      + debian/control{,.in}
+      + debian/patches/Revert-fuse-Remove-max_write-limit.patch
+      + debian/patches/Revert-fuse-Adapt-gvfsd-fuse-to-use-fuse-3.x.patch
+  * Revert adding back the gvfs-bin package, it's not needed in Ubuntu
+
+ -- Sebastien Bacher <seb128@ubuntu.com>  Mon, 05 Oct 2020 17:08:07 +0200
+
 gvfs (1.46.1-1) unstable; urgency=medium
 
   * New upstream release
@@ -20,6 +32,17 @@ gvfs (1.46.0-2) unstable; urgency=medium
 
  -- Simon McVittie <smcv@debian.org>  Sun, 27 Sep 2020 17:00:48 +0100
 
+gvfs (1.46.0-1ubuntu1) groovy; urgency=medium
+
+  * Merge with debian. Remaining changes:
+    - Revert upstream changes to port to fuse 3. This is in universe in Ubuntu
+      and we'll need to work out a plan to transition away from fuse 2
+      + debian/control{,.in}
+      + debian/patches/Revert-fuse-Remove-max_write-limit.patch
+      + debian/patches/Revert-fuse-Adapt-gvfsd-fuse-to-use-fuse-3.x.patch
+
+ -- Sebastien Bacher <seb128@ubuntu.com>  Thu, 17 Sep 2020 15:30:15 +0200
+
 gvfs (1.46.0-1) experimental; urgency=medium
 
   * New upstream release
@@ -38,12 +61,37 @@ gvfs (1.45.92-1) experimental; urgency=m
 
  -- Simon McVittie <smcv@debian.org>  Wed, 09 Sep 2020 17:58:20 +0100
 
+gvfs (1.44.1-1ubuntu2) groovy; urgency=medium
+
+  * Rebuild against new libcdio19.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 15 Aug 2020 09:38:14 +0200
+
+gvfs (1.44.1-1ubuntu1) focal; urgency=medium
+
+  * Merge with debian. Remaining changes:
+    - Revert upstream changes to port to fuse 3. This is in universe in Ubuntu
+      and we'll need to work out a plan to transition away from fuse 2
+      + debian/control{,.in}
+      + debian/patches/Revert-fuse-Remove-max_write-limit.patch
+      + debian/patches/Revert-fuse-Adapt-gvfsd-fuse-to-use-fuse-3.x.patch
+
+ -- Olivier Tilloy <olivier.tilloy@canonical.com>  Tue, 14 Apr 2020 17:03:29 +0200
+
 gvfs (1.44.1-1) unstable; urgency=medium
 
   * New upstream release
 
  -- Jeremy Bicha <jbicha@debian.org>  Sun, 29 Mar 2020 00:09:58 -0400
 
+gvfs (1.44.0-1ubuntu1) focal; urgency=medium
+
+  * Resynchronize on Debian, the remaining changes
+    - Revert upstream changes to port to fuse 3. This is in universe in
+      Ubuntu and we'll need to work out how to move over.
+
+ -- Sebastien Bacher <seb128@ubuntu.com>  Wed, 11 Mar 2020 17:23:07 +0100
+
 gvfs (1.44.0-1) unstable; urgency=medium
 
   * New upstream release
diff -pruN 1.46.1-1/debian/control 1.46.1-1ubuntu1/debian/control
--- 1.46.1-1/debian/control	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/control	2020-10-05 15:08:07.000000000 +0000
@@ -21,7 +21,7 @@ Build-Depends: debhelper-compat (= 12),
                libcdio-paranoia-dev (>= 0.78.2),
                libdbus-1-dev,
                libexpat1-dev,
-               libfuse3-dev (>= 3.0.0) [!hurd-any],
+               libfuse-dev [!hurd-any],
                libgcr-3-dev,
                libgcrypt20-dev (>= 1.2.2),
                libgdata-dev (>= 0.17.11),
@@ -48,8 +48,10 @@ Build-Depends: debhelper-compat (= 12),
                systemd (>= 206) [linux-any]
 Rules-Requires-Root: no
 Standards-Version: 4.5.0
-Vcs-Git: https://salsa.debian.org/gnome-team/gvfs.git
-Vcs-Browser: https://salsa.debian.org/gnome-team/gvfs
+XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gvfs.git
+XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gvfs
+Vcs-Git: https://salsa.debian.org/gnome-team/gvfs.git -b ubuntu/master
+Vcs-Browser: https://salsa.debian.org/gnome-team/gvfs/tree/ubuntu/master
 Homepage: https://wiki.gnome.org/Projects/gvfs
 
 Package: gvfs
@@ -95,27 +97,6 @@ Description: userspace virtual filesyste
  This package contains the afc, afp, archive, cdda, dav, dnssd, ftp,
  gphoto2, http, mtp, network, sftp, smb and smb-browse backends.
 
-Package: gvfs-bin
-Section: oldlibs
-Architecture: any
-Multi-Arch: foreign
-Pre-Depends: ${misc:Pre-Depends}
-Depends: gvfs-common (>= ${source:Version}),
-         libglib2.0-bin,
-         ${misc:Depends},
-         ${shlibs:Depends}
-Suggests: gvfs
-Description: userspace virtual filesystem - deprecated command-line tools
- gvfs is a userspace virtual filesystem where mounts run as separate
- processes which you talk to via D-Bus. It also contains a gio module
- that seamlessly adds gvfs support to all applications using the gio
- API. It also supports exposing the gvfs mounts to non-gio applications
- using fuse.
- .
- This package contains deprecated command-line tools such as gvfs-copy
- and gvfs-rename. Please use the gio(1) tool in the libglib2.0-bin
- package instead.
-
 Package: gvfs-common
 Architecture: all
 Multi-Arch: foreign
@@ -155,7 +136,7 @@ Description: userspace virtual filesyste
 
 Package: gvfs-fuse
 Architecture: kfreebsd-any linux-any
-Depends: fuse3 [linux-any],
+Depends: fuse [linux-any],
          gvfs (= ${binary:Version}),
          ${misc:Depends},
          ${shlibs:Depends}
diff -pruN 1.46.1-1/debian/control.in 1.46.1-1ubuntu1/debian/control.in
--- 1.46.1-1/debian/control.in	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/control.in	2020-10-05 15:08:07.000000000 +0000
@@ -17,7 +17,7 @@ Build-Depends: debhelper-compat (= 12),
                libcdio-paranoia-dev (>= 0.78.2),
                libdbus-1-dev,
                libexpat1-dev,
-               libfuse3-dev (>= 3.0.0) [!hurd-any],
+               libfuse-dev [!hurd-any],
                libgcr-3-dev,
                libgcrypt20-dev (>= 1.2.2),
                libgdata-dev (>= 0.17.11),
@@ -44,8 +44,10 @@ Build-Depends: debhelper-compat (= 12),
                systemd (>= 206) [linux-any]
 Rules-Requires-Root: no
 Standards-Version: 4.5.0
-Vcs-Git: https://salsa.debian.org/gnome-team/gvfs.git
-Vcs-Browser: https://salsa.debian.org/gnome-team/gvfs
+XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gvfs.git
+XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gvfs
+Vcs-Git: https://salsa.debian.org/gnome-team/gvfs.git -b ubuntu/master
+Vcs-Browser: https://salsa.debian.org/gnome-team/gvfs/tree/ubuntu/master
 Homepage: https://wiki.gnome.org/Projects/gvfs
 
 Package: gvfs
@@ -91,27 +93,6 @@ Description: userspace virtual filesyste
  This package contains the afc, afp, archive, cdda, dav, dnssd, ftp,
  gphoto2, http, mtp, network, sftp, smb and smb-browse backends.
 
-Package: gvfs-bin
-Section: oldlibs
-Architecture: any
-Multi-Arch: foreign
-Pre-Depends: ${misc:Pre-Depends}
-Depends: gvfs-common (>= ${source:Version}),
-         libglib2.0-bin,
-         ${misc:Depends},
-         ${shlibs:Depends}
-Suggests: gvfs
-Description: userspace virtual filesystem - deprecated command-line tools
- gvfs is a userspace virtual filesystem where mounts run as separate
- processes which you talk to via D-Bus. It also contains a gio module
- that seamlessly adds gvfs support to all applications using the gio
- API. It also supports exposing the gvfs mounts to non-gio applications
- using fuse.
- .
- This package contains deprecated command-line tools such as gvfs-copy
- and gvfs-rename. Please use the gio(1) tool in the libglib2.0-bin
- package instead.
-
 Package: gvfs-common
 Architecture: all
 Multi-Arch: foreign
@@ -151,7 +132,7 @@ Description: userspace virtual filesyste
 
 Package: gvfs-fuse
 Architecture: kfreebsd-any linux-any
-Depends: fuse3 [linux-any],
+Depends: fuse [linux-any],
          gvfs (= ${binary:Version}),
          ${misc:Depends},
          ${shlibs:Depends}
diff -pruN 1.46.1-1/debian/extra/deprecated.in 1.46.1-1ubuntu1/debian/extra/deprecated.in
--- 1.46.1-1/debian/extra/deprecated.in	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/extra/deprecated.in	1970-01-01 00:00:00.000000000 +0000
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-replacement="gio @command@"
-help="gio help @command@"
-
->&2 echo "This tool has been deprecated, use '$replacement' instead."
->&2 echo "See '$help' for more info."
->&2 echo
-
-if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
-  exec $help "$@:2"
-else
-  exec $replacement "$@"
-fi
diff -pruN 1.46.1-1/debian/extra/deprecated.xml.in 1.46.1-1ubuntu1/debian/extra/deprecated.xml.in
--- 1.46.1-1/debian/extra/deprecated.xml.in	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/extra/deprecated.xml.in	1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<refentry id="@original@">
-
-        <refentryinfo>
-                <title>@original@</title>
-                <productname>gvfs</productname>
-
-                <author>
-                        <contrib>Developer</contrib>
-                        <firstname>Ondrej</firstname>
-                        <surname>Holy</surname>
-                        <email>oholy@redhat.com</email>
-                </author>
-        </refentryinfo>
-
-        <refmeta>
-                <refentrytitle>@original@</refentrytitle>
-                <manvolnum>1</manvolnum>
-                <refmiscinfo class="manual">User Commands</refmiscinfo>
-        </refmeta>
-
-        <refnamediv>
-                <refname>@original@</refname>
-        </refnamediv>
-
-        <refsect1>
-                <title>Description</title>
-
-                <para><command>@original@</command> has been deprecated and it is redirected to <command>@replacement@</command>.</para>
-        </refsect1>
-
-        <refsect1>
-                <title>See Also</title>
-                <para>
-                        <citerefentry><refentrytitle>gio</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-                        <ulink url="https://developer.gnome.org/gio/stable/gio.html">GIO commandline tool</ulink>
-                </para>
-        </refsect1>
-
-</refentry>
diff -pruN 1.46.1-1/debian/extra/gvfs-less 1.46.1-1ubuntu1/debian/extra/gvfs-less
--- 1.46.1-1/debian/extra/gvfs-less	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/extra/gvfs-less	1970-01-01 00:00:00.000000000 +0000
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2006-2007 Red Hat, Inc.
-#
-# This library is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-# USA.
-#
-# Author: David Zeuthen <davidz@redhat.com>
-
-LESSOPEN="|gvfs-cat %s"; export LESSOPEN
-exec less "$@"
diff -pruN 1.46.1-1/debian/extra/gvfs-less.xml 1.46.1-1ubuntu1/debian/extra/gvfs-less.xml
--- 1.46.1-1/debian/extra/gvfs-less.xml	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/extra/gvfs-less.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,72 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<refentry id="gvfs-less">
-
-        <refentryinfo>
-                <title>gvfs-less</title>
-                <productname>gvfs</productname>
-
-                <authorgroup>
-                        <author>
-                                <contrib>Developer</contrib>
-                                <firstname>David</firstname>
-                                <surname>Zeuthen</surname>
-                                <email>davidz@redhat.com</email>
-                        </author>
-                </authorgroup>
-
-        </refentryinfo>
-
-        <refmeta>
-                <refentrytitle>gvfs-less</refentrytitle>
-                <manvolnum>1</manvolnum>
-                <refmiscinfo class="manual">User Commands</refmiscinfo>
-        </refmeta>
-
-        <refnamediv>
-                <refname>gvfs-less</refname>
-                <refpurpose>Execute less on the output of gvfs-cat</refpurpose>
-        </refnamediv>
-
-        <refsynopsisdiv>
-                <cmdsynopsis>
-                        <command>gvfs-less <arg choice="opt" rep="repeat">OPTION</arg> <arg rep="repeat">LOCATION</arg></command>
-                </cmdsynopsis>
-        </refsynopsisdiv>
-
-        <refsect1>
-                <title>Description</title>
-
-                <para><command>gvfs-less</command> executes <command>less</command>
-                on the output of <command>gvfs-cat</command>.</para>
-
-                <para><command>gvfs-less</command> works just like the
-                traditional less utility, but using gvfs locations instead
-                of local files: for example you can use something like
-                smb://server/resource/file.txt as location.</para>
-        </refsect1>
-
-        <refsect1>
-                <title>Options</title>
-
-                <para>See <citerefentry><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry> for the options.</para>
-        </refsect1>
-
-        <refsect1>
-                <title>Exit status</title>
-
-                <para>On success 0 is returned, a non-zero failure
-                code otherwise.</para>
-        </refsect1>
-
-        <refsect1>
-                <title>See Also</title>
-                <para>
-                        <citerefentry><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>gvfs-cat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-                </para>
-        </refsect1>
-
-</refentry>
diff -pruN 1.46.1-1/debian/extra/Makefile 1.46.1-1ubuntu1/debian/extra/Makefile
--- 1.46.1-1/debian/extra/Makefile	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/extra/Makefile	1970-01-01 00:00:00.000000000 +0000
@@ -1,70 +0,0 @@
-all:
-
-wrappers = \
-	cat \
-	copy \
-	info \
-	ls \
-	mime \
-	mkdir \
-	monitor-dir \
-	monitor-file \
-	mount \
-	move \
-	open \
-	rename \
-	rm \
-	save \
-	set-attribute \
-	trash \
-	tree \
-	$(NULL)
-
-# Some gvfs-foo don't map to gio foo
-gvfs-ls := list
-gvfs-set-attribute := set
-gvfs-rm := remove
-gvfs-monitor-dir := monitor
-gvfs-monitor-file := monitor
-
-# look up a "variable variable" in the list above, otherwise return $@ with
-# gvfs- removed
-gvfs-name = $(if $($(basename $@)),$($(basename $@)),$(basename $(patsubst gvfs-%,%,$@)))
-
-ALL_BINARIES=$(patsubst %,gvfs-%,$(wrappers))
-ALL_MANS=$(addsuffix .1, $(ALL_BINARIES))
-
-all: $(ALL_BINARIES)
-all-man: $(ALL_MANS) gvfs-less.1
-
-$(ALL_MANS:.1=.xml): deprecated.xml.in
-	sed -e 's,@original@,$(basename $@),g' -e 's,@replacement@,gio $(gvfs-name),' < $< > $@.tmp
-	chmod 0755 $@.tmp
-	mv $@.tmp $@
-
-gvfs-%.1: gvfs-%.xml
-	  xsltproc \
-	  --output $@ \
-	  --nonet \
-	  --stringparam man.output.quietly 1 \
-	  --stringparam funcsynopsis.style ansi \
-	  --stringparam man.th.extra1.suppress 1 \
-	  --stringparam man.authors.section.enabled 0 \
-	  --stringparam man.copyright.section.enabled 0 \
-	  http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \
-	  $<
-
-gvfs-%: deprecated.in
-	sed -e 's,@command@,$(gvfs-name),g' < $< > $@.tmp
-	chmod 0755 $@.tmp
-	mv $@.tmp $@
-
-clean:
-	rm -f $(ALL_BINARIES) $(ALL_MANS) gvfs-less.1
-	rm -f *.tmp $(ALL_MANS:.1=.xml)
-
-clean-man:
-	rm -f $(ALL_MANS) gvfs-less.1 $(ALL_MANS:.1=.xml)
-
-
-.PHONY: all-man
diff -pruN 1.46.1-1/debian/gbp.conf 1.46.1-1ubuntu1/debian/gbp.conf
--- 1.46.1-1/debian/gbp.conf	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/gbp.conf	2020-10-05 15:08:07.000000000 +0000
@@ -1,8 +1,9 @@
 [DEFAULT]
 pristine-tar = True
-debian-branch = debian/master
+debian-branch = ubuntu/master
 upstream-branch = upstream/latest
 upstream-vcs-tag = %(version)s
+debian/tag= ubuntu/%(version)s
 
 [buildpackage]
 sign-tags = True
diff -pruN 1.46.1-1/debian/gvfs-bin.install 1.46.1-1ubuntu1/debian/gvfs-bin.install
--- 1.46.1-1/debian/gvfs-bin.install	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/gvfs-bin.install	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-debian/extra/gvfs-* usr/bin
diff -pruN 1.46.1-1/debian/gvfs-common.manpages 1.46.1-1ubuntu1/debian/gvfs-common.manpages
--- 1.46.1-1/debian/gvfs-common.manpages	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/gvfs-common.manpages	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-debian/extra/*.1
diff -pruN 1.46.1-1/debian/patches/Revert-fuse-Adapt-gvfsd-fuse-to-use-fuse-3.x.patch 1.46.1-1ubuntu1/debian/patches/Revert-fuse-Adapt-gvfsd-fuse-to-use-fuse-3.x.patch
--- 1.46.1-1/debian/patches/Revert-fuse-Adapt-gvfsd-fuse-to-use-fuse-3.x.patch	1970-01-01 00:00:00.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/patches/Revert-fuse-Adapt-gvfsd-fuse-to-use-fuse-3.x.patch	2020-10-05 15:08:07.000000000 +0000
@@ -0,0 +1,296 @@
+From: Iain Lane <laney@debian.org>
+Date: Wed, 21 Aug 2019 12:16:10 +0100
+Subject: Revert "fuse: Adapt gvfsd-fuse to use fuse 3.x"
+
+This reverts commit 7a0a06186b6fef07b8fce2360c04fd075fc84ed1.
+
+In Ubuntu we have fuse 2 in main and fuse 3 in universe. We'll need to
+work out a transition plan to switch.
+
+Forwarded: not-needed
+---
+ client/gvfsfusedaemon.c | 114 ++++++++++++++----------------------------------
+ daemon/main.c           |   4 +-
+ meson.build             |   2 +-
+ 3 files changed, 37 insertions(+), 83 deletions(-)
+
+Index: gvfs-1.42.2/client/gvfsfusedaemon.c
+===================================================================
+--- gvfs-1.42.2.orig/client/gvfsfusedaemon.c
++++ gvfs-1.42.2/client/gvfsfusedaemon.c
+@@ -43,8 +43,7 @@
+ #include <gvfsdbus.h>
+ #include <gvfsutils.h>
+ 
+-#define FUSE_USE_VERSION 30
+-
++#define FUSE_USE_VERSION 26
+ #include <fuse.h>
+ #include <fuse_lowlevel.h>
+ 
+@@ -859,7 +858,7 @@ getattr_for_file_handle (FileHandle *fh,
+ }
+ 
+ static gint
+-vfs_getattr (const gchar *path, struct stat *sbuf, struct fuse_file_info *fi)
++vfs_getattr (const gchar *path, struct stat *sbuf)
+ {
+   GFile      *file;
+   gint        result = 0;
+@@ -1573,12 +1572,12 @@ readdir_for_file (GFile *base_file, gpoi
+       return result;
+     }
+ 
+-  filler (buf, ".", NULL, 0, 0);
+-  filler (buf, "..", NULL, 0, 0);
++  filler (buf, ".", NULL, 0);
++  filler (buf, "..", NULL, 0);
+ 
+   while ((file_info = g_file_enumerator_next_file (enumerator, NULL, &error)) != NULL)
+     {
+-      filler (buf, g_file_info_get_name (file_info), NULL, 0, 0);
++      filler (buf, g_file_info_get_name (file_info), NULL, 0);
+       g_object_unref (file_info);
+     }
+ 
+@@ -1589,7 +1588,7 @@ readdir_for_file (GFile *base_file, gpoi
+ 
+ static gint
+ vfs_readdir (const gchar *path, gpointer buf, fuse_fill_dir_t filler, off_t offset,
+-             struct fuse_file_info *fi, enum fuse_readdir_flags fl)
++             struct fuse_file_info *fi)
+ {
+   GFile       *base_file;
+   gint         result = 0;
+@@ -1602,8 +1601,8 @@ vfs_readdir (const gchar *path, gpointer
+ 
+       /* Mount list */
+ 
+-      filler (buf, ".", NULL, 0, 0);
+-      filler (buf, "..", NULL, 0, 0);
++      filler (buf, ".", NULL, 0);
++      filler (buf, "..", NULL, 0);
+ 
+       mount_list_lock ();
+ 
+@@ -1611,7 +1610,7 @@ vfs_readdir (const gchar *path, gpointer
+         {
+           MountRecord *mount_record = l->data;
+ 
+-          filler (buf, mount_record->name, NULL, 0, 0);
++          filler (buf, mount_record->name, NULL, 0);
+         }
+ 
+       mount_list_unlock ();
+@@ -1635,21 +1634,13 @@ vfs_readdir (const gchar *path, gpointer
+ }
+ 
+ static gint
+-vfs_rename (const gchar *old_path, const gchar *new_path, unsigned int vfs_flags)
++vfs_rename (const gchar *old_path, const gchar *new_path)
+ {
+   GFile  *old_file;
+   GFile  *new_file;
+-  GFileCopyFlags flags = G_FILE_COPY_OVERWRITE;
+   GError *error  = NULL;
+   gint    result = 0;
+ 
+-  /* Can not implement this flag because limitation of GFile. */
+-  if (vfs_flags & RENAME_EXCHANGE)
+-    return -EINVAL;
+-
+-  if (vfs_flags & RENAME_NOREPLACE)
+-    flags = G_FILE_COPY_NONE;
+-
+   g_debug ("vfs_rename: %s -> %s\n", old_path, new_path);
+ 
+   old_file = file_from_full_path (old_path);
+@@ -1665,7 +1656,7 @@ vfs_rename (const gchar *old_path, const
+           file_handle_close_stream (fh);
+         }
+ 
+-      g_file_move (old_file, new_file, flags, NULL, NULL, NULL, &error);
++      g_file_move (old_file, new_file, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &error);
+ 
+       if (error)
+         {
+@@ -2073,15 +2064,6 @@ vfs_truncate (const gchar *path, off_t s
+ }
+ 
+ static gint
+-vfs_truncate_dispatch (const gchar *path, off_t size, struct fuse_file_info *fi)
+-{
+-  if (fi)
+-    return vfs_ftruncate (path, size, fi);
+-
+-  return vfs_truncate (path, size);
+-}
+-
+-static gint
+ vfs_symlink (const gchar *path_old, const gchar *path_new)
+ {
+   GFile  *file;
+@@ -2187,7 +2169,7 @@ vfs_access (const gchar *path, gint mode
+ }
+ 
+ static gint
+-vfs_utimens (const gchar *path, const struct timespec tv [2], struct fuse_file_info *fi)
++vfs_utimens (const gchar *path, const struct timespec tv [2])
+ {
+   GFile  *file;
+   GError *error  = NULL;
+@@ -2262,7 +2244,7 @@ vfs_utimens (const gchar *path, const st
+ }
+ 
+ static gint
+-vfs_chmod (const gchar *path, mode_t mode, struct fuse_file_info *fi)
++vfs_chmod (const gchar *path, mode_t mode)
+ {
+   GFile  *file;
+   GError *error  = NULL;
+@@ -2385,7 +2367,7 @@ register_fuse_cb (GVfsDBusMountTracker *
+ }
+ 
+ static gpointer
+-vfs_init (struct fuse_conn_info *conn, struct fuse_config *cfg)
++vfs_init (struct fuse_conn_info *conn)
+ {
+   GVfsDBusMountTracker *proxy;
+   GError *error;
+@@ -2461,7 +2443,7 @@ vfs_init (struct fuse_conn_info *conn, s
+   conn->want |= FUSE_CAP_ATOMIC_O_TRUNC;
+ 
+   /* Prevent out-of-order readahead */
+-  conn->want &= ~FUSE_CAP_ASYNC_READ;
++  conn->async_read = 0;
+ 
+   /* Use up to a 64KiB write block size.  Only has an effect if -o big_writes
+    * is given on the command-line. */
+@@ -2512,7 +2494,8 @@ static struct fuse_operations vfs_oper =
+   .unlink      = vfs_unlink,
+   .mkdir       = vfs_mkdir,
+   .rmdir       = vfs_rmdir,
+-  .truncate    = vfs_truncate_dispatch,
++  .ftruncate   = vfs_ftruncate,
++  .truncate    = vfs_truncate,
+   .symlink     = vfs_symlink,
+   .access      = vfs_access,
+   .utimens     = vfs_utimens,
+@@ -2524,7 +2507,6 @@ static struct fuse_operations vfs_oper =
+   .getxattr    = vfs_getxattr,
+   .listxattr   = vfs_listxattr,
+   .removexattr = vfs_removexattr,
+-  .ftruncate   = vfs_ftruncate,
+ #endif
+ };
+ 
+@@ -2546,65 +2528,35 @@ gint
+ main (gint argc, gchar *argv [])
+ {
+   struct fuse *fuse;
++  struct fuse_chan *ch;
+   struct fuse_session *se;
++  char *mountpoint;
++  int multithreaded;
+   int res;
+-  struct fuse_cmdline_opts opts;
+-  struct fuse_args args = FUSE_ARGS_INIT (argc, argv);
+-
+-  if (fuse_opt_parse (&args, NULL, NULL, NULL) == -1)
+-    return 1;
+-
+-  if (fuse_parse_cmdline (&args, &opts) != 0)
+-    return 1;
+-
+-  if (opts.show_version)
+-    {
+-      printf ("%s\n", PACKAGE_STRING);
+-      fuse_lowlevel_version ();
+-      return 0;
+-    }
+-
+-  if (opts.show_help)
+-    {
+-      printf ("usage: %s [options] <mountpoint>\n\n", argv[0]);
+-      printf ("FUSE options:\n");
+-      fuse_cmdline_help ();
+-      return 0;
+-    }
+-
+-  if (!opts.mountpoint)
+-    {
+-      fprintf (stderr, "error: no mountpoint specified\n");
+-      return 1;
+-    }
+ 
+-  fuse = fuse_new (&args, &vfs_oper, sizeof (vfs_oper), NULL /* user data */);
++  fuse = fuse_setup (argc, argv, &vfs_oper, sizeof (vfs_oper), &mountpoint,
++                     &multithreaded, NULL /* user data */);
+   if (fuse == NULL)
+     return 1;
+ 
+-  if (fuse_mount (fuse, opts.mountpoint) != 0)
+-    return 1;
+-
+-  if (fuse_daemonize (opts.foreground) != 0)
+-    return 1;
++  if (multithreaded)
++    res = fuse_loop_mt (fuse);
++  else
++    res = fuse_loop (fuse);
+ 
+   se = fuse_get_session (fuse);
+-  if (fuse_set_signal_handlers (se) != 0)
+-    return 1;
+-
+-  if (opts.singlethread)
+-    res = fuse_loop (fuse);
+-  else
+-    res = fuse_loop_mt (fuse, opts.clone_fd);
++  ch = fuse_session_next_chan (se, NULL);
+ 
+   /* Ignore new signals during exit procedure in order to terminate properly */
+   set_custom_signal_handlers (SIG_IGN);
+   fuse_remove_signal_handlers (se);
+ 
+-  fuse_unmount (fuse);
++  fuse_unmount (mountpoint, ch);
+   fuse_destroy (fuse);
+-  free (opts.mountpoint);
+-  fuse_opt_free_args (&args);
++  free (mountpoint);
+ 
+-  return res;
++  if (res == -1)
++    return 1;
++
++  return 0;
+ }
+Index: gvfs-1.42.2/daemon/main.c
+===================================================================
+--- gvfs-1.42.2.orig/daemon/main.c
++++ gvfs-1.42.2/daemon/main.c
+@@ -96,7 +96,9 @@ on_name_acquired (GDBusConnection *conne
+       argv2[0] = LIBEXEC_DIR "/gvfsd-fuse";
+       argv2[1] = fuse_path;
+       argv2[2] = "-f";
+-      argv2[3] = NULL;
++      argv2[3] = "-o";
++      argv2[4] = "big_writes";
++      argv2[5] = NULL;
+       
+       g_spawn_async (NULL,
+                      argv2,
+Index: gvfs-1.42.2/meson.build
+===================================================================
+--- gvfs-1.42.2.orig/meson.build
++++ gvfs-1.42.2/meson.build
+@@ -332,7 +332,7 @@ config_h.set('HAVE_GUDEV', enable_gudev)
+ # *** Check for FUSE ***
+ enable_fuse = get_option('fuse')
+ if enable_fuse
+-  fuse_dep = dependency('fuse3', version: '>= 3.0.0')
++  fuse_dep = dependency('fuse', version: '>= 2.8.0')
+ endif
+ config_h.set('HAVE_FUSE', enable_fuse)
+ 
diff -pruN 1.46.1-1/debian/patches/Revert-fuse-Remove-max_write-limit.patch 1.46.1-1ubuntu1/debian/patches/Revert-fuse-Remove-max_write-limit.patch
--- 1.46.1-1/debian/patches/Revert-fuse-Remove-max_write-limit.patch	1970-01-01 00:00:00.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/patches/Revert-fuse-Remove-max_write-limit.patch	2020-10-05 15:08:07.000000000 +0000
@@ -0,0 +1,29 @@
+From: Iain Lane <laney@debian.org>
+Date: Wed, 21 Aug 2019 12:15:05 +0100
+Subject: Revert "fuse: Remove max_write limit"
+
+This reverts commit b4047cdfe316d624e5cb1d83d165d25339775a72.
+
+In Ubuntu we have fuse 2 in main and fuse 3 in universe. We'll need to
+work out a transition plan to switch.
+
+Forwarded: not-needed
+---
+ client/gvfsfusedaemon.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+Index: gvfs-1.42.2/client/gvfsfusedaemon.c
+===================================================================
+--- gvfs-1.42.2.orig/client/gvfsfusedaemon.c
++++ gvfs-1.42.2/client/gvfsfusedaemon.c
+@@ -2463,6 +2463,10 @@ vfs_init (struct fuse_conn_info *conn, s
+   /* Prevent out-of-order readahead */
+   conn->want &= ~FUSE_CAP_ASYNC_READ;
+ 
++  /* Use up to a 64KiB write block size.  Only has an effect if -o big_writes
++   * is given on the command-line. */
++  conn->max_write = 65536;
++
+   return NULL;
+ }
+ 
diff -pruN 1.46.1-1/debian/patches/series 1.46.1-1ubuntu1/debian/patches/series
--- 1.46.1-1/debian/patches/series	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/patches/series	2020-10-05 15:08:07.000000000 +0000
@@ -6,3 +6,5 @@ ref-jobs-in-thread.patch
 0008-Skip-the-umockdev-test.patch
 0009-gvfs-test-Increase-timeout-to-10s.patch
 Remove-version-from-polkit-gobject-dependency.patch
+Revert-fuse-Remove-max_write-limit.patch
+Revert-fuse-Adapt-gvfsd-fuse-to-use-fuse-3.x.patch
diff -pruN 1.46.1-1/debian/rules 1.46.1-1ubuntu1/debian/rules
--- 1.46.1-1/debian/rules	2020-10-05 15:05:11.000000000 +0000
+++ 1.46.1-1ubuntu1/debian/rules	2020-10-05 15:08:07.000000000 +0000
@@ -40,14 +40,6 @@ override_dh_auto_configure:
 		$(SYSTEMD_FLAGS) \
 		$(HURD_FLAGS)
 
-override_dh_auto_build:
-	dh_auto_build
-	dh_auto_build --buildsystem=makefile -- -C debian/extra
-
-override_dh_auto_clean:
-	dh_auto_clean
-	make -C debian/extra clean
-
 override_dh_strip:
 	dh_strip --dbgsym-migration='gvfs-dbg (<< 1.28.0-1~)'
 
@@ -62,13 +54,6 @@ override_dh_install:
 	dh_install
 	rm -f debian/gvfs-bin/usr/bin/gvfs-less.xml
 
-override_dh_installman:
-	# debian/gvfs-bin.install contains debian/gvfs-* and we don't want this
-	# to match the manpages
-	dh_auto_build --buildsystem=makefile -- -C debian/extra all-man
-	dh_installman
-	dh_auto_build --buildsystem=makefile -- -C debian/extra clean-man
-
 override_dh_missing:
 	dh_missing --fail-missing
 
