Opened 8 years ago

Last modified 8 years ago

#50822 assigned request

[New Port Request] Percona Server for MongoDB

Reported by: moderndeveloperllc (Mark Garrett) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: zquestz (Josh Ellithorpe)
Port:

Description

Several months ago Percona purchased Tokutek and their branch of MongoDB. Percona now has their own product, Percona Server for MongoDB, that includes a proprietary storage engine - PerconaFT. As MacPorts currently supports Percona's MySQL replacement, it would be great if it supported the MongoDB drop-in replacement too.

Source Code: https://www.percona.com/downloads/percona-server-mongodb/LATEST/

Change History (5)

comment:1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: quest@… added
Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned

Fascinating, thanks for letting me know. I guess I'll call it percona-mongodb. Maybe we should rename the existing percona port to percona-mysql too.

comment:2 Changed 8 years ago by moderndeveloperllc (Mark Garrett)

That sounds great! Would renaming the existing port be reasonably seamless for users? I guess adding this package would also require a mongodb-select port similar to other multi-version packages like PHP, MySQL, etc. It would appear that a binary swap (via aliases) would work here too.

comment:3 in reply to:  2 ; Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to mark@…:

That sounds great! Would renaming the existing port be reasonably seamless for users?

Yes, port replacement or renaming can be made seamless.

I guess adding this package would also require a mongodb-select port similar to other multi-version packages like PHP, MySQL, etc. It would appear that a binary swap (via aliases) would work here too.

Adding a select port would be more involved. The select ports for php, mysql, etc. rely on the fact that none of the php or mysql ports themselves provide the executables of the generic names. No php port provides /opt/local/bin/php. No mysql port provides /opt/local/bin/mysqld. That leaves it up to the select port to provide them, as symlinks to wherever the php and mysql ports put the real files. The current mongodb port, on the other hand, does provide /opt/local/bin/mongod; the only way to make a select port that could provide /opt/local/bin/mongod would be if the mongodb port were changed to install that file, and all other files we would want to select, in different locations. And then all ports that use mongodb would have to be adjusted to look for those files in those new locations. I haven't yet looked at the percona fork of mongodb to see whether they use the same filenames or different ones, so I don't yet know to what extent, if any, changes will be needed in the mongodb port.

comment:4 in reply to:  3 Changed 8 years ago by pixilla (Bradley Giesbrecht)

Replying to ryandesign@…:

Replying to mark@…:

That sounds great! Would renaming the existing port be reasonably seamless for users?

Yes, port replacement or renaming can be made seamless.

The mysql-server ports use ${prefix}/var/db/${name} as the default database directory so changing the port name could orphan databases.

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

That's true. That would be a good reason not to change the existing percona port name.

Note: See TracTickets for help on using tickets.