(2020/5/15時点だとAURに1.50.1のがありますので、↓のようなことは必要ないです。念の為残しますけど、今はこんなこと不要です。)
#はじめに
RaspberryPi4でdropboxと同期したいなぁと思っていろいろ模索していたところ
rcloneでgoogle driveと同期っぽいことができるようになったのでまとめてみる。
#ざっくりいうと
- 何も考えずに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する
を見ると、gitのリンクはあるけど、すでに途切れている。
そこで、画面右側の「Package Actions」の中にある「Download snapshot」をクリックして、
AURのスナップショットをダウンロード。
さて、ここからはもう少し踏み込んで説明。
ダウンロードしたファイルを解凍
まぁ普通に解凍すると3つファイルがあります。
- .SRCINFO
- .gitignore
- PKGBUILD
このうち、.gitignoreは拡張子書いてあるだけなので、放置していい。
残り2つは修正が必要です。
ファイルを修正
.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
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)を見て
なんにもしてないことがわかったからです。
インストール
3ファイルを適当なフォルダ(/home/hoge/temp/rclone-bin-aarch64)に保存して、いざ
makepkg -si
とすると…するするとインストールができます。めでたしめでたし。
とりあえず、ターミナルからrclone helpができるを試したところできました。
rclone-browser
ここまでくれば、AURのrclone-browserをビルドすればいい…のですが、これもまたaarch64はサポートしてないと言われちゃうのでパッケージ管理ツールからではなく
yay -S rclone-browser
で実行。途中例のごとく「ともかくやってみるかい?」と言われるので、進める。
まぁまぁ時間がかかりますが…
はじめにあるようにインストールができました!
どうなの?
GUIのは使いやすいですね。
オプションもわかりやすいです。
dropboxもサポートしている…とあるので後日試してみようかな
最後に
初めて自分でPKGBUILD(手直ししかしてませんけど)書いてやってみたので、問題があったら指摘してください。
参考になったりならなかったり、イイねしてね。