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

Nextcloud 12.0.3 #158

Open
brad2014 opened this issue Oct 22, 2017 · 9 comments
Open

Nextcloud 12.0.3 #158

brad2014 opened this issue Oct 22, 2017 · 9 comments

Comments

@brad2014
Copy link

brad2014 commented Oct 22, 2017

What new package do you want?

nextcloud 12.0.3

Why?

EPEL7 has nextcloud 10.0.4, which is "no longer supported". Ref Changelog. Version 12 has numerous security improvements and collaboration features I'm interested in, along with the performance improvements of running nextcloud on php71u.

Testing

I agree to test the new package to ensure that it works as expected.

@carlwgeorge
Copy link
Member

My first instinct was to check and see if the EPEL package could be updated to 12, but version 11 and 12 both require at least PHP 5.6. Since EPEL packages are restricted to what is available in RHEL, that's a dead end.

I am investigating if this would be feasible as an IUS package. However, I recommend you temper your expectations. Nextcloud is notoriously difficult to package. Fedora Rawhide doesn't even have Nextcloud 12 yet.

@brad2014
Copy link
Author

If you like, let me play with it and see if there's a simple reworking on the nextcloud-10 spec file that suffices. Nextcloud bundles most of its php module dependencies, so they needn't exist as rpms. I don't see any basic php dependencies that aren't already provided by php71u (but I'll need to test it to be sure).

@carlwgeorge
Copy link
Member

carlwgeorge commented Nov 10, 2017

I did some research and found that there are several problematic dependencies.

composer name epel7 package NC10 minimum NC12 minimum
rackspace/php-opencloud php-opencloud-1.12.2-1.el7 1.9.2 1.16.0
symfony/{console,event-dispatcher,routing,process} php-symfony-2.8.12-2.el7 2.8.3 3.0.0
sabre/dav php-sabre-dav-3.0.9-1.el7 3.0.9 3.2.0
icewind/searchdav N/A N/A 0.3.1
icewind/smb php-icewind-smb-1.1.2-1.el7 1.1.0 2.0.2

Relevant bugs:

If we wait for Rawhide to update to NC12, php-icewind-searchdav and php-icewind-smb2 will exist in Fedora and we can ask for EPEL7 branches of them. Then we can revist this and see if the other dependencies can be bumped.

@brad2014
Copy link
Author

brad2014 commented Nov 11, 2017

In reviewing the spec file for the existing EPEL release of nextcloud-10, it looks like the packager didn't require that all the dependent composer packages be available in EPEL. The spec file simply takes the nextcloud release, which bundles all its required php packages, and deletes just those bundeled packages that happen to exist as EPEL packages, hacking the autoload to refer to the EPEL dependencies where they happen to be available from EPEL.

So, one option would be to simply package the nextcloud 12 as it is built, with all its bundled php packages, and just not depend on any EPEL php packages (the spec file would be much simpler). It's not very big, and if there server doesn't support anything that requires those packages from EPEL, there is no space penalty at all.

(I added a similar note to https://bugzilla.redhat.com/show_bug.cgi?id=1433919#c16)

@carlwgeorge
Copy link
Member

The only thing I see are bundled javascript libraries ("State of javascript in fedora right now is too painful to unbundle"). The spec file indicates that all PHP libraries are unbundled ("Explicitly remove the bundled libraries we're aware of"). Which PHP libraries are you seeing that are left bundled?

@hogarthj
Copy link

hogarthj commented Nov 14, 2017 via email

@b-harper
Copy link
Contributor

On a different note, I have some concerns regarding the upgrade process. The Nextcloud upgrade documentation raises a few flags. Multiple times they stress the importance of backups as downgrades are not supported. 3rd party applications need to be reviewed for compatibility and disabled before the upgrade process then re-enabled after the upgrade. The upgrade process is disruptive, can also takes hours and could fail.

As I read on the documentation, it seems the upgrade process is too fragile to get handled within the rpm. If that is the case, I am not sure how to handle upgrades.

@hogarthj
Copy link

hogarthj commented Nov 14, 2017 via email

@b-harper
Copy link
Contributor

Just a few things to note:

Nextcloud lifecycle

Nextcloud 13 Beta 1 is now available

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

No branches or pull requests

4 participants