RaspberryPi4でrcloneを使う

(2020/5/15時点だとAURに1.50.1のがありますので、↓のようなことは必要ないです。念の為残しますけど、今はこんなこと不要です。）

#はじめに

RaspberryPi4でdropboxと同期したいなぁと思っていろいろ模索していたところ
rcloneでgoogle driveと同期っぽいことができるようになったのでまとめてみる。

![スクリーンショット_2019-11-04_22-15-25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/219000/f0d20c43-2d12-6df3-7247-f77e986e2376.png)
![スクリーンショット_2019-11-04_22-16-34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/219000/be6517a8-3444-e9d0-349c-65bb5c626f6d.png)


#ざっくりいうと
- 何も考えずにrclone入れてもいいとは思う。
- rclone-browzerを使いたくなるとパッケージ管理に乗っかったほうがいいかな
- 以下RaspberryPi4×Manjaro(aarch64)です

#いろいろ試しました
一番ネットに乗っているのが
google-drive-ocamlfuse
を使うやつ。ところがコレがまたパッケージもAURもダメ。

次に出ているのが…griveとかovergriveとか。
お金払ってもいいんだけど、なんだか評価がよろしくない様子。

だったら…rcloneでも試してみようかなと思ったわけです。

#Manjaro on RaspberryPi4の場合
arch的にはrcloneのパッケージはあります。でも、x86_64なのでインストールできません。
じゃあAURを見ると…
rclone-bin 1.43.1
…うーん古い。

じゃあ一気にrclone-browser入れようかと思うと、rcloneがないと進まない。まぁそれはそうか。

で、とった作戦は
古いAURを持ってきて、最新にしてローカルでmakepkg -siする

https://aur.archlinux.org/packages/rclone-bin/

を見ると、gitのリンクはあるけど、すでに途切れている。
そこで、画面右側の「Package Actions」の中にある「Download snapshot」をクリックして、
AURのスナップショットをダウンロード。

さて、ここからはもう少し踏み込んで説明。

## ダウンロードしたファイルを解凍
　まぁ普通に解凍すると３つファイルがあります。

- .SRCINFO
-  .gitignore
-  PKGBUILD

このうち、.gitignoreは拡張子書いてあるだけなので、放置していい。

残り２つは修正が必要です。

## ファイルを修正
### .SRCINFO

```bash:.SRCINFO
pkgbase = rclone-bin-aarch64
	pkgdesc = Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage.
	pkgver = 1.50.1
	pkgrel = 1
	url = https://rclone.org/
	arch = aarch64
	license = MIT
	depends = glibc
	provides = rclone
	conflicts = rclone
	source = https://github.com/rclone/rclone/releases/download/v1.50.1/rclone-v1.50.1-linux-amd64.zip
	sha256sums = 3399025bd5f26dc2b18afe2b1a10730734faf6e48d8c0256a11fd76f0b75dbe4

pkgname = rclone-bin-aarch64
```

ほぼ参考としたPKGBUILDのままですが、自分的にはRaspberryPi4に入れることしか考えてないのでaarch64に関する定義しかかきませんでした。
てか、これ必要だったのかがわからないので、気になった方はコメントください。
重要なのは次のPKGBUILDなはずです。

### PKGBUILD

```sh:PKGBUILD
pkgname=rclone-bin-aarch64
_srcname=rclone
pkgver=1.50.1
pkgrel=1
pkgdesc="Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage."
provides=('rclone')
conflicts=('rclone')
url="https://rclone.org/"
license=('MIT')
depends=('glibc')
arch=('aarch64')
_arch='linux-arm64'
source=("https://github.com/rclone/rclone/raw/master/COPYING")
sha256sums=('8cd2e9e750b90a04b7d82dbbca3930c696ae0309d7c10464f90a44f45754cd04')

source_aarch64=("https://github.com/ncw/rclone/releases/download/v$pkgver/rclone-v$pkgver-linux-arm64.zip")
sha256sums_aarch64=('3399025bd5f26dc2b18afe2b1a10730734faf6e48d8c0256a11fd76f0b75dbe4')

package() {
  cd $srcdir/$_srcname-v$pkgver-$_arch

  install -Dm755 rclone "$pkgdir/usr/bin/rclone"

  install -Dm644 $srcdir/COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
  install -Dm644 rclone.1 "$pkgdir/usr/share/man/man1/rclone.1"
  install -d "$pkgdir/usr/share/doc/$pkgname"
  install -t "$pkgdir/usr/share/doc/$pkgname" -m644 README.html README.txt
}
```
 
こちらも参考にしたPKGBUILDに近いですが、それっぽく直しました。

なんでこんな雑な対応ができるかというと、いったんrclone.orgからインストールのシェル(install.sh）を見て
なんにもしてないことがわかったからです。

## インストール
３ファイルを適当なフォルダ（/home/hoge/temp/rclone-bin-aarch64）に保存して、いざ
makepkg -si
とすると…するするとインストールができます。めでたしめでたし。

とりあえず、ターミナルからrclone helpができるを試したところできました。

## rclone-browser
ここまでくれば、AURのrclone-browserをビルドすればいい…のですが、これもまたaarch64はサポートしてないと言われちゃうのでパッケージ管理ツールからではなく


```
yay -S rclone-browser
```

で実行。途中例のごとく「ともかくやってみるかい？」と言われるので、進める。
まぁまぁ時間がかかりますが…

はじめにあるようにインストールができました！

## どうなの？

GUIのは使いやすいですね。
オプションもわかりやすいです。

dropboxもサポートしている…とあるので後日試してみようかな

# 最後に
初めて自分でPKGBUILD（手直ししかしてませんけど）書いてやってみたので、問題があったら指摘してください。

参考になったりならなかったり、イイねしてね。