It’s just data

TCO

Mark Pilgrim: What follows are instructions for building and installing MySQL 5 on Ubuntu. These instructions should work perfectly on both Feisty (7.04) and Gutsy (7.10).

Priceless.

From what I hear, people have had trouble with Leopard and Vista.  By contrast, and like others, I found that the default font for Firefox wasn’t to my liking on one of the three machines I installed Gutsy on.


See [link]

for MySQL 5 / Leopard install description

Posted by Anthony Starks at

Pilgrim’s argument is a complete straw man. In fact, Ubuntu was created exactly because Debian packages were always lagging behind the most recent version and, although (relatively) secure by virtue of patches applied by the Debian developers, caused people all the time to use the testing distribution or compile their own versions. Ubuntu suffers much less of this problem, of course, but is not the final answer to dependency management (one just needs to look at the time Gaim morphed into Pidgin to realized that).

And before somebody accuses me of being a Mac fanboy, I do own a Mac but use Ubuntu and WIndows much more frequently and between Mac and Ubuntu I would take the latter anyday without a single moment of hesitation.

Posted by Ronaldo at

Telhado de Vidro

Considerando o status do Mark Pilgrim como blogueiro, o seu texto irônico sobre a diferença de instalação do MySQL no Mac OS X e Ubuntu vai estar amanhã no topo do Digg e de todos os outros canais semi-importantes da parte tecnológica da blogosfera....

Excerpt from Superfície Reflexiva at

I switched from Debian to Ubuntu in April of 2005 for exactly the reason you stated.

From my point of view there is somewhat of a gap between “complete strawman” and “final answer”.  While I have (by choice) compiled projects like Firefox from source, switching from Gaim to Pidgin did not require me to recompile anything or to become ineligible for security updates.  Everything from USB to hibernate to wireless to copy and paste just works.  So from this developer’s point of view, I would rank Ubuntu closer to “final answer” than “complete strawman”.

Posted by Sam Ruby at

I really don’t understand Mark’s rant.

If, under MacOSX, all you want is a package-manager install of MySQL,

% fink install mysql mysql-client

works just fine under Leopard. And, yes, there’s a GUI, if you’ve developed a phobia about the commandline.

If for some reason, you want a customized installation, or just want the latest release (fink provides 5.0.38 the current release is 5.0.45; which version does Ubuntu’s package manager provide?), then I don’t see how you avoid using the commandline.

I had lots of trouble with the upgrade to Leopard, since I have a highly ... ahem  ... customized system. But upgrading fink and all of its packages was not one of the problems

% fink selfupdate
% fink rebuild fink
% fink update-all

(Just as a point of information, Xcode 3.0 is available on the Leopard Install DVD, You don’t need to disclose any personal information to get it. Since it only runs on Leopard, now that the latter has been released, it’s not clear why anyone would still want to download the 1.1 GB standalone version from ADC. And, as to the personal information you have to divulge, in order to sign up for the free ADC membership that entitles you to download the standalone copy of Xcode? Let’s just say that, on the internet, nobody knows you’re a dog.)

Posted by Jacques Distler at

fink install mysql mysql-client

Can you install the server that way too?  If so, then I don’t understand Dan Benjamin felt he needed to write this up.

which version does Ubuntu’s package manager provide?

5.0.45-1ubuntu3

Posted by Sam Ruby at

My point is that there are some areas in Ubuntu that cause the same problems that Pilgrim described.

You cite wireless and copy and paste--ironically I find copy and paste one of the most inconsistent areas of Linux’s user interface, and wireless, even in Ubuntu, is more of a hit-or-miss proposition (mine stopped working when I transitioned from 6.10 to 7.04 and didn’t work again until I downgraded the kernel; the forums were full of similar experiences).

As for Gaim and Pidgin, as far as I know, Pidgin was not incorporated in Ubuntu until 7.10. Previously, it required you to download a non-official package subject to the same security issues a custom MySQL would imply . Gaim was also so intertwined in Ubuntu that it could not be removed.

As Distler cites, fink or port, for the developer public, fill the dependency management gap in Mac OS X. Granted, it’s not perfect but it’s far from manual compilation. In fact, I installed MySQL 5.0.45 (both server and client) via port just a couple days ago.

Posted by Ronaldo Ferraz at

Can you install the server that way too?

That command installs both server and client.

If so, then I don’t understand Dan Benjamin felt he needed to write this up.

His writeup is not the one that I would have written, even though I do compile mine from source. My procedure is

  % ../mysql-mods/build
  % sudo ../mysql-mods/install

I started with a double-clickable installer package from Mark Liyanage, ages ago, and keep the installation up-to-date with the aforementioned shellscripts.

But, saying those words (and adding a link to the shellscripts) would not make for a very impressive-sounding tutorial, would it?

Posted by Jacques Distler at

I really don’t understand Mark’s rant

Short answer: its sole purpose was to get people to talk about package management.

Long answer: Comprehensive dependency tracking and automatic package updating is a Tier 1 feature, the single biggest user-facing advantage of Linux distributions over similarly targeted proprietary operating systems.  Software freedom is the Tier 0 feature that enables this to work as well as it does.  (If you want to see how well the system works without software freedom, check out the 64-bit Windows forums where people complain endlessly about driver incompatibilities.)  Therefore, anything that gets people talking about package management is a victory, however indirectly, for software freedom.

And I must say, it has been an unmitigated success.  Thanks for playing.

Posted by Mark at

Ronaldo: Since testing security was started Debian users no longer need to choose between recent packages and security updates. I actually just upgraded my desktop from etch to testing last night, and it was painless. I also upgraded some Windows XP machines at UCC last night, and I spent some time digging around to find and run all the different update applications I could - Windows, Firefox, Acrobat, Google, Apple and Java. This doesn’t count the games that have their own updaters like Steam and WoW.

Of course, the reason I upgraded was to get the latest nvidia driver to fix some rendering bugs in Team Fortress 2 (it did fix the worst one, but the green remains) but I had been pondering upgrading for a few weeks before.

Elsewhere: Package Management: Apt-Get It or For-get It.

Posted by James at

As a developer using OS X for some of our releases, Apple’s lack of built in package management wastes a lot of my time. If I want to set up my work environment, now I have to pick one of three or four different third party packaging solutions, with their own set of trade offs, and guesstimate which one will actually deliver timely updates for the software I need, rather than being able to rely on Apple to do it.

Posted by Dalibor Topic at

Dalibor — in fact, OS X does have built-in package management (i.e. Installer and .pkg and .mpkg bundles).  What they don’t provide is an officially endorsed package/port repository for e.g. Mysql 5.  I’m not arguing that this isn’t a problem for a given class of users, but the lack of a package management system isn’t it.

For my purposes, I’ve never been bitten by port install mysql5 +server, but YMMV.

Posted by d.w. at

... in fact, OS X does have built-in package management (i.e. Installer and .pkg and .mpkg bundles).  What they don’t provide is an officially endorsed package/port repository for e.g. Mysql 5.

Indeed.

Which brings up the most bizarre feature of Mark’s rant. The two alternatives being contrasted were

But there’s a 3rd way to get MySQL for MacOSX. In fact, its the  one strongly recommended by the MySQL folks. Namely,

Probably, the intelligent thing to discuss would be whether Apple should open up SoftwareUpdate.app to allow it to query the sites of 3rd Party developers. I can see problems with that (as well as tremendous benefits).

But I guess that discussion wouldn’t fit so neatly into Mark’s agenda, whatever the heck it is.

Posted by Jacques Distler at

Jacques: If you’d read the parodied article you’d see the #1 reason for compiling MySQL 5.0 on OS X 10.5 is because “As of today (2007-11-09) there isn’t a MySQL package-installer for Leopard, and the Tiger one has a few issues”.

Posted by James at

What are those issues?

While I happen to compile my own, I use exactly the same compiler flags as the MySQL folks do (except for the target location).

The version compiled for Tiger continued to work flawlessly after upgrading to Leopard.



Posted by Jacques Distler at

Don’t ask me, I don’t use OS X or MySQL if I can help it.

Posted by James at

I wrote:

I use exactly the same compiler flags as the MySQL folks do (except for the target location).

Sorry. I cannot tell a lie. There are two other differences between their compiler flags

CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc \
CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors \
    -fno-exceptions -fno-rtti" \
    ./configure --prefix=/usr/local/mysql \
    --with-extra-charsets=complex --enable-thread-safe-client \
    --enable-local-infile \
    --disable-shared

and mine

CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc \
CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors \
   -fno-exceptions -fno-rtti" \
   ./configure --prefix=/Library/MySQL \
   --with-extra-charsets=complex--enable-thread-safe-client \
   --enable-local-infile \
   --with-innodb \
   --enable-shared

I would be very surprised if they made a difference to how the binary Installer package functioned under Leopard. (But they do explain why I continue to roll my own, despite Mark’s admonition to the contrary.)

Posted by Jacques Distler at

(i.e., which uses Apple’s package management system)

You keep using that word.  I do not think it means what you think it means.

Posted by Mark at

See, e.g. here.

Posted by Jacques Distler at

Features of package management systems, as I see it:

1. Install/remove/upgrade software from package file
2. Enforce package dependencies
3. Find and retrieve package by name. (Thus find updates, install dependencies, etc)

The Apple installer (and the Microsoft one) do 1, of course.
In principle they could do 2, and for system software they do. However it only works well if most software uses the package manager. Adding this would bring them roughly on par with RPM/dpkg.
Doing 3 requires some sort of central repository, and that’s the really difficult part with commercial software from multiple vendors. This would be on par with apt.

Posted by Sam McCall at

In principle they could do 2, and for system software they do. However it only works well if most software uses the package manager.

In my experience, almost all software for MacOSX which requires anything more complicated than a drag-'n-drop install (no external dependencies), uses the package manager.

Doing 3 requires some sort of central repository, and that’s the really difficult part with commercial software from multiple vendors.

See my comment above. It doesn’t require a central repository for the software itself (since the updates are digitally-signed, you could retrieve them from the vendor’s own site). But it probably would require a central database that clients could query to determine what needs updating.

This would be on par with apt.

Indeed. Nothing about apt-get implies that the binaries retrieved are open-source. It works just as well binaries that are proprietary software.

Posted by Jacques Distler at

Hmm, you’re right. And if packages were named with URIs (pointing to some sort of manifest listing available versions) then a central repository wouldn’t be needed.

Posted by Sam McCall at

pkg(5) names its packages with URIs, although they have a short name for human use.

Posted by James at

Why would someone want to do this? Geeks!

Posted by Bob Feller at

And if packages were named with URIs (pointing to some sort of manifest listing available versions) then a central repository wouldn’t be needed.

I don’t see why you need to uglify the package name. Put the URL and Public Key for the upgrade server in one of the files in the /Library/Receipts/[Name-of-Package].pkg/ directory. I believe SystemUpdate scans this directory to determine which packages you have installed. It would be straightforward to obtain a list of 3rd-party upgrade servers to query at the same time.

Posted by Jacques Distler at

When a package wants to identify a dependency from another source (e.g. my video application needs QuickTime 9, or my haxie needs APE) I don’t want Software Update to google ‘quicktime’ and install whatever comes back.

When the ‘package repository’ is distributed, you also need to be able to distinguish between the 5 different 'Advanced Scientific Calculator’s.

Of course there would need to be a short pretty name for the UI, but I’d argue that’s the one that gets tucked away in a configuration file.

Posted by Sam McCall at

When a package wants to identify a dependency from another source (e.g. my video application needs QuickTime 9, or my haxie needs APE) I don’t want Software Update to google ‘quicktime’ and install whatever comes back.

Of course not.

It should identify a URL (and, preferably provide a Public Key) for the preferred source of each dependency. (URLs for mirrors could be determined by querying the main site.)

A “ports collection” comes with that information for all of the packages in the collection, predefined. I was not suggesting a “ports collection” (what you called a "package repository") for 3rd party software.

I think that would be pretty unworkable.

Posted by Jacques Distler at

About Macs

If I hear one more time how Macs are expensive and just for fashion victims, I’ll throw up. This urban myth keeps coming up for so long, that it’s not really funny any more. These two statements that Macs are a) expensive and b) merely a fashion...

Excerpt from Past Midnight at

[from connolly] Sam Ruby: TCO

[link]...

Excerpt from del.icio.us/network/myakura at

About Macs

If I hear one more time how Macs are expensive and just for fashion victims, I’ll throw up. This urban myth keeps coming up for so long, that it’s not really funny any more. These two statements that Macs are a) expensive and b) merely a fashion...

Excerpt from Past Midnight at

Add your comment