Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Thomas Orgis (c919ecc208970ff416c33d74a80180e7954e0f98)

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 master grimoire by Thomas Orgis (c919ecc208970ff416c33d74a80180e7954e0f98)
  • Date: Thu, 10 Aug 2017 08:48:01 +0000

GIT changes to master grimoire by Thomas Orgis <sobukus AT sourcemage.org>:

ChangeLog | 5 ++
FUNCTIONS | 90
++++++++++++++++++++++++++++++++++++++++-----------
libs/gmp/HISTORY | 3 +
libs/gmp/UP_TRIGGERS | 10 +++++
4 files changed, 90 insertions(+), 18 deletions(-)

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

gmp: add triggers to handle the soname change of 5.0.1

Yes. We're at version 6.1.2 and think of that _now_! This
triggers recast of the whole toolchain depending on gmp, as
it should.

commit b6c0a77c551f64df1886eafb0fdbb8cba0305d47
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>

FUNCTIONS: also trigger cast dependents, not just check

diff --git a/ChangeLog b/ChangeLog
index b5c8ddb..386a5d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-08-10 Thomas Orgis <sobukus AT sourcemage.org>
+ * FUNCTIONS: Extended functionality for triggering dependent spells.
+ There is the cast_depdentents family in addition to check_dependents
+ now (also the more generic act_dependents).
+
2017-08-08 Treeve Jelbert <treeve AT sourcemage.org>
* libs/libnsl: NIS(YP) and NIS+ in a IPv6 ready version

diff --git a/FUNCTIONS b/FUNCTIONS
index a45e9ef..8f1102d 100755
--- a/FUNCTIONS
+++ b/FUNCTIONS
@@ -853,36 +853,56 @@ function get_spell_provider_file(){


#---
-## Trigger checks on dependent spells. Used after checking if
+## Trigger an action on dependent spells. Used after checking if
## an incompatible update is scheduled.
-## @params $1 - spell at hand
+## @params $1 - action
+## @params $2 - spell at hand
#---
-function check_dependents()
+function act_dependents()
{
- local spell=$1; shift
+ local action=$1; shift
+ local spell=$1; shift
message "${MESSAGE_COLOR}This is a possibly incompatible update of
$spell." &&
message "Figuring out what spells need to be checked for
sanity...${DEFAULT_COLOR}" &&
for each in $(show_up_depends "$spell" 1); do
- up_trigger $each check_self
+ up_trigger $each $action
done
}

#---
-## Trigger check_self on spells depending on the one at hand if it
+## Trigger check_self on dependent spells.
+#---
+function check_dependents()
+{
+ act_dependents check_self "$@"
+}
+
+#---
+## Trigger cast_self on dependent spells.
+#---
+function cast_dependents()
+{
+ act_dependents cast_self "$@"
+}
+
+#---
+## Trigger an action on spells depending on the one at hand if it
## is being updated from an old version.
## Purpose of the optional version filter parameters is to limit the
## triggering to cases of significant difference, like 1.2.x -> 1.3.y
instead of
## the smaller difference 1.2.x -> 1.2.y .
-## @params $1 - spell at hand
-## @params $2 - new version
-## @params $3 - command to filter versions with
-## @params $4 - and following: arguments to the filter command
+## @params $1 - action
+## @params $2 - spell at hand
+## @params $3 - new version
+## @params $4 - command to filter versions with
+## @params $5 - and following: arguments to the filter command
##
-## Example: check_dependents_on_update $SPELL $VERSION cut -d . -f 1,2
+## Example: act_dependents_on_update check_self $SPELL $VERSION cut -d . -f
1,2
## This will compare only x.y out of version x.y.z-betaY.
#---
-function check_dependents_on_update()
+function act_dependents_on_update()
{
+ local action=$1; shift;
local spell=$1; shift;
local version=$1; shift;
if spell_ok $spell; then
@@ -893,22 +913,40 @@ function check_dependents_on_update()
new_version=$(echo "$new_version" | "$@")
fi &&
if [[ "$new_version" != "$old_version" ]]; then
- check_dependents "$spell"
+ act_dependents "$action" "$spell"
fi
fi
}

#---
+## Trigger check_self on dependent spells on update.
+#---
+function check_dependents_on_update()
+{
+ act_dependents_on_update check_self "$@"
+}
+
+#---
+## Trigger cast_self on dependent spells on update.
+#---
+function cast_dependents_on_update()
+{
+ act_dependents_on_update cast_self "$@"
+}
+
+#---
## Trigger check_self on a certain version jump (known ABI breakage).
## You know that a spell changed ABI most recently in version x, so you
## provide this version and the function checks if updating the spell
## crosses version x and hence dependers shall be triggered.
-## @params $1 - spell at hand
-## @params $2 - new version to be installed
-## @params $3 - version of last ABI breakage
+## #params $1 - action
+## @params $2 - spell at hand
+## @params $3 - new version to be installed
+## @params $4 - version of last ABI breakage
#---
-function check_dependents_versionjump()
+function act_dependents_versionjump()
{
+ local action=$1; shift;
local spell=$1; shift;
local version=$1; shift;
local breaker;
@@ -918,7 +956,7 @@ function check_dependents_versionjump()
# Now, if the versions differ, check if the breaking version is crossed.
for breaker in "$@"; do
if is_version_between "$old_version" "$breaker" "$version"; then
- check_dependents "$spell"
+ act_dependents "$action" "$spell"
return
fi
done
@@ -926,6 +964,22 @@ function check_dependents_versionjump()
}

#---
+## Trigger check_self on dependent spells on version jump.
+#---
+function check_dependents_versionjump()
+{
+ act_dependents_versionjump check_self "$@"
+}
+
+#---
+## Trigger cast_self on dependent spells on version jump.
+#---
+function cast_dependents_versionjump()
+{
+ act_dependents_versionjump cast_self "$@"
+}
+
+#---

. $GRIMOIRE/glselect.function
. $GRIMOIRE/bzr_download.function
diff --git a/libs/gmp/HISTORY b/libs/gmp/HISTORY
index 3bf00bd..7efb8c8 100644
--- a/libs/gmp/HISTORY
+++ b/libs/gmp/HISTORY
@@ -1,3 +1,6 @@
+2017-08-10 Thomas Orgis <sobukus AT sourcemage.org>
+ * UP_TRIGGERS: Trying to handle the ABI breakage of 5.0.1.
+
2017-03-30 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: update stable to 6.1.2 as well

diff --git a/libs/gmp/UP_TRIGGERS b/libs/gmp/UP_TRIGGERS
new file mode 100755
index 0000000..e24813f
--- /dev/null
+++ b/libs/gmp/UP_TRIGGERS
@@ -0,0 +1,10 @@
+. "$GRIMOIRE/FUNCTIONS" &&
+# Version 5.0.1 bumped the soversion from 3 to 10.
+# We put a hack in place so that dependent spells survive somehow
+# thus cast needed instead of check.
+cast_dependents_versionjump $SPELL $VERSION 5.0.1 &&
+# Special case is isl, which missed a dependency until recently.
+# Trigger that manually.
+if is_version_between $(installed_version "$SPELL") "5.0.1" "$VERSION"; then
+ up_trigger isl cast_self
+fi



  • [SM-Commit] GIT changes to master grimoire by Thomas Orgis (c919ecc208970ff416c33d74a80180e7954e0f98), Thomas Orgis, 08/10/2017

Archive powered by MHonArc 2.6.24.

Top of Page