* [gentoo-soc] Auto dependency builder progress report. Week 7. @ 2011-07-14 6:22 Александр Берсенев 2011-07-15 15:31 ` Donnie Berkholz 0 siblings, 1 reply; 5+ messages in thread From: Александр Берсенев @ 2011-07-14 6:22 UTC (permalink / raw To: gentoo-soc What has been done this week: - exec* call handling: execl, execlp, execle, execv, execvp, execvpe, execve, system - tests for all exec* calls - fixed a bug with setenv and multithreading. I developed own setenv function to fix it - handling mmap call - a function get_deps(pkg) has been developed. It returns a list of installed dependencies for package, installed dependencies of dependencies, etc. - changes in file structure of my project What I plan to do next: - filter packages which are part of system profile in output - filter packages which having files accessed only, but not readed or writed or executed. - highlight packages, used during package building but not listed in dependency lists of any level - think about python versions in dependencies. - produce a log file with all events and data about environment to send it on central storage. Best, Alexander Bersenev ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-soc] Auto dependency builder progress report. Week 7. 2011-07-14 6:22 [gentoo-soc] Auto dependency builder progress report. Week 7 Александр Берсенев @ 2011-07-15 15:31 ` Donnie Berkholz 2011-07-15 16:29 ` Александр Берсенев 0 siblings, 1 reply; 5+ messages in thread From: Donnie Berkholz @ 2011-07-15 15:31 UTC (permalink / raw To: gentoo-soc [-- Attachment #1: Type: text/plain, Size: 981 bytes --] On 06:22 Thu 14 Jul , Александр Берсенев wrote: > - filter packages which are part of system profile in output Can you make this optional? If I'm working on a system-level package, I might want to keep track of some of its system dependencies. > - filter packages which having files accessed only, but not readed or > writed or executed. Why does this happen, anyway? > - highlight packages, used during package building but not listed in > dependency lists of any level For DEPEND rather than RDEPEND ones, we'll want to make sure they're definitely listed in dependencies of the ebuild being used, rather than any level. > - think about python versions in dependencies. > - produce a log file with all events and data about environment to > send it on central storage. > > Best, > Alexander Bersenev > -- Thanks, Donnie Donnie Berkholz Admin, Summer of Code Gentoo Linux and X.Org Blog: http://dberkholz.com [-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-soc] Auto dependency builder progress report. Week 7. 2011-07-15 15:31 ` Donnie Berkholz @ 2011-07-15 16:29 ` Александр Берсенев 2011-07-15 18:54 ` Donnie Berkholz 0 siblings, 1 reply; 5+ messages in thread From: Александр Берсенев @ 2011-07-15 16:29 UTC (permalink / raw To: gentoo-soc 2011/7/15 Donnie Berkholz <dberkholz@gentoo.org>: > On 06:22 Thu 14 Jul , Александр Берсенев wrote: >> - filter packages which are part of system profile in output > > Can you make this optional? If I'm working on a system-level package, I > might want to keep track of some of its system dependencies. Yes, this is already optional. I am trying to shrink an output, but there is --verbose key to show all packages, including "unknown" package and unknown stages and also there is --files key to show not only packages and stages, but also files accessed(including not founded and blocked). I think in most cases filtering system packages from output is useful because this packages almost never listed in dependencies and user has them installed in general case. >> - filter packages which having files accessed only, but not readed or >> writed or executed. > > Why does this happen, anyway? > This is very rare case, for example when program scans a directory. I've seen this for one or two times only. I am trying to get rid from non-dependency packages in output. Here is few examples. All non-system packages when "emerge lsof": dev-lang/python-3.1.3-r1 <many files here> dev-libs/openssl-1.0.0d : ['unpack', 'compile', 'test', 'install'] /etc/sandbox.d/10openssl readed media-libs/fontconfig-2.8.0-r1 : ['unpack', 'compile', 'test', 'install'] /etc/sandbox.d/37fontconfig readed net-zope/zope-fixers-1.0 : ['setup', 'unpack', 'compile', 'test', 'install', 'preinst', 'postinst', 'prerm', 'postrm'] /usr/lib64/python3.1/site-packages/zope.fixers-1.0-py3.1-nspkg.pth readed net-zope/zope-interface-3.6.2 : ['setup', 'unpack', 'compile', 'test', 'install', 'preinst', 'postinst', 'prerm', 'postrm'] /usr/lib64/python3.1/site-packages/zope.interface-3.6.2-py3.1-nspkg.pth readed sys-apps/sandbox-2.5 : ['unpack', 'compile', 'test', 'install'] /etc/sandbox.d/00default readed /etc/sandbox.conf readed /usr/share/sandbox/sandbox.bashrc readed Openssl and fontconfig is here because /etc/sandbox.d/* is readed. I think about filtering this directory from logging. Python is here because it is not a part of system set. I don't know about zope-* packages and why they have files readed. While I do emerge bash I got more packages: sys-devel/crossdev-20110310 : ['compile'] /usr/share/config.site readed /usr/share/crossdev/include/site/linux readed sys-devel/gettext-0.18.1.1-r2 : ['compile'] /usr/bin/msgmerge readed /usr/bin/xgettext readed /usr/bin/msgfmt readed /usr/bin/gmsgfmt readed Gettext is a dependency of bash, but crossdev is unknown package. >> - highlight packages, used during package building but not listed in >> dependency lists of any level > > For DEPEND rather than RDEPEND ones, we'll want to make sure they're > definitely listed in dependencies of the ebuild being used, rather than > any level. The main drawback of hooklib approach is an inability to track what files have been loaded while exec call(runtime libraries). Most RDEPENDS are naturally filtered here. Fusefs approach logs all file system events. This is a difficult problem to distinguish RDEPENDS from DEPENDS. If I look on files accessed I can say if the dependency is runtime, but I haven't general strategy. I should watch more building logs of various packages to find a way. Best, Alexander Bersenev ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-soc] Auto dependency builder progress report. Week 7. 2011-07-15 16:29 ` Александр Берсенев @ 2011-07-15 18:54 ` Donnie Berkholz 2011-07-15 20:08 ` Jesus Rivero (Neurogeek) 0 siblings, 1 reply; 5+ messages in thread From: Donnie Berkholz @ 2011-07-15 18:54 UTC (permalink / raw To: gentoo-soc [-- Attachment #1: Type: text/plain, Size: 1105 bytes --] On 16:29 Fri 15 Jul , Александр Берсенев wrote: > 2011/7/15 Donnie Berkholz <dberkholz@gentoo.org>: > > For DEPEND rather than RDEPEND ones, we'll want to make sure they're > > definitely listed in dependencies of the ebuild being used, rather > > than any level. > > The main drawback of hooklib approach is an inability to track what > files have been loaded while exec call(runtime libraries). Most > RDEPENDS are naturally filtered here. Fusefs approach logs all file > system events. > > This is a difficult problem to distinguish RDEPENDS from DEPENDS. If I > look on files accessed I can say if the dependency is runtime, but I > haven't general strategy. I should watch more building logs of various > packages to find a way. You might be able to use src_test for this. If a package is accessed in src_test as well as src_configure/src_compile, it's RDEPEND. Clearly this won't work when src_test isn't defined, but it's a start. -- Thanks, Donnie Donnie Berkholz Admin, Summer of Code Gentoo Linux and X.Org Blog: http://dberkholz.com [-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-soc] Auto dependency builder progress report. Week 7. 2011-07-15 18:54 ` Donnie Berkholz @ 2011-07-15 20:08 ` Jesus Rivero (Neurogeek) 0 siblings, 0 replies; 5+ messages in thread From: Jesus Rivero (Neurogeek) @ 2011-07-15 20:08 UTC (permalink / raw To: gentoo-soc On Fri, Jul 15, 2011 at 2:54 PM, Donnie Berkholz <dberkholz@gentoo.org> wrote: > On 16:29 Fri 15 Jul , Александр Берсенев wrote: >> 2011/7/15 Donnie Berkholz <dberkholz@gentoo.org>: >> > For DEPEND rather than RDEPEND ones, we'll want to make sure they're >> > definitely listed in dependencies of the ebuild being used, rather >> > than any level. >> >> The main drawback of hooklib approach is an inability to track what >> files have been loaded while exec call(runtime libraries). Most >> RDEPENDS are naturally filtered here. Fusefs approach logs all file >> system events. >> >> This is a difficult problem to distinguish RDEPENDS from DEPENDS. If I >> look on files accessed I can say if the dependency is runtime, but I >> haven't general strategy. I should watch more building logs of various >> packages to find a way. > > You might be able to use src_test for this. If a package is accessed in > src_test as well as src_configure/src_compile, it's RDEPEND. Clearly > this won't work when src_test isn't defined, but it's a start. > RDEPEND will be tricky to get right, but I like this approach, could work for those packages with tests. We are going to discuss an approach for this and for the filtering of @system, as we need to find a way to get rid of second-hand deps. > -- > Thanks, > Donnie > > Donnie Berkholz > Admin, Summer of Code > Gentoo Linux and X.Org > Blog: http://dberkholz.com > > -- Jesus Rivero (Neurogeek) Gentoo Developer ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-07-15 20:08 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-07-14 6:22 [gentoo-soc] Auto dependency builder progress report. Week 7 Александр Берсенев 2011-07-15 15:31 ` Donnie Berkholz 2011-07-15 16:29 ` Александр Берсенев 2011-07-15 18:54 ` Donnie Berkholz 2011-07-15 20:08 ` Jesus Rivero (Neurogeek)
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox