[92672] trunk/dports/databases/mysql51

pixilla at macports.org pixilla at macports.org
Thu May 3 11:10:45 PDT 2012


Revision: 92672
          https://trac.macports.org/changeset/92672
Author:   pixilla at macports.org
Date:     2012-05-03 11:10:45 -0700 (Thu, 03 May 2012)
Log Message:
-----------
databases/mysql51:
- Change to startupitem.executable type and remove mysql5 conflict.
  "port load mysql51" now works with "port mysql_select mysql5".
- Add skip-networking to "macports-default.cnf", included in "my.cnf" by default
  so "port load" can load all mysql by default with fighting for tcp port 3306.

Modified Paths:
--------------
    trunk/dports/databases/mysql51/Portfile
    trunk/dports/databases/mysql51/files/mysql51

Modified: trunk/dports/databases/mysql51/Portfile
===================================================================
--- trunk/dports/databases/mysql51/Portfile	2012-05-03 14:54:44 UTC (rev 92671)
+++ trunk/dports/databases/mysql51/Portfile	2012-05-03 18:10:45 UTC (rev 92672)
@@ -4,14 +4,13 @@
 PortSystem          1.0
 
 name                mysql51
-# Fixme: Subdir mysql5.
-# Conflict due to mysqld_safe finding mysql5 ports ${prefix}/libexec/mysqld.
-conflicts           mysql5
+set name_mysql      ${name}
 version             5.1.62
+revision            1
 categories          databases
 platforms           darwin
+license             GPL-2
 maintainers         pixilla openmaintainer
-license             GPL-2
 
 if {"darwin" == ${os.platform} && ${os.major} > 8} {
     set mysqluser       _mysql
@@ -21,7 +20,7 @@
 
 if {$subport == $name} {
 
-# http://bugs.mysql.com/bug.php?id=47360
+    # http://bugs.mysql.com/bug.php?id=47360
     PortGroup           muniversal 1.0
     PortGroup           archcheck 1.0
     PortGroup           select 1.0
@@ -141,13 +140,12 @@
             # Fix paths in sample configuration files
             reinplace "s|/etc/my.cnf|${prefix}/etc/${name}/my.cnf|g" ${samp_conffile}
         }
-        
     }
     
     post-install {
-        if {![file exists ${prefix}/etc/LaunchDaemons/org.macports.${name}/org.macports.${name}.plist]} {
-            ui_msg "The MySQL client has been installed."
-            ui_msg "If you also want a MySQL server, install the mysql5-server port."
+        if {![file exists ${prefix}/etc/LaunchDaemons/org.macports.${name}/org.macports.${name}-server.plist]} {
+            ui_msg "The ${name} client has been installed."
+            ui_msg "To install the ${name} server, install the ${name}-server port."
         }
     }
     
@@ -160,51 +158,77 @@
         archcheck.files-append  lib/libssl.dylib
     }
 
-    livecheck.type          regex
-    livecheck.version       [lindex [split ${version} -] 0]
-    livecheck.url           http://dev.mysql.com/
-    livecheck.regex         "<a href=\"http://dev.mysql.com/downloads/mysql/\[^\"\]+\">(${branch}(\.\[0-9.\]+)?)\[^<\]*</a>"
+    livecheck.type      regex
+    livecheck.version   [lindex [split ${version} -] 0]
+    livecheck.url       http://dev.mysql.com/
+    livecheck.regex     "<a href=\"http://dev.mysql.com/downloads/mysql/\[^\"\]+\">(${branch}(\.\[0-9.\]+)?)\[^<\]*</a>"
 }
-subport mysql51-server {
 
-    license                 BSD
-    description             Multithreaded SQL database server
-    long_description        MySQL is an open-source, multi-threaded SQL database with a command \
-                            syntax very similar to mSQL.
+subport ${name_mysql}-server {
+
+    revision            1
+    license             BSD
+    description         Run ${name_mysql} as server
+    long_description    ${description}
     
-    homepage                http://www.mysql.com/
-    supported_archs         noarch
+    supported_archs     noarch
     distfiles
     
-    depends_run             port:${name}
+    depends_run         port:${name_mysql}
     
+    if {"darwin" == ${os.platform} && ${os.major} > 8} {
+        set mysqluser       _mysql
+    } else {
+        set mysqluser       mysql
+    }
     add_users ${mysqluser} group=${mysqluser} realname=MySQL\ Server
     
     startupitem.create      yes
-    startupitem.name        ${name}
-    startupitem.start       "${prefix}/share/${name}/mysql/mysql.server start"
-    startupitem.stop        "${prefix}/share/${name}/mysql/mysql.server stop"
+    startupitem.executable  ${prefix}/lib/${name_mysql}/bin/mysqld --user=${mysqluser}
     
-    use_configure           no
+    use_configure       no
     
     build {}
     
     destroot {
         xinstall -m 755 -o root -d ${destroot}${prefix}/var/run
         xinstall -m 755 -o ${mysqluser} -g ${mysqluser} -d \
-            ${destroot}${prefix}/var/db/${name} \
-            ${destroot}${prefix}/var/log/${name} \
-            ${destroot}${prefix}/var/run/${name}
+            ${destroot}${prefix}/etc/${name_mysql} \
+            ${destroot}${prefix}/var/db/${name_mysql} \
+            ${destroot}${prefix}/var/log/${name_mysql} \
+            ${destroot}${prefix}/var/run/${name_mysql}
         destroot.keepdirs-append  \
-            ${destroot}${prefix}/var/db/${name} \
-            ${destroot}${prefix}/var/log/${name} \
-            ${destroot}${prefix}/var/run/${name}
+            ${destroot}${prefix}/var/db/${name_mysql} \
+            ${destroot}${prefix}/var/log/${name_mysql} \
+            ${destroot}${prefix}/var/run/${name_mysql}
+        set fp [open "${destroot}${prefix}/etc/${name_mysql}/macports-default.cnf" "w"]
+        puts $fp "# WARNING! ANY CHANGES TO THIS FILE WILL BE LOST ON UNINSTALL/UPGRADES!"
+        puts $fp "# Make your changes to ${prefix}/etc/${name_mysql}/my.cnf"
+        puts $fp "# YOU HAVE BEEN WARNED!"
+        puts $fp ""
+        puts $fp "# MacPorts default options"
+        puts $fp "\[mysqld\]"
+        puts $fp "# skip-networking so multple mysql server ports can be loaded"
+        puts $fp "# without each competing for port 3306."
+        puts $fp "# One can always put the servers on different ports and"
+        puts $fp "# remove or comment this option."
+        puts $fp "skip-networking"
+        close $fp
     }
     
+    post-activate {
+        if {![file exists ${prefix}/etc/${name_mysql}/my.cnf]} {
+            set fp [open "${prefix}/etc/${name_mysql}/my.cnf" "w"]
+            puts $fp "# Use default MacPorts settings"
+            puts $fp "!include ${prefix}/etc/${name_mysql}/macports-default.cnf"
+            close $fp
+        }
+    }
+
     notes "
     
     If this is a new install you might want to run:
-        \$ sudo -u ${mysqluser} ${prefix}/lib/${name}/bin/mysql_install_db
+        \$ sudo -u ${mysqluser} ${prefix}/lib/${name_mysql}/scripts/mysql_install_db
     
     "
     

Modified: trunk/dports/databases/mysql51/files/mysql51
===================================================================
--- trunk/dports/databases/mysql51/files/mysql51	2012-05-03 14:54:44 UTC (rev 92671)
+++ trunk/dports/databases/mysql51/files/mysql51	2012-05-03 18:10:45 UTC (rev 92672)
@@ -18,6 +18,7 @@
 lib/mysql51/bin/mysql_find_rows
 lib/mysql51/bin/mysql_fix_extensions
 lib/mysql51/bin/mysql_fix_privilege_tables
+lib/mysql51/bin/mysql_install_db
 -
 lib/mysql51/bin/mysql_secure_installation
 lib/mysql51/bin/mysql_setpermission
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120503/e217703e/attachment-0001.html>


More information about the macports-changes mailing list