On 17.10.2020 16:32, nia wrote: > On Thu, Oct 15, 2020 at 01:59:57PM -0700, Michael Forney wrote: >> On 2020-10-09, Jonathan Perkin <jperkin%joyent.com@localhost> wrote: >>> * On 2020-10-09 at 20:02 BST, nia wrote: >>> >>>> I have Opinions about this check in pkg_add. >>>> >>>> It's often wrong even on NetBSD (e.g. it will warn you about >>>> installing 9.0 packakges on 9.1, even though that's currently >>>> the recommended procedure)... >>>> >>>> AFAIK, joyent has it locally patched out? >>> >>> Yeh, I remove it for our macOS package sets. I'd recommend doing the >>> same for anyone who is distributing packages for OS which do not break >>> ABI compatibility. >>> >>> It definitely doesn't make any sense on Linux. >> >> Agreed. So maybe what is needed is just smarter platform-specific >> tests in add/perform.c:compatible_platform(). For Linux, it could just >> always return 1, and for other platforms, it could check whatever is >> appropriate for that platform. >> >> Currently, the versions are considered compatible if the package >> version is a substring of the host version, and on NetBSD, trailing >> suffixes _ALPHA, _BETA, _RC, _STABLE, and _PATCH are ignored. It >> sounds to me like NetBSD might need some extra logic to allow >> increasing minor versions (or perhaps to only compare the major >> version). > > On NetBSD it should only check the major, at the very least. > > I'm still not sure if it makes sense because you can run old > userlands on newer kernels, use packages from older versions if > you have the right shared libraries, etc. > We also distribute kernel modules in pkgsrc and we need to match full version on NetBSD, including major an minor. The same applies for Linux. It's still a question whether this is really useful as OS_VERSION, because the kernel will reject such kernel modules on load.
Attachment:
signature.asc
Description: OpenPGP digital signature