1) REQUIRED_PACKAGES is a list of packages which are used to resolve dependencies. This doesn't mean that packages, built from such component, depends on all specified REQUIRED_PACKAGES (or only on them). 2) depend actions in manifest (besides depens fmri=__TBD) are not resolved, but used as is. Likely you have to specify exact perl version in versioned manifest (better - via FMRI=__TBD style dependencies).
С уважением, Александр Пыхалов, программист отдела телекоммуникационной инфраструктуры управления информационно-коммуникационной инфраструктуры ЮФУ ________________________________________ От: Tim Mooney <[email protected]> Отправлено: 16 марта 2020 г. 22:03 Кому: [email protected] Тема: Re: [oi-dev] perl module update questions In regard to: Re: [oi-dev] perl module update questions, Alexander Pyhalov...: > Have you run gmake REQUIRED_PACKAGES? For all other types of software builds, I always build that target, but for perl modules I've been trying to avoid REQUIRED_PACKAGES, because it generally adds this to the end of the Makefile: # Auto-generated dependencies REQUIRED_PACKAGES += runtime/perl-522 REQUIRED_PACKAGES += runtime/perl-524 REQUIRED_PACKAGES += runtime/perl-530 I've been trying to avoid having a module built for e.g. perl 5.30 also depend on runtime/perl-524 and runtime/perl-522. That's why I've been manually adding this to the .p5m: # make this module depend upon only the perl version it was built for. depend fmri=runtime/perl-$(PLV) type=require Shouldn't that accomplish the same thing, but more precisely? > On gmake publish only packages in REQUIRED_PACKAGES variable are > examined as dependencies. gmake REQUIRED_PACKAGES tries to populate > this list , running resolve against all currently installed packages. Are you saying that pkgdepend resolve does *not* look at any specific 'depend' lines in the manifest? Tim > ________________________________________ > От: Tim Mooney <[email protected]> > Отправлено: 16 марта 2020 г. 21:17 > Кому: [email protected] > Тема: Re: [oi-dev] perl module update questions > > In regard to: perl module update questions, Tim Mooney said (at 12:38pm on...: > >> All- >> >> I'm working my way through rebuilding hipster's perl modules for perl >> 5.30.1 and I have a couple questions. > > I've run into a couple of perl modules for which the publish targets > "pkgdepend resolve" phase outputs dependency errors like: > > /export/home/mooney/oi-userland/components/perl/DBI/build/manifest-i386-DBI-524.depend > has unresolved dependency ' > depend type=require fmri=__TBD pkg.debug.depend.file=perl \ > pkg.debug.depend.path=usr/perl5/5.24/bin \ > pkg.debug.depend.reason=usr/perl5/5.24/bin/dbiprof \ > pkg.debug.depend.type=script'. > > Or > > /export/home/mooney/oi-userland/components/perl/Module-Build/build/manifest-i386-Module-Build-530.depend > has unresolved dependency ' > depend type=require fmri=__TBD pkg.debug.depend.file=perl \ > pkg.debug.depend.path=usr/perl5/5.30/bin \ > pkg.debug.depend.reason=usr/perl5/5.30/bin/config_data \ > pkg.debug.depend.type=script'. > > > What, specifically, is pkgdepend saying is missing? The path (directory) > usr/perl5/5.30/bin ? Or is it saying that 'perl' is missing in > usr/perl5/5.30/bin ? > > I can make pkgdepend ignore the error by doing: > > <transform file path=usr/perl5/$(PERLVER)/bin -> set > pkg.depend.bypass-generate .* > > > but if there's a way to fix the dependency issue, rather than ignore it, > I would prefer to take that approach. > > At first I thought it was because the perl module was missing a dependency > on the perl runtime that it's built for. However, including > > depend fmri=runtime/perl-$(PLV) type=require > > in the .p5m, although probably a good idea anyway, doesn't resolve the > issue. > > Then I thought it was because perl 5.22 and 5.24 don't actually have > a 'dir' action for their bin directory, so maybe it was pkgdepend > complaining that the runtime/perl-$(PLV) isn't actually claiming > ownership of path=usr/perl/$(PERLVER)/bin . However, adding dir > actions like > > dir path=usr/perl5/5.30 > dir path=usr/perl5/5.30/bin > > for the runtime/perl-530 didn't make any difference for the modules > built against perl 5.30. > > With those two tries not solving the dependency issue, I'm not sure what > the right fix is. Any suggestions? > > Thanks, > > Tim > -- > Tim Mooney [email protected] > Enterprise Computing & Infrastructure / > Division of Information Technology / 701-231-1076 (Voice) > North Dakota State University, Fargo, ND 58105-5164 > > _______________________________________________ > oi-dev mailing list > [email protected] > https://openindiana.org/mailman/listinfo/oi-dev > > _______________________________________________ > oi-dev mailing list > [email protected] > https://openindiana.org/mailman/listinfo/oi-dev > -- Tim Mooney [email protected] Enterprise Computing & Infrastructure / Division of Information Technology / 701-231-1076 (Voice) North Dakota State University, Fargo, ND 58105-5164 _______________________________________________ oi-dev mailing list [email protected] https://openindiana.org/mailman/listinfo/oi-dev
