[oi-dev] perl module update questions
Tim Mooney
Tim.Mooney at ndsu.edu
Tue Mar 10 21:35:47 UTC 2020
In regard to: Re: [oi-dev] perl module update questions, Alexander Pyhalov...:
>>> 1) I've found one or two cases like
>
> >> oi-userland/components/perl/xml-simple/xml-simple-PERLVER.p5m
>
>>> where the .p5m file contains an explicit dependency upon the
>>> non-perl-specific metapackage:
>
>>> depend fmri=library/perl-5/xml-parser type=require
>
>>> Should all of the perl-version-specific packages have this dependency
>>> relation?
>
> Yes, all version-specific packages should depend on non-version-specific package, and that one should provide (and automatically provides) conditional dependency on version-specific package, I mean:
>
> depend fmri=library/perl-5/xml-parser-522 at 2.44,5.11-2018.0.0.0 predicate=runtime/perl-522 type=conditional
> depend fmri=library/perl-5/xml-parser-524 at 2.44,5.11-2018.0.0.0 predicate=runtime/perl-524 type=conditional
Thanks Alexander! That helps a lot.
I will make a point of adding the non-perl-specific dependency to any
perl module packages that are missing it, as I update them.
>>> 2) If I publish e.g. xml-parser, with my runtime/perl-530 installed,
>>> there are 4 xml-parser packages generated:
>
>>> library/perl-5/xml-parser 2.44-2020.0.0.1
>
>>> What's the correct terminology for the first package
>>> (library/perl-5/xml-parser)? Is it a mediator?
>
> No, mediator is a special image attribute which manages default program implementation.
> Don't know a correct terminology for this common package.
Ok, understood. I just wanted to try use the correct terminology (if
there was one).
>>> 3) many of the perl modules currently have a 'history' file. This seems
>>> to trigger some additional behavior from the publish target, apparently
>>> via make-rules/history.mk. In these cases, publish is generating an
>>> additional versioned package and adding it to my repo. The package
>>> doesn't have any file contents, though, and it's flagged as "obsolete".
>>> What's the purpose of all of that?
>
> It generates packages whith pkg.obsolete or pkg.renamed attribute, which
> makes pkg remove this package on update or replace it with another
> package. This is a mechanism of removing old packages.
Ah, that makes sense.
I think that means that I don't need to do anything with any of the
history files *yet*, but if the runtime/perl-530 and the updated modules
pass testing and eventually become the new default, then eventually
we'll want to add the -522 and -524 module packages to the history file,
so that they too become obsolete and are replaced by the -530 module
packages.
Thanks!
Tim
--
Tim Mooney Tim.Mooney at ndsu.edu
Enterprise Computing & Infrastructure /
Division of Information Technology / 701-231-1076 (Voice)
North Dakota State University, Fargo, ND 58105-5164
More information about the oi-dev
mailing list