all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* upgrade to new version of packages with lots of dependencies--installing new versions along first?
@ 2024-09-06 20:54 Andy Tai
  2024-09-10 21:26 ` Greg Hogan
  0 siblings, 1 reply; 2+ messages in thread
From: Andy Tai @ 2024-09-06 20:54 UTC (permalink / raw)
  To: guix-devel

Hi, this is nothing new and clearly has been the case for a number of
packages in Guix.

For packages that have not of dependencies (say 300 or more) updating
to new versions have been increasingly difficult, as lots of rebuilds
needed and Guix QA is really overwhelmed  (it seems).

For other reasons like API compatibility some such packages exist in a
state of multiple versions, with old versions sticking around to
satisfy other packages depending on them. Example: samba and
samba-next

Maybe this can be generalized for packages with lots of dependencies,
say for any package A with 300 (or 1000) dependencies, when upgrading
to a new version, add that as A-next so existing A is not touched.
Then A-next can be added without any dependencies, and Guix QA just
needs to check if A-next builds.   Then people working on any package
depending on A can move that package to depending on A-next later
independently.   This avoid triggering world rebuilds.  And A's
dependents migrate at their own flow.

Or a feature branch can still be used for these migrating dependencies
but A-next can be added to master first and made available, without
waiting for a feature branch to be merged

Is this workable idea?


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-09-10 21:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-06 20:54 upgrade to new version of packages with lots of dependencies--installing new versions along first? Andy Tai
2024-09-10 21:26 ` Greg Hogan

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.