Bug #1521
closedobsolete perl-584 dependency declarations break onu
100%
Description
Currently there are six packages that declare dependencies on the perl-584 runtime in their manifests:
bayard@screendoor:/data/projects/illumos/illumos-ref 15:42:56 [4395]$ find usr/src/pkg/manifests | xargs grep -l ^depend fmri=runtime/perl-584 type=require
usr/src/pkg/manifests/service-network-smtp-sendmail.mf
usr/src/pkg/manifests/SUNWcs.mf
usr/src/pkg/manifests/print-lp-print-client-commands.mf
usr/src/pkg/manifests/developer-object-file.mf
usr/src/pkg/manifests/developer-appcert.mf
usr/src/pkg/manifests/system-extended-system-utilities.mf
When discovered dependency resolution is done, pkgdepend resolves them with perl-510:
bayard@screendoor:/data/projects/illumos/illumos-ref 15:54:21 [4435]$ find usr/src/pkg/manifests | xargs grep -l depend fmri=runtime/perl-584 type=require | sed -e 's//\/data\/projects\/illumos\/illumos-gate\//g' -e 's/manifests/packages.i386/g' -e s'/\.mf$/.res/g' | xargs grep 'depend fmri=pkg:/runtime/perl-510@.* type=require'
/data/projects/illumos/illumos-gate/usr/src/pkg/packages.i386/service-network-smtp-sendmail.res:depend fmri=pkg:/runtime/perl-510@5.10.0-0.151 type=require
/data/projects/illumos/illumos-gate/usr/src/pkg/packages.i386/SUNWcs.res:depend fmri=pkg:/runtime/perl-510@5.10.0-0.151 type=require
/data/projects/illumos/illumos-gate/usr/src/pkg/packages.i386/print-lp-print-client-commands.res:depend fmri=pkg:/runtime/perl-510@5.10.0-0.151 type=require
/data/projects/illumos/illumos-gate/usr/src/pkg/packages.i386/developer-object-file.res:depend fmri=pkg:/runtime/perl-510@5.10.0-0.151 type=require
/data/projects/illumos/illumos-gate/usr/src/pkg/packages.i386/developer-appcert.res:depend fmri=pkg:/runtime/perl-510@5.10.0-0.151 type=require
/data/projects/illumos/illumos-gate/usr/src/pkg/packages.i386/system-extended-system-utilities.res:depend fmri=pkg:/runtime/perl-510@5.10.0-0.151 type=require
Moreover, if Illumos no longer delivers 584, these dependencies can only be satisfied by vestigial installation, which shouldn't be assumed. This can break onu or image-update more generally on a system which no longer has runtime/perl-584.
The simple fix is to remove the explicit declarations and leave the rest to discovery.
Updated by Bayard Bell over 10 years ago
- % Done changed from 0 to 90
After feedback from richlowe that the ability of pkgdepend to resolve symlinks in interpreter spec may not extend to all versions, the fix is to replace perl-584 references with perl-510 references.
Updated by Rich Lowe over 10 years ago
- Status changed from New to Resolved
- % Done changed from 90 to 100
Resolved in r13611 commit:4af57d96fcca