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:10]
sgripon
building_owncloud_client_for_raspberry_pi [2017/05/13 20:35]
sgripon
Line 4: Line 4:
 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.2.4.+**Update!**:​ this page has been updated for client 2.3.2.  
 + 
 +**DISCLAIMER :!:** Tested on raspbian jessie on raspi 1 and 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/​rpi/​]] ​(tested on raspberry pi 1) or [[http://​pub.sgripon.net/​owncloud-client/​rpi3/​]] (tested on raspberry pi 3). 
 + 
 +To install:
  
-  sudo dpkg -i owncloud-client-2.2.4_armhf.deb+  sudo dpkg -i owncloud-client-2.3.2_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 40: Line 44:
 Most of the build instructions are from owncloud official website (http://​doc.owncloud.org/​desktop/​2.2/​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 web site here: https://​download.owncloud.com/​desktop/​stable/​owncloudclient-2.2.4.tar.xz.+Get owncloud client sources from official web site here: https://​download.owncloud.com/​desktop/​stable/​owncloudclient-2.3.2.tar.xz.
  
-This tutorial assumes that the work is done on raspbian in folder /​home/​pi/​dev/​owncloud-client+This tutorial assumes that the work is done on raspbian in folder /​home/​pi/​dev/​owncloud-clientIf not, change all paths.
- +
-  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.4.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 ​libssl-dev 
 +  sudo apt-get install libsqlite3-dev
   sudo apt-get install libqt4-dev libqtkeychain0 qtkeychain-dev libqt4-sql-sqlite   sudo apt-get install libqt4-dev libqtkeychain0 qtkeychain-dev libqt4-sql-sqlite
 +</​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.4+  ./oc-build.sh 2.3.2
   ​   ​
 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 website 
 +if [ ! -f owncloudclient-$1.tar.xz ]; then 
 +  ​wget https://​download.owncloud.com/​desktop/​stable/​owncloudclient-$1.tar.xz 
 +fi 
 tar -xf owncloudclient-$1.tar.xz tar -xf owncloudclient-$1.tar.xz
 +
 +# 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"​ ../​owncloudclient-$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.3.2 
-Then it seems that libocsync and libowncloudsync shared libraries must be installed manually:+</​code>​
  
-  sudo cp csync/​src/​libocsync.so.2.2.4 /​usr/​local/​lib +<file bash oc-install.sh>​ 
-  ​sudo ​cp src/​libsync/​libowncloudsync.so.2.2.4 /​usr/​local/​lib +#!/bin/sh 
-  ​sudo ​ldconfig+ 
 +cd client-build 
 + 
 +# Prepare a redistribuable package 
 +make package 
 + 
 +make install 
 + 
 +# It seems that libocsync and libowncloudsync shared libraries must be installed manually: 
 +cp csync/​src/​libocsync.so.$1 /​usr/​local/​lib 
 +cp src/​libsync/​libowncloudsync.so.$1 /​usr/​local/​lib 
 +ldconfig 
 +</​file>​
 ===== Build a debian package ===== ===== Build a debian package =====
  
Line 108: Line 128:
 Add also libraries installed manually: Add also libraries installed manually:
  
-  cp /​usr/​local/​lib/​libocsync.so.2.2.usr/​local/​lib +  cp /​usr/​local/​lib/​libocsync.so.2.3.usr/​local/​lib 
-  cp /​usr/​local/​lib/​libowncloudsync.so.2.2.usr/​local/​lib+  cp /​usr/​local/​lib/​libowncloudsync.so.2.3.usr/​local/​lib
  
 Then, follow tutorial [[How To Build a Debian Package]]. Then, follow tutorial [[How To Build a Debian Package]].
Line 134: Line 154:
 Version: $1+debian+rpi1 Version: $1+debian+rpi1
 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), libqtwebkit4,​ libqt4-xmlpatterns+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), libqtwebkit4,​ libqt4-xmlpatterns, libqt4-sql-sqlite
 Priority: optional Priority: optional
 Section: net Section: net
Line 168: Line 188:
  
 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.3.2
  
 ===== Launch at startup ===== ===== Launch at startup =====
building_owncloud_client_for_raspberry_pi.txt · Last modified: 2017/05/13 20:35 by sgripon