RasPi2のOMV3上でcalibre-server
をとりあえず動かす。
動機
calibre-serverを動かすプラグイン
openmediavault-calibre
が、i386/amd64のみ対応の模様。(インストールスクリプトで、calibreのサイトからlinuxバイナリ('32-bit and 64-bit Intel compatible machines')を拾ってきて、/opt/calibre
に展開してる)-
RaspberryPiで、apt-getで、calibreをインストール、calibre-server起動、ブラウザで、http://らずぱいのIP:8080 でアクセス。動いてるっぽい。
apt-get install calibre calibre-server --port=8080 --with-library=/tmp
=> インテルバイナリのかわりに、calibreパッケージをつかえば、いけるかも?
準備
手順
ソース持ってきて、パッチを当てて、debファイルを作成、インストール。
- diff.patch作成(
cat >diff.patch
とかでこぴぺ. CTRL-D) - debファイルを作るために必要なものをインストール
apt-get install build-essential fakeroot debhelper dh-systemd
- ソースをクローン
git clone -b master https://github.com/OpenMediaVault-Plugin-Developers/openmediavault-calibre.git
cd openmediavault-calibre
- パッチを当てる(パッチは以下参照)
patch -p0 < ../diff.patch
- deb作成
fakeroot debian/rules clean binary
cd ..
- debインストール
dpkg -i openmediavault-calibre_3.0_all.deb
- 依存してるパッケージをインストール
apt-get -f install -y
まとめ
# diff.patchを作成 cat >diff.patch とかでこぴぺ. CTRL-D
#
apt-get install build-essential fakeroot debhelper dh-systemd git
git clone -b master https://github.com/OpenMediaVault-Plugin-Developers/openmediavault-calibre.git
cd openmediavault-calibre/
patch -p0 < ../diff.patch
fakeroot debian/rules clean binary
cd ..
dpkg -i openmediavault-calibre_3.0_all.deb
apt-get -f install -y
パッチ
diff.patch
diff --git debian/calibre.service debian/calibre.service
index c8d947f..ae301e8 100644
--- debian/calibre.service
+++ debian/calibre.service
@@ -4,17 +4,17 @@ After=network.target
[Service]
Type=forking
-User=calibre
-Group=users
+#User=calibre
+#Group=users
EnvironmentFile=/etc/calibre-server.conf
-PIDFile=/var/run/calibre/calibre.pid
-ExecStart=/opt/calibre/calibre-server \
+PIDFile=/var/run/calibre.pid
+ExecStart=/usr/bin/calibre-server \
--daemonize \
--max-cover=${MAX_COVER} \
--username=${USERNAME} \
--password=${PASSWORD} \
--port=${PORT} \
- --pidfile=/var/run/calibre/calibre.pid \
+ --pidfile=/var/run/calibre.pid \
--with-library=${LIBRARY}
[Install]
diff --git debian/control debian/control
index d51c25a..573a44b 100644
--- debian/control
+++ debian/control
@@ -33,6 +33,7 @@ Depends: bzip2,
python-pypdf,
python-qt4,
xdg-utils,
+ calibre,
${misc:Depends}
Description: Calibre plugin for OpenMediaVault.
Calibre is a free and open source e-book library management
diff --git debian/postrm debian/postrm
index ade4c90..b10b064 100644
--- debian/postrm
+++ debian/postrm
@@ -8,8 +8,6 @@ set -e
case "$1" in
purge)
omv_config_delete "/config/services/calibre"
- rm -rf /opt/calibre
- rm -rf /var/run/calibre
;;
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
diff --git usr/share/openmediavault/engined/rpc/calibre.inc usr/share/openmediavault/engined/rpc/calibre.inc
index 704b7da..1de3ee1 100644
--- usr/share/openmediavault/engined/rpc/calibre.inc
+++ usr/share/openmediavault/engined/rpc/calibre.inc
@@ -48,7 +48,7 @@ class OMVRpcServiceCalibre extends OMVRpcServiceAbstract
private function getProgram()
{
- return "/opt/calibre/calibredb";
+ return "/usr/bin/calibredb";
}
public function initialize()
diff --git usr/share/openmediavault/mkconf/calibre usr/share/openmediavault/mkconf/calibre
index 08ab03e..291d838 100755
--- usr/share/openmediavault/mkconf/calibre
+++ usr/share/openmediavault/mkconf/calibre
@@ -47,38 +47,18 @@ install()
;;
esac
- echo "Installing Calibre..."
- mkdir -p ${INSTALL_DIR}
- chown ${RUN_AS}:${RUN_GRP} ${INSTALL_DIR}
+ #echo "Installing Calibre..."
- if $AMD64; then
- if [ -f "${FILE64}" ]; then
- rm -f ${FILE64}
- fi
- wget ${LINK64} -O ${FILE64}
-
- echo "Extracting..."
- tar -xJof ${FILE64} -C ${INSTALL_DIR}
- rm -f ${FILE64}
- else
- if [ -f "${FILE32}" ]; then
- rm -f ${FILE32}
- fi
- wget ${LINK32} -O ${FILE32}
+ #apt-get install -y calibre
- echo "Extracting..."
- tar -xJof ${FILE32} -C ${INSTALL_DIR}
- rm -f ${FILE32}
- fi
-
- chown -R ${RUN_AS}:${RUN_GRP} ${INSTALL_DIR}
+ #chown -R ${RUN_AS}:${RUN_GRP} ${INSTALL_DIR}
if [ "$(omv_config_get "${XPATH_ENABLE}")" != "1" ]; then
systemctl disable ${SERVICE}.service >/dev/null || true
fi
- calibre_home="$(getent passwd ${SERVICE} | cut -d: -f6)"
- chown -R ${RUN_AS}:${RUN_GRP} "${calibre_home}"
+ #calibre_home="$(getent passwd ${SERVICE} | cut -d: -f6)"
+ #chown -R ${RUN_AS}:${RUN_GRP} "${calibre_home}"
}
config()
- debian/calibre.service:
- calibre:usersだとうまく動かなかったので、コメントアウト。
- PIDFile:
/var/run/calibre/calibre.pid
=>/var/run/calibre.pid
- debian/control
- 依存パッケージに
calibre
追加
- 依存パッケージに
- debian/postrm
-
purge)
:rm -rf /opt/calibre
とrm -rf /var/run/calibre
を削除 -
/opt/calibre/calibredb
=>/usr/bin/calibredb
-
- usr/share/openmediavault/mkconf/calibre
- インテルのバイナリを入れてるとこらへんを削除
その他
-
calibre
とかcalibre-server
とかの使い方がわからない。
=> 必要な機能はうごいているのだろうか?? -
インストールに時間がかかる。
real 35m56.361s user 3m9.140s sys 3m36.760s
*.debを配布すればラクだよね。