FS#52791 - [owncloud] drop owncloud in favor of nextcloud

Attached to Project: Community Packages
Opened by David Runge (dvzrv) - Tuesday, 31 January 2017, 14:04 GMT
Last edited by Antonio Rojas (arojas) - Monday, 27 February 2017, 16:27 GMT
Task Type Support Request
Category Packages
Status Closed
Assigned To Antonio Rojas (arojas)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 14
Private No

Details

Description: owncloud has lost a lot of developers due to the schism introduced last year, when many of its developers moved away to nextcloud (due to questionable work and licensing conditions).
Since then the project has gone slightly stale and many of the core apps are now archived, mainly developed by nextcloud instead and/or haven't seen an update in a long time (in owncloud's case).

owncloud (server) has since then also slowed down on development and just recently shown conflicts with Arch's move from php 7.0.x to 7.1 (currently a hotfix is introduced to make owncloud work, as it otherwise fails to start below version 9.2 - unreleased as of now - with php 7.1).
Apps such as bookmarks (owncloud-app-bookmarks) suffer from outdated guzzlehttp versions which result in it being unusable (no more bookmarks can be added). The outdated version also keep some core functionality from working: server setup can't be checked anymore, re-auth often fails ("PHP Fatal error: Cannot use lexical variable $eventName as a parameter name...").

I'd like to evaluate a possible move towards nextcloud, as there might be conflicting APIs once development progresses further on both sides and nextcloud seems to be the more actively developed project at the moment.
The AUR already features many nextcloud packages for server, client and apps.

Additional info:
* owncloud 9.1.3
* https://github.com/owncloud/
* https://github.com/owncloudarchive/
* https://github.com/nextcloud
* https://aur.archlinux.org/packages.php?K=nextcloud&O=0&do_Search=Go
This task depends upon

Closed by  Antonio Rojas (arojas)
Monday, 27 February 2017, 16:27 GMT
Reason for closing:  Implemented
Comment by David Runge (dvzrv) - Monday, 13 February 2017, 14:53 GMT
I propose the attached PKGBUILD, instead of the one currently used in AUR[1] for the following reasons:

* apps can still be shipped as packages and thus all files properly accounted for under /usr/share/webapps/nextcloud
* configuration is properly taken care of in /etc/webapps/nextcloud/config (alternatively the environment variable NEXTCLOUD_CONFIG_DIR can be used)
* compatibility with apps can be assured and apps can only be installed under /usr/share/webapps/nextcloud/apps, if installed by the package manager

Apps shipped by packages will reside in a readonly directory (/usr/share/webapps/nextcloud/apps).
If users want to use the app store, they can do this by defining a separate writable directory in the configuration file, as follows:

'appstoreenabled' => true,
'appstore.experimental.enabled' => true,
'apps_paths' =>
array (
0 =>
array (
'path' => '/usr/share/webapps/nextcloud/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/some/directory/that/is/writable',
'url' => '/wapps',
'writable' => true,
),
)

and creating a symlink to that directory under /usr/share/webapps/nextcloud:

cd /usr/share/webapps/nextcloud
ln -s /some/directory/that/is/writable wapps

This is standard procedure with the current owncloud package.

I think this is a better (and most likely also more secure) solution to the current status, in which a lot of files can be installed to /usr/share/webapps/nextcloud by nextcloud itself and thus not be accounted for by pacman.

[1] https://aur.archlinux.org/packages/nextcloud/
   PKGBUILD (2.4 KiB)
Comment by Sergej Pupykin (sergej) - Friday, 17 February 2017, 15:12 GMT
I've put nextcloud stuff to community-testing but did not test it yet. It does not replace owncloud automatically.
Comment by David Runge (dvzrv) - Friday, 17 February 2017, 16:57 GMT
Seems you pushed it to community directly ;-)

I'm not sure, a direct "replacement" is really possible, because users might want to migrate data first and check, if their setup works.
For me transition was pretty flawless though.

Would you be interested in taking care of more apps, such as news [1] and notes [2]?
Also there is an updater service for the news app [3], but it needs an update to the config location first (will do that now).

[1] https://aur.archlinux.org/packages/nextcloud-app-news/
[2] https://aur.archlinux.org/packages/nextcloud-app-notes/
[3] https://aur.archlinux.org/packages/nextcloud-news-updater/
Comment by Sergej Pupykin (sergej) - Friday, 17 February 2017, 17:39 GMT
I've tested few of nextcloud packages and moved it to community. It is drop-in replacement, but I think it would not be good to install nextcloud into owncloud directory, so manual intervention is needed anyway.

I'll try to move to community more nextcloud apps.

nextcloud-app-richdocuments looks complex and needs testing, so I left it in community-testing for a while.
Comment by Chih-Hsuan Yen (yan12125) - Friday, 17 February 2017, 17:43 GMT
Should I open new issues if I got errors from the new community/nextcloud? Here's my log:

$ sudo pacman -S nextcloud
[sudo] password for yen:
warning: nextcloud-11.0.1-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) nextcloud-11.0.1-1

Total Download Size: 31.53 MiB
Total Installed Size: 129.55 MiB
Net Upgrade Size: 6.08 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages...
nextcloud-11.0.1-1-any 31.5 MiB 8.24M/s 00:04 [###############################################] 100%
(1/1) checking keys in keyring [###############################################] 100%
(1/1) checking package integrity [###############################################] 100%
(1/1) loading package files [###############################################] 100%
(1/1) checking for file conflicts [###############################################] 100%
error: failed to commit transaction (conflicting files)
nextcloud: /usr/share/webapps/nextcloud/config exists in filesystem
Errors occurred, no packages were upgraded.
Comment by David Runge (dvzrv) - Friday, 17 February 2017, 17:55 GMT
@yan12125: You get the error, because the AUR package was misconfigured and /usr/share/webapps/nextcloud/config used instead of /etc/webapps/nextcloud/config and many files under /usr/share/webapps/nextcloud can not be accounted for with pacman.

Backup your /usr/share/webapps/nextcloud/config/config.php and delete /usr/share/webapps/nextcloud/config before updating.
Alternatively (and this is most probably the preferred way, as there will be some files unaccounted for due to the misconfiguration of the package) you could uninstall AUR nextcloud (has to be completely, so make sure to delete /usr/share/webapps/nextcloud afterwards!) and then freshly install the community package.
Comment by David Runge (dvzrv) - Saturday, 18 February 2017, 13:04 GMT
@sergej: Would it be possible to also add the nextcloud-client?
Comment by David Runge (dvzrv) - Saturday, 18 February 2017, 13:09 GMT
@sergej: Using the release version of the apps instead of compiling each from source, works just fine [1].

Thanks for the fast move btw.!

[1] https://bugs.archlinux.org/task/53000
Comment by Chih-Hsuan Yen (yan12125) - Saturday, 18 February 2017, 13:57 GMT
Thanks David! Here are my steps, hope that help others:

1. sudo cp /usr/share/webapps/nextcloud/config/config.php ~/config.php
2. sudo rm -rv /usr/share/webapps/nextcloud/
2. sudo pacman -R nextcloud && sudo pacman -Sy && sudo pacman -S nextcloud
3. sudo cp ~/config.php /etc/webapps/nextcloud/config/config.php
4. sudo chown http:http /etc/webapps/nextcloud/config/config.php
5. sudo chmod 640 /etc/webapps/nextcloud/config/config.php # nextcloud refused to work if I use 440 here
6. Add 'appstoreenabled' => false to config.php, or nextcloud complains that it can't install apps

> Would it be possible to also add the nextcloud-client?

I just use community/owncloud-client. nextcloud-client is a theming wrapper of owncloud-client. Some people may want consistent theming. For me a working version is enough :)
Comment by Oscar Garcia (ogarcia) - Monday, 27 February 2017, 08:21 GMT
+1 to nextcloud-client, for package consistence.
Comment by Sergej Pupykin (sergej) - Monday, 27 February 2017, 16:10 GMT
passing this bug to owncloud-client maintainer
Comment by Antonio Rojas (arojas) - Monday, 27 February 2017, 16:25 GMT
nextcloud-client is just a rebranding of owncloud-client, not even a fork. There's no difference in functionality whatsoever. I see no reason to package the renamed version instead of the original.

Loading...