LoginSignup
2
5

More than 5 years have passed since last update.

[メモ] RaspberryPiのOMV3でcalibre-server(openmediavault-calibre)

Last updated at Posted at 2016-03-30

RasPi2のOMV3上でcalibre-serverをとりあえず動かす。
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)
  2. debファイルを作るために必要なものをインストール
    apt-get install build-essential fakeroot debhelper dh-systemd
  3. ソースをクローン
    git clone -b master https://github.com/OpenMediaVault-Plugin-Developers/openmediavault-calibre.git
    cd openmediavault-calibre
  4. パッチを当てる(パッチは以下参照)
    patch -p0 < ../diff.patch
  5. deb作成
    fakeroot debian/rules clean binary
    cd ..
  6. debインストール
    dpkg -i openmediavault-calibre_3.0_all.deb
  7. 依存してるパッケージをインストール
    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()
  1. debian/calibre.service:
    • calibre:usersだとうまく動かなかったので、コメントアウト。
    • PIDFile: /var/run/calibre/calibre.pid => /var/run/calibre.pid
  2. debian/control
    • 依存パッケージに calibre追加
  3. debian/postrm
    • purge) : rm -rf /opt/calibrerm -rf /var/run/calibreを削除
    • /opt/calibre/calibredb => /usr/bin/calibredb
  4. usr/share/openmediavault/mkconf/calibre
    • インテルのバイナリを入れてるとこらへんを削除

その他

  • calibreとかcalibre-serverとかの使い方がわからない。
    => 必要な機能はうごいているのだろうか??
  • インストールに時間がかかる。

    real    35m56.361s
    user    3m9.140s
    sys     3m36.760s
    
  • *.debを配布すればラクだよね。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5