Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [RFCv1 0/4] Generating a graph of the size installed by each package
Date: Sun, 8 Jun 2014 09:42:32 +0200	[thread overview]
Message-ID: <20140608094232.741b6417@free-electrons.com> (raw)
In-Reply-To: <53938A1E.4060802@carallon.com>

Dear Will Wagner,

On Sat, 07 Jun 2014 22:54:38 +0100, Will Wagner wrote:

> > The implementation consists in adding a global instrumentation hook
> > that registers which files are installed by each package. A limitation
> > of the current implementation is that when a file is installed by a
> > package A and then overriden by package B, the mechanism will assume
> > the file was installed by package A. Suggestions to welcome on how to
> > solve this in a reasonably simple way.
> 
> Can you not record the timestamp the first time you see the file and see 
> if it has changed at the end. I appreciate a bash script to do this is 
> going to be pretty hard.

Depends on what you call "at the end". The problem is that between the
end of the install-target step of a given package, and the end of the
entire build of the system, most of the files in $(TARGET_DIR) are
modified due to stripping. Therefore, their timestamp changes.

The only thing I could think of would be based on SHA1: in the global
instrumentation hook, instead of just doing a "find" on all files in
$(TARGET_DIR) and then diff the result before/after the installation,
we include the SHA1. Therefore, the diff would indicate when a file has
changed, so we would be able to detect that. However, this would mean
that a file will be mentioned in two .filelist files, and since the
Python script has no idea in which order the packages were built, it
does not know which of the two packages won for the installation of the
given file. Could be based on the timestamp of the .filelist file,
though. Starts to be a bit tricky, as you can see :)

Thanks for your feedback!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  reply	other threads:[~2014-06-08  7:42 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-07 21:46 [Buildroot] [RFCv1 0/4] Generating a graph of the size installed by each package Thomas Petazzoni
2014-06-07 21:46 ` [Buildroot] [RFCv1 1/4] toolchain-external: split target installation from staging installation Thomas Petazzoni
2014-06-09 21:49   ` Yann E. MORIN
2014-06-10  8:04     ` Thomas Petazzoni
2014-06-10 16:49       ` Yann E. MORIN
2014-06-07 21:46 ` [Buildroot] [RFCv1 2/4] pkg-generic: add step_pkg_size global instrumentation hook Thomas Petazzoni
2014-06-08  2:56   ` Baruch Siach
2014-06-08  8:19     ` Thomas Petazzoni
2014-06-09 22:02   ` Yann E. MORIN
2014-06-10 16:42     ` Jérôme Pouiller
     [not found]     ` <3156840.4l9buZIenR@sagittea>
2014-06-10 16:58       ` Yann E. MORIN
2014-06-10 17:37         ` Jérôme Pouiller
2014-06-24 16:36   ` Arnout Vandecappelle
2014-06-24 16:41     ` Thomas Petazzoni
2014-06-24 16:53     ` Yann E. MORIN
2014-06-07 21:46 ` [Buildroot] [RFCv1 3/4] support/scripts: add graph-size script Thomas Petazzoni
2014-06-09 22:06   ` Yann E. MORIN
2014-06-07 21:46 ` [Buildroot] [RFCv1 4/4] Makefile: implement a graph-size target Thomas Petazzoni
2014-06-09 22:28   ` Yann E. MORIN
2014-06-07 21:54 ` [Buildroot] [RFCv1 0/4] Generating a graph of the size installed by each package Will Wagner
2014-06-08  7:42   ` Thomas Petazzoni [this message]
2014-06-24 13:05 ` Luca Ceresoli
2014-06-24 16:26   ` Yann E. MORIN
2014-06-24 16:31   ` Arnout Vandecappelle
2014-06-24 16:42     ` Thomas Petazzoni
2014-06-24 19:54     ` Luca Ceresoli
2014-06-24 20:11       ` Thomas Petazzoni

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=20140608094232.741b6417@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /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