[备忘录] 在Raspberry Pi的OMV3上使用calibre-server(openmediavault-calibre)

动机
-
- 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パッケージをつかえば、いけるかも?
准备好了
-
- OMV3の動いてる、RaspberryPi
- 前回、インストール記事かいたけど、ここからイメージ拾って焼いたほうがはやいかも
步驟
拿来源代码,应用补丁,创建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 binarycd ..
安装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 --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:
卸载:rm -rf /opt/calibre和rm -rf /var/run/calibre
/opt/calibre/calibredb => /usr/bin/calibredb
usr/share/openmediavault/mkconf/calibre:
删除其中含有Intel二进制文件的部分。
其他
calibreとかcalibre-serverとかの使い方がわからない。=> 必要な機能はうごいているのだろうか??
インストールに時間がかかる。
real 35m56.361s
user 3m9.140s
sys 3m36.760s
*.debを配布すればラクだよね。