[gentoo-user] Re: Rebuilding all dependants of a package

2018-02-20 Thread Holger Hoffstätte
On Tue, 20 Feb 2018 22:55:45 +, Neil Bothwick wrote:

> On Tue, 20 Feb 2018 21:29:42 + (UTC), Holger Hoffstätte wrote:
> 
>> > That was useful and saved me the time to sed & grep my way through the
>> > equery output. Turning this into a generic script is easy enough.  
>> 
>> For the peanut gallery..
>> 
>> Turns out it's not so clear-cut since equery d finds *all possible*
>> dependants, including those for unset USE flags.
>> 
>> Oh well..depclan & grep here we go..
>> 
> What's wrong with qdepends, which has an option to query reverse
> dependencies and uses the installed package databas for its information
> so it correctly considers USE flags?
> 
> qdepends is part f portage-utils, which you should have installed already.

Interesting! It seems there is nothing wrong with it other than the
fact that I didn't know about it, so thanks for the pointer!
qdepends -Q does indeed seem to do the same thing as my own script,
which of course I finished just 5 minutes ago. :)
It's also a lot faster than --depclean munging since it seems to
simply grep through the DEPEND/USE variables in one go. Nice!

Thanks!
Holger




[gentoo-user] File collision dvtm

2018-02-20 Thread tuxic
Hi,

while updateing I got a file collision.

The error message starts with a lengthy explanation what to
do NOT (reporting a bug, if there is only one ackage affected)
but it is say nothing WHAT to do, when one package is affected.

So,...

One package is affected...what can I do?

Cheers
Meino

Printout:
* This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / ` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at https://bugs.gentoo.org/ unless you report exactly
 * which two packages install the same file(s). See
 * https://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how
 * to solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 *  /usr/share/terminfo/d/dvtm-256color
 *  /usr/share/terminfo/d/dvtm
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * app-misc/dvtm-0.15-r1:0::gentoo
 *  /usr/share/terminfo/d/dvtm
 *  /usr/share/terminfo/d/dvtm-256color
 * 
 * Package 'sys-libs/ncurses-6.1' NOT merged due to file collisions. If
 * necessary, refer to your elog messages for the whole content of the
 * above message.
 * 
 * The following package has failed to build, install, or execute postinst:
 * 
 *  (sys-libs/ncurses-6.1:0/6::gentoo, ebuild scheduled for merge), Log file:
 *   '/var/tmp/portage/sys-libs/ncurses-6.1/temp/build.log'
 * 

 * GNU info directory index is up-to-date.
 * After world updates, it is important to remove obsolete packages with
 * emerge --depclean. Refer to `man emerge` for more information.
solfire:/root>portageq owners / dvtm-256color
app-misc/dvtm-0.15-r1
/usr/share/terminfo/d/dvtm-256color
solfire:/root>eix dvtm
[I] app-misc/dvtm
 Available versions:  0.14 (~)0.15 (~)0.15-r1 ** {savedconfig unicode}
 Installed versions:  0.15-r1(04:17:18 AM 01/01/2018)(-savedconfig)
 Homepage:http://www.brain-dump.org/projects/dvtm/
 Description: Dynamic virtual terminal manager

solfire:/root>portageq owners / dvtm 
app-misc/dvtm-0.15-r1
/usr/bin/dvtm
/usr/share/dvtm
/usr/share/terminfo/d/dvtm




Re: [gentoo-user] Rebuilding all dependants of a package

2018-02-20 Thread J. Roeleveld
On February 20, 2018 7:14:25 AM UTC, Alan McKinnon  
wrote:
>hehehehe :-)
>
>every now and again I unleash my inner grumpy old fart and should him
>to
>the world at large!
>
>On Mon, Feb 19, 2018 at 5:15 PM, Neil Bothwick 
>wrote:
>
>> On Mon, 19 Feb 2018 17:05:03 +0200, Alan McKinnon wrote:
>>
>> > Perhaps you should lay out clearly why you think you need to do
>this,
>> > so everyone else can help match your expectations to reality :-)
>>
>> Watch out everyone, Alan's in one of those moods! ;-)
>>
>>
>> --
>> Neil Bothwick
>>
>> C: (n.) the language following A and B. The world still awaits D and
>>E. By Z, it may be acceptable for general use.
>>

You call this 'grumpy old fart'?
Thanks, I often must be one at work then. :)
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Re: [gentoo-user] Re: Rebuilding all dependants of a package

2018-02-20 Thread Neil Bothwick
On Tue, 20 Feb 2018 21:29:42 + (UTC), Holger Hoffstätte wrote:

> > That was useful and saved me the time to sed & grep my way through the
> > equery output. Turning this into a generic script is easy enough.  
> 
> For the peanut gallery..
> 
> Turns out it's not so clear-cut since equery d finds *all possible*
> dependants, including those for unset USE flags.
> 
> Oh well..depclan & grep here we go..
> 
What's wrong with qdepends, which has an option to query reverse
dependencies and uses the installed package databas for its information
so it correctly considers USE flags?

qdepends is part f portage-utils, which you should have installed already.


-- 
Neil Bothwick

 Ralph's Observation - It is a mistake to allow any mechanical
 object to realize that you are in a hurry.


pgpk8UDhRIhKz.pgp
Description: OpenPGP digital signature


Re: [gentoo-user] File collision dvtm

2018-02-20 Thread Floyd Anderson

On Wed, 21 Feb 2018 05:01:14 +0100
tu...@posteo.de wrote:

Hi,

while updateing I got a file collision.

The error message starts with a lengthy explanation what to
do NOT (reporting a bug, if there is only one ackage affected)
but it is say nothing WHAT to do, when one package is affected.

So,...

One package is affected...what can I do?


If you cannot wait until it is fixed, have a look at `man 5 make.conf` 
for COLLISION_IGNORE, collision-protect and protect-owned. You can use 
`infocmp` to compare colliding terminfo description files and see if 
they differ and which one to keep. I would treat ncurses as the master.



References:
 - [1] 
 - [2] 
 - [3] 


--
Regards,
floyd




[gentoo-user] Re: Rebuilding all dependants of a package

2018-02-20 Thread Holger Hoffstätte
On Mon, 19 Feb 2018 17:05:03 +0200, Alan McKinnon wrote:

> On 19/02/2018 14:55, Holger Hoffstätte wrote:
>> Hey,
>> 
>> I'm not exactly new to portage, but one thing that I cannot seem to figure
>> out is how to rebuild all dependants of a package. Not *dependencies*,
>> dependants: packages that require said package.
>> 
>> As a recent example: whenever go (the language) is updated to a new version
>> (say from 1.9 to 1.10, as it happended recently), I'd like to rebuild docker
>> & friends - or more specifically 'things that are compiled with go'.
>> 
>> The --changed-deps option doesn't seem to do the trick, so instead I manually
>> do a -vp --depclean on go and manually --oneshot all installed packages that
>> have their hands on it. This is obviously stupid and error-prone.
>> 
>> Am I missing something or is this really not easily possible?
>> Basically I'm looking for a hard --oneshot --revdep-rebuild with a package
>> argument.
> 
> 
> There isn't really a one-shot way to do this easily. Ebuilds do not 
> contain dependants, they contain dependencies and that is a one-way 
> arrow. So you end up having to walk the tree to get the information you 
> are after.

There are numerous cases where portage/equery already do that and
perform the equivalent of a grep throug the entire tree.

> I have to question though why you think you need to do this. If you want

Because of static linking. In this case go embeds the runtime (esp.
the gc) into executables, so the only way to get improvements into
existing binaries is to rebuild. Neither subslots nor changed-deps do
this, esp. not on demand.
 
I can think of numerous opther cases where this is necessary (mostly
related to C++ and/or static linking) but really don't have the time
or patience right now.

cheers
Holger




[gentoo-user] Re: Rebuilding all dependants of a package

2018-02-20 Thread Holger Hoffstätte
On Mon, 19 Feb 2018 15:29:52 +0100, Branko Grubic wrote:

> On Mon, 19 Feb 2018 12:55:08 + (UTC)
> Holger Hoffstätte  wrote:
> 
>> Hey,
>> 
>> I'm not exactly new to portage, but one thing that I cannot seem to
>> figure out is how to rebuild all dependants of a package. Not
>> *dependencies*, dependants: packages that require said package.
>> 
>> As a recent example: whenever go (the language) is updated to a new
>> version (say from 1.9 to 1.10, as it happended recently), I'd like to
>> rebuild docker & friends - or more specifically 'things that are
>> compiled with go'.
>> 
>> The --changed-deps option doesn't seem to do the trick, so instead I
>> manually do a -vp --depclean on go and manually --oneshot all
>> installed packages that have their hands on it. This is obviously
>> stupid and error-prone.
>> 
>> Am I missing something or is this really not easily possible?
>> Basically I'm looking for a hard --oneshot --revdep-rebuild with a
>> package argument.
>> 
>> thanks,
>> Holger
>> 
>> 
> 
> I never needed this, so I don't know how to do it directly with emerge
> (is it possible?), but you can use equery like this to get a list:
> 
> equery -q d dev-lang/go
> 
> -q/--quiet (minimal output)
> (d)epends (list all packages directly depending on ATOM)
> 
> to get a list of packages installed which depend on dev-lang/go
> you can filter versions out of it and feed that to 'emerge -av1'.
> 
> Or if you trust this ugly one-liner without filtering (probably ugliest
> thing, but seems to do the job):
> 
> emerge -av1 $(for i in $(equery -q d sys-apps/util-linux); do echo
> "=$i"; done)

That was useful and saved me the time to sed & grep my way through the
equery output. Turning this into a generic script is easy enough.

Thank you very much!

cheers
Holger




[gentoo-user] Re: Rebuilding all dependants of a package

2018-02-20 Thread Holger Hoffstätte
On Tue, 20 Feb 2018 09:56:15 +, Holger Hoffstätte wrote:

> On Mon, 19 Feb 2018 15:29:52 +0100, Branko Grubic wrote:
> 
>> On Mon, 19 Feb 2018 12:55:08 + (UTC)
>> Holger Hoffstätte  wrote:
>> 
>>> Hey,
>>> 
>>> I'm not exactly new to portage, but one thing that I cannot seem to
>>> figure out is how to rebuild all dependants of a package. Not
>>> *dependencies*, dependants: packages that require said package.
>>> 
>>> As a recent example: whenever go (the language) is updated to a new
>>> version (say from 1.9 to 1.10, as it happended recently), I'd like to
>>> rebuild docker & friends - or more specifically 'things that are
>>> compiled with go'.
>>> 
>>> The --changed-deps option doesn't seem to do the trick, so instead I
>>> manually do a -vp --depclean on go and manually --oneshot all
>>> installed packages that have their hands on it. This is obviously
>>> stupid and error-prone.
>>> 
>>> Am I missing something or is this really not easily possible?
>>> Basically I'm looking for a hard --oneshot --revdep-rebuild with a
>>> package argument.
>>> 
>>> thanks,
>>> Holger
>>> 
>>> 
>> 
>> I never needed this, so I don't know how to do it directly with emerge
>> (is it possible?), but you can use equery like this to get a list:
>> 
>> equery -q d dev-lang/go
>> 
>> -q/--quiet (minimal output)
>> (d)epends (list all packages directly depending on ATOM)
>> 
>> to get a list of packages installed which depend on dev-lang/go
>> you can filter versions out of it and feed that to 'emerge -av1'.
>> 
>> Or if you trust this ugly one-liner without filtering (probably ugliest
>> thing, but seems to do the job):
>> 
>> emerge -av1 $(for i in $(equery -q d sys-apps/util-linux); do echo
>> "=$i"; done)
> 
> That was useful and saved me the time to sed & grep my way through the
> equery output. Turning this into a generic script is easy enough.

For the peanut gallery..

Turns out it's not so clear-cut since equery d finds *all possible*
dependants, including those for unset USE flags.

Oh well..depclan & grep here we go..

-h