tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: policy proposal: updating packages with many dependencies
* On 2025-03-27 at 21:43 GMT, Thomas Klausner wrote:
I can get behind the 'bootstrap' list, but we need to come up with a
workable procedures for when updates to these packages can be
committed. Requiring a full bulk build doesn't sound reasonable; on
the other hand, having 'bootstrap' finish a couple of platforms sounds
like too little. I'm not sure where the golden middle for this
is. Perhaps building meta-pkgs/bulk-test-essential?
I don't think it needs a bulk build either, except maybe for a large
change to bmake or something, just a test of a clean bootstrap plus a
couple of packages to test functionality on as many platforms as
possible.
I feel that if a user tries pkgsrc for the first time and cannot even
bootstrap, that leaves a terrible impression, and I'd like to avoid that
as much as possible. There aren't that many packages in the bootstrap
path, and most of them are absolutely critical to all pkgsrc operations,
so I don't think it's too onerous to expect that any changes to them are
well tested and reviewed.
But we need some infrastructure to test this, I don't think it's
realistic to assume that committers can test on even 3+ platforms. If
you could provide infrastructure for this, that would be appreciated.
Sure, dreckly can already do this automatically on 9 platforms, and nia
has been doing great work at spinning up a lot of the more esoteric
platforms and getting them back into shape.
'portability' is a new one for me. Do you have some more examples of
such packages? I wasn't even aware that ghostscript was problematic in
this respect. Do we enough of these that they should be part of this
now?
Sorry, I meant textproc/groff, where the last update caused widespread
breakage. Basically any package that has a lot of OS-specific install
code, or complicated PLISTs that have a high chance of breaking on
updates, etc. Maybe 'fragile' would be a better name? Not sure.
IMHO, 'lts' does not fit here. I think the proper solution for this is
having foo and foo-lts packages, like the ESR packages we have for
firefox; perhaps with some kind of lts.mk files that globally switch
to the lts or the HEAD version, if other packages depend on them.
I think that works well for leaf packages like firefox. I'm not sure
how well it would work for packages like openssl that most of the tree
depends on.
I'm not convinced of the 'quarterly' category yet and would like to
discuss that at some other time, if that's ok.
It might be that it should be merged with the proposed 'lts' but with a
better name, as there are common reasons behind wanting them:
* This is a really really important package, either in terms of it
being a dependency for many other packages, or it being a fundamental
part of service infrastructure.
* Any update to it carries a huge amount of risk, and critical bugs may
not be apparent until runtime.
* Unless there are incredibly strong reasons for doing so, this package
should remain on the most stable and well-tested release available,
and only updated when absolutely necessary and in line with what most
other packaging systems are doing.
The proposed additions are good, but they are only concerned with build
failures. As someone who has provided over 20 million packages to
thousands of users running critical operations on them, and had pkgsrc
help support one of the largest cloud installations in the world that
many of you will have unknowingly used, I have a strong interest in
ensuring that the software that we package is robust and reliable, and
avoid any potential whatsoever for a "pkgin upgrade" to break a
customer's production environment and for me to get shouted at.
It's a very different level of risk compared to someone installing a few
hundred packages to power their NetBSD desktop and maybe run some small
internet services. I don't mean that disparagingly, I just want to
emphasise the massive gulf in use-cases. I'd like to accommodate both,
and have some way to mark e.g. net/haproxy as having the potential to
ultimately stop your phone backups from working that sysutils/neofetch
does not, and that updates to them should be handled accordingly.
Cheers,
--
Jonathan Perkin pkgsrc.smartos.org
Open Source Complete Cloud www.tritondatacenter.com
Home |
Main Index |
Thread Index |
Old Index