<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jd&#039;s &#187; quality</title>
	<atom:link href="http://disjunkt.com/jd/t/en/quality/feed/" rel="self" type="application/rss+xml" />
	<link>http://disjunkt.com/jd</link>
	<description>/usr/[misc&#124;share]/*</description>
	<lastBuildDate>Thu, 09 Jan 2014 13:35:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>macports and upgrading to mavericks</title>
		<link>http://disjunkt.com/jd/2013/en/macport-and-upgrading-to-mavericks-376/</link>
		<comments>http://disjunkt.com/jd/2013/en/macport-and-upgrading-to-mavericks-376/#comments</comments>
		<pubDate>Sun, 08 Dec 2013 15:55:41 +0000</pubDate>
		<dc:creator>jd</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[quality]]></category>

		<guid isPermaLink="false">http://disjunkt.com/jd/?p=376</guid>
		<description><![CDATA[This is mainly a reminder of some light troubles encountered whilst upgrading from moutain-lion to mavericks.
Certainly, many people could be concerned because Apple decided to give this upgrade for free (which is a good turn in my opinion).
Most of the troubles come from the upgrade process, a fresh maverick installation might have much less problems.

upgrading [...]]]></description>
			<content:encoded><![CDATA[<p>This is mainly a reminder of some light troubles encountered whilst upgrading from moutain-lion to mavericks.<br />
Certainly, many people could be concerned because Apple decided to give this upgrade for free (which is a good turn in my opinion).<br />
Most of the troubles come from the upgrade process, a fresh maverick installation might have much less problems.</p>
<li>
<h2>upgrading xcode</h2>
</li>
<p>Using the App Store to download Xcode-5.0.2 isn&#8217;t enough, one has to select the proper command-line tools. Now the trouble with upgrading is that invoking<br />
&#8220;<strong>xcode-select &#8211;install</strong>&#8221;<br />
right after the upgrade won&#8217;t work. <a href="https://trac.macports.org/ticket/41042#comment:9">I personally had to shut down the machine and restart the OS</a> in order to get it to pop-up the selection window &#8230; (probably a reminder of the previous Xcode ?)<br />
The most tricky point with that strange behaviour of xcode is that most build will be okay, probably because of older binaries or<br />
settings of previous xcode being used, but some package will definitely be reluctant (ex: <a href="https://trac.macports.org/ticket/41042#comment:8">openmotif</a>) ; so<br />
check carefully that step before continuing further.</p>
<li>
<h2>upgrading macports</h2>
</li>
<p>There is a <a href="https://trac.macports.org/wiki/Migration">complete documentation</a> for this, particularly about saving the list of port installed.<br />
Now, when running into a lot of troubles, one will probably go fast and might forget some steps. Or rather, like it occurred to me, partially crash the previous install by trying a <strong>port selfupdate</strong> right after the OS upgrade !<br />
Anyhow I backed-up the former port tree and some off the apps installed:</p>
<pre>
mv /opt/local /opt/local-OLD
cd /Applications/Macports &#038;&#038; for NOM in * ; do mv "${NOM}" "${NOM}-"`date '+%Y%m%d-%H%M'` ; done
</pre>
<p>From that point, whenever the old list of ports was needed, I used the following ugly trick :</p>
<pre>
sqlite3 -line /opt/local-OLD/var/macports/registry/registry.db "select * from ports" | grep 'name =' | sed 's/^.*name = //' | sort -u
</pre>
<p>At this point, with nothing in the way anymore, I simply downloaded macports-2.2.1-10.9 and followed the regular install.<br />
But at this point, in order to <a href="https://trac.macports.org/ticket/41196"> work around some bugs</a>, some trick was needed &#8230;</p>
<li>
<h2>Tuning the macports&#8217; builds [edit : not needed since <a href="https://trac.macports.org/ticket/41196#comment:14">release @114492 </a>]</h2>
</li>
<p>Some packages need the libtool .la files in order to build (for dependencies calculations ?), but the current macports doesn&#8217;t<br />
install them anymore. Yet, I don&#8217;t have any other workaround than keeping the whole build and parse them back for those .la files.<br />
So we must instruct macports to keep the build trees : tune the <strong>/opt/local/etc/macports/macports.conf</strong> with</p>
<pre>
portautoclean           no
</pre>
<p>Probably at some point, some cleaning will become mandatory in order to free space.</p>
<li>
<h2>the lib*.la troubles [edit : not needed since <a href="https://trac.macports.org/ticket/41196#comment:14">release @114492 </a>]</h2>
</li>
<p>Most port builds won&#8217;t need the libtool&#8217;s *.la files, and some build will crash with DYLIB path injections. However some build will<br />
choke explicitely on missing lib*la files.<br />
I simply used this uggly script in order to copy some parsed .la files from the build-trees :</p>
<pre>
#!/bin/bash

ls -ctr `find /opt/local/var/macports/build/ -name 'lib*.la' -type f` | while read LIBLA
do
    SHORTNAME=`echo ${LIBLA} | rev | cut -d/ -f1 | rev | sed 's/\.la$//'`
    if [ ! -f "/opt/local/lib/${SHORTNAME}.la" ]
    then
        sed 's#/opt/local/var/macports/build[_/abcdefghijklmnopqrstuvwxyz\.1234567890+-]*/\(lib[_/abcdefghijklmnopqrstuvwxyz\.1234567890+-]*\.la\)#/opt/local/lib/\1#g' < "${LIBLA}"  > "/opt/local/lib/${SHORTNAME}.la"
    fi
done
</pre>
<p>The best being probably to move those out of the way right after the build of the &#8220;la-needing&#8221; packages, but keep them for future use :</p>
<pre>
mkdir /opt/local/libla &#038;&#038; mv /opt/local/lib/lib*.la /opt/local/libla
</pre>
<li>
<h2>forcing install of dbus</h2>
</li>
<p>dbus port may fail from previous install, in which case a simple <strong>port install -f dbus</strong> will do the trick.</p>
<li>
<h2>upgrading ddd and gdd</h2>
</li>
<p>The new ddd isn&#8217;t necessarly fully compatible with the previous release, I had to remove the <strong>~/.ddd</strong> directory in<br />
order to get a new clean one ; otherwise ddd was stuck waiting for gdb to answer.</p>
<pre>
mv ~/.ddd ~/.ddd-`date '+%Y%m%d-%H%M'`
</pre>
<p>The 5.0.2 version of xcode doesn&#8217;t include the <strong>gdb debugger</strong> anymore, and the <strong>ddd</strong> port doesn&#8217;t yet depend on gdb. a simple <strong>port install gdb</strong> will provide a new one.<br />
Now for some reason, the gdb port-provided is called <strong>ggdb</strong>, so ddd won&#8217;t find it right out. Two solutions here :<br />
either invoke ddd session with :</p>
<pre>
ddd --debugger /opt/local/bin/ggdb [args]
</pre>
<p>or tune the ressource file for the proper gdb name, <strong>~/.ddd/init</strong> :</p>
<pre>
! addition to locate and use the macports supplied gdb :
Ddd*debuggerCommand: /opt/local/bin/ggdb

! DO NOT ADD ANYTHING BELOW THIS LINE -- DDD WILL OVERWRITE IT
Ddd*dddinitVersion: 3.3.12
.../...
</pre>
<li>
<h2>conclusion</h2>
</li>
<p>Finally, the vast majority of ports do build flawlessly, confirming the quality of those sources and the work of macports authors !</p>
]]></content:encoded>
			<wfw:commentRss>http://disjunkt.com/jd/2013/en/macport-and-upgrading-to-mavericks-376/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tempelhof</title>
		<link>http://disjunkt.com/jd/2012/en/tempelhof-372/</link>
		<comments>http://disjunkt.com/jd/2012/en/tempelhof-372/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 11:34:50 +0000</pubDate>
		<dc:creator>jd</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[quality]]></category>

		<guid isPermaLink="false">http://disjunkt.com/jd/?p=372</guid>
		<description><![CDATA[
one should scroll to the left, and then to the right.
]]></description>
			<content:encoded><![CDATA[<p><script src="http://zoom.it/YF8Q.js?width=auto&#038;height=400px"></script><br />
one should scroll to the left, and then to the right.</p>
]]></content:encoded>
			<wfw:commentRss>http://disjunkt.com/jd/2012/en/tempelhof-372/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
