All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: Haris Okanovic <haris.okanovic@ni.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] package_manager.py: Add PACKAGE_ENABLE_FILELIST option to OpkgIndexer
Date: Fri, 19 May 2017 19:29:41 +0200	[thread overview]
Message-ID: <20170519172941.GA3094@jama> (raw)
In-Reply-To: <20170519150121.7707-1-haris.okanovic@ni.com>

[-- Attachment #1: Type: text/plain, Size: 2985 bytes --]

On Fri, May 19, 2017 at 10:01:21AM -0500, Haris Okanovic wrote:
> Setting PACKAGE_ENABLE_FILELIST option generates Packages.filelist on
> `bitbake package-index`, which is index of files provided by each
> IPK package in the feed. It's useful for figuring out which package
> provides a particular file/program/library/etc.
> 
> Disabled by default since generating a filelist involves reading the
> payload of every package in the feed, a time and IO intensive operation
> many users won't want to run. Those who do may flip this switch.
> 
> Testing:
>  * Built an opkg index with PACKAGE_ENABLE_FILELIST unset and verified
>    no Packages.filelist are generated.
>  * Built with PACKAGE_ENABLE_FILELIST="1" and verified each subfeed
>    has Packages.filelist; took ~3min longer for 8,200 IPKs.
> 
> Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>

Why not use files-in-package.txt reports in buildhistory?
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5870

That should work for any package backend and better to generate it once
in one place.

> ---
>  meta/lib/oe/package_manager.py | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
> index b4b359a8c6..5e1fc48500 100644
> --- a/meta/lib/oe/package_manager.py
> +++ b/meta/lib/oe/package_manager.py
> @@ -161,6 +161,8 @@ class OpkgIndexer(Indexer):
>          else:
>              signer = None
>  
> +        enable_filelist = bb.utils.to_boolean(self.d.getVar('PACKAGE_ENABLE_FILELIST', True) or "False")
> +
>          if not os.path.exists(os.path.join(self.deploy_dir, "Packages")):
>              open(os.path.join(self.deploy_dir, "Packages"), "w").close()
>  
> @@ -175,14 +177,18 @@ class OpkgIndexer(Indexer):
>                  pkgs_dir = os.path.join(self.deploy_dir, arch)
>                  pkgs_file = os.path.join(pkgs_dir, "Packages")
>  
> +                filelist_cmd = ""
> +                if enable_filelist:
> +                    filelist_cmd = '-l %s.filelist' % (pkgs_file)
> +
>                  if not os.path.isdir(pkgs_dir):
>                      continue
>  
>                  if not os.path.exists(pkgs_file):
>                      open(pkgs_file, "w").close()
>  
> -                index_cmds.add('%s -r %s -p %s -m %s' %
> -                                  (opkg_index_cmd, pkgs_file, pkgs_file, pkgs_dir))
> +                index_cmds.add('%s -r %s -p %s -m %s %s' %
> +                                  (opkg_index_cmd, pkgs_file, pkgs_file, filelist_cmd, pkgs_dir))
>  
>                  index_sign_files.add(pkgs_file)
>  
> -- 
> 2.12.1
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]

  reply	other threads:[~2017-05-19 17:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-19 15:01 [PATCH] package_manager.py: Add PACKAGE_ENABLE_FILELIST option to OpkgIndexer Haris Okanovic
2017-05-19 17:29 ` Martin Jansa [this message]
2017-05-19 21:34   ` Haris Okanovic
2017-08-31 18:46 ` Haris Okanovic
2017-09-01 13:04   ` Alexander Kanavin
2017-09-01 14:47     ` Richard Purdie

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=20170519172941.GA3094@jama \
    --to=martin.jansa@gmail.com \
    --cc=haris.okanovic@ni.com \
    --cc=openembedded-core@lists.openembedded.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.