unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Meiyo Peng <meiyo@riseup.net>
To: Adam Mazurkiewicz <trzczy@gmail.com>
Cc: help-guix@gnu.org
Subject: Re: Way to synchronize files like Dropbox
Date: Sat, 13 Apr 2019 13:42:35 +0800	[thread overview]
Message-ID: <87a7gu8nqs.fsf@riseup.net> (raw)
In-Reply-To: <CALStFoEP-M+r05w_P6+K6e2p3vbepWeB+pvXdOg3J8OTTf9yHg@mail.gmail.com>

Hi Adam,

Adam Mazurkiewicz writes:

> What is the way to synchronize files with a remote storage like
> Dropbox? I work in several places and I need to get the same document
> files in these places. On Debian I was using just Dropbox. I need a
> free solution from Guixsd.

I strongly suggest you to try syncthing!  It's fantastic!

#+begin_quote
  Syncthing is a free, open-source peer-to-peer file synchronization application
  available for Windows, Mac, Linux, Android, Solaris, Darwin, and BSD. It can
  sync files between devices on a local network, or between remote devices over
  the Internet. Data security and data safety are built into the design of the
  software.
                                                                -- Wikipedia
#+end_quote

Rclone is another option.  It can be used as a client for many online
storage providers (including Dropbox), but it cannot be run as a daemon
and cannot monitor file system events.  So I don't like it.

You should not run non free software on your computer.  But if you have
to use Dropbox for whatever reason, there is actually a way to run
Dropbox on Guix.

Disclaimer: I don't run Dropbox on my computer now.  This is a generic
method to run binary-distributed dynamically-linked foreign apps on
Guix.  THIS IS DEFINITELY NOT OFFICIALLY SUPPORTED BY THE GUIX
MAINTAINERS TEAM.  YOU SHALL FIX ANY BUGS BY YOURSELF WHILE DOING SO.


Instructions for running Dropbox on Guix system x86_64:

0. Pray with me.

#+BEGIN_QUOTE
  Forgive me Stallman for I have sinned.
#+END_QUOTE

1. Download Dropbox for Linux from https://www.dropbox.com/install-linux.

   #+begin_src sh
     # Download and install the dropbox package
     cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

     # Download the command line script
     wget -O dropbox.py "https://www.dropbox.com/download?dl=packages/dropbox.py"
   #+end_src

2. Make sure /lib64/ld-linux-x86-64.so.2 points to
   /gnu/store/*-glibc-*/lib/ld-linux-x86-64.so.2.

   You can achieve this by installing the glibc package into system
   profile and symlink "/lib64" to "/run/current-system/profile/lib"

3. Install these packages into your profile:

   #+begin_src scheme
     (define dropbox-dependencies
       (map (compose list specification->package+output)
            '("fontconfig"
              "freetype"
              "gcc:lib"
              "libice"
              "libsm"
              "libxcomposite"
              "libxkbcommon"
              "libxml2"
              "libxmu"
              "libxrender"
              "libxslt"
              "mesa"
              "python")))
   #+end_src

   I get this list by `ldd .dropbox-dist/dropbox-lnx.*/*`.  Please add
   extra dependencies into it if this list is incomplete.  The python
   package is for the command line script.

4. Write a wrapper script to start Dropbox.

   Set the LD_LIBRARY_PATH environment variable so that foreign apps can
   find and load their dependencies.  Only set LD_LIBRARY_PATH in this
   script and do not export LD_LIBRARY_PATH from your shell because you
   may break things.

   script: dropbox-wrapper
   #+begin_src sh
     #!/bin/sh

     export LD_LIBRARY_PATH="/run/current-system/profile/lib"
     export LD_LIBRARY_PATH="$HOME/.guix-profile/lib:$LD_LIBRARY_PATH"

     python3 path/to/dropbox.py "$@"
   #+end_src

5. Run the wrapper script.

   #+begin_src sh
     dropbox-wrapper start
   #+end_src


AGAIN: YOU SHOULD NOT RUN NON FREE SOFTWARE ON YOU COMPUTER.  YOU SHOULD
ONLY DO THIS WHEN SOMEONE POINTS A GUN ON YOUR HEAD AND FORCES YOU DO
IT.


--
Meiyo Peng
https://www.pengmeiyu.com/

  parent reply	other threads:[~2019-04-13  5:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-12  7:43 Way to synchronize files like Dropbox Adam Mazurkiewicz
2019-04-12 13:17 ` John Soo
2019-04-12 13:36 ` mikadoZero
2019-04-12 14:23   ` zloster
2019-04-12 14:38     ` Julien Lepiller
2019-04-12 16:05   ` Giovanni Biscuolo
2019-04-13  5:42 ` Meiyo Peng [this message]
2019-04-16 20:33   ` Mark H Weaver
2019-04-17  1:05     ` Meiyo Peng
2019-04-17  1:29 ` Benjamin Slade
2019-04-17  9:14   ` Adonay Felipe Nogueira
2019-04-17 15:24 ` Christopher Lemmer Webber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a7gu8nqs.fsf@riseup.net \
    --to=meiyo@riseup.net \
    --cc=help-guix@gnu.org \
    --cc=trzczy@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).