Re: [119433] trunk/dports/devel/akonadi/Portfile
On Apr 25, 2014, at 8:12 PM, Ryan Schmidt ryandes...@macports.org wrote: If a user is using a port that uses a mysql (or postgresql) database, then the user has just signed up to be a mysql (or postgresql) database administrator, and is responsible for the usual database administrator tasks, like migrating to new versions and upgrading their database when needed. I think the point here is that some users might not realize that they've signed on to be a db administrator /and/ we could possibly make things easier for them... -- Daniel J. Luke ++ | * dl...@geeklair.net * | | *-- http://www.geeklair.net -* | ++ | Opinions expressed are mine and do not necessarily | | reflect the opinions of my employer. | ++ ___ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev
Re: [119433] trunk/dports/devel/akonadi/Portfile
Since you've gone first, could I ask what are you doing for legacy data? Perhaps I'm missing something, but someone that has been using akonadi with mysql5 and then upgrades the port will then get mariadb installed and akonadi configured to use that, instead. No? But mariadb will not contain the user's (presumably) valuable data--which is pretty jarring. The user will need to: 1) use /opt/local/lib/mysql5/bin/mysqldump, 2) shut down the mysql5 server, 3) (a) initialize and, (b) start up the mariadb server, and 4) use mariadb's utility to load the data. 5) Possibly have to reapply any database config tweaks they previously set up. I know that the legacy mysql5 port needs to be retired but it seems like we're going to make existing users jump through a bunch of hoops to get there. I'm not trying to pick on nicos...just trying to see that the implications are understood. In a lot of ways, the akonadi port is similar to my situation with the mythtv* ports. Most users don't care what database is used. They installed the port because it does something useful. Forcing them to upgrade their database doesn't enhance that utility; it just creates work to get back to where they were before. Craig At 5:47 AM -0700 4/25/14, ni...@macports.org wrote: Revision https://trac.macports.org/changeset/119433119433 Author ni...@macports.org Date 2014-04-25 05:47:30 -0700 (Fri, 25 Apr 2014) Log Message akonadi: upgrade to 1.12.1 make variant mysql5 obsolete (replaced by mysql51) make mariadb55 default variant rename mariadb and percona variants with numbers (ticket #43431) Modified Paths trunk/dports/devel/akonadi/Portfile Diff Modified: trunk/dports/devel/akonadi/Portfile (119432 = 119433) --- trunk/dports/devel/akonadi/Portfile 2014-04-25 12:08:04 UTC (rev 119432) +++ trunk/dports/devel/akonadi/Portfile 2014-04-25 12:47:30 UTC (rev 119433) @@ -6,7 +6,7 @@ PortGroup compiler_blacklist_versions 1.0 nameakonadi -version 1.12.0 +version 1.12.1 categories devel kde kde4 maintainers nicos openmaintainer license LGPL-2+ @@ -18,8 +18,8 @@ master_siteskde:stable/${name}/src/ use_bzip2 yes -checksums rmd160 bc47b87f8f228d0a8cf8d180d742c65ed1ce4dd0 \ -sha256 35243793b73e8028973c101c68ef80a8a54be0fe9aa562c9473e73b4657fea26 +checksums rmd160 6e486f4a39948af6f470b652bf3223de75af5e53 \ +sha256 a073228fda8bdbcf836af32d4b4c44dcbe58a3eac6da4e5a286b42ace9d83145 depends_lib-append port:soprano \ port:boost \ @@ -105,18 +105,10 @@ destroot.violate_mtree yes } -variant mysql5 \ - conflicts sqlite mysql51 mysql55 mysql56 mariadb percona \ - description {build with mysql5 port} { +variant mysql5 requires mysql51 description {Legacy compatibility variant} {} - depends_lib-append port:qt4-mac-mysql5-plugin - depends_run-append port:mysql5-server - configure.args-append -DDATABASE_BACKEND=MYSQL \ - -DMYSQLD_EXECUTABLE=${prefix}/libexec/mysqld -} - variant mysql51 \ - conflicts sqlite mysql5 mysql55 mysql56 mariadb percona \ + conflicts sqlite mysql55 mysql56 mariadb55 percona55 \ description {build with mysql51 port} { depends_lib-append port:qt4-mac-mysql51-plugin @@ -126,7 +118,7 @@ } variant mysql55 \ - conflicts sqlite mysql5 mysql51 mysql56 mariadb percona \ + conflicts sqlite mysql51 mysql56 mariadb55 percona55 \ description {build with mysql55 port} { depends_lib-append port:qt4-mac-mysql55-plugin @@ -136,7 +128,7 @@ } variant mysql56 \ - conflicts sqlite mysql5 mysql51 mysql55 mariadb percona \ + conflicts sqlite mysql51 mysql55 mariadb55 percona55 \ description {build with mysql56 port} { depends_lib-append port:qt4-mac-mysql56-plugin @@ -145,8 +137,10 @@ -DMYSQLD_EXECUTABLE=${prefix}/lib/mysql55/bin/mysqld } -variant mariadb \ - conflicts sqlite mysql5 mysql51 mysql55 mysql56 percona \ +variant mariadb requires mariadb55 description {Legacy compatibility variant} {} + +variant mariadb55 \ + conflicts sqlite mysql51 mysql55 mysql56 percona55 \ description {build with mariadb port} { depends_lib-append port:qt4-mac-mariadb-plugin @@ -155,10 +149,12 @@ -DMYSQLD_EXECUTABLE=${prefix}/lib/mariadb/bin/mysqld } -variant percona \ - conflicts sqlite mysql5 mysql51 mysql55 mysql56 mariadb \ - description {build with percona port} { +variant percona requires percona55 description {Legacy compatibility variant} {} +variant percona55 \ + conflicts sqlite mysql51 mysql55 mysql56 mariadb55 \ + description {build with percona55 port} { + depends_lib-append port:qt4-mac-percona-plugin depends_run-append port:percona-server configure.args-append -DDATABASE_BACKEND=MYSQL \ @@ -166,7 +162,7 @@ } variant sqlite \ - conflicts mysql5 mysql51
Re: [119433] trunk/dports/devel/akonadi/Portfile
Hello, I think there is a small misunderstanding about what I committed. You have a fully valid point, which has been discussed briefly in the ticket, but users will not be forced to change database at this stage with this commit. While the new default variant is mariadb (so that new installs will go with it), users with an existing port with the +mysql5 variant are upgraded with the mysql51 variant, which implies that the database stays the same. Cheers, Nicolas On Apr25, 2014, at 22:31, Craig Treleaven ctrelea...@cogeco.ca wrote: Since you've gone first, could I ask what are you doing for legacy data? Perhaps I'm missing something, but someone that has been using akonadi with mysql5 and then upgrades the port will then get mariadb installed and akonadi configured to use that, instead. No? But mariadb will not contain the user's (presumably) valuable data--which is pretty jarring. The user will need to: 1) use /opt/local/lib/mysql5/bin/mysqldump, 2) shut down the mysql5 server, 3) (a) initialize and, (b) start up the mariadb server, and 4) use mariadb's utility to load the data. 5) Possibly have to reapply any database config tweaks they previously set up. I know that the legacy mysql5 port needs to be retired but it seems like we're going to make existing users jump through a bunch of hoops to get there. I'm not trying to pick on nicos...just trying to see that the implications are understood. In a lot of ways, the akonadi port is similar to my situation with the mythtv* ports. Most users don't care what database is used. They installed the port because it does something useful. Forcing them to upgrade their database doesn't enhance that utility; it just creates work to get back to where they were before. Craig At 5:47 AM -0700 4/25/14, ni...@macports.org wrote: Revision https://trac.macports.org/changeset/119433119433 Author ni...@macports.org Date 2014-04-25 05:47:30 -0700 (Fri, 25 Apr 2014) Log Message akonadi: upgrade to 1.12.1 make variant mysql5 obsolete (replaced by mysql51) make mariadb55 default variant rename mariadb and percona variants with numbers (ticket #43431) Modified Paths trunk/dports/devel/akonadi/Portfile Diff Modified: trunk/dports/devel/akonadi/Portfile (119432 = 119433) --- trunk/dports/devel/akonadi/Portfile 2014-04-25 12:08:04 UTC (rev 119432) +++ trunk/dports/devel/akonadi/Portfile 2014-04-25 12:47:30 UTC (rev 119433) @@ -6,7 +6,7 @@ PortGroup compiler_blacklist_versions 1.0 nameakonadi -version 1.12.0 +version 1.12.1 categories devel kde kde4 maintainers nicos openmaintainer license LGPL-2+ @@ -18,8 +18,8 @@ master_siteskde:stable/${name}/src/ use_bzip2 yes -checksums rmd160 bc47b87f8f228d0a8cf8d180d742c65ed1ce4dd0 \ -sha256 35243793b73e8028973c101c68ef80a8a54be0fe9aa562c9473e73b4657fea26 +checksums rmd160 6e486f4a39948af6f470b652bf3223de75af5e53 \ +sha256 a073228fda8bdbcf836af32d4b4c44dcbe58a3eac6da4e5a286b42ace9d83145 depends_lib-append port:soprano \ port:boost \ @@ -105,18 +105,10 @@ destroot.violate_mtree yes } -variant mysql5 \ - conflicts sqlite mysql51 mysql55 mysql56 mariadb percona \ - description {build with mysql5 port} { +variant mysql5 requires mysql51 description {Legacy compatibility variant} {} - depends_lib-append port:qt4-mac-mysql5-plugin - depends_run-append port:mysql5-server - configure.args-append -DDATABASE_BACKEND=MYSQL \ - -DMYSQLD_EXECUTABLE=${prefix}/libexec/mysqld -} - variant mysql51 \ - conflicts sqlite mysql5 mysql55 mysql56 mariadb percona \ + conflicts sqlite mysql55 mysql56 mariadb55 percona55 \ description {build with mysql51 port} { depends_lib-append port:qt4-mac-mysql51-plugin @@ -126,7 +118,7 @@ } variant mysql55 \ - conflicts sqlite mysql5 mysql51 mysql56 mariadb percona \ + conflicts sqlite mysql51 mysql56 mariadb55 percona55 \ description {build with mysql55 port} { depends_lib-append port:qt4-mac-mysql55-plugin @@ -136,7 +128,7 @@ } variant mysql56 \ - conflicts sqlite mysql5 mysql51 mysql55 mariadb percona \ + conflicts sqlite mysql51 mysql55 mariadb55 percona55 \ description {build with mysql56 port} { depends_lib-append port:qt4-mac-mysql56-plugin @@ -145,8 +137,10 @@ -DMYSQLD_EXECUTABLE=${prefix}/lib/mysql55/bin/mysqld } -variant mariadb \ - conflicts sqlite mysql5 mysql51 mysql55 mysql56 percona \ +variant mariadb requires mariadb55 description {Legacy compatibility variant} {} + +variant mariadb55 \ + conflicts sqlite mysql51 mysql55 mysql56 percona55 \ description {build with mariadb port} { depends_lib-append port:qt4-mac-mariadb
Re: [119433] trunk/dports/devel/akonadi/Portfile
But mysql5-server and mysql51-server use different directories for their data, respectively: /opt/local/var/db/mysql5 /opt/local/var/db/mysql51 I guess it then depends on which copy of mysqld the user is running and how the app communicates with the database? Craig (Early on, I ended up with both mysql5 and mysql51 installed. I was thoroughly confused by the subtle difference.) At 12:10 AM +0900 4/26/14, Nicolas Pavillon wrote: Hello, I think there is a small misunderstanding about what I committed. You have a fully valid point, which has been discussed briefly in the ticket, but users will not be forced to change database at this stage with this commit. While the new default variant is mariadb (so that new installs will go with it), users with an existing port with the +mysql5 variant are upgraded with the mysql51 variant, which implies that the database stays the same. Cheers, Nicolas On Apr25, 2014, at 22:31, Craig Treleaven ctrelea...@cogeco.ca wrote: Since you've gone first, could I ask what are you doing for legacy data? Perhaps I'm missing something, but someone that has been using akonadi with mysql5 and then upgrades the port will then get mariadb installed and akonadi configured to use that, instead. No? But mariadb will not contain the user's (presumably) valuable data--which is pretty jarring. The user will need to: 1) use /opt/local/lib/mysql5/bin/mysqldump, 2) shut down the mysql5 server, 3) (a) initialize and, (b) start up the mariadb server, and 4) use mariadb's utility to load the data. 5) Possibly have to reapply any database config tweaks they previously set up. I know that the legacy mysql5 port needs to be retired but it seems like we're going to make existing users jump through a bunch of hoops to get there. I'm not trying to pick on nicos...just trying to see that the implications are understood. In a lot of ways, the akonadi port is similar to my situation with the mythtv* ports. Most users don't care what database is used. They installed the port because it does something useful. Forcing them to upgrade their database doesn't enhance that utility; it just creates work to get back to where they were before. Craig At 5:47 AM -0700 4/25/14, ni...@macports.org wrote: Revision https://trac.macports.org/changeset/119433119433 Author ni...@macports.org Date 2014-04-25 05:47:30 -0700 (Fri, 25 Apr 2014) Log Message akonadi: upgrade to 1.12.1 make variant mysql5 obsolete (replaced by mysql51) make mariadb55 default variant rename mariadb and percona variants with numbers (ticket #43431) Modified Paths trunk/dports/devel/akonadi/Portfile Diff Modified: trunk/dports/devel/akonadi/Portfile (119432 = 119433) --- trunk/dports/devel/akonadi/Portfile 2014-04-25 12:08:04 UTC (rev 119432) +++ trunk/dports/devel/akonadi/Portfile 2014-04-25 12:47:30 UTC (rev 119433) @@ -6,7 +6,7 @@ PortGroup compiler_blacklist_versions 1.0 nameakonadi -version 1.12.0 +version 1.12.1 categories devel kde kde4 maintainers nicos openmaintainer license LGPL-2+ @@ -18,8 +18,8 @@ master_siteskde:stable/${name}/src/ use_bzip2 yes -checksums rmd160 bc47b87f8f228d0a8cf8d180d742c65ed1ce4dd0 \ -sha256 35243793b73e8028973c101c68ef80a8a54be0fe9aa562c9473e73b4657fea26 +checksums rmd160 6e486f4a39948af6f470b652bf3223de75af5e53 \ +sha256 a073228fda8bdbcf836af32d4b4c44dcbe58a3eac6da4e5a286b42ace9d83145 depends_lib-append port:soprano \ port:boost \ @@ -105,18 +105,10 @@ destroot.violate_mtree yes } -variant mysql5 \ - conflicts sqlite mysql51 mysql55 mysql56 mariadb percona \ - description {build with mysql5 port} { +variant mysql5 requires mysql51 description {Legacy compatibility variant} {} - depends_lib-append port:qt4-mac-mysql5-plugin - depends_run-append port:mysql5-server - configure.args-append -DDATABASE_BACKEND=MYSQL \ - -DMYSQLD_EXECUTABLE=${prefix}/libexec/mysqld -} - variant mysql51 \ - conflicts sqlite mysql5 mysql55 mysql56 mariadb percona \ + conflicts sqlite mysql55 mysql56 mariadb55 percona55 \ description {build with mysql51 port} { depends_lib-append port:qt4-mac-mysql51-plugin @@ -126,7 +118,7 @@ } variant mysql55 \ - conflicts sqlite mysql5 mysql51 mysql56 mariadb percona \ + conflicts sqlite mysql51 mysql56 mariadb55 percona55 \ description {build with mysql55 port} { depends_lib-append port:qt4-mac-mysql55-plugin @@ -136,7 +128,7 @@ } variant mysql56 \ - conflicts sqlite mysql5 mysql51 mysql55 mariadb percona \ + conflicts sqlite mysql51 mysql55 mariadb55 percona55 \ description {build with mysql56 port} { depends_lib-append port:qt4-mac-mysql56-plugin @@ -145,8 +137,10
Re: [119433] trunk/dports/devel/akonadi/Portfile
The mysql5 port will be replaced_by the mysql51 port. If you want to stay with the 5.1.x you can use mysql51. If you do not already have mysql51-server installed the following should work fine: sudo port unload mysql5-server sudo port deactivate mysql5-server mysql5 sudo mv /opt/local/var/db/mysql5{,1} sudo port install mysql51-server sudo port activate mysql51-server If you do already have mysql51-server installed and there are databases in /opt/local/var/db/mysql51 that are important to you then you will need to use mysqldump. I know this will be unpleasant for some and while other options for handling mysql versions and forks were considered consensus at the time was that this approach was best and the most consistent with the way other ports like postgres, perl, python, php etc... handled versioning. Perhaps some helper scripts or migration documentation would help smooth the transition. Ideas are welcome. Regards, Bradley Giesbrecht (pixilla) On Apr 25, 2014, at 9:59 AM, Craig Treleaven ctrelea...@cogeco.ca wrote: But mysql5-server and mysql51-server use different directories for their data, respectively: /opt/local/var/db/mysql5 /opt/local/var/db/mysql51 I guess it then depends on which copy of mysqld the user is running and how the app communicates with the database? Craig (Early on, I ended up with both mysql5 and mysql51 installed. I was thoroughly confused by the subtle difference.) At 12:10 AM +0900 4/26/14, Nicolas Pavillon wrote: Hello, I think there is a small misunderstanding about what I committed. You have a fully valid point, which has been discussed briefly in the ticket, but users will not be forced to change database at this stage with this commit. While the new default variant is mariadb (so that new installs will go with it), users with an existing port with the +mysql5 variant are upgraded with the mysql51 variant, which implies that the database stays the same. Cheers, Nicolas On Apr25, 2014, at 22:31, Craig Treleaven ctrelea...@cogeco.ca wrote: Since you've gone first, could I ask what are you doing for legacy data? Perhaps I'm missing something, but someone that has been using akonadi with mysql5 and then upgrades the port will then get mariadb installed and akonadi configured to use that, instead. No? But mariadb will not contain the user's (presumably) valuable data--which is pretty jarring. The user will need to: 1) use /opt/local/lib/mysql5/bin/mysqldump, 2) shut down the mysql5 server, 3) (a) initialize and, (b) start up the mariadb server, and 4) use mariadb's utility to load the data. 5) Possibly have to reapply any database config tweaks they previously set up. I know that the legacy mysql5 port needs to be retired but it seems like we're going to make existing users jump through a bunch of hoops to get there. I'm not trying to pick on nicos...just trying to see that the implications are understood. In a lot of ways, the akonadi port is similar to my situation with the mythtv* ports. Most users don't care what database is used. They installed the port because it does something useful. Forcing them to upgrade their database doesn't enhance that utility; it just creates work to get back to where they were before. Craig signature.asc Description: Message signed with OpenPGP using GPGMail ___ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev
Re: [119433] trunk/dports/devel/akonadi/Portfile
On Apr 25, 2014, at 08:31, Craig Treleaven wrote: Since you've gone first, could I ask what are you doing for legacy data? Perhaps I'm missing something, but someone that has been using akonadi with mysql5 and then upgrades the port will then get mariadb installed and akonadi configured to use that, instead. No? But mariadb will not contain the user's (presumably) valuable data--which is pretty jarring. The user will need to: 1) use /opt/local/lib/mysql5/bin/mysqldump, 2) shut down the mysql5 server, 3) (a) initialize and, (b) start up the mariadb server, and 4) use mariadb's utility to load the data. 5) Possibly have to reapply any database config tweaks they previously set up. I know that the legacy mysql5 port needs to be retired but it seems like we're going to make existing users jump through a bunch of hoops to get there. I'm not trying to pick on nicos...just trying to see that the implications are understood. In a lot of ways, the akonadi port is similar to my situation with the mythtv* ports. Most users don't care what database is used. They installed the port because it does something useful. Forcing them to upgrade their database doesn't enhance that utility; it just creates work to get back to where they were before. As was already mentioned, existing users will be upgraded from mysql5 to mysql51, which is the same version of the software, and merely has a different data directory. Moving the data from the old directory to the new should work. We could perhaps enhance the mysql51 server to work with data from either directory, or maybe just notify users if they have data in the old directory and advise them how to move it. If a user is using a port that uses a mysql (or postgresql) database, then the user has just signed up to be a mysql (or postgresql) database administrator, and is responsible for the usual database administrator tasks, like migrating to new versions and upgrading their database when needed. ___ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev