<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>unsigned long geek = random(); &#187; pkgsrc</title>
	<atom:link href="http://mjturner.net/blog/archives/category/pkgsrc/feed/" rel="self" type="application/rss+xml" />
	<link>http://mjturner.net/blog</link>
	<description>Michael-John Turner: Musings from a random UNIX geek</description>
	<lastBuildDate>Fri, 12 Jun 2009 22:28:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
		<item>
		<title>Re-bootstrapping pkgsrc</title>
		<link>http://mjturner.net/blog/archives/2008/07/26/re-bootstrapping-pkgsrc/</link>
		<comments>http://mjturner.net/blog/archives/2008/07/26/re-bootstrapping-pkgsrc/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 10:43:11 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[pkgsrc]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[netbsd]]></category>
		<category><![CDATA[packages]]></category>

		<guid isPermaLink="false">http://mjturner.net/blog/archives/2008/07/26/re-bootstrapping-pkgsrc/</guid>
		<description><![CDATA[pkgsrc doesn&#8217;t officially support re-bootstrapping once it&#8217;s been installed (ie updating the core packages by doing a fresh bootstrap). There is a way to force one by removing a few core packages first though:
pkg_delete -ff bootstrap-mk-files bmake tnftp pax pkg_install
cd /usr/pkgsrc/bootstrap
./bootstrap

As long as the fresh bootstrap is done using the same parameters as used originally [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pkgsrc.org">pkgsrc</a> doesn&#8217;t officially support re-bootstrapping once it&#8217;s been installed (ie updating the core packages by doing a fresh bootstrap). There is a way to force one by removing a few core packages first though:<code><br />
pkg_delete -ff bootstrap-mk-files bmake tnftp pax pkg_install<br />
cd /usr/pkgsrc/bootstrap<br />
./bootstrap<br />
</code></p>
<p>As long as the fresh bootstrap is done using the same parameters as used originally (prefix, database directory, etc), everything should work as before. </p>
<p>I tested this a short while ago on an OS X 10.5 system using a pkgsrc -current tree and it worked perfectly.<!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2008/07/re-bootstrapping-pkgsrc--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2008/07/26/re-bootstrapping-pkgsrc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>pkgsrc on FreeBSD/sparc64 6.2</title>
		<link>http://mjturner.net/blog/archives/2007/07/16/pkgsrc-on-freebsdsparc64-62/</link>
		<comments>http://mjturner.net/blog/archives/2007/07/16/pkgsrc-on-freebsdsparc64-62/#comments</comments>
		<pubDate>Mon, 16 Jul 2007 17:49:44 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[*BSD]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/archives/2007/07/16/pkgsrc-on-freebsdsparc64-62/</guid>
		<description><![CDATA[Although FreeBSD is a platform supported by pkgsrc, only i386 supported is explicitly mentioned and the most recent bootstrap binaries are for FreeBSD/i386 5.3. Being the adventurous chap I am, I decided to bootstrap from source on my dual CPU Ultra 60 running FreeBSD/sparc64 6.2. In true pkgsrc style, it Just Worked. Since bootstrapping, I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>Although <a href="http://www.FreeBSD.org">FreeBSD</a> is a platform supported by <a href="http://www.pkgsrc.org/">pkgsrc</a>, only i386 supported is explicitly mentioned and the most recent bootstrap binaries are for FreeBSD/i386 5.3. Being the adventurous chap I am, I decided to bootstrap from source on my dual CPU Ultra 60 running FreeBSD/sparc64 6.2. In true pkgsrc style, it Just Worked. Since bootstrapping, I&#8217;ve build a number of fairly large packages without problem: zsh, ncurses, vim, postfix, perl.</p>
<p>Why pkgsrc and not <a href="http://www.freebsd.org/ports/">ports</a> on a FreeBSD system? Well, I have a finely tuned pkgsrc environment that builds packages with my set of defaults (MIT Kerberos support, for example), so I decided to stick with what works well for me.<!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2007/07/pkgsrc-on-freebsdsparc64-62--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2007/07/16/pkgsrc-on-freebsdsparc64-62/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>South African pkgsrc distfiles mirror</title>
		<link>http://mjturner.net/blog/archives/2006/12/26/south-african-pkgsrc-distfiles-mirror/</link>
		<comments>http://mjturner.net/blog/archives/2006/12/26/south-african-pkgsrc-distfiles-mirror/#comments</comments>
		<pubDate>Tue, 26 Dec 2006 10:11:05 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[*BSD]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/archives/2006/12/26/south-african-pkgsrc-distfiles-mirror/</guid>
		<description><![CDATA[A few weeks ago I contacted Internet Solutions and they are now kindly hosting a local pkgsrc distfiles mirror. To use it, simply add the following to your /etc/mk.conf:
MASTER_SITE_OVERRIDE=ftp://ftp.is.co.za/NetBSD/packages/distfiles/
If a file isn&#8217;t found at the local mirror, the pkgsrc fetch Makefile target will fetch it from another (non-local) mirror.

]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I contacted <a href="http://www.is.co.za">Internet Solutions</a> and they are now kindly hosting a local <a href="http://www.pkgsrc.org">pkgsrc</a> distfiles mirror. To use it, simply add the following to your <code>/etc/mk.conf</code>:<br />
<code>MASTER_SITE_OVERRIDE=ftp://ftp.is.co.za/NetBSD/packages/distfiles/</code></p>
<p>If a file isn&#8217;t found at the local mirror, the pkgsrc <em>fetch</em> Makefile target will fetch it from another (non-local) mirror.<br />
<!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/12/south-african-pkgsrc-distfiles-mirror--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/12/26/south-african-pkgsrc-distfiles-mirror/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>CVS repository change</title>
		<link>http://mjturner.net/blog/archives/2006/05/25/cvs-repository-change/</link>
		<comments>http://mjturner.net/blog/archives/2006/05/25/cvs-repository-change/#comments</comments>
		<pubDate>Thu, 25 May 2006 04:23:06 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=135</guid>
		<description><![CDATA[Over the past few weeks SourceForge.net has been moving projects from cvs.sf.net to projectname.cvs.sf.net. Not wanting to delete my currently checked out copy of pkgsrc-wip and check out again, I needed to update CVS/Root in each checked out directory. Neil gave me this useful snippet to accomplish exactly this:
find . -type f -name "Root" &#124; [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few weeks <a href="http://sourceforge.net">SourceForge.net</a> has been moving projects from cvs.sf.net to <i>projectname</i>.cvs.sf.net. Not wanting to delete my currently checked out copy of <a href="http://pkgsrc-wip.sourceforge.net/">pkgsrc-wip</a> and check out again, I needed to update CVS/Root in each checked out directory. <a href="http://mithrandr.moria.org/">Neil</a> gave me this useful snippet to accomplish exactly this:<code><br />
find . -type f -name "Root" | grep "/CVS/" | xargs sed -i -e 's/cvs.sf.net/pkgsrc-wip.cvs.sf.net/'<br />
</code></p>
<p>It assumes a sed which supports the <code>-i</code> option &#8211; <a href="http://www.NetBSD.org">NetBSD</a>&#8217;s doesn&#8217;t, so I used <code>perl -i -p -e</code> instead (I could also have installed <code>textproc/gsed</code> from <a href="http://www.pkgsrc.org">pkgsrc</a>, but I already had perl installed).<!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/05/cvs-repository-change--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/05/25/cvs-repository-change/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Firefox is not bloated</title>
		<link>http://mjturner.net/blog/archives/2006/04/17/firefox-is-not-bloated/</link>
		<comments>http://mjturner.net/blog/archives/2006/04/17/firefox-is-not-bloated/#comments</comments>
		<pubDate>Mon, 17 Apr 2006 19:51:37 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[*BSD]]></category>
		<category><![CDATA[Alpha]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=126</guid>
		<description><![CDATA[Today I had to rebuild Mozilla Firefox due to the release of 1.5.0.2. Unfortunately, due to my choice of platform (NetBSD/alpha), I have to build my own binary from scratch and can&#8217;t just do a delta binary update. The build timings on a 500Mhz EV56 AlphaServer 800:
real    608m54.243s
user    507m15.788s
sys [...]]]></description>
			<content:encoded><![CDATA[<p>Today I had to rebuild <a href="http://www.mozilla.com/firefox/">Mozilla Firefox</a> due to the release of <a href="http://www.mozilla.com/firefox/releases/1.5.0.2.html">1.5.0.2</a>. Unfortunately, due to my choice of platform (<a href="http://www.netbsd.org/Ports/alpha/">NetBSD/alpha</a>), I have to build my own binary from scratch and can&#8217;t just do a delta binary update. The build timings on a 500Mhz EV56 AlphaServer 800:<code><br />
real    608m54.243s<br />
user    507m15.788s<br />
sys     77m30.249s<br />
</code></p>
<p>Yes, it took 10 hours to build a web browser&#8230;<br />
<!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/04/firefox-is-not-bloated--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/04/17/firefox-is-not-bloated/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Lisp for NetBSD/sparc64 redux</title>
		<link>http://mjturner.net/blog/archives/2006/02/13/lisp-for-netbsdsparc64-redux/</link>
		<comments>http://mjturner.net/blog/archives/2006/02/13/lisp-for-netbsdsparc64-redux/#comments</comments>
		<pubDate>Mon, 13 Feb 2006 19:27:27 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[*BSD]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=89</guid>
		<description><![CDATA[Sometimes I love being proven wrong, and this is one such occasion. As a follow-up to my earlier post, a few people have pointed out to me that Embedded Common Lisp (ECL) works on NetBSD/sparc64. Yay!  
There is a package in pkgsrc-wip. It didn&#8217;t compile cleanly on my -current system (it includes &#60;frame .h&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I love being proven wrong, and this is one such occasion. As a follow-up to my <a href="http://weblogs.turner.org.za/mj/archives/2006/02/07/no-lisp-for-netbsdsparc64/">earlier post</a>, a few people have pointed out to me that <a href="http://ecls.sourceforge.net/">Embedded Common Lisp</a> (ECL) works on <a href="http://www.netbsd.org/Ports/sparc64/">NetBSD/sparc64</a>. Yay! <img src='http://mjturner.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>There is a <a href="http://pkgsrc.se/wip/ecl">package</a> in <a href="http://pkgsrc-wip.sourceforge.net/">pkgsrc-wip</a>. It didn&#8217;t compile cleanly on my -current system (it includes &lt;frame .h&gt; rather than &lt;machine/frame.h&gt;), but I&#8217;ll submit a patch to the maintainer to fix that.</p>
<p><!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/02/lisp-for-netbsdsparc64-redux--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/02/13/lisp-for-netbsdsparc64-redux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>fluxter</title>
		<link>http://mjturner.net/blog/archives/2006/02/13/fluxter/</link>
		<comments>http://mjturner.net/blog/archives/2006/02/13/fluxter/#comments</comments>
		<pubDate>Mon, 13 Feb 2006 19:07:38 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[X11]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=88</guid>
		<description><![CDATA[Yesterday I discovered a neat piece of software to complement my Fluxbox desktop &#8211; fluxter. It&#8217;s a pager that&#8217;s faster than bbpager, can be embedded in the slit and tracks the style of the current theme.
I&#8217;ve commited a package to pkgsrc-wip.
]]></description>
			<content:encoded><![CDATA[<p>Yesterday I discovered a neat piece of software to complement my <a href="http://fluxbox.sourceforge.net/">Fluxbox</a> desktop &#8211; <a href="http://benedict.isomedia.com/homes/stevencooper/projects/fluxter.html">fluxter</a>. It&#8217;s a pager that&#8217;s faster than bbpager, can be embedded in the slit and tracks the style of the current theme.</p>
<p>I&#8217;ve commited a <a href="http://pkgsrc.se/wip/fluxter">package</a> to <a href="http://pkgsrc-wip.sourceforge.net/">pkgsrc-wip</a>.<!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/02/fluxter--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/02/13/fluxter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>No Lisp for NetBSD/sparc64</title>
		<link>http://mjturner.net/blog/archives/2006/02/07/no-lisp-for-netbsdsparc64/</link>
		<comments>http://mjturner.net/blog/archives/2006/02/07/no-lisp-for-netbsdsparc64/#comments</comments>
		<pubDate>Tue, 07 Feb 2006 21:35:22 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[*BSD]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=85</guid>
		<description><![CDATA[One of the disadvantages of using a slightly less mainstream CPU architecture: there&#8217;s no Lisp interpreter for NetBSD/sparc64 available in pkgsrc. Not even DrScheme compiles.  
]]></description>
			<content:encoded><![CDATA[<p>One of the disadvantages of using a slightly less mainstream CPU architecture: there&#8217;s no <a href="http://en.wikipedia.org/wiki/Lisp_programming_language">Lisp</a> interpreter for <a href="www.netbsd.org/Ports/sparc64/">NetBSD/sparc64</a> available in <a href="http://www.pkgsrc.org">pkgsrc</a>. Not even <a href="http://www.drscheme.org/">DrScheme</a> compiles. <img src='http://mjturner.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> <!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/02/no-lisp-for-netbsdsparc64--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/02/07/no-lisp-for-netbsdsparc64/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>pkgsrc and CPU specific optimizations</title>
		<link>http://mjturner.net/blog/archives/2006/02/06/pkgsrc-and-cpu-specific-optimizations/</link>
		<comments>http://mjturner.net/blog/archives/2006/02/06/pkgsrc-and-cpu-specific-optimizations/#comments</comments>
		<pubDate>Mon, 06 Feb 2006 04:56:20 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[*BSD]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=83</guid>
		<description><![CDATA[For a while now I&#8217;ve been using devel/cpuflags to optimize my pkgsrc-built binaries. It determines the best compiler flags based upon the current CPU type, thereby creating a binary optimized for the current CPU. It&#8217;s a little &#8220;rice&#8220;, but for certain packages, like OpenSSL, it can make quite a difference (and yes, I know that [...]]]></description>
			<content:encoded><![CDATA[<p>For a while now I&#8217;ve been using <a href="http://pkgsrc.se/devel/cpuflags">devel/cpuflags</a> to optimize my <a href="http://www.pkgsrc.org/">pkgsrc</a>-built binaries. It determines the best compiler flags based upon the current CPU type, thereby creating a binary optimized for the current CPU. It&#8217;s a little &#8220;<a href="http://funroll-loops.org/">rice</a>&#8220;, but for certain packages, like OpenSSL, it can make quite a difference (and yes, I know that for the majority of software on the majority of CPUs it won&#8217;t make any noticeable difference). To make package organization easier, I&#8217;ve made a few additions to my mk.conf(5) to group my packages by target CPU type.</p>
<p>To call cpuflags for every build, I have the following in /etc/mk.conf (my LOCALBASE is /usr/local):<code><br />
.sinclude "/usr/local/share/mk/cpuflags.mk"<br />
CPUTYPE:=`/usr/local/bin/cpuflags | sed 's/-mcpu=//'`</code><br />
The second line sets the value of the CPUTYPE variable to the CPU type we&#8217;re optimizing for (for example, &#8220;supersparc&#8221; for SuperSPARC CPUs).</p>
<p>Packages are then installed into the following location:<code><br />
PACKAGES?=${WRKOBJDIR}/packages/${OS_VERSION}/${MACHINE_ARCH}/${CPUTYPE}</code><br />
This installs packages into directories based on the operating system version, machine architecture and target CPU. For example, a target directory could be &#8220;packages/3.0_STABLE/sparc/supersparc&#8221;. Works nicely when one has a number of different architectures and target CPUs.<br />
<!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/02/pkgsrc-and-cpu-specific-optimizations--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/02/06/pkgsrc-and-cpu-specific-optimizations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>
