Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix and update the building page #242

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Conversation

mmattel
Copy link
Contributor

@mmattel mmattel commented Jul 1, 2022

This is the first part fixing #241 (Add cmake option for building the client to disable auto updater)

Before weare going to implement additional cmake options, we need to update the page as it needs a base review.

IMPORTANT
When looking into the given links adding the deb packages, you see that releases end with 2.6 (!!) and are 2 years old, see: http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/
Currently we are shipping 2.10 and are working on 2.11 ...

I need advise how to hande this before we are going to merge this PR because imho this is not a good sign showing customers heavy outdated release bases for building their client.

@dragotin @TheOneRing @michaelstingl @jnweiger @gabi18 @GeraldLeikam
@dpapac fyi

@mmattel mmattel added the documentation Improvements or additions to documentation label Jul 4, 2022
@jnweiger
Copy link
Contributor

jnweiger commented Jul 4, 2022

http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/ is dead.
Long live http://download.opensuse.org/repositories/isv:/ownCloud:/Qt5152/

The first fix for https://doc.owncloud.com/desktop/next/appendices/building.html#linux is

Replace

echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_9.0/ /' >> /etc/apt/sources.list.d/owncloud-client.list
echo 'deb-src http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_9.0/ /' >> /etc/apt/sources.list.d/owncloud-client.list

with

echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/Qt5152/Ubuntu_22.04/ /' >> /etc/apt/sources.list.d/isv:ownCloud:Qt5152.list
git clone ... something ... with tag v2.10.1 

Client sources since 2.6.3 are no longer available at SUSE OBS. we now always pull client sorces from github.
The Qt5152 project only has the 'owncloud provided' dependencies. For the (recommended) option to use our dependencies. The second option is to use the 'distribution provided' dependencies. -- which is completely untested from our side...

I cannot say how long qt5152 actually lives. .. we'll probably have Qt version 5.15.3/4/5 soon...

@jnweiger
Copy link
Contributor

jnweiger commented Jul 4, 2022

I suggest to remove http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/ from OBS.

@mmattel mmattel mentioned this pull request Jul 4, 2022
@jnweiger
Copy link
Contributor

jnweiger commented Jul 5, 2022

The link for 'Visual Studio 2019'is currently documented as https://visualstudio.microsoft.com/en/downloads/

  • That link now only provides version 2022, which does not work.
  • Visual Studio is a prerequisite and should not be hidden between randome tips. It should be in the list of prerequisites, where python and powershell are.
  • The word 'naturally' in documentation usually means 'difficult, and left as an exercise to the reader'. - I'd like to avoid such extra trouble.

The installer of Visual studio community 2019 - 16.11.16 offers many options:
Under "Workloads", select

  • python development
  • Desktop development with C++

These two seem to be the best match to avoid a craft error message

... \python.exe C:\CraftRoot\craft-master\bin\craft.py craft
Unable to locate Visual Studio.  Please install it with the C++ component. Aborting

image


image


The installer reports a total download size of 1.44 GB for this. ( If the Spectre-Libs shown there are also required, then the Download size is 2,35 GB )

@TheOneRing
Copy link
Member

Recommended way to build is https://github.com/owncloud/ownbuild/blob/master/README.md

@jnweiger
Copy link
Contributor

jnweiger commented Jul 6, 2022

ownbuild.py works for all three windows, mac and linux.

We should reduce the docu to refer to the ownbuild repo, and the README.txt there: https://github.com/owncloud/ownbuild#readme

Only one special case: how to call ownbuild with linux using system libraries.

The cmake options also should only e documented in developer documentaiton README style.


py.exe ownbuild.py owncloud-client

succeed to build the client from master branch cleanly, if the documented initialization C:\CraftRoot\craft\craftenv.ps1 is not(!) done.

But building from branch 2.10
py.exe ownbuild.py --branch 2.10 owncloud-client
fails with an error: Could not resolve host: ftp.pcre.org


Instructions are missing, how to build from a locally patched tree.

@mmattel
Copy link
Contributor Author

mmattel commented Jul 6, 2022

Based on the discussion today with @jnweiger @TheOneRing @gabi18 the PR has changed the following way:

With commit complete revision based on discussion I have DELETED all building content expect ownbrander and added a section which references to the ownbuild repo.

Having this, ALL building maintenance has to be done in the ownbuild repo - source/code and instruction (readme) wise. This is a good thing as all is now concentrated and maintained by those who are responsible for client building.

@TheOneRing pls approve


Follow the xref:generic-build-instructions[generic build instructions], starting with step 2.

== Linux with System Dependencies
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't we agree to keep this one?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest to move 'Linux with System Dependencies' also into github. e.g. as part of the ownbuild README?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated to Ownbuild

@phil-davis phil-davis requested review from jnweiger and TheOneRing and removed request for phil-davis July 29, 2022 04:26
@phil-davis
Copy link
Contributor

@mmattel I removed myself from the Reviewers list. The small amount of text remaining looks good. It is for others to decide and review this restructuring.

Note: there are conflicts reported by Git at the moment - so this needs a rebase.

@michaelstingl michaelstingl requested a review from fmoc August 1, 2022 07:19
----
LD_LIBRARY_PATH=/opt/ownCloud/qt-5.12.4/lib/x86_64-linux-gnu/:/Users/path/to/client/../install/lib/x86_64-linux-gnu/ /Users/path/to/client/../install/bin/owncloud
----
ownCloud provides an own repository as starting point for building the client. All necessary details can be found there. See the {ownbuild-url}[ownbuild repository] to proceed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The intention is good, we should avoid redundancies wherever possible. However, this implies that we have to improve the README there to be beginner (and generally user) friendly.

site.yml Outdated
Comment on lines 39 to 40
latest-branded-version: 'next'
previous-branded-version: 'next'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is next some kind of "magic keyword"?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. There always must be a version named next and if required more versions like 2.10 as for desktop. Note that branding does not have versioning, therefore only next is used. That keyword is used in the URL to specify the release you want to look at 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants