Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] broken spells in stable-0.60 (Re: Baseline: Enabling rebuild of stable-0.60 chroot)

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Thomas Orgis <thomas-forum AT orgis.org>
  • To: sm-discuss AT lists.ibiblio.org
  • Cc: Kevin AT RawFedDogs.net
  • Subject: Re: [SM-Discuss] broken spells in stable-0.60 (Re: Baseline: Enabling rebuild of stable-0.60 chroot)
  • Date: Sun, 14 Sep 2014 10:29:45 +0200

Am Sat, 13 Sep 2014 17:04:31 -0500
schrieb Kevin Monceaux <Kevin AT RawFedDogs.net>:

> It seems to be inconsistent. I tried another full rebuild under my existing
> chroot, which has previously made it through a full rebuild successfully.
> This time around I got the wget build failure.

This is fully to be expected. When limiting things to build in serial
(EXTRA_JOBS=1 in parallel build config), that should reliably work.
What I would like to get intput on is a way to fix sorcery to still
succeed with the old spell. What would fix it is

1. Try with normal parallel build.
2. See that it fails -> ask if one should try again.
3. If yes, start over with fresh source tree at PRE_BUILD and with
serial make.

What we do now is

1. Try with normal parallel build.
2. See that it fails -> ask if one should try again.
3. If yes ... just run BUILD again, right? I actually wonder about
that. This really would be dirty. Or does ths sorcery do some magic to
only run make again?

Are we already doing it the first route? Ah, I see now. Make is a
function in libgrimoire:


#---------------------------------------------------------------------
##
## Override calls to the make program. Used to add custom arguments and
## handle failures when using multiple jobs.
##
#---------------------------------------------------------------------
function make() {
...

debug "libgrimoire" "make: running with $JOBS jobs"
$REAL_MAKE -j $JOBS -S "$@"

# Cache the result
local STATUS=$?

if [[ $STATUS -ne 0 ]] && [[ "$JOBS" != 1 ]] ; then
query "Running make with $JOBS jobs failed. Attempt to run with a single
job?" y >&3 &&
# Try again
$REAL_MAKE -j1 -S "$@"
STATUS=$?
fi

# Return the exit status
return $STATUS

}


So it's not totally dirty, but it is still somewhat naive: When the
Makefile screws up in parallel build, it can always screw up in a way
that breaks a subsequent attempt.

One way to fix this for now would perhaps be a blacklist for spells in
sorcery that don't do parallel build. As I said: I really would like to
be able to rebuild the unchanged stable grimoire with a fresh sorcery.


Alrighty then,

Thomas

Attachment: signature.asc
Description: PGP signature




Archive powered by MHonArc 2.6.24.

Top of Page