Opened 18 years ago

Closed 2 years ago

#4115 closed enhancement (fixed)

BUG: mysql4 and mysql5 mutually exclusive

Reported by: yves@… Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mij@…, jyrkiwahlstedt, nox@…
Port: mysql4, mysql5

Description (last modified by ryandesign (Ryan Schmidt))

Both share some files and (correct me if I'm wrong) both use $prefix/var/db/mysql

The official binairies used to install as $prefix/mysql-$version/

Since some other ports depend on shared libs, then it could be $prefix/mysql$major to survive between upgrades with $prefix/var/db/mysql$major ?


Change History (16)

comment:1 Changed 18 years ago by mww@…

I'm currently trying to get along with something similar for postgresql 7 & 8; I put the stuff in $prefix/include/pgsql7, $prefix/lib/pgsql7/bin etc., then symlink the sql-client to $prefix/bin; maybe something similar can do the trick here w/o polluting $prefix and making the user add an awful lot of paths to its $PATH

comment:2 Changed 17 years ago by markd@…

Type: defectenhancement

comment:3 Changed 16 years ago by pipping@…

Milestone: Available Ports

comment:4 Changed 16 years ago by pipping@…

Milestone: Available PortsPort Bugs

comment:5 Changed 16 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… yves@… mij@… jwa@… added; mij@… removed
Milestone: Port BugsPort Enhancements
Summary: BUG: mysql and mysql4 mutually exclusiveBUG: mysql4 and mysql5 mutually exclusive

The port "mysql" was deleted, but the issue remains for "mysql3", "mysql4", "mysql5" and "mysql5-devel".

I'm not sure how much of a big deal this really is, though. Yes, there has been one occasion where I wanted to run a mysql4 server in parallel with my existing mysql5 server. But that was only to test one issue. I don't see this being an everyday desire. As for libraries, if a program is linked against some mysql 4.1.x library, the program should continue to work if you upgrade to a later mysql 4.1.x library. Same for the mysql 5.0.x and 5.1.x series. Now, if you linked against mysql 4.1 and are now upgrading to 5.0, then sure, you'll have to recompile your existing mysql software. Such major upgrades happen so infrequently, however, I'm not sure how much effort we should put into this.

comment:6 Changed 16 years ago by ryandesign (Ryan Schmidt)

On the other hand, there have been some complaints about the allegedly convoluted directory layout the mysql5 port currently inflicts. Moving everything to $prefix/mysql$major (and, if you insist, $prefix/var/db/mysql$major) could greatly simplify the directory layout as well as allow simultaneous installation of different versions. Worth considering.

comment:7 Changed 16 years ago by yves@…

The original issue, if I remember well, was having conflicts not between myself wanting two mysql versions but rather from multiple port dependencies requiring one and another.

For example, koffice requires mysql4 whie flow-tool requires mysql5.

On the other hand, it's been two years without much fuss.

comment:8 Changed 16 years ago by nox@…

Cc: nox@… added
Priority: ExpectedNormal
Version: 1.0

I think we should do another ticket for implementing something like the slot mechanism of Gentoo's Portage packet manager.

comment:9 Changed 14 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)
Port: mysql4 mysql5 added

comment:10 Changed 14 years ago by (none)

Milestone: Port Enhancements

Milestone Port Enhancements deleted

comment:11 Changed 14 years ago by jmroot (Joshua Root)

Cc: ryandesign@… yves@… removed
Owner: changed from michaelm@… to ryandesign@…
Reporter: changed from yves@… to yves@…

comment:12 Changed 14 years ago by blb@…

Can this be closed now that mysql5 installs files suffixed-by-5 in ${prefix}/bin and otherwise uses paths with mysql5 in them?

comment:13 Changed 14 years ago by ryandesign (Ryan Schmidt)

Status: newassigned

No, the issue remains:

--->  Activating mysql4 @4.1.22_0
Error: Target org.macports.activate returned: Image error: /mp/libexec/mysqld is being used by the active mysql5 port.  Please deactivate this port first, or use 'port -f activate mysql4' to force the activation.

I do not foresee working on fixing this in the near future because I am working on other tasks, but I would like to keep this ticket open to document the fact that the issue remains. Even if mysql4 is old and might be deleted in 2010, the issue would remain relevant for a future mysql6 port.

comment:14 Changed 14 years ago by blb@…

Ah, so there's at least one file which still conflicts; at least with MacPorts 1.8 you can simply use the conflicts key to note that the various mysql* ports do conflict (see #18794).

comment:15 in reply to:  14 Changed 14 years ago by ryandesign (Ryan Schmidt)

Replying to blb@…:

with MacPorts 1.8 you can simply use the conflicts key

Done in r57246.

comment:16 Changed 2 years ago by chrstphrchvz (Christopher Chavez)

Resolution: fixed
Status: assignedclosed

In a4a1162eae29d8f8adb744a1b1f420569d5e03b2/macports-ports (master):

mysql4: delete EOL port

Port is not known to currently build; not obsoleting since it is almost
certainly no longer used. Remove all +mysql4 variants from dependents.

Closes: #4115
See: #43431
See: #58607

Note: See TracTickets for help on using tickets.