Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] devel-xorg-modular merging

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Sukneet Basuta <sukneet AT gmail.com>
  • To: SM-Discuss <sm-discuss AT lists.ibiblio.org>
  • Subject: Re: [SM-Discuss] devel-xorg-modular merging
  • Date: Sat, 6 Sep 2014 12:12:30 -0400

On Wed, Sep 3, 2014 at 6:41 AM, Remko van der Vossen <wich AT yuugen.jp> wrote:
On Fri, Aug 29, 2014 at 09:51:39AM +0200, Thomas Orgis wrote:
> Am Wed, 27 Aug 2014 23:03:36 -0400 schrieb Sukneet Basuta <sukneet AT gmail.com>:
> > I've attached what I posted close to a year ago. Javier also had the idea
> > of chaining a planar list of casts, which maybe a better solution than
> > trying to rely on UP_TRIGGERS.

As far as I know there is no (existing) way to force a certain casting
order in sorcery, the best we can do is improve our DEPENDS files so
that we get a more complete dependency tree. That still leaves problems
with cyclic dependencies though, which we need to break as much as
possible. Automatic cycle breaking in sorcery by first installing
without optional dependencies and later with would be nice, but I don't
see it happening anytime soon. (Also you'd have to take into account sub
dependencies, so you might even get more than two rounds for some
spells.)

I tried to fix things in devel-xorg by fixing the DEPENDS files first, but it resulted in way too many cyclical dependencies. i.e. Spell A depends on Spell B, Spell B depends on Spell C, but Spell C depends on Spell A. That's probably a bad example, but I kept running into stuff like that.
 
In lieu of complete DEPENDS files and some mechanism to recast dependers
on ABI incompatible spell casts we can work with UP_TRIGGERS to get all
dependers cast. There is no need to create lists of spells in
UP_TRIGGERS, it's just a lot of work, and is liable to be incomplete.
It's much better to use a bit of automated depender discovery like is
done in libpng/UP_TRIGGERS of the devel/libpng branch (not the
devel/libpng-1.6 branch.)
 
This is already happening in the libpthread-stubs UP_TRIGGERS but it doesn't get all the spells that need to be recast. I was only adding spells to UP_TRIGGERS that weren't being found. (I believe there was a reason for this, but I can't remember right now. I'll try to look into it again.) Perhaps linking with "-as-needed" will fix this problem.
 
I would much rather we invest time in making sure that we recast the
right stuff upon ABI incompatible changes in the right way, which means;
1) actively rolling out as-needed
2) starting work on getting better quality DEPENDS files
3) creating some mechanism in sorcery which allows us to recast
   dependers upon ABI incompatible changes
4) creating a mechanism in sorcery to automatically break dependency
   cycles

We can start working on 1) right now, 2) and 3) can be partially worked
around using smart UP_TRIGGERS scripts. We'll have work in the long run
for 2), 3) and 4). Note that in this case it also becomes easy when to
remove any special UP_TRIGGERS scripts; when 2) and 3) are done.

1) Is there any problems with doing this? Why isn't done by default?
    Looks like Gentoo has been doing this as the default for a while. They just had to disable as-needed for a some ebuilds.




Archive powered by MHonArc 2.6.24.

Top of Page