Recently when packaging, I find that if dependency_generator makes a dependency with the type require-any, it will result in things like
depend fmri=depend fmri=pkg:/runtime/python-26@2.6.8-some-version fmri=pkg:/runtime/python-27@2.7.9-some-version type=require-any type=require
thus it will make the build failed.
So here I have a workaround to check the dependency type. The patch file is attached.
Dependency could be also conditional
Before to modify pkgbuild.pl manifest file has following two lines:
depend fmri=depend fmri=pkg:/library/security/openssl/openssl-fips-140@2.0.6-0.175.3.0.0.30.0 fmri=pkg:/library/security/openssl@1.0.1.16-0.175.3.0.0.30.0 type=require-any type=require
depend fmri=depend fmri=pkg:/library/security/openssl@1.0.1.16-0.175.3.0.0.30.0 predicate=pkg:/library/security/openssl/openssl-fips-140@2.0.6-0.175.3.0.0.30.0 type=conditional type=require
I have to mofify patch to exclude conditional, i.e. to replace
...!~ /depend.require-any/)... by ..!~ /depend.(require-any|conditional)/)...
After modification lines look like:
depend fmri=pkg:/library/security/openssl@1.0.1.16-0.175.3.0.0.30.0 predicate=pkg:/library/security/openssl/openssl-fips-140@2.0.6-0.175.3.0.0.30.0 type=conditional
depend fmri=pkg:/library/security/openssl/openssl-fips-140@2.0.6-0.175.3.0.0.30.0 fmri=pkg:/library/security/openssl@1.0.1.16-0.175.3.0.0.30.0 type=require-any
and pkgsend succeed to publish.
Tested on solaris 11.3 amd64