Skip to Content.
Sympa Menu

sm-commit - Re: [SM-Commit] GIT changes to master grimoire by Arjan Bouter (476d853824d0f768e6b478e84ef33e834322c24a)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: Re: [SM-Commit] GIT changes to master grimoire by Arjan Bouter (476d853824d0f768e6b478e84ef33e834322c24a)
  • Date: Mon, 9 Apr 2012 16:14:32 +0200

On Mo 2012-04-09 14:41:00 +0200, Arjan Bouter wrote:
> On Mon, 9 Apr 2012 14:17:38 +0200
> Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de> wrote:
>
> > >
> > > Obviously I did try to rebuild the spells that depend on icu after that
> > > spell
> > > was updated. But that didn't work because, as you said, libxml2 was
> > > broken.
> > I'm not so sure anymore that libxml2 is a problem here -- I just built
> > it with icu 49 and it linked just fine.
> > _______________________________________________
>
> Hmm? If you can investigate a bit more as to where the problem could have
> been
> that would be great.
>
> I've got a box ready for testing possible solutions :)
Breakage in libxml2 seems to have been caused by the LDFLAGS I was using
at the time, if as-needed is not set it casts fine. The rest of the
breakage seems to be caused by the way icu's UP_TRIGGERS parses icu's
version. This should be fixed by the following (untested) patch:

diff --git a/libs/icu/UP_TRIGGERS b/libs/icu/UP_TRIGGERS
index b26375c..a6610b4 100755
--- a/libs/icu/UP_TRIGGERS
+++ b/libs/icu/UP_TRIGGERS
@@ -1,16 +1,39 @@
# up_trigger everything on minor version updates

local OLD_SPELL_VERSION=""
+local MAJOR_VERSION=""
+local OLD_MAJOR_VERSION=""
+local TRIGGER_ICU_UPCAST=""
+local OLD_LIB_VERSION=""
if spell_ok $SPELL; then
OLD_SPELL_VERSION="$(installed_version $SPELL)"
- OLD_SPELL_VERSION=${OLD_SPELL_VERSION:0:3}
- if test "${VERSION:0:3}" != "${OLD_SPELL_VERSION}"; then
+
+ MAJOR_VERSION="$(echo ${VERSION} | cut -f1 -d.)"
+ MINOR_VERSION="$(echo ${VERSION} | cut -f2 -d.)"
+ OLD_MAJOR_VERSION="$(echo ${OLD_SPELL_VERSION} | cut -f1 -d.)"
+ OLD_MINOR_VERSION="$(echo ${OLD_SPELL_VERSION} | cut -f2 -d.)"
+
+ if [[ ${OLD_MAJOR_VERSION} == "4" ]] && [[ ${MAJOR_VERSION} != "4" ]]; then
+ TRIGGER_ICU_UPCAST="y"
+ elif [[ ${OLD_MAJOR_VERSION} != ${MAJOR_VERSION} ]] || [[
${OLD_MINOR_VERSION} != ${MINOR_VERSION} ]]; then
+ TRIGGER_ICU_UPCAST="y"
+ else
+ TRIGGER_ICU_UPCAST="n"
+ fi
+
+ if [[ ${OLD_MAJOR_VERSION} == "4" ]]; then
+ OLD_LIB_VERSION=${OLD_MAJOR_VERSION}${OLD_MINOR_VERSION}
+ else
+ OLD_LIB_VERSION=${OLD_MAJOR_VERSION}
+ fi
+
+ if [[ ${TRIGGER_ICU_UPCAST} == "y" ]]; then
message "This is a possibly incompatible update of icu..."
message "Figuring out what spells need to be recast, this may take a
while."
- OLD_SPELL_VERSION=${OLD_SPELL_VERSION//.}
+
for each in $(show_up_depends $SPELL 1); do
if gaze install $each | xargs readelf -d 2> /dev/null |
- grep -q "NEEDED.*libicuuc.so.${OLD_SPELL_VERSION}"; then
+ grep -q "NEEDED.*libicuuc.so.${OLD_LIB_VERSION}"; then
up_trigger $each cast_self
fi
done

>
> Thanks,
> Arjan
>
> +===================
> Source Mage GNU/Linux developer,
> http://www.sourcemage.org
> +============
> _______________________________________________
> SM-Commit mailing list
> SM-Commit AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/sm-commit
>

--




Archive powered by MHonArc 2.6.24.

Top of Page