Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] libpng 1.4 devel branch

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Eric Sandall <eric AT sandall.us>
  • To: Source Mage Discuss <sm-discuss AT lists.ibiblio.org>
  • Subject: Re: [SM-Discuss] libpng 1.4 devel branch
  • Date: Tue, 17 Aug 2010 10:06:37 -0700

Remko,

Thank you for working on this. I will setup a VM and checkout this branch to test.

-sandalle

On Aug 11, 2010, at 7:57 AM, Remko van der Vossen wrote:

Hi everyone,

SHORT VERSION

Please test libpng 1.4:
 - scribe add libpng from git://download.sourcemage.org/smgl/grimoire.git:libpng:devel-libpng
 - cast libpng
 - report success and failure on the wiki page

For more info see: http://sourcemage.org/Grimoire/libpng14

LONG VERSION

libpng 1.4 has been out for a while now, but upgrading to 1.4 isn't as
easy as any old version bump. The problem is that 1.4 is both API as
well as ABI incompatible with 1.2. This means that we need to develop a
seemless upgrade path where all spells that need a recast will be recast
upon a libpng upgrade. Additionally we need to find and fix any spells
that are incompatible with libpng 1.4.

The libpng spell was made multiversion for both 1.2 and 1.4 in master.
This has been reverted in lieu of a devel-libpng git branch for several
reasons, (disclaimer; this is just my opinion, feel free to disagree):

 1.  The spell didn't include any upgrade path, if a user simply did a
     cast libpng all dependees of libpng (even indirect ones due to the
     lovely libtool mess) would break because they can't link to
     libpng12.so.0 which is suddenly gone. Users can't be expected to
     run a cast -B -c for a simple spell upgrade. And of course even if
     they were it wouldn't happen on a sorcery -s and then still our
     dependency tree isn't as complete as it should be, so a cast -B
     could easily miss spells that need to be recast.

 2.  libpng 1.4 should not go to stable grimoire as long as there are
     spells that fail on it. Meaning that the libpng commit, as well as
     all related fix commits of other spells would need to be reverted
     each time a stable-rc is branched off as long as we aren't done
     with libpng testing.

 3.  By making the libpng spell multiversion we need to support both
     version 1.2 and 1.4. So instead of just making sure the other
     spells work with 1.4 we need to also have it keep working with
     1.2. By moving the libpng development to a git branch and simply
     doing a straight upgrade instead of a multiversion we sidestep
     this issue.

 4.  Test grimoire ins't a dumping ground for new developments, yes,
     test can from time to time contain things that don't work,
     especially compatibiluty problems between upgraded spells and
     other spells, that is what test is for. But we shouldn't knowingly
     put broken spells, or spells with known collateral damage into
     test. This is such a case; this is an ABI and API incompatible
     upgrade of a package which a lot of other packages depend on
     directly or indirectly, we expect major breakage here. We need to
     flesh out most of the problems we expect to see before we shoot it
     out to a larger audience.

So, I made a devel-libpng branch, and in it updated the libpng spell to
version 1.4.3 and included an UP_TRIGGERS script that checks all
installed spells for ELF dynamic objects that link to libpng and
triggers a cast self on those that do.

I tested it on my home box, and found a few spells incompatible with
libpng 1.4 and fixed as much as I could. The current status can be found
on the libpng 1.4 wiki project page:

 http://sourcemage.org/Grimoire/libpng14

Please help out and test the devel-libpng14 branch, let's prove we can
work with branches effectively. All you need to do is install a grimoire
based on the devel-libpng branch as described in the short version above
and cast libpng. Naturally if you already have a git based repo you can
also just switch it to the libpng branch.

Please report any success and failure on the wiki page. And if you can
and have the time, please commit any libpng 1.4 related fixes to the
devel-libpng branch. see http://sourcemage.org/Git_Guide for info on
working with git branches.

Regards,

Remko van der Vossen
_______________________________________________
SM-Discuss mailing list
SM-Discuss AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/sm-discuss


Eric Sandall                      Source Mage GNU/Linux Developer
http://eric.sandall.us/           http://counter.li.org/  #196285




Archive powered by MHonArc 2.6.24.

Top of Page