On Mar 24, 2012, at 09:36, [email protected] wrote:

> Revision: 91162
>          https://trac.macports.org/changeset/91162
> Author:   [email protected]
> Date:     2012-03-24 07:36:17 -0700 (Sat, 24 Mar 2012)
> Log Message:
> -----------
> yum: fix py-nose dependency, add branch variable, add default variant
> 
> Modified Paths:
> --------------
>    trunk/dports/sysutils/yum/Portfile
> 
> Modified: trunk/dports/sysutils/yum/Portfile
> ===================================================================
> --- trunk/dports/sysutils/yum/Portfile        2012-03-24 14:17:40 UTC (rev 
> 91161)
> +++ trunk/dports/sysutils/yum/Portfile        2012-03-24 14:36:17 UTC (rev 
> 91162)
> @@ -4,6 +4,7 @@
> 
> name          yum
> version               3.2.29
> +set branch   [join [lrange [split ${version} .] 0 1] .]
> platforms     darwin
> categories    sysutils archivers
> maintainers   mac.com:n3npq afb
> @@ -15,7 +16,7 @@
>                       update each one using rpm.
> 
> homepage      http://yum.baseurl.org/
> -master_sites ${homepage}download/3.2/
> +master_sites ${homepage}download/${branch}/
> checksums     md5 8b6b106190980c606b77ebf6a81b5f70 \
>               sha1 30207763c6a6fbf2f5dc32512bd3eb208f7d39d1 \
>               rmd160 ab885fc93875925ae57ceabc8731357221d1fae3
> @@ -23,7 +24,7 @@
> patchfiles    patch-prefix.diff patch-sqlutils.py patch-packages.py
> 
> depends_lib   lib:librpm:rpm port:python24 port:py-celementtree 
> port:py-urlgrabber port:py-libxml2 port:py-yum-metadata-parser 
> port:py-iniparse port:py-pygpgme
> -depends_build        port:intltool port:py-nose
> +depends_build        port:intltool port:py24-nose
> 
> set python.bin        ${prefix}/bin/python2.4
> 
> @@ -44,10 +45,13 @@
> build.args    PYTHON="${python.bin}"
> destroot.args PYTHON="${python.bin}" PYSYSDIR="${prefix}"
> 
> -variant python25 description "use python 2.5 instead of python 2.4" {
> +variant python24 description "use python 2.4" {}
> +default_variants +python24

You should only make python24 the default variant if the user has not already 
chosen a different python variant. See:

https://trac.macports.org/wiki/PortfileRecipes#default_variants

Otherwise we get both variants active:

$ sudo port -s install yum +python26
--->  Computing dependencies for yum
--->  Fetching yum
--->  Verifying checksum(s) for yum
--->  Extracting yum
--->  Configuring yum
--->  Building yum
--->  Staging yum into destroot
--->  Installing yum @3.2.29_0+python24+python26
--->  Activating yum @3.2.29_0+python24+python26
--->  Cleaning yum

Usually you would declare all the python variants as conflicting with one 
another; in that case, if you don't restrict your application of 
default_variants, the user will get:

$ sudo port -s install yum +python26
Error: yum: Variant python26 conflicts with python24
Error: Unable to open port: Error evaluating variants


> +variant python25 description "use python 2.5" {
>       depends_lib-delete      port:python24 port:py-celementtree 
> port:py-urlgrabber port:py-libxml2 port:py-yum-metadata-parser 
> port:py-iniparse port:py-pygpgme
>       depends_lib-append      port:python25 port:py25-celementtree 
> port:py25-urlgrabber port:py25-libxml2 port:py25-yum-metadata-parser 
> port:py25-iniparse port:py25-pygpgme
> -     depends_build-delete    port:py-nose
> +     depends_build-delete    port:py24-nose
>       depends_build-append    port:py25-nose
>       set python.bin          ${prefix}/bin/python2.5
>       build.args-delete       PYTHON="${prefix}/bin/python2.4"
> @@ -56,10 +60,10 @@
>       destroot.args-append    PYTHON="${prefix}/bin/python2.5"
> }
> 
> -variant python26 description "use python 2.6 instead of python 2.4" {
> +variant python26 description "use python 2.6" {
>       depends_lib-delete      port:python24 port:py-celementtree 
> port:py-urlgrabber port:py-libxml2 port:py-yum-metadata-parser 
> port:py-iniparse port:py-pygpgme
>       depends_lib-append      port:python26 port:py26-celementtree 
> port:py26-urlgrabber port:py26-libxml2 port:py26-yum-metadata-parser 
> port:py26-iniparse port:py26-pygpgme
> -     depends_build-delete    port:py-nose
> +     depends_build-delete    port:py24-nose
>       depends_build-append    port:py26-nose
>       set python.bin          ${prefix}/bin/python2.6
>       build.args-delete       PYTHON="${prefix}/bin/python2.4"

The python25 and python26 variants are still complicated by redundant code.


Unrelatedly, I'm realizing yum does not install any architecture-specific 
files, and so needs "supported_archs noarch".


I'm attaching a patch to address these issues.


Attachment: yum.diff
Description: Binary data

_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to