Here's something I was playing with a few days go.  The problem is that
when you have a package delivering a python module, you have to have a
separate, full manifest for each version of python, even though they're
essentially identical.  This is a pretty ugly maintenance burden, since on
update, you have to tweak each one in exactly the same way, and every time
a new python version is introduced or removed, you gotta go add or remove a
ton of manifests.  They should be autogenerated.

So here's an attempt at that:

    https://cr.opensolaris.org/action/browse/userland/dduvall/pyver/

There are a couple of things to note:

  - I've included the ability to do the same thing for Perl.  It'll extend
    indefinitely, though the way I managed to make make do this requires
    that those definitions be somewhat intertwined.

  - I'm not even remotely sold on the variable names; if someone has better
    ideas, I'm all ears.

  - The changes to shared-macros.mk are primarily for performance, though
    IIRC, the WS_TOP change is necessary in order that its definition isn't
    too slippery (I can't remember now the exact failure mode, though I can
    retry that if anyone wants to know).

  - The whole canonical-manifests rule was a royal pain in the butt.  You'd
    think it wouldn't have any effect on what I was trying to do, but it
    definitely made things not work until I tweaked everything that used
    it.  I'm tempted to remove it, since I don't really see its purpose,
    but left it in for now.

  - Make is annoyingly fragile.  And yet it deals with chained rulesets
    better than anything else.  <sigh>

  - Assuming folks are okay with this, I'd rewrite all the modules to use
    this, not just mercurial.

Thanks,
Danek
_______________________________________________
userland-discuss mailing list
userland-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/userland-discuss

Reply via email to