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
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
|
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
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
```
$ 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.
$ pacman -Q nextcloud
nextcloud 22.0.0-1
$ pacman -Dk
error: missing 'nextcloud<=22' dependency for 'nextcloud-app-calendar'