User Tools

Site Tools


building_owncloud_client_for_raspberry_pi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
building_owncloud_client_for_raspberry_pi [2016/11/05 19:01]
sgripon [Build a debian package]
building_owncloud_client_for_raspberry_pi [2018/11/02 09:06] (current)
sgripon [ppa]
Line 3: Line 3:
  
 I use my Raspberry pi as an owncloud client to synchronize my NAS and my server. Unfortunately,​ the official package is not up-to-date so I have to build it by myself. ​ I use my Raspberry pi as an owncloud client to synchronize my NAS and my server. Unfortunately,​ the official package is not up-to-date so I have to build it by myself. ​
 +
 +**Update!**:​ this page has been updated for client 2.5.0 compatible with raspbian stretch. ​
 +
 +**DISCLAIMER :!:** Tested on raspbian stretch on raspberry pi 3. Feedback welcome on twitter.
  
 **Note:** if you need a newer version of the client, just tweet me [[https://​twitter.com/​sgripon|@sgripon]]. **Note:** if you need a newer version of the client, just tweet me [[https://​twitter.com/​sgripon|@sgripon]].
 ===== Download binaries ===== ===== Download binaries =====
  
-If you don't want to compile by yourself, you can get the debian package installer from [[http://​pub.sgripon.net/​owncloud-client/​rpi/​]]. To install:+If you don't want to compile by yourself, you can get the debian package installer from
 +  * [[http://​pub.sgripon.net/​owncloud-client/​rpi3/​]]:​ tested on raspberry pi 3 stretch. 
 +  * [[http://​pub.sgripon.net/​owncloud-client/​rpi/​]]: <2.3.2 tested on raspberry pi 1 jessie. 
 + 
 +To install:
  
-  sudo dpkg -i owncloud-client-2.2.0_armhf.deb+  sudo dpkg -i owncloud-client-2.5.0_armhf.deb
  
 If there are missing dependencies,​ this command should automatically install all: If there are missing dependencies,​ this command should automatically install all:
Line 20: Line 28:
 ===== ppa ===== ===== ppa =====
  
-I also experiment ppa. You can try it by adding ​my ppa to the source.list. Add line:+You can add my ppa to the source.list. Add line:
  
 +  # For stretch, support versions > 2.5.0.
 +  deb [trusted=yes] http://​pub.sgripon.net/​ppa-raspbian stretch/
 +
 +  # For jessie until version 2.3.2
   deb http://​pub.sgripon.net ppa/   deb http://​pub.sgripon.net ppa/
   ​   ​
Line 36: Line 48:
 ===== Build ===== ===== Build =====
  
-**Note**this page has been updated for client 2.2.0.+Most of the build instructions are from owncloud official website (http://doc.owncloud.org/​desktop/​2.4/​building.html) with some adjustments for RPI.
  
-Most of the build instructions are from owncloud official ​website (http://doc.owncloud.org/desktop/2.2/building.html) with some adjustments for RPI.+Get owncloud ​client sources from official ​github web site here: https://github.com/owncloud/client/archive/v2.5.0.zip.
  
-Get owncloud client sources from official web site here: https://​download.owncloud.com/​desktop/​stable/​owncloudclient-2.2.0.tar.xz. +This tutorial assumes that the work is done on raspbian in folder /​home/​pi/​dev/​owncloud-clientIf not, change all paths.
- +
-This tutorial assumes that the work is done on raspbian in folder /​home/​pi/​dev/​owncloud-client+
- +
-  cd /​home/​pi/​dev/​owncloud-client +
-   +
-If not, change all paths.+
  
 On your pi: On your pi:
  
 +<code bash>
   cd /​home/​pi/​dev/​owncloud-client   cd /​home/​pi/​dev/​owncloud-client
-  wget https://​download.owncloud.com/​desktop/​stable/​owncloudclient-2.2.0.tar.xz+</code>
   ​   ​
 Some dependencies are necessary to build the two packages. Some dependencies are necessary to build the two packages.
  
-  ​sudo apt-get install libsqlite3-dev ​libneon27-dev +<code bash> 
-  sudo apt-get install ​libqt4-dev libqtkeychain0 qtkeychain-dev libqt4-sql-sqlite+  sudo apt-get install libssl-dev 
 +  ​sudo apt-get install libsqlite3-dev 
 +  sudo apt-get install zlib1g-dev 
 +  sudo apt-get install ​qt5-default libqt5webkit5-dev qttools-dev-tools qt5keychain-dev 
 +</​code>​
  
 You will need to install cmake if not already done to build both: You will need to install cmake if not already done to build both:
  
 +<code bash>
   sudo apt-get install cmake   sudo apt-get install cmake
 +</​code>​
 ===== Let's build ===== ===== Let's build =====
  
 The following script downloads and builds the source code (remove download command (//wget//) if already done). The script must be invoked with the desired client version: The following script downloads and builds the source code (remove download command (//wget//) if already done). The script must be invoked with the desired client version:
  
-  ./build.sh 2.2.0+  ./oc-build.sh 2.5.0
   ​   ​
 The script should work for future versions unless ownlcoud changes files naming. The script should work for future versions unless ownlcoud changes files naming.
  
-<file bash build.sh>​+<file bash oc-build.sh>​
 #!/bin/sh #!/bin/sh
   ​   ​
-wget https://download.owncloud.com/desktop/stable/owncloudclient-$1.tar.xz +# Download and extract source from official github website 
-tar -xf owncloudclient-$1.tar.xz+if [ ! -f v$1.zip ]; then 
 +  ​wget https://github.com/owncloud/client/archive/v$1.zip 
 +fi 
 + 
 +unzip v$1.zip 
 + 
 +# Build
 mkdir client-build ​ mkdir client-build ​
 cd client-build cd client-build
-cmake -DWITH_DOC=TRUE -DCMAKE_BUILD_TYPE="​Release"​ ../owncloudclient-$1+cmake -DWITH_DOC=TRUE -DCMAKE_BUILD_TYPE="​Release"​ ../client-$1
 make make
- 
-# Prepare a redistribuable package 
-make package 
  
 </​file>​ </​file>​
  
-Then, installation:​+Then, installation. The following script must be run as root:
  
-  ​sudo make install +<code bash> 
-   +sudo ./oc-install.sh 2.5.0 
-Then it seems that libocsync and libowncloudsync shared libraries must be installed manually:+</​code>​
  
-  sudo cp csync/​src/​libocsync.so.2.2.0 ​/usr/local/lib +<file bash oc-install.sh> 
-  sudo cp src/libsync/​libowncloudsync.so.2.2.0 /​usr/​local/​lib +#!/bin/sh 
-  sudo ldconfig+ 
 +cd client-build 
 + 
 +# Prepare a redistribuable package 
 +make package 
 + 
 +make install 
 + 
 +</file>
 ===== Build a debian package ===== ===== Build a debian package =====
  
Line 108: Line 131:
 Add also libraries installed manually: Add also libraries installed manually:
  
-  cp /​usr/​local/​lib/​libocsync.so.2.2.0 usr/​local/​lib +  cp /​usr/​local/​lib/​arm-linux-gnueabihf/​libowncloud_csync.so.2.5.0 usr/​local/​lib 
-  cp /​usr/​local/​lib/​libowncloudsync.so.2.2.0 usr/​local/​lib+  cp /​usr/​local/​lib/​arm-linux-gnueabihf/​libowncloudsync.so.2.5.0 usr/​local/​lib
  
 Then, follow tutorial [[How To Build a Debian Package]]. Then, follow tutorial [[How To Build a Debian Package]].
Line 132: Line 155:
 cat <<​EOT>>​ DEBIAN/​control cat <<​EOT>>​ DEBIAN/​control
 Package: owncloud-client Package: owncloud-client
-Version: $1+debian+rpi1+Version: $1+debian+rpi3
 Homepage: https://​wiki.sgripon.net/​doku.php?​id=building_owncloud_client_for_raspberry_pi Homepage: https://​wiki.sgripon.net/​doku.php?​id=building_owncloud_client_for_raspberry_pi
-Depends: ​libc6 (>= 2.13-28)libgcc1 (>= 1:4.4.0)libqt4-network (>= 4:4.7.0~beta1)libqt4-test (>= 4:4.5.3)libqt4-xml (>= 4:4.5.3)libqtcore4 (>= 4:4.8.0)libqtgui4 (>= 4:​4.7.0~beta1)libqtkeychain0 (>= 0.1.0), libstdc++6 ​(>= 4.4.0)libqtwebkit4libqt4-xmlpatterns+Depends: ​libqt5dbus5libqt5webkit5,​ libqt5xml5libsqlite3-0, libqt5concurrent5zlib1glibqt5keychain1libqt5network5libqt5gui5, libqt5core5a, libstdc++6, ​libgcc1libc6
 Priority: optional Priority: optional
 Section: net Section: net
Line 168: Line 191:
  
 Must be invoked as sudo with version number as argument: Must be invoked as sudo with version number as argument:
-  sudo ./​oc-build-deb.sh 2.2.4+  sudo ./​oc-build-deb.sh 2.5.0
  
 ===== Launch at startup ===== ===== Launch at startup =====
Line 182: Line 205:
  
 Older versions can have a different build sequence: Older versions can have a different build sequence:
 +  * [[building_owncloud_client_for_raspberry_pi_232|Owncloud client 2.3.2]]
   * [[building_owncloud_client_for_raspberry_pi_170|Owncloud client 1.7.0]]   * [[building_owncloud_client_for_raspberry_pi_170|Owncloud client 1.7.0]]
  
 **Share this page:** **Share this page:**
 ~~socialite~~ ~~socialite~~
building_owncloud_client_for_raspberry_pi.1478368911.txt.gz · Last modified: 2016/11/05 19:01 by sgripon