Making clean archives for distribution on Mac OS X

Looking at a ticket on the WordPress bug tracker yesterday, I was reminded of a little thing that can be a problem when you use OS X to generate archives for distribution.

The problem

The built-in archiver of Mac OS X adds metadata directories and files, like __MACOSX and .DS_Store, to the archives it makes. On Mac OS X these directories and files are hidden by default. On other operating systems, however, in addition to being useless, they are also visible, cluttering the view and confusing the users:

ZIP archive made on Mac OSX and opened in Linux/GNOME

ZIP archive made on OS X and opened in Windows 7

Above are two ZIP archives made on OS X and opened in other operating systems, Linux/GNOME and Windows 7. Notice the __MACOSX folders. What are they? What are they there for? Maybe I can ignore them. But if I can ignore them, why are they there in the first place? Please, someone explain this to me because I feel stupid right now!

The solution

CleanArchiver for Mac OS X, Preferences

If you use OS X and make ZIP archives that you send to other people or distribute publicly, a simple solution to this problem is CleanArchiver, a little free archiver by Anyakichi that, among other things:

has the ability not to include system files peculiar to Mac OS X such as .DS_Store and custom icon file (Icon\r) in your archive. So your archive is always clean on other operating systems.

CleanArchiver is simple to use: Throw it to your Dock and, when you want to package something, drop it on the icon.

It can make archives of other types too, including GZIP and BZIP2, and it also has some more preferences that you can set. It comes with a short help file that explains all its functionality in English and in Japanese. Get CleanArchiver from its homepage:

And thank you for reading! —δκ