-
-
Notifications
You must be signed in to change notification settings - Fork 25
Description
In October 2025 Synology released DSM 7.3 that does not support PHP < 8.2 anymore.
All packages that do not support PHP 8.2 (i.e. support PHP 7.4 or PHP 8.0 only), must used the os_max_ver attribute in the INFO file to declare a package incompatible with DSM 7.3+.
But such packages must not only declare something like os_max_ver="7.2-81000" but also the spkrepo API must ensure that those are not delivered to DSM 7.3 models.
We already can define OS_MAX_VER = 7.2-81000 in the SPK Makefile to add os_max_ver to the INFO file in the spk, and the package center will avoid the installation with a related error message (i.e. for manual installation).
BUT spksrc (the repository) must evaluate the os_max_ver too, so that packages do not appear in the package center of incompatible DSM version.
So far spkrepo has only os_min_ver implemented - the foreign key firmware_id links to the firmware table with dedicated firmware versions (according to available toolchains).
For os_max_ver this approach is n/a because there are no dedicated max build revisions. We could either define 7.2-99999, 7.2-80000, 7.2-81000, or 7.2-81180 for packages not supported on DSM 7.3+ (I propose an additional column for os_max_ver in the build model).
It would be handy, when os_max_ver could be set in the admin UI, because it must be defined for already published revisions of a package not supported on DSM 7.3+.