[Toaster] TRDEPENDS, TRRECOMENDS vs RDEPENDS, RRECOMENDS
Damian, Alexandru
alexandru.damian at intel.com
Thu Jan 16 09:26:27 PST 2014
Speaking about RDEPENDS and TRDEPENDS, RRECOMMENDS and TRRECOMMENDS are
analoguous.
TDEPENDS is not just DEPENDS when installed, although this is the case in
the majority of cases.
What may happen is that DEPENDS points to a virtual package, which can be
solved by any of a set of real packages,
while TDEPENDS will always be solved by a real packages.
Also, TDEPENDS for a single package may change with the target on which is
installed !, so this is why we have the target field for Package dependency
!
So TDEPENDS is not a denormalization of DEPENDS + package installed, it's a
different type of relationship.
Hope this helps,
Alex
On Thu, Jan 16, 2014 at 5:02 PM, Lerner, Dave <dave.lerner at windriver.com>wrote:
> Hi Belen, Alex
>
> 1) I assume the same arguments for RRECOMMENDS and TRRECOMMENDS as for
> RDEPENDS and TRDEPENDS, right?
>
> 2) Do we update the spec in this case?
>
> 3) We're encoding two attributes of a relation into one field:
> dep_type = (dependency type + builtOrInstalled)
> instead of splitting
> dep_type= dependency type
> installed = true|false
> This is an optimization maybe, but not normalized. Is that ok?
>
> -Dave
>
> > -----Original Message-----
> > From: Barros Pena, Belen [mailto:belen.barros.pena at intel.com]
> > Sent: Thursday, January 16, 2014 10:46 AM
> > To: Lerner, Dave; Damian, Alexandru
> > Cc: Eggleton, Paul; toaster at yoctoproject.org
> > Subject: Re: TRDEPENDS, TRRECOMENDS vs RDEPENDS, RRECOMENDS
> >
> >
> >
> > On 16/01/2014 16:34, "Lerner, Dave" <dave.lerner at windriver.com> wrote:
> >
> > >Hi Belen, Alex
> > >
> > >Alex wrote:
> > >> Thus we collect the package information two times: once when the
> > >>package is build, and
> > >> once when the package is installed on the target.
> > >> Note that these two sets may not be identical, as on target install we
> > >>collect data for
> > >> a different set of packages that what was actually built during the
> > >>current run.
> > >
> > >While the sets may not be identical, the dependency relation between
> > >packages should not change based on whether the package was from a
> > >previous build or from sstate.
> >
> > Oh, good, this is back! ;) Paul, Alex and I have had numerous discussions
> > about this issue, and if I remember correctly, our latest conclusion was:
> >
> > If a package is not installed in any target:
> >
> > * package-built-details page shows RDEPENDS
> > * package-installed-details page does not exist for such package
> >
> > If a package is installed in a target:
> >
> > * package-built-details page shows nothing, it is just a link to the
> > package-installed-details page
> > * package-installed-details page shows TRDEPENDS
> >
> > Why? 2 reasons:
> >
> > 1. Because usually RDEPENDS and TRDEPENDS will be the same
> > 2. Because we are working on the assumption that what matters to the vast
> > majority of people is the information about the installed packages (what
> > matters to me is the image that comes out of the build process, and not
> so
> > much the build process itself).
> >
> > I could have understood wrong though, or we might decide that the above
> is
> > no longer good enough.
> >
> > Belén
> >
> >
> > >
> > >So, I would think the list of RDEPENDS to view always shows RDEPENDS and
> > >TRDEPENDS, whether a package was built, or pulled from sstate cache.
> > >
> > >Comments?
> > >Dave
> > >
> > >> -----Original Message-----
> > >> From: Damian, Alexandru [mailto:alexandru.damian at intel.com]
> > >> Sent: Thursday, January 16, 2014 10:04 AM
> > >> To: Lerner, Dave
> > >> Cc: Eggleton, Paul (paul.eggleton at intel.com);
> toaster at yoctoproject.org
> > >> Subject: Re: TRDEPENDS, TRRECOMENDS vs RDEPENDS, RRECOMENDS
> > >>
> > >> Hi,
> > >>
> > >>
> > >> This is an artifact of how data is collected.
> > >>
> > >>
> > >> TRDEPENDS and TRECOMMENDS are just RDEPENDS and RRECOMMENDS collected
> > >>at target creation
> > >> time, instead of package build time.
> > >>
> > >>
> > >> What may happen is that for a target we use packages that were not
> > >>built during the
> > >> current build, but either in a previous build or reused from sstate
> > >>cache.
> > >>
> > >> Thus we collect the package information two times: once when the
> > >>package is build, and
> > >> once when the package is installed on the target.
> > >> Note that these two sets may not be identical, as on target install we
> > >>collect data for
> > >> a different set of packages that what was actually built during the
> > >>current run.
> > >>
> > >>
> > >> I suggest that in "target install packages" page we show the T*
> > >>dependencies, and in the
> > >> "build packages" page we should the non-T dependencies.
> > >>
> > >>
> > >> Hope this helps,
> > >> Alex
> > >>
> > >>
> > >>
> > >>
> > >> On Wed, Jan 15, 2014 at 6:20 PM, Lerner, Dave
> > >><dave.lerner at windriver.com> wrote:
> > >>
> > >>
> > >> Hi Paul, Alex
> > >>
> > >> I have a question on inserts into the package_dependency and
> > >> target_installed_package.
> > >>
> > >> I would expect that for the following builds and sato in
> particular:
> > >> {core-image-minimal, qemux86}
> > >> {core-image-minimal, qemux86}
> > >> {core-image-sato, qemux86}
> > >> {[core-image-minimal,core-image-base], genericx86}
> > >> that there would be a few installed packages with some package
> > >>dependencies like
> > >> (RDEPENDS, RRECOMENDS), but that isn't the case. The only
> dependencies
> > >>for installed
> > >> packages are TRDEPENDS or TRRECOMMENDS.
> > >>
> > >> SELECT PkgS.name, PkgT.name dependsOn, PkgDep.dep_type
> > >> FROM orm_package PkgS,
> > >> orm_package_dependency PkgDep,
> > >> orm_package PkgT,
> > >> orm_target_installed_package Inst
> > >> WHERE
> > >> PkgS.id = PkgDep.package_id
> > >> AND PkgT.id = PkgDep.depends_on_id
> > >> AND Inst.package_id = PkgS.id
> > >> AND Inst.package_id = PkgDep.package_id
> > >> AND Inst.target_id = PkgDep.target_id
> > >> ;
> > >> name|dependsOn|dep_type
> > >> update-rc.d|busybox|6
> > >> sysvinit-inittab|busybox|6
> > >> libc6|busybox|6
> > >> libc6|libc6|6
> > >> packagegroup-core-boot|base-files|6
> > >> packagegroup-core-boot|base-passwd|6
> > >> ...
> > >> (more)
> > >>
> > >> adding a filter to the above to filter out the "T..." types
> > >> AND PkgDep.dep_type < 6
> > >> returns an empty set.
> > >>
> > >> What is the meaning of TRDDEPENDS and TRRECOMMENDs and do the
> results
> > >>seem correct?
> > >>
> > >> Thanks
> > >> Dave
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> --
> > >>
> > >> Alex Damian
> > >> Yocto Project
> > >>
> > >> SSG / OTC
> >
>
>
--
Alex Damian
Yocto Project
SSG / OTC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20140116/c0796821/attachment.html>
More information about the toaster
mailing list