public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Jesús Guerrero" <i92guboj@terra.es>
To: <gentoo-user@lists.gentoo.org>
Subject: Re: [gentoo-user] revdep-rebuild vs. @preserved-rebuild [was: Kmplayer, video and audio not syncing.]
Date: Mon, 02 Nov 2009 17:39:12 +0100	[thread overview]
Message-ID: <68c1fe7a7ee0a17e840b56baccd3ee31@localhost> (raw)
In-Reply-To: <200911021650.19528.wonko@wonkology.org>

Thanks everyone for the input, it's being quite informative and valuable.
I guess I'll have to research on this at some point. Still I'd like to keep
responses coming if anyone can bring some light into the issue. :)

I am responding only to one post, but I've read Alan's one as well, as
said, thanks to everyone that answered.

On Mon, 2 Nov 2009 16:50:19 +0100, Alex Schuster <wonko@wonkology.org>
wrote:
> Jesús Guerrero writes:
> 
>> On Mon, 2 Nov 2009 16:12:49 +0200, Alan McKinnon
>>  <alan.mckinnon@gmail.com> wrote:
>> > On Monday 02 November 2009 15:58:57 Jesús Guerrero wrote:
>> >> On Mon, 2 Nov 2009 13:25:08 +0000, Neil Bothwick
<neil@digimed.co.uk>
>> >> wrote:
>> >> > On Mon, 02 Nov 2009 13:58:03 +0100, Jesús Guerrero wrote:
>> >> >> @preserved-rebuild never worked for me, maybe it's just that it
>> >> >> doesn't like ~arch. I am just too lazy to work on how to fix a
>> >> >> thing when there's an alternative that always worked reliably,
>> >> >> revdep-rebuild.
> 
> I like the preserve-libs FEATURE. With revdep-rebuild, things are fixed 
> after they were broken by an update of a library. And there is a time
(in 
> case of the dreaded expat update, a large one, expecially if revdep-
> rebuilding stuff fails for some packages) in which things do not work. I

> always hated that and considered it a serious bug.
> With preserve-libs, things do not break in the first place, because the
> old 
> libraries are still in place.

Ok, well, then the libs are preserved at merge time. Using Alan's analogy,
when you update the lib to y.1.0.1.so. It is *at this time* when y.1.0.0 is
kept, and that has nothing with using "emerge @preserved-rebuild" *in the
future*. You could still use revdep-rebuild and the effect will be the same
(except that old libs will not ever be cleaned if I got it right). Right?
So, it's not "emerge @preserved-rebuild" which fixes the problem (as I
said, by the time you run "emerge @preserved-rebuild" it's already too
late, by then the libs are either preserved or broken), but a whole new
portage behavior, which is quite different. And maybe only if you have a
given FEATURE enabled, which takes this even more far away from the
@revdep-rebuild set.

So, if this all is correct, this set is intended to *fix* the breakage,
just like revdep-rebuild, and *not to prevent* it. It's portage which
prevents it by preserving all .so files. Note that revdep-rebuild didn't
break anything either. That's false. revdep-rebuild only fixes what portage
breaks. It all comes down to one thing: are you using the preserve feature
or not? And not the tool you use to fix the binaries.

> 
>> >> > If it didn't work on ~arch, how would it ever make it into arch?
>> >>
>> >> I am not the one to answer that, all I can say is that the few times
>> >> I've tried it, it kept rebuilding the same  packages again, and 
>> >> again, and again ad infinitum, as said, I didn't even bother to find
>> >> what the problem was, because I have a working alternative. Sure it
>> >> could be better, but that hasn't been the case for me with 
>> >> @preserved-rebuild.
> 
> I had the same problem with emerge @preserved-rebuild looping endlessly,

> but that's probably just a minor issue. Just use emerge
@preserved-rebuild 
> once to make sure the new libs are being used, and remove 
> /var/lib/portage/preserved_libs_registry afterwards to get rid of the 
> preserved-libs message.

That's good to know. However this needs to be fixed, which is probably one
of the reasons why portage 2.2 is taking quite a bit to be released.

>> >> > The trouble with revdep-rebuild is that you have to break your
>> >> > system and then fix it. Most of the time this is trivial, but
>> >> > updates like expat-2.0 showed the usefulness of being able to
>> >> > recompile the packages before they were broken.
>> >>
>> >> I can't understand that. You CAN'T recompile your packages against
>> >> the new ABI's until the new ABI is in your system, and hence your
>> >> system is already broken. There's no preemptive measure against
>> >> this. Both methods fix the system *after* it's broken.
>> >
>> > Unless the old and the new ABI version are installed side by side.
When
>> > @preserved-rebuild is run, it deletes the old libs only after
>> > everything left that used it is now linked against the new one.
>> 
>> Thanks for the feedback. However there's one thing I can't understand:
>> whether the libraries are kept of removed is decided at the merge time,
>> isn't it? So, whatever breaks, breaks when using "emerge" to update the
>> offending library, the one that will break the ABI. So, how can using a
>> tool *after that* have any impact over what's broken? It can fix the
>> problem, but so can revdep-rebuild.
> 
> Again, things do not break in the first place with the preserved-rebuild

> FEATURE. As a library gets updated, the new library is installed along
> with 
> the old one. Applications linked to the old one still work. When they
are 
> re-compiled, the are linked to the new library, making the old libraries

> obsolete when this is done for all packages depending on them.
> 
>> I mean: if the old libs with the old abi's are kept, how it is relevant
>>  if you are using @preserved-rebuild, revdep-rebuild or another method,
>>  or none at all? Your programs will continue to work ok without needing
>>  to rebuild anything, won't them? And after rebuilding the package it's
>>  irrelevant *how* did you rebuild them... I must obviously be missing
>>  something here, if you have the time please, direct me to an adequate
>>  source of information or explain a bit, I am curious.
> 
> I think the revdep-rebuild way would not work here. I assume it uses ldd
> to 
> check all binaries for existance of their libraries, and rebuild them if

> there are problems. When the old libraries are still in place, there is
no 
> problem for ldd, and nothing gets re-compiled. No big problem, but you 
> clutter your system with old libraries staying in place, and programs
> still 
> using them do not take possible advantage ob the newer libraries.


Thanks, these two paragraphs seem to confirm my thoughts above. I finally
understand what this is about :)

-- 
Jesús Guerrero



  reply	other threads:[~2009-11-02 16:39 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-24 20:16 [gentoo-user] Kmplayer, video and audio not syncing Dale
2009-10-24 20:21 ` Alan McKinnon
2009-10-24 20:36   ` Dale
2009-10-24 21:25     ` Alan McKinnon
2009-10-30 11:17       ` Dale
2009-10-30 16:22         ` Jesús Guerrero
2009-10-31  3:34           ` Dale
2009-10-31 19:26             ` Alan McKinnon
2009-10-31 21:30               ` Dale
2009-11-01 15:06             ` Jesús Guerrero
2009-11-01 18:21               ` Dale
2009-11-01 19:20                 ` Jesús Guerrero
2009-11-01 22:56                   ` Dale
2009-11-02  6:08                   ` Dale
2009-11-02 12:58                     ` Jesús Guerrero
2009-11-02 13:25                       ` Neil Bothwick
2009-11-02 13:44                         ` Dale
2009-11-02 13:58                         ` Jesús Guerrero
2009-11-02 14:12                           ` Alan McKinnon
2009-11-02 15:01                             ` [gentoo-user] revdep-rebuild vs. @preserved-rebuild [was: Kmplayer, video and audio not syncing.] Jesús Guerrero
2009-11-02 15:39                               ` Alan McKinnon
2009-11-02 16:31                                 ` [gentoo-user] Re: revdep-rebuild vs. @preserved-rebuild Harry Putnam
2009-11-02 17:52                                   ` Alan McKinnon
2009-11-02 15:40                               ` [gentoo-user] " Graham Murray
2009-11-02 23:13                                 ` Neil Bothwick
2009-11-02 15:50                               ` [gentoo-user] revdep-rebuild vs. @preserved-rebuild [was: Kmplayer, video and audio not syncing.] Alex Schuster
2009-11-02 16:39                                 ` Jesús Guerrero [this message]
2009-11-02 14:49                           ` [gentoo-user] Kmplayer, video and audio not syncing Neil Bothwick

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=68c1fe7a7ee0a17e840b56baccd3ee31@localhost \
    --to=i92guboj@terra.es \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox