In order to remove a package, it must be marked obsolete.
Also any packages which are renamed ancestors of this package must be
marked obsolete and their rename dependencies must be removed.
Those packages which have been renamed to the now to be obsoleted
packages now themselves need to be obsoleted which essentially means
put the same info into them as per the packages being obsoleted.
From the ON README.pkg (usr/src/pkg/README.pkg):
To remove a package, you must mark it as obsolete. You must *also* mark
as obsolete any packages which are renamed ancestors of this package, and
remove their rename dependencies. Here is what you must do.
For example, to find rename ancestors of 'system/zones', do the following:
$ mypkgname=system/zones
$ pkg search -pr :depend:require:$mypkgname AND ::pkg.renamed:true
PACKAGE PUBLISHER
pkg:/SUNWzone@0.5.11-0.133 solaris
pkg:/system/zones/internal@0.5.11-0.171 solaris
For packages that were renamed prior to the last release boundary, we
occasionally clean out manifests.defunct and list the defunct package
fmris in usr/src/pkg/osnet[-internal]-history.p5m. You should never
need to add a line to this file, but you may occasionally remove one:
if you find the fmri of a renamed ancestor listed in one of these
files, you should simply remove it and create the obsolete package
manifest in manifests.defunct as described below.
Once you have the renamed ancestor list, for *each* of the packages (the
newly obsolete package, and its renamed ancestors), edit the package as
follows:
Move the manifest to manifests.defunct/ or, if you found the
fmri via pkg search, create a new manifest in manifests.defunct/.
Update 'set name=pkg.fmri' with the version set explicitly to the
build you're integrating into.
Add 'set name=pkg.obsolete value=true'.
Maintain the architecture and variant declarations in the
package you are obsoleting. Note that you must obsolete a
package on all architectures and variants simultaneously.
If you found the fmri via pkg search, you can figure
out the appropriate variant.arch setting using pkg
contents. For example
pkg contents -r -m SUNWtavor | fgrep variant
If you see only one value for variant.arch, preserve it in
your defunct manifest. If you see multiple values, then
use
set name=variant.arch value=$(ARCH)
Preserve any of the following actions if present:
set name=org.opensolaris.redist
set name=org.opensolaris.noincorp
For fmris from the osnet-history.p5m file, you should not set
org.opensolaris.redist. For fmris from the
osnet-internal-history.p5m file, you should set
set name=org.opensolaris.redist value=internal
Delete everything else.
If the package is a renamed ancestor, leave a comment behind as
follows:
# Was renamed to <other-pkg-name>, both now obsolete.
Fix description:
===========
I have added new packages to a list of obsoleted packages included in
SVR4 to IPS conversion script.
Previously the list of obsoleted packages was containing 5 packages:
runtime/java/jre-6
developer/java/jdk-6
library/java/java-demo-6
SUNWj6dev
SUNWj6rt
I have added following packages:
renames to library/java/java-demo-6:
library/java/demo
library/java/demo64
renames to developer/java/jdk-6:
developer/java/jdk64
renames to runtime/java/jre-6:
library/java/manual/locale/ja
library/java/manual
runtime/java/runtime64
renames to any packages listed above:
SUNWj6cfg renamed to library/java/host-config
SUNWj6dmo renamed to library/java/demo
SUNWj6dmx renamed to library/java/demo64
SUNWj6dvx renamed to developer/java/jdk64
SUNWj6jmp renamed to library/java/manual/locale/ja
SUNWj6man renamed to library/java/manual
SUNWj6rtx renamed to runtime/java/runtime64
SUNWjhrt renamed to library/java/javahelp
below packages:
developer/java/jdk
library/java/java-demo
runtime/java
are not included on the obsoleted list since
these packages allow customers to install the jdk, jre, or java-demos
and have the system automatically update them to the latest version of Java available as new versions are released.
(see https://bugs.openjdk.java.net/browse/JDK-8023053)
----------------------------------------------------------------------------------
Sample call of SVR4 to IPS conversion script:
make-ips.sh 0 6 -S 5.12.0.0.0.24.0 -v 1.6.0.99 -o 5.12 -O
-O (capital O) means to generate obsolete package.
-o is Solaris version
-v java verion (6u99 - very high 6 update to be obsolete)
First parameter is 0 (zero) means that SVR4 packages will not be needed to convert as we create an obsolete IPS package.
----------------------------------------------------------------------------
Also any packages which are renamed ancestors of this package must be
marked obsolete and their rename dependencies must be removed.
Those packages which have been renamed to the now to be obsoleted
packages now themselves need to be obsoleted which essentially means
put the same info into them as per the packages being obsoleted.
From the ON README.pkg (usr/src/pkg/README.pkg):
To remove a package, you must mark it as obsolete. You must *also* mark
as obsolete any packages which are renamed ancestors of this package, and
remove their rename dependencies. Here is what you must do.
For example, to find rename ancestors of 'system/zones', do the following:
$ mypkgname=system/zones
$ pkg search -pr :depend:require:$mypkgname AND ::pkg.renamed:true
PACKAGE PUBLISHER
pkg:/SUNWzone@0.5.11-0.133 solaris
pkg:/system/zones/internal@0.5.11-0.171 solaris
For packages that were renamed prior to the last release boundary, we
occasionally clean out manifests.defunct and list the defunct package
fmris in usr/src/pkg/osnet[-internal]-history.p5m. You should never
need to add a line to this file, but you may occasionally remove one:
if you find the fmri of a renamed ancestor listed in one of these
files, you should simply remove it and create the obsolete package
manifest in manifests.defunct as described below.
Once you have the renamed ancestor list, for *each* of the packages (the
newly obsolete package, and its renamed ancestors), edit the package as
follows:
Move the manifest to manifests.defunct/ or, if you found the
fmri via pkg search, create a new manifest in manifests.defunct/.
Update 'set name=pkg.fmri' with the version set explicitly to the
build you're integrating into.
Add 'set name=pkg.obsolete value=true'.
Maintain the architecture and variant declarations in the
package you are obsoleting. Note that you must obsolete a
package on all architectures and variants simultaneously.
If you found the fmri via pkg search, you can figure
out the appropriate variant.arch setting using pkg
contents. For example
pkg contents -r -m SUNWtavor | fgrep variant
If you see only one value for variant.arch, preserve it in
your defunct manifest. If you see multiple values, then
use
set name=variant.arch value=$(ARCH)
Preserve any of the following actions if present:
set name=org.opensolaris.redist
set name=org.opensolaris.noincorp
For fmris from the osnet-history.p5m file, you should not set
org.opensolaris.redist. For fmris from the
osnet-internal-history.p5m file, you should set
set name=org.opensolaris.redist value=internal
Delete everything else.
If the package is a renamed ancestor, leave a comment behind as
follows:
# Was renamed to <other-pkg-name>, both now obsolete.
Fix description:
===========
I have added new packages to a list of obsoleted packages included in
SVR4 to IPS conversion script.
Previously the list of obsoleted packages was containing 5 packages:
runtime/java/jre-6
developer/java/jdk-6
library/java/java-demo-6
SUNWj6dev
SUNWj6rt
I have added following packages:
renames to library/java/java-demo-6:
library/java/demo
library/java/demo64
renames to developer/java/jdk-6:
developer/java/jdk64
renames to runtime/java/jre-6:
library/java/manual/locale/ja
library/java/manual
runtime/java/runtime64
renames to any packages listed above:
SUNWj6cfg renamed to library/java/host-config
SUNWj6dmo renamed to library/java/demo
SUNWj6dmx renamed to library/java/demo64
SUNWj6dvx renamed to developer/java/jdk64
SUNWj6jmp renamed to library/java/manual/locale/ja
SUNWj6man renamed to library/java/manual
SUNWj6rtx renamed to runtime/java/runtime64
SUNWjhrt renamed to library/java/javahelp
below packages:
developer/java/jdk
library/java/java-demo
runtime/java
are not included on the obsoleted list since
these packages allow customers to install the jdk, jre, or java-demos
and have the system automatically update them to the latest version of Java available as new versions are released.
(see https://bugs.openjdk.java.net/browse/JDK-8023053)
----------------------------------------------------------------------------------
Sample call of SVR4 to IPS conversion script:
make-ips.sh 0 6 -S 5.12.0.0.0.24.0 -v 1.6.0.99 -o 5.12 -O
-O (capital O) means to generate obsolete package.
-o is Solaris version
-v java verion (6u99 - very high 6 update to be obsolete)
First parameter is 0 (zero) means that SVR4 packages will not be needed to convert as we create an obsolete IPS package.
----------------------------------------------------------------------------