[Toaster] TRDEPENDS, TRRECOMENDS vs RDEPENDS, RRECOMENDS - understood

Lerner, Dave dave.lerner at windriver.com
Thu Jan 16 09:53:14 PST 2014


Ok, that makes sense. I'll implement those changes.
-dave

> -----Original Message-----
> From: Damian, Alexandru [mailto:alexandru.damian at intel.com]
> Sent: Thursday, January 16, 2014 11:26 AM
> To: Lerner, Dave
> Cc: Barros Pena, Belen; Eggleton, Paul; toaster at yoctoproject.org
> Subject: Re: TRDEPENDS, TRRECOMENDS vs RDEPENDS, RRECOMENDS
> 
> 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


More information about the toaster mailing list