On 03/20/12 18:51, Niall Power wrote:
On 21/03/2012 12:50, Brock Pytlik wrote:
On 03/20/12 18:45, Niall Power wrote:
Hi Tim & Brock,
On 21/03/2012 12:19, Tim Foster wrote:
On 03/21/12 02:06 PM, Brock Pytlik wrote:
The pkgdepend man page describes what you need to do in detail. At a
high level, you'll tag the action(s) which produce the dependency on
system/library/[email protected],5.11-0.175.1.0.0.11 (in your
case,
at minimum the file action that delivers installadm since it imports
bootmgmt) so you'd do something like
'pkg.depend.bypass-generate=bootmgmt'.
That's the correct thing to do here. Be sure to add a comment
saying why you're bypassing dependency generation on this file, and
add a comment warning developers to check that the manual
dependency always exists, and is kept up to date lest the file
you're actually depending on within that package gets refactored
into another package without the manual dependency being updated.
I'll try that out. So I am guessing that it would look something
like the following?
file \
path=usr/lib/python2.6/vendor-packages/osol_install/auto_install/set_service.py
\
group=sys pkg.depend.bypass-generate=system/library/boot-management
I assume both .py and .pyc files need to be correspondingly tagged
also.
You should only need to tag the .py files, pyc files aren't analyzed.
Remember that the value of bypass-generate is the file name/path, not
the package name.
Ah ok. Thanks for the clarification. So that suggests that all other
automatic package dependency generation will be bypassed also?
Is that correct? Is there no way to restrict it to
system/library/boot-management ?
I don't understand. You restrict it based on files. So, in this case, I
imagine you'd set the value of bypass-generate to be something like
"bootmgmt" on the action delivering installadm. Now, if another action
also delivers a file which causes a dependency on
system/library/boot-management to be inferred, then you'll likely need
to bypass that one as well.
Brock
Thanks,
Niall
Brock
Thanks,
Niall
3: I tried this (by adding the property pkg.linted=true to the
depend
line above. It built and linted correctly however it resulted in 2
dependencies listed against boot-management
system/library/[email protected],5.11-0.175.1.0.0.11.0
system/library/[email protected],5.11-0.175.1.0.0.13
Will this double dependency be a problem?
I am not aware of any problems this causes, but you aren't in a well
tested space at this point I think. Perhaps someone else will feel
confident to state that it is not (or is) a problem.
I'm not sure what happens here either. I would also say that
"pkg.linted=true" is too big a hammer, since that will disable all
linting for that particular action. Better would be:
pkg.linted.pkglint.action005.1=true
which would cause just this lint error to be ignored. Adding the
bypass is almost certainly the right thing to do, rather than using
pkg.linted tags. The syntax for bypass tags is documented in
pkgdepend(1)
cheers,
tim
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss