I do what I can

Random thoughts from Mauricio Teixeira…

Checking package dependencies (up and down)

with one comment

Today I was woking on updating one of the packages we maintain on our internal repos, and I was not sure exacly which packages required the one I was rebuilding. I had to check that, otherwise something could break if I did a mistake, and the best thing is to pre-check as much as possible.

So reading them Yum man page, I found the option “deplist”, which shows me all the packages which are required by a given package.

# yum deplist libsndfile
(…)
Finding dependencies:
package: libsndfile.i386 1.0.17-6.fc10
dependency: libm.so.6
provider: glibc.i386 2.9-2
provider: glibc.i686 2.9-2
provider: glibc.i686 2.9-3
provider: glibc.i386 2.9-3
dependency: libogg.so.0
provider: libogg.i386 2:1.1.3-9.fc9
(…)

Ok, that’s one part of the problem. But what would really impact this update would be any broken dependencies up, i.e. who depends on this given package.

The nice guys on #yum@freenode pointed me to pkg-provs-tree-view.py, which does exactly what I need.

# python pkg-provs-tree-view.py libsndfile
libsndfile-1.0.17-6.fc10.i386 [cmd line]
\_  Io-language-graphics-and-sound-20071010-6.fc10.i386 [2: libsndfile.so.1, libsndfile.so.1(libsndfile.so.1.0)]
\_  armstrong-0.2.6-6.fc10.i386 [2: libsndfile.so.1, libsndfile.so.1(libsndfile.so.1.0)]
|   \_  armstrong-devel-0.2.6-6.fc10.i386 [3: armstrong = 0.2.6-6.fc10, liblunarstd.so.0, libzzub.so.0]
|   \_  pyzzub-0.2.6-6.fc10.i386 [1: armstrong = 0.2.6-6.fc10]
|   |   \_  aldrin-0.13-1.fc10.noarch [1: pyzzub = 0.2.6-6.fc10]

And the best part is that it searches for any dependencies installed or not installed. This is way better than “rpm -q –whatrequires”.😀

Written by netmask

junho 19, 2009 às 17:25

Publicado em anything

Tagged with , , ,

Uma resposta

Subscribe to comments with RSS.

  1. Gosto muito do Red Hat/Cent OS, mas acho o yum bem fraquinho. Ele é lento, gordo e com alguns bugs chatos.

    Alguns gerenciadores de pacotes conseguem mostrar esta parte de dependencias (up||down) de forma bem mais simples e sem a necessidade de scripts adicionais.

    Exemplo:

    $ pacman -Qi python

    Name : python
    Version : 2.6.2-2
    URL : http://www.python.org
    (…)
    Depends On : db bzip2 gdbm openssl>=0.9.8d zlib expat sqlite3
    Optional Deps : tk: for IDLE, pynche and modulator
    Required By : aurtools boost compizconfig-python dbus-python eog gnome-doc-utils go-openoffice hplip ipython lirc-utils mutagen namcap-git pacupdate pidgin pycairo pygobject pygtksourceview2 pyorbit pyrex python-dateutil python-feedparser python-geoip python-pybluez python-pysqlite pyxdg setuptools sip ufw
    (…)

    De qualquer forma sua dica foi ótima e até vai me ajudar em algumas situações.🙂

    Hugo Doria

    junho 19, 2009 at 21:16


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: