Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Henrique Marks <henrique.marks@datacom.ind.br>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] support/scripts/check-uniq-files: ignore reinstalled packages
Date: Thu, 26 Apr 2018 15:22:35 -0300 (BRT)	[thread overview]
Message-ID: <1437404419.346987.1524766955385.JavaMail.zimbra@datacom.ind.br> (raw)
In-Reply-To: <20180426162731.4710-1-john@metanate.com>

Hello All,

----- Mensagem original -----
> De: "John Keeping" <john@metanate.com>
> Para: buildroot at buildroot.org
> Cc: "John Keeping" <john@metanate.com>
> Enviadas: Quinta-feira, 26 de abril de 2018 13:27:31
> Assunto: [Buildroot] [PATCH] support/scripts/check-uniq-files: ignore reinstalled packages

> If a package is rebuilt, then any files it installs will be listed
> multiple times in the file list and check-uniq-files will report that
> these files are touched by more than one package even though it is the
> same package listed multiple times.
> 
> Switch to storing the package names in a set so that each package can
> only appear once.
> 
> Signed-off-by: John Keeping <john@metanate.com>
> ---
> support/scripts/check-uniq-files | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/support/scripts/check-uniq-files b/support/scripts/check-uniq-files
> index fbc6b5d6e7..eb92724e42 100755
> --- a/support/scripts/check-uniq-files
> +++ b/support/scripts/check-uniq-files
> @@ -24,11 +24,11 @@ def main():
>         sys.stderr.write('No type was provided\n')
>         return False
> 
> -    file_to_pkg = defaultdict(list)
> +    file_to_pkg = defaultdict(set)
>     with open(args.packages_file_list[0], 'rb') as pkg_file_list:
>         for line in pkg_file_list.readlines():
>             pkg, _, file = line.rstrip(b'\n').partition(b',')
> -            file_to_pkg[file].append(pkg)
> +            file_to_pkg[file].add(pkg)
> 
>     for file in file_to_pkg:
>         if len(file_to_pkg[file]) > 1:
> --
> 2.17.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

I can confirm we have problems rebuilding packages using buildroot 2018-02.1. The 3 files "package-file-list" are increasing in size when we rebuild packages (make <pkg>-rebuild or make <pkg>-reinstall), and the compilation time is increasing linearly with every rebuild, but the increase is noticeable.

One build that takes one hour is increasing 40 minutes every time we rebuild the entire platform (make <pkg>-rebuild for all packages). And we can see the problem is directly associated with the instrumentation hooks, mainly the "check-bin-arch" parsing the ever increasing "package-file-list".

Thanks

-- 
Dr. Henrique Marks
henrique.marks at datacom.ind.br
R. Am?rica, 1000 - Eldorado do Sul - RS
CEP: 92990-000 - Brasil
Fone: +55 51 3933 3000 - Ramal 3466

  reply	other threads:[~2018-04-26 18:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-26 16:27 [Buildroot] [PATCH] support/scripts/check-uniq-files: ignore reinstalled packages John Keeping
2018-04-26 18:22 ` Henrique Marks [this message]
2018-04-27 10:31   ` John Keeping
2018-04-28 21:29     ` Yann E. MORIN
2018-05-03 16:27       ` Angelo Compagnucci
2018-05-03 16:36         ` John Keeping

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=1437404419.346987.1524766955385.JavaMail.zimbra@datacom.ind.br \
    --to=henrique.marks@datacom.ind.br \
    --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