[42620] trunk/dports/databases/mysql5-devel/Portfile

Ryan Schmidt ryandesign at macports.org
Thu Nov 27 01:49:25 PST 2008


On Nov 26, 2008, at 15:48, illogic-al at macports.org wrote:

> Revision: 42620
>           http://trac.macports.org/changeset/42620
> Author:   illogic-al at macports.org
> Date:     2008-11-26 13:48:36 -0800 (Wed, 26 Nov 2008)
> Log Message:
> -----------
> Add embedded_server variant. Add revision. Fixes ticket #17410.

I'll have to look at this feature, but I may want to just build this  
all the time and forget the variant. (Variants should be created  
sparingly and only when really necessary.) I'm just not sure what's  
up with the -fPIC and --with-pic business. Can you explain?

Some discussion on this change beforehand would have been good. You  
did nothing wrong since the port is openmaintainer, and mysql5-devel  
is a low-profile port because nobody should be using -devel ports for  
anything important, however mysql5 is a high-profile port and I  
strive to keep mysql5 and mysql5-devel in sync in terms of features.  
So I'm going to remove openmaintainer from mysql5-devel now. I'm  
happy to entertain any changes you want to make, I just need to know  
about them and understand them so that I can properly support users  
who come to me asking about them.


> Modified Paths:
> --------------
>     trunk/dports/databases/mysql5-devel/Portfile
>
> Modified: trunk/dports/databases/mysql5-devel/Portfile
> ===================================================================
> --- trunk/dports/databases/mysql5-devel/Portfile	2008-11-26  
> 21:45:29 UTC (rev 42619)
> +++ trunk/dports/databases/mysql5-devel/Portfile	2008-11-26  
> 21:48:36 UTC (rev 42620)
> @@ -5,6 +5,7 @@
>  name                    mysql5-devel
>  set vers                5.1.29
>  version                 ${vers}-rc
> +revision                2

Note that

a) there was no reason to increase the revision when only adding a  
variant, because nothing will change for anyone who already had the  
port installed; anyone who wants this variant still has to rebuild  
the port with the new variant (though if we change it to build the  
embedded server always, and delete the variant, as I suggested above,  
then we will have to increase the revision, because that will change  
the files that get installed)

b) the default revision is 0, not 1, so if you add a revision line to  
a port that didn't have one, in order to increase the revision, the  
line should set the revision to 1, not 2


>  set branch              [join [lrange [split ${version} .] 0 1] .]
>  homepage                http://www.mysql.com/
>  categories              databases
> @@ -95,6 +96,13 @@
>      configure.cppflags-append   -I${worksrcpath}/include
>  }
>
> +variant embedded_server description "Build libmysqld embedded  
> server" {
> +    configure.cflags-append -fPIC
> +    configure.cxxflags-append -fPIC
> +    configure.args-append --with-embedded-server \
> +    --with-pic
> +}
> +
>  variant server description {add a startup item} {
>      configure.args-delete --without-server
>      # Create a startupitem to start/stop the server
> @@ -131,21 +139,21 @@
>      # Some directories we must have in all cases
>      xinstall -m 755 -d ${destroot}${sysconfdir}
>      destroot.keepdirs-append ${destroot}${sysconfdir}
> -
> +
>      # It has trouble installing in parallel if this doesn't  
> already exist
>      # See http://bugs.mysql.com/36560
>      xinstall -d ${destroot}${prefix}/mysql-test
>      xinstall -d ${destroot}${prefix}/mysql-test/ndb
> -
> +
>      # Setup only for server
>      if { [variant_isset server] } {
>          addgroup ${mysqluser}
>          set gid [existsgroup ${mysqluser}]
>          adduser ${mysqluser} gid=${gid} realname=MySQL\ Server
> -
> +
>          # Some directories we must have only if we're running as a  
> server
>          xinstall -m 755 -o root -d ${destroot}${prefix}/var/run
> -
> +
>          xinstall -m 755 -o ${mysqluser} -g ${mysqluser} -d \
>              ${destroot}${dbdir} \
>              ${destroot}${prefix}/var/run/${mysql}
> @@ -157,7 +165,7 @@
>
>  post-destroot {
>      delete ${destroot}${prefix}/mysql-test
> -
> +
>      # Fix paths in manpages and sample configuration files
>      foreach manpage [glob -type f ${destroot}${prefix}/share/man/ 
> man\[1-9\]/*] {
>          reinplace "s|/etc/my.cnf|${sysconfdir}/my.cnf|g" ${manpage}
> @@ -165,7 +173,7 @@
>      foreach samp_conffile [glob -type f ${destroot}${prefix}/share/ 
> ${mysql}/mysql/my-*.cnf] {
>          reinplace "s|/etc/my.cnf|${sysconfdir}/my.cnf|g" $ 
> {samp_conffile}
>      }
> -
> +
>      # Symlink mysql binaries into bin directory, with $ 
> {major_version} appended to the name
>      foreach f [glob -tails -directory ${destroot}${bindir} my*] {
>          ln -sf ${bindir}/${f} ${destroot}${prefix}/bin/${f}$ 
> {major_version}

Please don't make stylistic whitespace changes in ports that others  
maintain. :) In this case there's again consistency with mysql5 (and  
to a lesser extent mysql4) to consider, and it's also just the style  
I use in most of my ports so I like to keep it that way.




More information about the macports-dev mailing list