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

OMV-calibre01.png

动机

    • 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文件并安装。

    1. diff.patch的创建(使用”cat >diff.patch”进行拷贝,然后按CTRL-D)

 

    1. 安装构建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()
    1. debian/calibre.service:

 

    1. 由于calibre:users无法正确地运行,所以将其注释掉。

 

    1. 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を配布すればラクだよね。

bannerAds