Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] Optional dependencies and dependency mess

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Hamish Greig <hgreig AT bigpond.net.au>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: Re: [SM-Discuss] Optional dependencies and dependency mess
  • Date: Thu, 25 Mar 2004 11:15:06 +1100

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

On Thu, 25 Mar 2004 06:32, Arwed von Merkatz wrote:
> We definitely need a way to specify such subdepends in sorcery, i just
> got two prometheus bugs caused by stuff like that. gst-player not
> compiling because gst-plugins wasn't compiled with gconf support and
> straw failing because gnome-python wasn't compiled with gtkhtml support.
> The way i solved this problem with the ruby gnome2 bindings was
> seperating them into many spells, but that only works if the package
> allows it (gst-plugins and gnome-python2 don't easily allow it).
>
> We'll run into this problem quite often, lots of spells already have it,
> so we need an extension of sorcery depends.
> Something like
> depends gst-plugins:gconf,mad
>
> Then cast could check whether gst-plugins was built with those two
> optional_depends on and recompile it otherwise, changing the
> optional_depends for them to yes.
>
> I don't think there's a question whether we need this, we definitely do.
> The behaviour of it is what needs to be discussed, should it
> automatically recompile the stuff, setting the optional_depends to yes?
> One thing about the automatic setting of optional_depends to yes needs
> more work, sorcery shouldn't record those changes in
> /var/state/sorcery/depends unless the user says yes when asked if he
> really wants to cast the spells. Otherwise a user may try a spell, see
> that it wants to recompile something big with changed optional_depends
> and decides against it, but sorcery already recorded the changed
> optional_depends, so the next time the spell is cast it will be
> configured in a way the user didn't want to.
>
> Thoughts? Suggestions?

You bring up the main problem, it is possible (now, currently) to change the
depends status in /var/state/sorcery/depends without actually casting the
spell.
This is both a boon and a bug. At times I have selected the wrong depends in
a
queue and manually run cast -r $spell to correct this before the actual cast.
I am sure we all have. Losing this ability would be bad, but the side-effect,
that the .../depends file isn't in sync with the actual installed spells is
very bad too.
One solution that Casey and I have been discussing in relation to our ISO
work
is storing depends in the cache files in /var/cache/sorcery/. It could be
appended to the tarball last thing and when unpacked, it would be ignored as
trailing garbage, but the information could still be extracted easily and
used to correctly build the ../depends file when spells are resurrected also
(which is one possible method of install from ISO ).
A second method, which I haven't thought through at all, would be
for /var/state/sorcery/depends to only be changed after a successful cast,
and for individual spells depends to be listed
in /etc/sorcery/local/depends/$spell (and SPELL_CONFIG moved
to /etc/sorcery/local/configs/*).
I am not sure that this second method would be as beneficial to resurrect
and binary installs (from ISO or network installs) so maybe a combination of
the two would be most useful.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAYiSK8fSufZR6424RAvm/AKCB+PBG9FUNe6BfXnYImNnobNwA9ACfffAP
iT8w+m9UqwyoO+xdYnq0Nbo=
=+HPe
-----END PGP SIGNATURE-----




Archive powered by MHonArc 2.6.24.

Top of Page