[PATCH 0/2] Add dbxfs

  • Done
  • quality assurance status badge
Details
2 participants
  • Efraim Flashner
  • Mathieu Othacehe
Owner
unassigned
Submitted by
Efraim Flashner
Severity
normal
E
E
Efraim Flashner wrote on 13 Aug 2020 18:50
(address . guix-patches@gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
20200813165053.11438-1-efraim@flashner.co.il
This adds dbxfs, a fuse filesystem for interacting with dropbox. I've
been using it for a while now.

Efraim Flashner (2):
gnu: Add pyhton-dropbox.
gnu: Add dbxfs.

gnu/local.mk | 1 +
gnu/packages/file-systems.scm | 61 +++++++++++++++++++
.../patches/dbxfs-remove-sentry-sdk.patch | 40 ++++++++++++
3 files changed, 102 insertions(+)
create mode 100644 gnu/packages/patches/dbxfs-remove-sentry-sdk.patch

--
2.28.0
E
E
Efraim Flashner wrote on 13 Aug 2020 18:53
[PATCH 1/2] gnu: Add pyhton-dropbox.
(address . 42853@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
20200813165306.11564-1-efraim@flashner.co.il
* gnu/packages/file-systems.scm (python-dropbox): New variable.
---
gnu/packages/file-systems.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index d2e022c05a..7d06e3e899 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -30,6 +30,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system linux-module)
+ #:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -57,6 +58,8 @@
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
@@ -858,3 +861,31 @@ directory onto a single drive and create FreeDesktop.org Trash specification
compatible directories.")
(home-page "https://github.com/trapexit/mergerfs-tools")
(license license:isc))))
+
+(define-public python-dropbox
+ (package
+ (name "python-dropbox")
+ (version "10.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dropbox" version))
+ (sha256
+ (base32
+ "137rn9fs1bg1p1khd5lcccfxh8jsx27dh2ix5wwd8cmddbrzdrbd"))))
+ (build-system python-build-system)
+ (arguments '(#:tests? #f)) ; Tests require a network connection.
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (propagated-inputs
+ `(("python-certifi" ,python-certifi)
+ ("python-chardet" ,python-chardet)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)
+ ("python-urllib3" ,python-urllib3)))
+ (home-page "https://www.dropbox.com/developers")
+ (synopsis "Official Dropbox API Client")
+ (description "This package provides a Python SDK for integrating with the
+Dropbox API v2.")
+ (license license:expat)))
--
2.28.0
E
E
Efraim Flashner wrote on 13 Aug 2020 18:53
[PATCH 2/2] gnu: Add dbxfs.
(address . 42853@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
20200813165306.11564-2-efraim@flashner.co.il
* gnu/packages/file-systems.scm (dbxfs): New variable.
* gnu/packages/patches/dbxfs-remove-sentry-sdk.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
gnu/local.mk | 1 +
gnu/packages/file-systems.scm | 30 ++++++++++++++
.../patches/dbxfs-remove-sentry-sdk.patch | 40 +++++++++++++++++++
3 files changed, 71 insertions(+)
create mode 100644 gnu/packages/patches/dbxfs-remove-sentry-sdk.patch

Toggle diff (98 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 27dcf965ca..38167eea37 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -887,6 +887,7 @@ dist_patch_DATA = \
%D%/packages/patches/dbus-CVE-2020-12049.patch \
%D%/packages/patches/dbus-c++-gcc-compat.patch \
%D%/packages/patches/dbus-c++-threading-mutex.patch \
+ %D%/packages/patches/dbxfs-remove-sentry-sdk.patch \
%D%/packages/patches/dconf-meson-0.52.patch \
%D%/packages/patches/debops-constants-for-external-program-names.patch \
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 7d06e3e899..2e74cb33e8 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -889,3 +889,33 @@ compatible directories.")
(description "This package provides a Python SDK for integrating with the
Dropbox API v2.")
(license license:expat)))
+
+(define-public dbxfs
+ (package
+ (name "dbxfs")
+ (version "1.0.43")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dbxfs" version))
+ (sha256
+ (base32
+ "1f9sy2ax215dxiwszrrcadffjdsmrlxm4kwrbiap9dhxvzm226ks"))
+ (patches (search-patches "dbxfs-remove-sentry-sdk.patch"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; tests requires safefs
+ (propagated-inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-block-tracing" ,python-block-tracing)
+ ("python-dropbox" ,python-dropbox)
+ ("python-keyring" ,python-keyring)
+ ("python-keyrings.alt" ,python-keyrings.alt)
+ ("python-privy" ,python-privy)
+ ("python-userspacefs" ,python-userspacefs)))
+ (home-page "https://github.com/rianhunter/dbxfs")
+ (synopsis "User-space file system for Dropbox")
+ (description
+ "@code{dbxfs} allows you to mount your Dropbox folder as if it were a
+local filesystem.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch
new file mode 100644
index 0000000000..a17872fb56
--- /dev/null
+++ b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch
@@ -0,0 +1,40 @@
+diff --git a/dbxfs/main.py b/dbxfs/main.py
+index 5a6cea1..fb9bb1f 100755
+--- a/dbxfs/main.py
++++ b/dbxfs/main.py
+@@ -40,8 +40,6 @@ import userspacefs
+ import keyring
+ from keyring.errors import KeyringError
+
+-import sentry_sdk
+-
+ from block_tracing import block_tracing, BLOCK_TRACING_INHERITS
+
+ from dbxfs.dbxfs import FileSystem as DropboxFileSystem
+@@ -315,14 +313,6 @@ def _main(argv=None):
+
+ log.info("Starting %s...", APP_NAME)
+
+- if config.get('send_error_reports', False):
+- try:
+- sentry_sdk.init("https://b4b13ebd300849bd92260507a594e618@sentry.io/1293235",
+- release='%s@%s' % (APP_NAME, version),
+- with_locals=False)
+- except Exception:
+- log.warning("Failed to initialize sentry", exc_info=True)
+-
+ if cache_folder is None:
+ cache_folder = os.path.join(appdirs.user_cache_dir(APP_NAME), "file_cache")
+ try:
+diff --git a/setup.py b/setup.py
+index 89e25c6..f940d47 100644
+--- a/setup.py
++++ b/setup.py
+@@ -43,7 +43,6 @@ setup(
+ "privy>=6.0,<7",
+ "keyring>=15.1.0",
+ "keyrings.alt>=3.1,<4",
+- "sentry_sdk>=0.3,<1",
+ ],
+ extras_require={
+ 'safefs': ["safefs"],
--
2.28.0
M
M
Mathieu Othacehe wrote on 16 Aug 2020 10:06
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 42853@debbugs.gnu.org)
87sgcnypzq.fsf@gnu.org
Hello Efraim,

Toggle quote (3 lines)
> + "@code{dbxfs} allows you to mount your Dropbox folder as if it were a
> +local filesystem.")

You could also say that it relies on FUSE.

Toggle quote (2 lines)
> +++ b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch

Maybe add a small comment explaining why we are removing sentry here.

Otherwise, the serie look fine.

Thanks,

Mathieu
E
E
Efraim Flashner wrote on 16 Aug 2020 10:46
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 42853-done@debbugs.gnu.org)
20200816084633.GE1368@E5400
On Sun, Aug 16, 2020 at 10:06:01AM +0200, Mathieu Othacehe wrote:
Toggle quote (8 lines)
>
> Hello Efraim,
>
> > + "@code{dbxfs} allows you to mount your Dropbox folder as if it were a
> > +local filesystem.")
>
> You could also say that it relies on FUSE.

Sounds good

Toggle quote (5 lines)
>
> > +++ b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch
>
> Maybe add a small comment explaining why we are removing sentry here.

I added it to the patch. I also expanded the patch slightly so now it
doesn't even ask about sending the reports.

Toggle quote (7 lines)
>
> Otherwise, the serie look fine.
>
> Thanks,
>
> Mathieu

Thanks

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl848mkACgkQQarn3Mo9
g1FTwA//SAu27cQqf0cGnKiiFoYCfLF8SUUAu0wXw1cq2PUM5GtQhRDdder/F4r1
e+YH+1gF0TINoyDNmL1jXCR0da5BQl7B2q72E7lHPqVE1GwnFoAgetcPsTc9DKV/
zEbtZaCFg6UEU64QjfTtyY31XCAMbplOMFeZfzt2b4/Pw6t7TgBsweq3Dib7BwPy
YlL3LwkHuB0IStfx+wCXBUMbujlpCsgDRXrTDGMRXJl6KZBKIRzo48DCJocqHZDO
M+X25e28z5TtGnsxQoLjxOY3n5/yQCVCPa8qhjKyLRUhV5fnJZljIFaTUknn6VKR
FpPQMRZAAI0IoxdiaIKgA3ANnQUDMhcUCAskZ9pRZmLv0mM0CizaPIDyjKG8Yvo7
0zYOiY5W455YSS2nNg3rK8PJ3KXfccND71cq855jyfjrauIismFZip5kQoWOqWZb
+twb3+DMx7Ty1/vMgsLxTHfjwFUCU87WGI/BldUyKZ9EHmtIEZaAgrTxlYuQo9AX
Zgeu0SLd34f6JTRnSZ4xDQO0fOJ+Ohx5txMtpZHdlS3Dwy6h4ZYhusEIg1tvvnlq
PR7IakdOYPZAlU0McEb8um42McWZ+61HIJgXQXPNiQyhv7LbofO1FwsdquE0osYz
PnpcV7xOZvm7+kh9dWmFxexgNBp8M7Tf4pBcD0J4QsP7WPZOjAo=
=znDx
-----END PGP SIGNATURE-----


Closed
?