Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to devel-sobukus-protection sorcery by Thomas Orgis (b840954a48c69b1c2a0e22bac76a157f60b7f19d)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Thomas Orgis <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to devel-sobukus-protection sorcery by Thomas Orgis (b840954a48c69b1c2a0e22bac76a157f60b7f19d)
  • Date: Mon, 7 Sep 2020 22:59:10 +0000

GIT changes to devel-sobukus-protection sorcery by Thomas Orgis
<sobukus AT sourcemage.org>:

var/lib/sorcery/modules/libdepengine | 6 ++++++
1 file changed, 6 insertions(+)

New commits:
commit b840954a48c69b1c2a0e22bac76a157f60b7f19d
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>

libdepengine: avoid building dependees after dependencies failed

This is another hack on the horrid sorcery logic of running many times
through the same code to do different things. The problem: Building of
a dependency fails, but sorcery still tries to build the spell depending
on the failed one, usually resulting in predictable failure, otherwise
in a perhaps unintended build with an older installed version of the
dependency.

Example was nss failing for me (still have to figure out that weird one)
and still firefox cast bein attempted after that. This is stupid
behaviour.

I solve that by grepping for the spell in $FAILED_LIST and using occurence
there to indicate a nonzero return value where there is no value recorded
from the depengine_cast_engine. The only justification is that it works.

Caveat: It only works to avoid nonsense in the casting phase. If things
fail in configure phase, we still have the pecuilarity that dependees are
removed from the cast only if they have been processed before. If you
specified

cast a b

where b depends on a and configuration of a fails, b is still attempted to
be cast. This is for another night, or a proper rewrite.

Note: There are other places with grep $spell $FAILED_LIST. I suggest
checking if that
should read "^$spell$" instead there, too.

diff --git a/var/lib/sorcery/modules/libdepengine
b/var/lib/sorcery/modules/libdepengine
index 6ec0e1d..02e9b32 100755
--- a/var/lib/sorcery/modules/libdepengine
+++ b/var/lib/sorcery/modules/libdepengine
@@ -135,6 +135,12 @@ depengine_cast_engine() {
rc=$?
fi

+ if grep -qs "^$spell$" "$FAILED_LIST"; then
+ message "${MESSAGE_COLOR}The spell ${SPELL_COLOR}$spell$MESSAGE_COLOR" \
+ " failed to cast. Remembering that.$DEFAULT_COLOR"
+ rc=1
+ fi
+
dpgn_set_spell_color $spell brown

if [[ $rc == 0 ]] ; then



  • [SM-Commit] GIT changes to devel-sobukus-protection sorcery by Thomas Orgis (b840954a48c69b1c2a0e22bac76a157f60b7f19d), Thomas Orgis, 09/07/2020

Archive powered by MHonArc 2.6.24.

Top of Page