Bug #11737
closedSome packages should have version-lock facets
100%
Description
The IPS incorporations that are built by gate lock all packages that are not flagged as noincorp
together at the published versions.
This means that it is not possible to selectively downgrade a package if necessary.
We should provide version-lock facets for some packages to effectively remove them from the incorporation if necessary.
Initially, this should be done for the system/data/zoneinfo
and system/data/hardware-registry
packages.
Related issues
Updated by Andy Fiddaman over 3 years ago
Review posted at https://illumos.org/rb/r/2340/
Updated by Andy Fiddaman over 3 years ago
Testing:
% diff -u packages.i386{.old,}/osnet-incorporation.mog --- packages.i386.old/osnet-incorporation.mog Fri Sep 20 13:38:34 2019 +++ packages.i386/osnet-incorporation.mog Fri Sep 20 13:38:34 2019 @@ -490,11 +490,12 @@ depend fmri=pkg:/system/data/console/fonts@0.5.11,5.11-151030.0 \ type=incorporate depend fmri=pkg:/system/data/hardware-registry@0.5.11,5.11-151030.0 \ - type=incorporate + type=incorporate facet.version-lock.system/data/hardware-registry=true depend fmri=pkg:/system/data/keyboard/keytables@0.5.11,5.11-151030.0 \ type=incorporate depend fmri=pkg:/system/data/terminfo@0.5.11,5.11-151030.0 type=incorporate -depend fmri=pkg:/system/data/zoneinfo@2019.3,5.11-151030.0 type=incorporate +depend fmri=pkg:/system/data/zoneinfo@2019.3,5.11-151030.0 type=incorporate \ + facet.version-lock.system/data/zoneinfo=true depend fmri=pkg:/system/dtrace/tests@0.5.11,5.11-151030.0 type=incorporate depend fmri=pkg:/system/extended-system-utilities@0.5.11,5.11-151030.0 \ type=incorporate
Updated by Andy Fiddaman over 3 years ago
- Blocks Feature #12052: Deliver microcode in separate packages added
Updated by Joshua M. Clulow over 3 years ago
Notes from Andy in the RTI Mail¶
The osnet-incorporation effectively locks all incorporated packages together
at a specific version. As Rich notes, this is vital for some of them such as
libc and the kernel. For other packages, it would be useful to provide a
mechanism for an administrator to override the version lock.The most recent case where this would have been useful was with the
system/data/zoneinfo package where the update to 2019c introduced a
regression. There was no way for an administrator to downgrade just this
package back to 2019a due to the incorporation.For the system/data/hardware-registry package, the version has long been
deliberately left at 0.5.11 so as to allow downgrades if necessary. With this
change the next update to that package can use a proper release number.This change adds the framework and initially adds version lock facets to
system/data/hardware-registry and system/data/zoneinfo as these are system
data files which are updated a couple of times a year. There may be other
packages that would benefit from this and they can be easily added in the
future. For example I think this would be useful for things like CPU microcode
too, but we will first need to split that out into separate packages.
Updated by Andy Fiddaman over 3 years ago
Here's an example of this being used to downgrade system/data/zoneinfo
.
bloody% pkg list -afv system/data/zoneinfo FMRI IFO pkg://omnios/system/data/zoneinfo@2019.9-151033.0:20191210T090436Z i-- pkg://omnios/system/data/zoneinfo@2019.3-151033.0:20191203T202512Z --- bloody% pfexec pkg update system/data/zoneinfo@2019.3 Creating Plan (Solver setup): / pkg update: No matching version of system/data/zoneinfo can be installed: Reject: pkg://omnios/system/data/zoneinfo@2019.3-151033.0 Reason: This version is excluded by installed incorporation consolidation/osnet/osnet-incorporation@0.5.11-151033.0 bloody% pkg facet -a | grep zoneinfo version-lock.system/data/zoneinfo True system bloody% pfexec pkg change-facet version-lock.system/data/zoneinfo=False Packages to change: 1 Variants/Facets to change: 1 ... bloody% pkg facet FACET VALUE SRC version-lock.system/data/zoneinfo False local bloody% pfexec pkg update system/data/zoneinfo@2019.3 Packages to update: 1 Create boot environment: No Create backup boot environment: No PHASE ITEMS Installing new actions 1/1 ... bloody% pkg list -afv system/data/zoneinfo FMRI IFO pkg://omnios/system/data/zoneinfo@2019.9-151033.0:20191210T090436Z --- pkg://omnios/system/data/zoneinfo@2019.3-151033.0:20191203T202512Z i--
Updated by Electric Monk over 3 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
git commit 2bd79b08f4b447d333b2b97efd7e4bf855f5d409
commit 2bd79b08f4b447d333b2b97efd7e4bf855f5d409 Author: Andy Fiddaman <omnios@citrus-it.co.uk> Date: 2019-12-10T11:07:36.000Z 11737 Some packages should have version-lock facets Reviewed by: Andrew Stormont <andyjstormont@gmail.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Joshua M. Clulow <josh@sysmgr.org>