public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] package dependencies
@ 2006-02-16 18:59 Nick Smith
  2006-02-16 19:13 ` Ghaith Hachem
  2006-02-16 19:13 ` gentuxx
  0 siblings, 2 replies; 10+ messages in thread
From: Nick Smith @ 2006-02-16 18:59 UTC (permalink / raw
  To: gentoo-user

is there a way to tell what packages are required by what?  for
instance i have a package that is blocking another package when i do
an emerge, is there a way to tell if the package that is blocking the
other is actually needed by any other package on the system before i
unmerge it?

thanks

Nick

-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-user] package dependencies
  2006-02-16 18:59 [gentoo-user] package dependencies Nick Smith
@ 2006-02-16 19:13 ` Ghaith Hachem
  2006-02-16 19:33   ` Nick Smith
  2006-02-16 19:13 ` gentuxx
  1 sibling, 1 reply; 10+ messages in thread
From: Ghaith Hachem @ 2006-02-16 19:13 UTC (permalink / raw
  To: gentoo-user

usualy portatge tells you what is blocking what
anyway try emerge -av it will give you an idea of what you need

On 2/16/06, Nick Smith <nick.smith79@gmail.com> wrote:
> is there a way to tell what packages are required by what?  for
> instance i have a package that is blocking another package when i do
> an emerge, is there a way to tell if the package that is blocking the
> other is actually needed by any other package on the system before i
> unmerge it?
>
> thanks
>
> Nick
>
> --
> gentoo-user@gentoo.org mailing list
>
>


--
Cheers,
Ghaith

-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-user] package dependencies
  2006-02-16 18:59 [gentoo-user] package dependencies Nick Smith
  2006-02-16 19:13 ` Ghaith Hachem
@ 2006-02-16 19:13 ` gentuxx
  1 sibling, 0 replies; 10+ messages in thread
From: gentuxx @ 2006-02-16 19:13 UTC (permalink / raw
  To: gentoo-user

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Nick Smith wrote:

>is there a way to tell what packages are required by what? for
>instance i have a package that is blocking another package when i do
>an emerge, is there a way to tell if the package that is blocking the
>other is actually needed by any other package on the system before i
>unmerge it?
>
>thanks
>
>Nick
>
equery depends <pkg>

- --
gentux
echo "hfouvyAdpy/ofu" | perl -pe 's/(.)/chr(ord($1)-1)/ge'

gentux's gpg fingerprint ==> 34CE 2E97 40C7 EF6E EC40  9795 2D81 924A
6996 0993
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (GNU/Linux)

iD8DBQFD9M7bLYGSSmmWCZMRArUaAKDD65Op6n0sQ9xj7WjkQ+YjowD5/wCfUYQN
pb9fKUA/CGIB3plI/XSYNVM=
=wErz
-----END PGP SIGNATURE-----

-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-user] package dependencies
  2006-02-16 19:13 ` Ghaith Hachem
@ 2006-02-16 19:33   ` Nick Smith
  2006-02-16 19:40     ` Daniel da Veiga
  0 siblings, 1 reply; 10+ messages in thread
From: Nick Smith @ 2006-02-16 19:33 UTC (permalink / raw
  To: gentoo-user

On 2/16/06, Ghaith Hachem <blacksadness@gmail.com> wrote:
> usualy portatge tells you what is blocking what
> anyway try emerge -av it will give you an idea of what you need
>
right, but i want to know that the package im going to remove because
its blocking something else isnt needed by another package on my
system that has nothing to do with the package im trying to emerge.
can that be done?  am i making any sense?

-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-user] package dependencies
  2006-02-16 19:33   ` Nick Smith
@ 2006-02-16 19:40     ` Daniel da Veiga
  0 siblings, 0 replies; 10+ messages in thread
From: Daniel da Veiga @ 2006-02-16 19:40 UTC (permalink / raw
  To: gentoo-user

On 2/16/06, Nick Smith <nick.smith79@gmail.com> wrote:
> On 2/16/06, Ghaith Hachem <blacksadness@gmail.com> wrote:
> > usualy portatge tells you what is blocking what
> > anyway try emerge -av it will give you an idea of what you need
> >
> right, but i want to know that the package im going to remove because
> its blocking something else isnt needed by another package on my
> system that has nothing to do with the package im trying to emerge.
> can that be done?  am i making any sense?
>
> --
> gentoo-user@gentoo.org mailing list
>
>

You can use the --tree option and check if that package is a dependency...

--
Daniel da Veiga
Computer Operator - RS - Brazil
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V-
PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++
------END GEEK CODE BLOCK------

-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-user] Package dependencies
@ 2006-10-11  4:13 Anthony E. Caudel
  2006-10-11  5:01 ` Bo Ørsted Andresen
  0 siblings, 1 reply; 10+ messages in thread
From: Anthony E. Caudel @ 2006-10-11  4:13 UTC (permalink / raw
  To: Gentoo Mailing List

I have seen it mentioned here several times that "equery depends ..." is
broken.  Is there a good way to determine package dependency?

Tony
-- 
Those who would give up essential Liberty, to purchase a little temporary
Safety, deserve neither Liberty nor Safety.
   -- Benjamin Franklin
-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-user] Package dependencies
  2006-10-11  4:13 [gentoo-user] Package dependencies Anthony E. Caudel
@ 2006-10-11  5:01 ` Bo Ørsted Andresen
  2006-10-11  6:26   ` Anthony E. Caudel
  0 siblings, 1 reply; 10+ messages in thread
From: Bo Ørsted Andresen @ 2006-10-11  5:01 UTC (permalink / raw
  To: gentoo-user

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

On Wednesday 11 October 2006 06:13, Anthony E. Caudel wrote:
> I have seen it mentioned here several times that "equery depends ..." is
> broken.  Is there a good way to determine package dependency?

This shows all dependencies required for $pkg:

# emerge -pve $pkg

For an alternative you may have a look at app-portage/udept.

-- 
Bo Andresen

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-user] Package dependencies
  2006-10-11  5:01 ` Bo Ørsted Andresen
@ 2006-10-11  6:26   ` Anthony E. Caudel
  2006-10-11  6:47     ` Bo Ørsted Andresen
  0 siblings, 1 reply; 10+ messages in thread
From: Anthony E. Caudel @ 2006-10-11  6:26 UTC (permalink / raw
  To: gentoo-user

Bo Ørsted Andresen wrote:
> On Wednesday 11 October 2006 06:13, Anthony E. Caudel wrote:
>> I have seen it mentioned here several times that "equery depends ..." is
>> broken.  Is there a good way to determine package dependency?
> 
> This shows all dependencies required for $pkg:
> 
> # emerge -pve $pkg
> 
> For an alternative you may have a look at app-portage/udept.
> 

Maybe I meant reverse dependency. Not sure.  I want to know what depends
on a particular package so that I can decide whether I can delete it or not.

Tony

-- 
Those who would give up essential Liberty, to purchase a little temporary
Safety, deserve neither Liberty nor Safety.
   -- Benjamin Franklin
-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-user] Package dependencies
  2006-10-11  6:26   ` Anthony E. Caudel
@ 2006-10-11  6:47     ` Bo Ørsted Andresen
  2006-10-11 10:09       ` Bo Ørsted Andresen
  0 siblings, 1 reply; 10+ messages in thread
From: Bo Ørsted Andresen @ 2006-10-11  6:47 UTC (permalink / raw
  To: gentoo-user

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

On Wednesday 11 October 2006 08:26, Anthony E. Caudel wrote:
> Maybe I meant reverse dependency. Not sure.  I want to know what depends
> on a particular package so that I can decide whether I can delete it or
> not.

Yes, that's reverse dependencies.

The portage way is to see if it shows up on emerge --depclean --pretend. If it 
doesn't then you have something in your world file that depends on it. If the 
package itself is in your world file then the best solution is to simply 
remove it manually by editing /var/lib/portage/world and then run --depclean 
to see if anything keeps it...

I know of three programs that can show reverse deps for a repository (rather 
than just your installed packages: dep from app-portage/udept, adjutrix from 
sys-apps/paludis and pquery from sys-apps/pkgcore.

-- 
Bo Andresen

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-user] Package dependencies
  2006-10-11  6:47     ` Bo Ørsted Andresen
@ 2006-10-11 10:09       ` Bo Ørsted Andresen
  0 siblings, 0 replies; 10+ messages in thread
From: Bo Ørsted Andresen @ 2006-10-11 10:09 UTC (permalink / raw
  To: gentoo-user

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

On Wednesday 11 October 2006 08:47, Bo Ørsted Andresen wrote:
[SNIP]
> Yes, that's reverse dependencies.
>
> The portage way is to see if it shows up on emerge --depclean --pretend. If
> it doesn't then you have something in your world file that depends on it.
> If the package itself is in your world file then the best solution is to
> simply remove it manually by editing /var/lib/portage/world and then run
> --depclean to see if anything keeps it...

So played a bit.. ;) I think the easiest (in terms of performance) way to get 
a complete list of all installed, deep reverse depencies of a package is to 
install sys-apps/pkgcore and use this bash script (at least it seems to work 
for me):

---------------------------------------------------------------------
!/bin/bash
ATOM=$1
REV=$(pquery --vdb --revdep ${ATOM})
while [[ -n ${REV} ]];
do
    REV_OLD="$REV"
    REV=$(echo "${REV_OLD}" | \
        while read pkg_rev;
        do
            pkg=$(echo "$pkg_rev" | sed -r 's/-[^-]+(-r[0-9]+)*$//');
            if [[ ! $ALL_REV =~ "$pkg" ]];
            then
                pquery --vdb --revdep "$pkg";
            fi ;
        done)
    ALL_REV="$ALL_REV
$REV_OLD"
done
echo "$ALL_REV" | sort -u
---------------------------------------------------------------------

E.g. to find installed, deep reverse dependencies of ssmtp (which I happen to 
have installed):

# ./above_bash_script mail-mta/ssmtp

Note that you need a fully qualified atom (such as mail-mta/ssmtp) as 
argument. (A couple of places in the script altering quotation or indentation 
will influence the output). Note also that it may take a while to run...

-- 
Bo Andresen

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2006-10-11 10:13 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-11  4:13 [gentoo-user] Package dependencies Anthony E. Caudel
2006-10-11  5:01 ` Bo Ørsted Andresen
2006-10-11  6:26   ` Anthony E. Caudel
2006-10-11  6:47     ` Bo Ørsted Andresen
2006-10-11 10:09       ` Bo Ørsted Andresen
  -- strict thread matches above, loose matches on Subject: below --
2006-02-16 18:59 [gentoo-user] package dependencies Nick Smith
2006-02-16 19:13 ` Ghaith Hachem
2006-02-16 19:33   ` Nick Smith
2006-02-16 19:40     ` Daniel da Veiga
2006-02-16 19:13 ` gentuxx

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox