Hey Gary

There is two ways for a IPS package to have dependencies.
One manual in the .p5m file in the folder. Simply define a dependency action to the FMRI and set the conditional level.

Two automatically. The .p5m file in the folder is taken as input to the Packaging process, so everything you put there is run through pkgmogrify and pkgdepend utilities. These modify the file with transforms and automatically detected dependencies in turn. Have a look at the pkgdepend man page for details how that utility works. So anyhting pkgdepend does not detect has to be added to the .p5m file to assist the process. Another thing you can do is to add the package FMRI's to the REQUIRED_PACKAGES variable in the Makefile which will install the packages in the system during packaging. This can help the pkgdepend utility to detect dependencies if they are conditional.

Also note that there have been problems in the past for pkgdepend to detect conditional imports in python. So Adding them manually to the .p5m file may be required.

Greetings
Till

On 18.07.21 13:01, Gary Mills wrote:
On Sun, Jul 18, 2021 at 03:08:38PM +0100, Peter Tribble wrote:

    I've also noticed the setup.py builds quite happily whether
    dependencies
    are present or not.
    All I do is look at the requires.txt file. Usually present in the
    .egg-info
    directory, which may be present in the source or in the build tree.
    (Some modules are smart enough to handle the fact that dependencies
    vary between python versions, too.)

Thanks for the information; it was quite helpful.  I found the file
that you mentioned.  It lists the two modules that I've already
discovered, and two others conditionally.

Do I need to create the IPS dependancies myself, or does this happen
automatically?



_______________________________________________
oi-dev mailing list
oi-dev@openindiana.org
https://openindiana.org/mailman/listinfo/oi-dev

Reply via email to