<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="/style/browser.xsl" type="text/xsl"?>
<essay xmlns="http://docbook.org/ns/docbook"
       xmlns:xlink="http://www.w3.org/1999/xlink"
       xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
       xmlns:dc='http://purl.org/dc/elements/1.1/'
       xmlns:dcterms="http://purl.org/dc/terms/"
       xmlns:gal='http://norman.walsh.name/rdf/gallery#'
       xmlns:foaf="http://xmlns.com/foaf/0.1/"
       xml:lang="en"
       version='5.0'>
<info>
<title>Back in Mac</title>
<volumenum>10</volumenum>
<issuenum>142</issuenum>
<pubdate>2007-12-21T16:25:55-05:00</pubdate>
<date>$Date$</date>
<author><personname>
<firstname>Norman</firstname><surname>Walsh</surname>
</personname></author>
<copyright><year>2007</year><holder>Norman Walsh</holder></copyright>
<abstract>
<para>My Mac's back (sortof). Next time I have to do the reinstall dance, these notes
will help.</para>
</abstract>
</info>

<para xml:id='p1'>Apple claims
<link xlink:href="http://norman.walsh.name/2007/12/15/moreLossage">my
problems</link> were user error, not hardware error, i.e., they went away
after they reinstalled the OS. I'm not convinced, but what can I do. (There's a
longer story involving unrecoverable filesystem errors and multiple
iterations of the reinstall dance, but I'll spare you; if I touched
something electronic this week, it probably broke.)</para>

<para xml:id='p2'>How to rebuild your Mac environment…
</para>

<orderedlist>
<listitem>
<para xml:id='p3'>Reinstall the OS. Run <guimenuitem>Software Update</guimenuitem>. Repeat until 
it says it's done. Restore all your backup data. Merge your old home directory
into the new one that the install created. (Next time I might create an admin user
just for the purpose of avoiding this step.)</para>
</listitem>
<listitem>
<para xml:id='p4'>Install <citetitle>X Code</citetitle> so that you have
development tools. Install <citetitle>X11</citetitle>; for some
inexpliciable, non-obvious, and hard to find instructions for reason,
this involves control-clicking on the <guiicon>Install Bundled Software
Only</guiicon> icon on the install DVD,
selecting <guimenuitem>Show Original</guimenuitem>, and
then clicking on the <package>X11User.pkg</package>.
</para>
</listitem>
<listitem>
<para xml:id='p5'>Install <citetitle>MacPorts</citetitle>. Use MacPorts to install
(at least)
<command>wget</command>,
<command>msmtp</command>,
<command>mercurial</command>,
<command>subversion</command>, and <command>gnupg</command>.
</para>
</listitem>
<listitem>
<para xml:id='p6'>Install a recent python distribution.</para>
</listitem>
<listitem>
<para xml:id='p7'>Install PyXML (yes, I know there are
<link xlink:href="http://uche.ogbuji.net/tech/4suite/amara/">better
things</link>, but I have <emphasis>legacy</emphasis>…)</para>
</listitem>
<listitem>
<para xml:id='p8'>Download and install <application>expat</application>.
</para>
</listitem>
<listitem>
<para xml:id='p9'>Do the <command>perl -MCPAN -e shell</command> shuffle to install
<citetitle>XML::Parser</citetitle>, <citetitle>XML::XPath</citetitle>, and
<citetitle>RPC::XML</citetitle>.
</para>
</listitem>
<listitem>
<para xml:id='p10'>In <guimenuitem>System Preferences</guimenuitem>→<guimenuitem>Sharing</guimenuitem>
enable <citetitle>Personal Web Sharing</citetitle> and
<citetitle>Remote Login</citetitle>.
</para>
</listitem>
<listitem>
<para xml:id='p11'>Figure out what version of <application>Apache</application> is actually
part of the OS. Get the sources for that version. Build that version with
the right <command>suexec</command> parameters:</para>
<programlisting><![CDATA[./configure \
"--with-layout=Darwin" \
"--enable-suexec" \
"--suexec-caller=www" \
"--suexec-docroot=/home" \
"--suexec-gidmin=20" \
"--suexec-logfile=/var/log/httpd/suexec_log" \
"$@"]]></programlisting>
<para xml:id='p12'>Move <filename>src/support/suexec</filename> into
<filename>/usr/sbin</filename> and <command>chmod</command>
it <literal>4555</literal>. Restart <application>Apache</application>.
Check the error log to make sure it worked.
</para>
</listitem>
<listitem>
<para xml:id='p13'>Install
<application>Adium</application>,
<application>Adobe Reader</application>,
<application>Caffeine</application>,
<application>Canon i9900 printer drivers</application>,
<application>Carbon Emacs</application>,
<application>Chicken of the VNC</application>,
<application>Disk Inventory</application>,
<application>Epson CX3200 printer drivers</application>,
<application>Firefox</application>,
<application>GIMP</application>,
<application>GoogleEarth</application>,
<application>Growl</application>,
<application>gSync</application>,
<application>HuginOSX</application>,
<application>iMovieHD6</application>,
<application>Inkscape</application>,
<application>iRedLite</application>,
<application>Last.fm</application>,
<application>Lightroom</application>,
<application>MarcoPolo</application>,
<application>MenuCalendarClock</application>,
<application>MenuMeters</application>,
<application>Netbeans</application>,
<application>Open Office</application>,
<application>Oxygen</application>,
<application>Quicksilver</application>,
<application>SSHKeychain</application>,
<application>Skim</application>,
<application>SuperDuper!</application>,
<application>VMware Fusion</application>,
<application>X-Chat Aqua</application>, and
<application>Zoom</application>.
</para>
</listitem>
<listitem>
<para xml:id='p15'>[Update: 3 Jan 2007] Use MacPorts to install
<command>links</command>,
<command>p5-libxml-perl</command>, and
<command>p5-image-info</command>. For Sun employees only: reinstall and
reconfigure punchin. (Seems like it ought to be possible to use the old
configuration, but it didn't work for me.)
</para>
<para xml:id='p16'>Get <command>tidy</command> from <uri>http://tidy.sf.net/</uri>, build it,
and install it in <filename class="directory">/usr/bin/</filename>.
</para>
</listitem>
<listitem>
<para xml:id='p17'>[Update: 4 Jan 2007] Use MacPorts to install
<command>p5-digest-md5</command>.
</para>
</listitem>
</orderedlist>

<para xml:id='p14'>Cross your fingers and run <application>Disk Utility</application> again.
</para>

<para xml:id='p18'>P.S. I got another kernel panic while preparing this essay.
Sigh. No <filename>panic.log</filename> this time. I'm at my wits end,
but one thing's for sure, I'll be needing these instructions again all
too soon.</para>

</essay>
