diff --git a/modules/ROOT/pages/appendices/building.adoc b/modules/ROOT/pages/appendices/building.adoc index 63a94a23..35c0db13 100644 --- a/modules/ROOT/pages/appendices/building.adoc +++ b/modules/ROOT/pages/appendices/building.adoc @@ -23,6 +23,9 @@ == Introduction + +== Building the Desktop Client + {description} Here you can finde the source of the link:https://owncloud.org/download/#owncloud-desktop-client[ownCloud Desktop App]. You should read this section if you want to develop for the Desktop App. Build instructions are subject to change as development proceeds. NOTE: Please check the version for which you want to build. @@ -31,19 +34,15 @@ These instructions are updated to work with the latest version of the ownCloud D == Getting the Source Code -The -xref:generic-build-instructions[generic build instructions] -pull the latest code directly from GitHub, and work on -xref:linux[Linux], xref:macos[Mac OS X], and -xref:windows-development-build-with-kde-craft[Windows]. +The xref:generic-build-instructions[generic build instructions] pull the latest code directly from GitHub, and work on xref:linux[Linux], xref:macos[Mac OS X], and xref:windows-development-build-with-kde-craft[Windows]. == Linux For the published Desktop Apps we link against QT5 dependencies from our own repositories so that we can have the same versions on all distributions. This chapter shows you how to build the Desktop App yourself with this setup. If you want to use the QT5 dependencies from your system, see the next chapter. -You may wish to use source packages for your Linux distribution, as these give you the exact sources from which the binary packages are built. These are hosted on the -{owncloud-obs}[ownCloud repository from OBS]. -Go to the {opensuse-url}[Index of repositories] to see all the Linux client repositories. +For the published desktop clients, we link against QT5 dependencies from our own repositories so that we can have the same versions on all distributions. This chapter shows you how to build the client yourself with this setup. If you want to use the QT5 dependencies from your system, see the next chapter. + +You may wish to use source packages for your Linux distribution, as these give you the exact sources from which the binary packages are built. These are hosted on the {owncloud-obs}[ownCloud repository from OBS]. Go to the {opensuse-url}[Index of repositories] to see all the Linux client repositories. [NOTE] ==== @@ -62,20 +61,40 @@ echo 'deb-src http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/D The above registers the source repository of the released Desktop App. There is also `.../desktop:/testing/...` and e.g. `.../desktop:/daily:/2.7/...` for beta versions or daily snapshots. +for beta versions or daily snapshots. Install the dependencies using the following commands for your specific Linux distribution. Make sure the repositories for source packages are enabled. These are: [cols="30%,70%",options="header"] |=== -| Distribution | Installation Instructions -| Debian/Ubuntu | `apt update; apt build-dep owncloud-client` -| openSUSE/SLES | `zypper ref; zypper si -d owncloud-client` -| Fedora/CentOS/RHEL | `yum install yum-utils; yum-builddep owncloud-client` +| Distribution +| Installation Instructions + +| Debian / Ubuntu +a| +[source,bash] +---- +apt update && apt build-dep owncloud-client +---- + +| openSUSE / SLES +a| +[source,bash] +---- +zypper ref && zypper si -d owncloud-client +---- + +| Fedora / CentOS / RHEL +a| +[source,bash] +---- +yum install yum-utils && yum-builddep owncloud-client +---- |=== Follow the xref:generic-build-instructions[generic build instructions], starting with step 2. -== Linux with System Dependencies +=== Building With System QT5 Dependencies Build sources from a GitHub checkout with dependencies provided by your Linux distribution. While this allows more freedom for development, it does not exactly represent what we ship as packages. See above for how to recreate packages from source. @@ -85,9 +104,12 @@ To get the source dependencies on Debian and Ubuntu, run the following command: [source,bash] ---- -sudo apt install qtdeclarative5-dev libinotifytools-dev \ - qt5keychain-dev python3-sphinx \ - libsqlite3-dev +sudo apt install \ + qtdeclarative5-dev \ + libinotifytools-dev \ + qt5keychain-dev \ + python3-sphinx \ + libsqlite3-dev ---- ==== @@ -183,7 +205,7 @@ iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.co The first command allows running scripts from remote sources. The second command starts installing KDE Craft. You are asked where you want to put the main folder, called `CraftRoot`, which will contain all source, build, and install folders. Please choose a disk with sufficient free space. -Last but not least, you need to choose the compiler you want to use. The official builds only supports {ms-visual-studio-2019-url}[Microsoft Visual Studio 2019]. However, if you're feeling adventurous, you can also try to use {mingw-w64-url}[Mingw-w64]. In contrast to Visual Studio, which you need to install in advance, KDE Craft can install `Mingw-w64` for you. +The currently supported version of Visual Studio is {ms-visual-studio-2019-url}[Microsoft Visual Studio 2019]. However, if you're feeling adventurous, you can also try to use {mingw-w64-url}[Mingw-w64]. In contrast to Visual Studio, which you need to install in advance, KDE Craft can install `Mingw-w64` for you. TIP: Unless you need 32bit builds, you should stick to the default of x64 builds. @@ -292,7 +314,7 @@ git clone git://github.com/owncloud/client.git cd client ---- + -Note master this default, but you can also check out a tag like v2.5.4 +Note that the checkout defaults to master, you can also check out a tag like v2.10.1 + [source,bash] ---- @@ -318,18 +340,20 @@ cd client-build cmake -DCMAKE_PREFIX_PATH=/opt/ownCloud/qt-5.12.4 -DCMAKE_INSTALL_PREFIX=/Users/path/to/client/../install/ .. ---- + -For Linux builds (using QT5 libraries via build-dep) a typical setting is +For Linux builds (using QT5 libraries via build-dep) a typical setting is: + [source,console] ---- -DCMAKE_PREFIX_PATH=/opt/ownCloud/qt-5.12.4/ ---- + -However, the version number may vary. For Linux builds using system dependencies `-DCMAKE_PREFIX_PATH` is not needed. You must use absolute paths for the `include` and `library` directories. +However, the version number may vary. ++ +For Linux builds using system dependencies `-DCMAKE_PREFIX_PATH` is not needed. You must use absolute paths for the `include` and `library` directories. + On Mac OS X, you need to specify `-DCMAKE_INSTALL_PREFIX=target`, where `target` is a private location, i.e. in parallel to your build dir by specifying `../install`. + -qtkeychain must be compiled with the same prefix e.g., +`qtkeychain` must be compiled with the same prefix e.g., + [source,console] ---- @@ -346,6 +370,8 @@ make + The ownCloud binary will appear in the `bin` directory. +*Optional Steps* + [start=5] . (Optional) Call `make install` to install the Desktop App to the `/usr/local/bin` directory (or as per CMAKE_INSTALL_PREFIX). + The following are known CMake parameters: @@ -359,7 +385,7 @@ The following are known CMake parameters: * `CMAKE_PREFIX_PATH=/path/to/Qt5.12.4/5.12.4/yourarch/lib/cmake/`: Builds using that Qt version. * `CMAKE_INSTALL_PREFIX=path`: Set an install prefix. This is mandatory on Mac OS. + -. *Optional:* Run a Desktop App that was installed in a custom CMAKE_INSTALL_PREFIX may not pick up the correct libraries automatically. You can use LD_LIBRARY_PATH to help find the libraries like this: +. Run a client that was installed in a custom `CMAKE_INSTALL_PREFIX` may not pick up the correct libraries automatically. You can use `LD_LIBRARY_PATH` to help find the libraries like this: + [source,console] ---- @@ -368,5 +394,5 @@ LD_LIBRARY_PATH=/opt/ownCloud/qt-5.12.4/lib/x86_64-linux-gnu/:/Users/path/to/cli == Compiling via ownBrander -If you don’t want to go through the trouble of doing all the compiling work manually, you can use -https://doc.owncloud.com/branded_clients/[ownBrander] to create installer images for all platforms. +If you don’t want to go through the challenges of doing all the compiling work manually, you can use +xref:{latest-branding-version}@branded_clients:ROOT:index.adoc[ownBrander] to create installer images for all platforms. diff --git a/modules/ROOT/pages/installing.adoc b/modules/ROOT/pages/installing.adoc index 2b6e2dfa..b54cd64e 100644 --- a/modules/ROOT/pages/installing.adoc +++ b/modules/ROOT/pages/installing.adoc @@ -29,6 +29,15 @@ ifeval::["{page-component-version}" == "next"] :url-version: latest endif::[] +// evaluate the url version which is either the +// * branch name when it is a stable branch or +// * latest when it is the next branch + +:url-version: {page-component-version} +ifeval::["{page-component-version}" == "next"] +:url-version: latest +endif::[] + == Introduction {description} Continuous synchronization to and from the ownCloud server provides ease of use combined with comprehensive access control. diff --git a/site.yml b/site.yml index a435782f..e8b1c2c8 100644 --- a/site.yml +++ b/site.yml @@ -9,6 +9,11 @@ content: - url: . branches: - HEAD + # the docs-xxx are just present for the test build to satisfy used references + # the real build is made in the docs repo using correct values + - url: https://github.com/owncloud/docs-client-branding.git + branches: + - master ui: output_dir: assets