FS#71459 - [nextcloud-app-calendar][nextcloud-app-deck] Incorrect version constraints on nextcloud

Attached to Project: Community Packages
Opened by Chih-Hsuan Yen (yan12125) - Wednesday, 07 July 2021, 03:13 GMT
Last edited by Sergej Pupykin (sergej) - Thursday, 08 July 2021, 12:18 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sergej Pupykin (sergej)
David Runge (dvzrv)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

For nextcloud-app-calendar, /usr/share/webapps/nextcloud/apps/calendar/appinfo/info.xml has

<nextcloud min-version="20" max-version="22" />

And it is considered compatible by community-testing/nextcloud 22.0.0-1. The dependency should be depends=("nextcloud>=20" "nextcloud<23") instead of depends=("nextcloud>=20" "nextcloud<23").

From its PKGBUILD [1], the upper bound is extracted from the max-version value in the appinfo/info.xml file. I didn't find clear documentation, but from the source code of nextcloud, max-version="22" means the app is compatible with all nextcloud 22.x [2].

As per PKGBUILD Hound, many other nextcloud-app-* PKGBUILDs uses a similar pattern [3]. Among them, the upper bound of nextcloud-app-deck is incorrect, too. appinfo/info.xml of nextcloud-app-deck has

<nextcloud min-version="21" max-version="22" />

So in PKGBUILD, the dependency should be depends=('nextcloud>=21' 'nextcloud<23') instead of depends=('nextcloud>21' 'nextcloud<22').

[1] https://github.com/archlinux/svntogit-community/blob/packages/nextcloud-app-calendar/trunk/PKGBUILD
[2] https://github.com/nextcloud/server/blob/v22.0.0/lib/private/App/DependencyAnalyzer.php#L164
[3] https://pkgbuild.vdwaa.nl/?q=.info.dependencies.nextcloud&i=nope&files=&repos=

Additional info:
community/nextcloud-app-calendar 1:2.3.0-1
community/nextcloud-app-deck 1:1.4.2-1
community-testing/nextcloud 22.0.0-1

Steps to reproduce:
Tries to install community-testing/nextcloud and community/nextcloud-app-calendar together.
This task depends upon

Closed by  Sergej Pupykin (sergej)
Thursday, 08 July 2021, 12:18 GMT
Reason for closing:  Fixed
Comment by David Runge (dvzrv) - Wednesday, 07 July 2021, 08:35 GMT
@yan12125: Thanks for the report!

It seems that for nextcloud-app-calendar the version constraint can (and should be) raised to nextcloud<23 [1].
This is also the case for nextcloud-app-deck [2] and I'll fix it asap.

[1] https://github.com/nextcloud/calendar/blob/718e3b66c9d978366947cd785152eb51cfc9c3d7/appinfo/info.xml#L37
[2] https://github.com/nextcloud/deck/blob/bd8fd6a66b66af35ae19f7cec3df6f107656e49f/appinfo/info.xml#L39
Comment by David Runge (dvzrv) - Wednesday, 07 July 2021, 08:41 GMT
This should be fixed for nextcloud-app-deck with 1.4.2-2.
Comment by Sergej Pupykin (sergej) - Wednesday, 07 July 2021, 12:18 GMT
nextcloud-app-calendar also should be fixed in testing
Comment by David Runge (dvzrv) - Wednesday, 07 July 2021, 13:40 GMT
@sergej: I believe the upper boundary should be nextcloud<23 though, as nextcloud<=22 will break on the first bugfix release:

```
$ vercmp "22" "22.0.1"
-1
```

I think your approach would only work if we added e.g. provides=(nextcloud-server=22) to the nextcloud package and depended on that in the app packages.
Comment by Chih-Hsuan Yen (yan12125) - Wednesday, 07 July 2021, 14:09 GMT
Adding to David's comment, nextcloud 22.0.0 does not satisfy 'nextcloud<=22', either.

$ pacman -Q nextcloud
nextcloud 22.0.0-1
$ pacman -Dk
error: missing 'nextcloud<=22' dependency for 'nextcloud-app-calendar'
Comment by Sergej Pupykin (sergej) - Wednesday, 07 July 2021, 14:40 GMT
should be fixed in nextcloud-app-calendar-1:2.3.0-3
Comment by Chih-Hsuan Yen (yan12125) - Thursday, 08 July 2021, 03:05 GMT
Thanks! I think this can be closed as all packages are fixed?

Loading...