Yocto Project e a ferramenta oe-pkgdata-util

- por Sergio Prado

Categorias: Yocto Project Tags: ,

Uma necessidade comum quando trabalhamos com o Yocto Project é descobrir a relação entre receitas, pacotes e arquivos. Qual receita gerou determinado pacote? Quais são os arquivos instalados por um determinado pacote? De qual pacote é determinado arquivo? A ferramenta oe-pkgdata-util pode responder estas e muitas outras questões.

yocto-project

A ferramenta deve ser executada dentro do ambiente de compilação do Yocto Project e sua interface é bem simples:

$ oe-pkgdata-util -h
usage: oe-pkgdata-util [-h] [-d] [-p PKGDATA_DIR] <subcommand> ...
 
OpenEmbedded pkgdata tool - queries the pkgdata files written out during
do_package
 
options:
  -h, --help            show this help message and exit
  -d, --debug           Enable debug output
  -p PKGDATA_DIR, --pkgdata-dir PKGDATA_DIR
                        Path to pkgdata directory (determined automatically if
                        not specified)
 
subcommands:
  lookup-pkg            Translate between recipe-space package names and
                        runtime package names
  list-pkgs             List packages
  list-pkg-files        List files within a package
  lookup-recipe         Find recipe producing one or more packages
  package-info          Show version, recipe and size information for one or
                        more packages
  find-path             Find package providing a target path
  read-value            Read any pkgdata value for one or more packages
  glob                  Expand package name glob expression
Use oe-pkgdata-util <subcommand> --help to get help on a specific command

O parâmetro lookup-recipe permite identificar qual receita gerou determinado pacote:

$ oe-pkgdata-util lookup-recipe libxml2-python
libxml2

Já o parâmetro list-pkg-files permite listar todos os arquivos gerados por determinado pacote:

$ oe-pkgdata-util list-pkg-files libxml2-python
libxml2-python:
	/usr/lib/python2.7/site-packages/drv_libxml2.py
	/usr/lib/python2.7/site-packages/libxml2.py
	/usr/lib/python2.7/site-packages/libxml2mod.la
	/usr/lib/python2.7/site-packages/libxml2mod.so

E o parâmetro find-path permite identificar o pacote responsável por um determinado arquivo do sistema:

$ oe-pkgdata-util find-path /usr/sbin/sshd
openssh-sshd: /usr/sbin/sshd

O oe-pkgdata-util é realmente uma ferramenta bem interessante para identificar a relação entre receitas, pacotes e arquivos do rootfs no Yocto Project.

Have fun!

Sergio Prado

Sem Comentários

Nenhum comentário até agora... é a sua chance de ser o primeiro a comentar!

Faça um Comentário

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.