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
Last revision Both sides next revision
building_owncloud_client_for_raspberry_pi [2016/11/05 19:01]
sgripon [Build a debian package]
building_owncloud_client_for_raspberry_pi [2016/12/11 19:08]
sgripon [Build a debian package]
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.2.4. ​
 +
 +**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.0_armhf.deb+  sudo dpkg -i owncloud-client-2.2.4_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 35: Line 41:
 I use raspberry pi emulator to build owncloud. See [[raspberry_pi_emulator|Raspberry pi emulator]]. This is to avoid too much writing on SD card and breaking it too quickly. I use raspberry pi emulator to build owncloud. See [[raspberry_pi_emulator|Raspberry pi emulator]]. This is to avoid too much writing on SD card and breaking it too quickly.
 ===== 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.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.0.tar.xz.+Get owncloud client sources from official web site here: https://​download.owncloud.com/​desktop/​stable/​owncloudclient-2.2.4.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.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 ​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.0+  ./oc-build.sh 2.2.4
   ​   ​
 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.2.4 
-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 
 + 
 +# 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.2.usr/​local/​lib 
-  cp /​usr/​local/​lib/​libowncloudsync.so.2.2.usr/​local/​lib+  cp /​usr/​local/​lib/​libowncloudsync.so.2.2.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
building_owncloud_client_for_raspberry_pi.txt · Last modified: 2017/05/13 20:35 by sgripon