[42620] trunk/dports/databases/mysql5-devel/Portfile
Big O
illogical1 at gmail.com
Thu Nov 27 20:42:01 PST 2008
On Thu, Nov 27, 2008 at 4:49 AM, Ryan Schmidt <ryandesign at macports.org> wrote:
> 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?
libmysqld.a needs to be built with -fPIC because it will be linked in
a shared library. the configure flag --with-pic is supposed to do this
but, do to a bug in mysql-5.1 it does not. That's why the c(xx)flag
-fPIC is explicitly added.
http://bugs.mysql.com/bug.php?id=39288
I don't know how building all of mysql with -fPIC would change/affect
anything so I thought making the change in a variant would keep any
issues localized to +embedded_server users (i.e. amarok users).
> 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.
mysql5 can build libmysqld.a as well but from what I understand, this
isn't a supported feature. From all reports though, it works fine.
>
>
>> 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)
I misunderstood the revision's purpose then. I thought that if new
files were being installed that I had to add a revision. Sorry.
>
> 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
Should I fix that?
>
>
>> 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.
heheh. Sorry about that.
>
>
>
--
All your gmail are belong to us.
More information about the macports-dev
mailing list