owncloud パケジのソース掘削してみた
debian/ 配下は以下なカンジ。
$ ls debian/ changelog compat control copyright owncloud.conf owncloud.dirs owncloud.docs owncloud.install owncloud.postinst patches rules source watch
結構単純です。これ、php な Web アプリみたいなのですね。Description が以下。
Description: personal file storage server ownCloud is a personal file storage server using Webdav. . The ownCloud initiative is developed by KDE.
WebDAV な設定云々、というあたりはどこに記述されてるんでしょうね。
と言いつつ
某所にて owncloud-3.0 なソースパケジ (の素) を発見。以下から取得してます。
解凍してがっちゃんこして debuild してみます。
$ tar jxvf owncloud_3.0.0.orig.tar.bz2 $ mv owncloud owncloud-3.0.0-0ubuntu1 $ cd owncloud-3.0.0-0ubuntu1 $ tar zxvf ../owncloud_3.0.0-0ubuntu1.debian.tar.gz
で、debuild すれば良いのかな。
$ debuild
よろしくお願い致します。一応鍵は登録されてるはずなのであのオプション付けなかったんですが大丈夫かな。
駄目でした
control なナニがわしじゃないから当たり前に叱られました。一応でびあんパケジはできたので某所にてまっさらな環境作る。しかし make しない debuild ってのは本当に一瞬ですな。
導入
ファイル転送できたので導入対応をば。
$ sudo dpkg -i owncloud_3.0.0-0ubuntu1_all.deb
これは依存するパケジが同時にアレされないので失敗します。すかさず以下。
$ sudo apt-get update $ sudo apt-get install -fy
実際にはいったん -s 付けて様子を伺ってから実行。apache2 とか php とか導入されていることとか owncloud も導入されることなどを確認してます。
導入は完了したようなのでブラウズしてみます、Chrome 以外で (何
とりあえず最初は管理権限の設定になるようですね。データフォルダとかデータベースまわりの設定も可能な模様ですが、今回はスルーして finish setup します。
と思ったら
mysql の username と database の名前入れれ、って言われたぞ。なんとなく微妙な流れだなぁ。1.0 が入ってるソレと比べてみたら mysql なパケジがアレ。
$ dpkg --get-selections|grep mysql libmysqlclient16 install mysql-common install php5-mysql install $
以下は動いてる方。
$ dpkg --get-selections|grep mysql libdbd-mysql-perl install libmysqlclient16 install mysql-client-5.1 install mysql-client-core-5.1 install mysql-common install mysql-server install mysql-server-5.1 install mysql-server-core-5.1 install php5-mysql install $
mysql-server 入れます。
$ sudo apt-get install mysql-server
これで一式導入される模様。しかし最初に 1.0 を試したナニでは何故に server なパケジが導入されたのかが謎です。
で、これで MySQL の "root" のパスワード入れたりするんだよな。最初に試験した方が特に何も言わなくても導入されたんですが、control に大きな差は無かったのだけどなぁ。何が違うのか、って言われると最初は全部 apt で入れた程度の差なんですが。
おそらく mysql-server が動いていればさっきのナニは reload してあげれば大丈夫なはずだと思います。
mysql-server パケジ入れた
でも挙動変わらず。owncloud も入れなおしてみましたが挙動は変わりそうにない。これはおそらくこうした実装にしたのだろうな、という理解をすることにしました。
ユーザは root で (これ、良くないですね) データベースは owncloud ってことで適当に入力して finish したら出てきました。
挙動
同僚な方に動作確認を案内してみたのですが、位置情報の取得許可を求められたとのことでインターネットに晒してスマホでアクセス云々、ってのも考えられている模様。
debian 配下なファイルの diff 取ってみた
control が以下。diff の出力のみ。
11,12c11,12 < Architecture: any < Depends: ${misc:Depends}, apache2, php5, php-pear, php-xml-parser, php5-mysql | php5-sqlite --- > Architecture: all > Depends: ${misc:Depends}, apache2, php5, php-pear, php-xml-parser,php5-gd, php5-mysql | php5-sqlite
下側が 3.0.0 です。php5-gd が追加されてます。あと、files が追加されてます。中身は以下。
owncloud_3.0.0-0ubuntu1_all.deb web optional
これ、debuild が追加したファイルなんですかね。Debian ポリシーマニュアルの 4.12 にその旨の記載がありました。どうも debuild で追加されたクサいのが
あたりな模様。これは diff の対象からは外します。
む、debian/owncloud.docs は docs/ がコメントアウトされてます。sdiff の出力が以下。
README README docs/ | #docs/
右側が 3.0.0 なソレです。を、debian/owncloud.install は結構差分がある模様。
1,3c1,3 < admin /usr/share/owncloud < config /var/lib/owncloud < css /usr/share/owncloud --- > 3rdparty /usr/share/owncloud > apps /usr/share/owncloud > core /usr/share/owncloud 6,7d5 < img /usr/share/owncloud < inc /usr/share/owncloud 9,10c7,8 < js /usr/share/owncloud < log /usr/share/owncloud --- > l10n /usr/share/owncloud > lib /usr/share/owncloud 12c10 < plugins /usr/share/owncloud --- > search /usr/share/owncloud 14c12,15 < webdav /usr/share/owncloud --- > status.php /usr/share/owncloud > > config /var/lib/owncloud >
これも面倒なので sdiff しちゃえ。
admin /usr/share/owncloud | 3rdparty /usr/share/owncloud config /var/lib/owncloud | apps /usr/share/owncloud css /usr/share/owncloud | core /usr/share/owncloud db_structure.xml /usr/share/owncloud db_structure.xml /usr/share/owncloud files /usr/share/owncloud files /usr/share/owncloud img /usr/share/owncloud < inc /usr/share/owncloud < index.php /usr/share/owncloud index.php /usr/share/owncloud js /usr/share/owncloud | l10n /usr/share/owncloud log /usr/share/owncloud | lib /usr/share/owncloud ocs /usr/share/owncloud ocs /usr/share/owncloud plugins /usr/share/owncloud | search /usr/share/owncloud settings /usr/share/owncloud settings /usr/share/owncloud webdav /usr/share/owncloud | status.php /usr/share/owncloud > > config /var/lib/owncloud > debian/owncloud.conf /etc/apache2/conf.d/ debian/owncloud.conf /etc/apache2/conf.d/
む、これって dh_install というコマンドが使うのか。こりゃあれかな、このディレクトリ (あるいはファイル) はここに置いてね的ソレ、ってことかな。
ソースツリーのてっぺん見てみるに随分様子が変わっているみたいなのでこれだけ差分があるのは仕方が無いのか。
- debian/owncloud.postinst も差分ナシ
で、上記の通り、ディレクトリの構成が相当変わっているので rules はかなり変更かかってます。diff は略します。rm してる部分が変更されてますね。
ありやまさんから
owncloud のオファーというか問い合わせあり。面白いタイミングだな、って思ってます。