8月 122014
 

以前のエントリで SkyDrive に FreeBSD からネーテブアプリでアクセスしようぜぃ。ってのを二つ書きました。以下のエントリになるんですけども。

SkyDrive を FreeBSD に mount して使う。
SkyDrive を FreeBSD に mount して使う。そのに。

当時はまだ OneDrive ではなく SkyDrive と言っていたんですね。

そもそも、 FreeBSD から直接 OneDrive に(ネーテブなアプリで)アクセスすることは不可能で、中間的サービスを利用することになります。そのサービスは Storage Made Easy (以下 SME と記述)と、いうものです。

ここでアカウントを作成して、無料のサービスを利用すると SME のストレージサービスが利用できる他に、色々なクラウドストレージサービスプロバイダも合わせて利用できる。ってシロモノです。
簡単にいうと SME のサービスはプロキシみたいな感じで OneDrive とか Box 、 更には DropBox などにもアクセスできるようになります。

これは是非ともアカウントを一個くらいは作っておきたいですねぇ;-)。

SME のサービスはマルチプラットホーム対応で色々な OS 用のアプリがあり、スマートフォン・PC・Mac や Linux からもアクセスできます。 Linux 用はソースコードまで公開していて、そのソースコードを FreeBSD 上でコンパイルすると、 FreeBSD のネーテブアプリから OneDrive や DropBox にアクセスできる。と、いうすごいことになるんですねぇ。

以下の Lunix 用アプリについて書かれている URL です。

http://storagemadeeasy.com/LinuxDrive/

ここから CentOS の rpm をダウンロードして make してしまう ports を作ってみました。上にあるエントリでは随分と古い話でしたが、最近のソースコードは随分と美しくなり、起動するアプリケーションも直感的になりました。

 
話はガラっと変わるのですが、 Windows8.1 の場合、 OneDrive にアクセスするときには Windows Live アカウントでないとアクセスできない(ローカルアカウントでログインしている場合には一旦切り替えなければならない)ので非常に厄介です。

その場合、SME の Windows 版アプリをダウンロードして来て Windows8.1 の場合にはそれを利用するとローカルユーザーでも OneDrive にアクセスできるようになります。うひひ;-)。

Windows8.1 な人も是非利用してみてください。

 
さてさて。話を戻して、上記 URL より SentOS の storagemadeeasy-4.1-0.noarch.rpm をダウンロードしてサクっとインストールする ports を書いてみたのでもしよければ利用してみてください。

以下に ports の仕様を書いてみたいと思います。ダサいところが多々残っているんですが、僕には ports の書き方が判りませんでした・・。orz

あ。 ports は当然ながらノラ ports です。これがちゃんと ports のルールに従えられれば、前回のノラ ports である QtWeb とこれは commit してメンテナになってもも良いかなぁ。などと思っているんですけどもねぇ・・。

以下の URL にノラ ports はあります。ダウンロードしたら /usr/ports/net/ に展開して頂ければと思います。

http://icmpv6.org/Prog/FreeBSD_ports/ports-storagemadeeasy-20140812.tgz

ports の仕様は以下のような感じ。まぁ、Makefile を見て頂ければ解ると思いますf(^^;;。

1).ダウンロードはちょっと違うファイル名
https://storagemadeeasy.com/files/ から 380f74d2fcd051b21a64858ecb3f0923.rpm と言うファイルをダウンロードしてきます。

2). post-patch はダサいねぇ・・
${WRKDIR}/usr/share/sme_install/*/* のディレクトリのパスを変更します。 それにしてもダサいのが、僕は SED マクロが書けませんでした。 find して xargs から perl -e で置き換えています。ここはもっちっと改修する必要が絶対にあります。

3). コンパイル
SME のアプリは Qt4 を利用しているので qmake-qt4 実行後に make します。 LIB_DEPENDS や USE_ は多分全てを読み込んでいて、モレはないと思います。

4). インストール
SME のアプリの make は make install が無いので ports の中で吸収する必要があります。PLIST_FILES に書かれたものがインストールされます。
が、しかし、これだけでは足りないんですよねぇ・・。 pkg-plist の書き方が解らなかったので pkg-message にイントール後にもう一個インストールするようにコマンドイメージを書いておきました。
ports の中に smeclient.tgz を同梱しているのですが、これは ${WRKDIR}/usr/share/smeclient/ ディレクトリのアーカイブになります。
なので tar でなくとも、以下のコマンドでも十分に OK なんですね。

# cp -pr work/usr/share/smeclient /usr/local/share/

 
以上が ports の仕様です。随分とダサいところ満載ですねぇ・・。書き方が解らない部分が多いんですよねぇ・・。この間作った QtWeb の ports のほうがまだ楽ちんでしたf(^^;;。

 
と、いうことで、インストールされたあとは /usr/local/bin/smeexplorer を起動してアクセスすれば色々なクラウド上のファイルの閲覧が可能になります。

SME のサービス自体が中々良い感じなのでそれが FreeBSD 上からウェブブラウザ経由ではなく、ネーテブアプリからアクセスできる。と、いうのが良いのであります。

あ。今回はキャプチャはありません;-)。

ただ、 SME のアカウントを作成しなければならない。と、いうのが煩わしいとは思うのですが、iOS や Android 、 Windows などと同じレベルで FreeBSD からもするーっとクラウドストレージへのアクセスが可能になるので、これはこれで利用すると非常に嬉しいですねぇ;-)。

 
皆さんも是非利用してください。とは言いませんが、あ。そーそー。最後にですが、当該 ports を ports のルールに乗っ取ったものに改修してくださる方絶賛募集中です。どうか宜しくお願いします。

 
2014/09/05 加筆
ちゃんと一発で make install と make deinstall できるように ports を更新しました。
改修点は以下になります。

・post-patch: の部分で perl で一括置き換えしていたものを REINPLACE_CMD を使うようにした
・最後に tar でインストールしようとしていたたくさんのファイルを do-install: で行うようにした

が主な改修点です。これで多分完璧;-)。

以下の URL にあるのでよかったら利用してください。

http://icmpv6.org/Prog/FreeBSD_ports/ports-storagemadeeasy-20140905.tgz