# emerge : dependencias

## Lucky_JL

Boas  :Smile: 

Como é k consigo ver k dependencias tem um determinado pacote k ja tenho instalado ?

Por exemplo tenho o octave instalado, e sei k na altura ele pediu para instalar mais uns pactoes ( gnuplot , etc ) e agora keria remover o octave e todos os pacotes k ele instalou e k mais ninguem está a usar ..

 :Smile: 

----------

## codemaker

Podes ver dentro do ebuild. Por exemplo, editando o ficheiro /usr/portage/sci-mathematics/octave/octave-2.1.57-r1.ebuild, vê-se lá o seguinte:

```

DEPEND="virtual/libc

   >=sys-libs/ncurses-5.2-r3

   >=media-gfx/gnuplot-3.7.1-r3

   >=sci-libs/fftw-2.1.3

   >=dev-util/gperf-2.7.2

   zlib? ( sys-libs/zlib )

   hdf5? ( sci-libs/hdf5 )

   tetex? ( virtual/tetex )

   x86? ( ifc? ( dev-lang/ifc ) )

   blas? ( virtual/blas )"

```

ps: penso que também se consegue saber isso com o qpkg

----------

## nafre

sempre que pretendo instalar algum programa executo:

```

emerge --pretend --verbose KDEBASE ou emerge -pv KDEBASE

```

Segue exmpl:

```

bash-2.05b$ emerge -pv octave

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild  N    ] sci-libs/fftw-3.0.1  -3dnow -debug -mpi -sse 1,900 kB

[ebuild  N    ] dev-util/gperf-3.0.1  822 kB

[ebuild  N    ] media-libs/pdflib-5.0.4_p1-r1  -java +perl +python +tcltk 2,759 kB

[ebuild  N    ] media-gfx/gnuplot-4.0-r1  +X -doc -emacs -gd -ggi +pdflib -plotutils +png +readline +svga -xemacs 2,110 kB

[ebuild  N    ] sci-mathematics/octave-2.1.57-r1  -blas -debug -emacs -hdf5 -ifc -mpi +readline -static -tetex +zlib 4,103 kB

Total size of downloads: 11,696 kB

```

----------

## nafre

Para não esquecer segue o link com o capitulo do Gentoo handkbook onde o portage é explicado em PT_BR;

Guia Portage

----------

## codemaker

O pretend não ajuda a determinar as dependências quando o pacote já está instalado.

----------

## nafre

 *codemaker wrote:*   

> O pretend não ajuda a determinar as dependências quando o pacote já está instalado.

 

Correto. 

Lucky_JL, caso queira remover as dependencias de um determinado pacote use a funcao --depclean

porem muito cuidado com ele pois a dependecia podera ser util para outro programa.

----------

## fernandotcl

Voltando ao tópico, existe uma outra maneira de se fazer isso, com uma das ferramentas do gentoolkit, como o codemaker falou. É o etcat, e a sintaxe seria "etcat depends classe/pacote", ou "etcat -d =classe/pacote-versão", por exemplo. O problema é que, pelo menos aqui, isso não está funcionando.

Pra não dizer que é pebkac, testei com os exemplos que o etcat --help oferece, e nenhum deles funcionou. Talvez seja uma particularidade do meu sistema, mas essa função do etcat está quebrada aqui.

----------

## AngusYoung

 *Lucky_JL wrote:*   

> Boas 
> 
> Como é k consigo ver k dependencias tem um determinado pacote k ja tenho instalado ?
> 
> Por exemplo tenho o octave instalado, e sei k na altura ele pediu para instalar mais uns pactoes ( gnuplot , etc ) e agora keria remover o octave e todos os pacotes k ele instalou e k mais ninguem está a usar ..
> ...

 

Por acaso o que você quer é isso aqui :

```
phobos ~ # equery g mozilla-firefox

[ Searching for packages matching mozilla-firefox... ]

* dependency graph for net-www/mozilla-firefox-1.0.1

`-- net-www/mozilla-firefox-1.0.1

 `-- dev-java/blackdown-jre-1.4.2.01 (virtual/jre) [ java ]

  `-- sys-libs/glibc-2.3.4.20040808-r1 (virtual/libc)

   `-- sys-kernel/linux26-headers-2.6.8.1-r2 (virtual/os-headers)

   `-- sys-apps/baselayout-1.9.4-r6

    `-- sys-apps/gawk-3.1.3-r2

    `-- sys-apps/util-linux-2.12i-r1

     `-- sys-libs/ncurses-5.4-r5

     `-- sys-fs/e2fsprogs-1.35-r1

     `-- sys-apps/pam-login-3.14

      `-- sys-libs/pam-0.77-r6

       `-- sys-libs/cracklib-2.7-r10

        `-- sys-apps/miscfiles-1.3-r1

         `-- app-arch/gzip-1.3.5-r5

        `-- sys-apps/portage-2.0.51-r15

         `-- sys-apps/sed-4.0.9

          `-- sys-devel/gettext-0.12.1-r2

         `-- dev-python/python-fchksum-1.7.1

          `-- sys-libs/zlib-1.2.2

         `-- dev-lang/python-2.3.4-r1

          `-- sys-libs/readline-4.3-r5

           `-- app-shells/bash-2.05b-r9

          `-- sys-libs/db-4.1.25_p1-r4

          `-- sys-libs/gdbm-1.8.3-r1

          `-- dev-libs/openssl-0.9.7e

          `-- dev-libs/expat-1.95.8

         `-- sys-apps/debianutils-1.16.7-r4

          `-- app-arch/bzip2-1.0.2-r5

          `-- sys-apps/coreutils-5.2.1-r4

           `-- sys-apps/acl-2.2.13-r1

            `-- sys-apps/attr-2.4.7-r1

            `-- sys-devel/autoconf-2.59-r6

             `-- sys-apps/texinfo-4.8

             `-- sys-devel/autoconf-wrapper-2-r1

              `-- sys-devel/autoconf-2.13

               `-- sys-devel/m4-1.4.1

               `-- dev-lang/perl-5.8.5-r4

                `-- sys-devel/libperl-5.8.5

      `-- sys-apps/shadow-4.0.5-r3

     `-- app-crypt/hashalot-0.3

  `-- dev-java/java-config-1.2.11

  `-- sys-devel/gcc-3.4.2

   `-- sys-devel/gcc-config-1.3.8-r4

 `-- media-libs/libmng-1.0.4

  `-- media-libs/jpeg-6b-r4

  `-- media-libs/lcms-1.13

 `-- x11-base/xorg-x11-6.8.2

  `-- sys-devel/flex-2.5.4a-r5

  `-- media-libs/freetype-2.1.9-r1

  `-- media-libs/fontconfig-2.2.3

  `-- x11-base/opengl-update-2.1.1-r1

  `-- x11-misc/ttmkfdir-3.0.9-r2

  `-- media-libs/libpng-1.2.8

 `-- app-arch/zip-2.3-r4

  `-- app-arch/unzip-5.50-r2

 `-- net-www/mozilla-launcher-1.23

 `-- x11-libs/gtk+-2.6.2

  `-- dev-libs/glib-2.6.2-r1

  `-- dev-libs/atk-1.8.0

  `-- x11-libs/pango-1.8.0

  `-- x11-misc/shared-mime-info-0.14-r1

   `-- dev-libs/libxml2-2.6.16

    `-- sys-devel/binutils-2.15.92.0.2-r1

  `-- media-libs/tiff-3.7.1-r1

 `-- dev-libs/libIDL-0.8.4

 `-- gnome-base/gnome-vfs-2.8.3-r1

  `-- gnome-base/gconf-2.8.1-r1

   `-- gnome-base/orbit-2.12.0

    `-- dev-libs/popt-1.7-r1

    `-- dev-util/indent-2.2.9-r2

  `-- gnome-base/libbonobo-2.8.0

  `-- app-admin/fam-2.7.0-r2 (virtual/fam)

   `-- net-nds/portmap-5b-r9

  `-- gnome-base/gnome-mime-data-2.4.2

  `-- net-fs/samba-3.0.10

   `-- dev-perl/perl-ldap-0.31

    `-- dev-perl/Convert-ASN1-0.17

    `-- dev-perl/URI-1.35

     `-- dev-perl/MIME-Base64-3.05

    `-- dev-perl/XML-Parser-2.34

    `-- dev-perl/IO-Socket-SSL-0.96

     `-- dev-perl/Net-SSLeay-1.23

   `-- net-print/cups-1.1.23-r1

   `-- net-nds/openldap-2.1.30-r2

    `-- sys-apps/tcp-wrappers-7.6-r8

   `-- dev-perl/Crypt-SmbHash-0.02

    `-- dev-perl/Digest-MD4-1.3

[ net-www/mozilla-firefox-1.0.1 stats: packages (87), max depth (16) ]
```

??? Se sim, você pode ver isso usando o equery (vem no gentoolkit).

----------

## codemaker

Isso é excelente!!!  :Shocked: 

Boa dica!  :Wink: 

----------

## nafre

Esta dica vlw.

Mostra a arvore de dependencias. Ou coisa, gostaria de saber o que vem no gentookit?

----------

## AngusYoung

 *nafre wrote:*   

> Esta dica vlw.
> 
> Mostra a arvore de dependencias. Ou coisa, gostaria de saber o que vem no gentookit?

 

Vem uma série de programinhas indispensáveis: equery, etcat, revdep-rebuild, etc. Alguns deles estão "deprecated" e vão ser removidos (etcat, se não me engano).

----------

## nafre

 *AngusYoung wrote:*   

> 
> 
> Vem uma série de programinhas indispensáveis: equery, etcat, revdep-rebuild, etc. Alguns deles estão "deprecated" e vão ser removidos (etcat, se não me engano).

 

Vlw! Tive lendo o developer guide e percebi que o gentookit possue funcionalidades bastantes interessantes!

Vou compilar ele aqui na box.

----------

