public inbox for gentoo-soc@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Александр Берсенев" <bay@hackerdom.ru>
To: gentoo-soc@lists.gentoo.org
Subject: Re: [gentoo-soc] Auto dependency builder progress report. Week 7.
Date: Fri, 15 Jul 2011 16:29:06 +0000	[thread overview]
Message-ID: <CAPomEdydkwFvO2E6-hbamMy3AXkstatwQQEZp9V+=_5VagVeNA@mail.gmail.com> (raw)
In-Reply-To: <20110715153136.GB2828@comet.mayo.edu>

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



  reply	other threads:[~2011-07-15 16:29 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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   ` Александр Берсенев [this message]
2011-07-15 18:54     ` Donnie Berkholz
2011-07-15 20:08       ` Jesus Rivero (Neurogeek)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPomEdydkwFvO2E6-hbamMy3AXkstatwQQEZp9V+=_5VagVeNA@mail.gmail.com' \
    --to=bay@hackerdom.ru \
    --cc=gentoo-soc@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox