<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>OSUNIX - Best of OpenSolaris Technology : Document List - All Communities</title>
    <link>http://www.osunix.org/index.jspa?view=documents</link>
    <description>Latest Documents in OSUNIX - Best of OpenSolaris Technology</description>
    <language>en</language>
    <pubDate>Mon, 23 Aug 2010 20:03:20 GMT</pubDate>
    <generator>Clearspace 2.5.5 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2010-08-23T20:03:20Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>HOWTO install pkgcore on OSUNIX</title>
      <link>http://www.osunix.org/docs/DOC-1055</link>
      <description>&lt;!-- [DocumentBodyStart:76322176-4565-454f-bb5d-195d7ebcaa02] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;pre&gt;pkg install -v gcc-dev ss-dev&lt;br/&gt;&lt;br/&gt;You'll need hg, bzr, snakeoil and pkgcore (sorry patches inline)&lt;br/&gt;&lt;br/&gt;mkdir -p /usr/local/src ; cd /usr/local/src&lt;br/&gt;wget &lt;a class="jive-link-external-small" href="http://launchpad.net/bzr/2.2/2.2.0/+download/bzr-2.2.0.tar.gz"&gt;http://launchpad.net/bzr/2.2/2.2.0/+download/bzr-2.2.0.tar.gz&lt;/a&gt;&lt;br/&gt;gtar -xf bzr-2.2.0.tar.gz&lt;br/&gt;cd bzr-2.2.0 ; pfexec python setup.py install  ; cd ..&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;bzr co bzr://bzr.pkgcore.org/snakeoil&lt;br/&gt;&lt;br/&gt;cd snakeoil&lt;br/&gt;-------&lt;br/&gt;&lt;br/&gt;=== modified file 'setup.cfg'&lt;br/&gt;--- setup.cfg   2007-03-21 04:59:32 +0000&lt;br/&gt;+++ setup.cfg   2010-08-11 21:25:29 +0000&lt;br/&gt;@@ -1,3 +1,3 @@&lt;br/&gt;[build_ext]&lt;br/&gt;# uncomment if you don't want to build the extension modules&lt;br/&gt;-#build-optional=false&lt;br/&gt;+build-optional=false&lt;br/&gt;&lt;br/&gt;-------&lt;br/&gt;pfexec python setup.py install  ; cd ..&lt;br/&gt;&lt;br/&gt;bzr co bzr://bzr.pkgcore.org/pkgcore&lt;br/&gt;cd &lt;em class="moz-txt-slash"&gt;&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;usr/local/src/pkgcore&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;=== modified file 'pkgcore/bin/ebuild-helpers/dosed'&lt;br/&gt;--- pkgcore/bin/ebuild-helpers/dosed    2008-05-03 00:36:25 +0000&lt;br/&gt;+++ pkgcore/bin/ebuild-helpers/dosed    2010-08-13 02:18:24 +0000&lt;br/&gt;@@ -10,7 +10,7 @@&lt;br/&gt;              if [ -f "${y}" ] ; then&lt;br/&gt;                      mysrc="${T}/${y##*/}"&lt;br/&gt;                      cp "${y}" "${mysrc}"&lt;br/&gt;-                       sed -e "${mysed}" "${mysrc}" &amp;gt; "${y}"&lt;br/&gt;+                       gsed -e "${mysed}" "${mysrc}" &amp;gt; "${y}"&lt;br/&gt;              else&lt;br/&gt;                      echo "${y} is not a regular file!"&lt;br/&gt;                      exit 1&lt;br/&gt;&lt;br/&gt;=== modified file 'pkgcore/const.py'&lt;br/&gt;--- pkgcore/const.py    2010-07-18 05:36:57 +0000&lt;br/&gt;+++ pkgcore/const.py    2010-08-13 05:59:32 +0000&lt;br/&gt;@@ -26,7 +26,7 @@&lt;br/&gt;depends_phase_path   = PKGCORE_BIN_PATH+"&lt;em class="moz-txt-slash"&gt;&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;ebuild-env&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;&lt;/em&gt;:/bin:/usr/bin"&lt;br/&gt;EBUILD_ENV_PATH      = [PKGCORE_BIN_PATH+"/"+x for x in [&lt;br/&gt;                          "ebuild-env", "ebuild-helpers"]] \&lt;br/&gt;-                     + ["/sbin", "/bin", "/usr/sbin", "/usr/bin"]&lt;br/&gt;+                     + ["/usr/gnu/bin", "/sbin", "/bin", "/usr/sbin", "/usr/bin"]&lt;br/&gt;EBD_ENV_PATH         = PKGCORE_BIN_PATH+"/ebuild-env"&lt;br/&gt;&lt;br/&gt;# XXX this is out of place&lt;br/&gt;&lt;br/&gt;=== modified file 'pkgcore/os_data.py'&lt;br/&gt;--- pkgcore/os_data.py  2010-08-02 08:16:12 +0000&lt;br/&gt;+++ pkgcore/os_data.py  2010-08-12 19:39:29 +0000&lt;br/&gt;@@ -43,7 +43,7 @@&lt;br/&gt;if uid == 0:&lt;br/&gt;   secpass = 2&lt;br/&gt;try:&lt;br/&gt;-    wheelgid = grp.getgrnam("wheel").gr_gid&lt;br/&gt;+    wheelgid =  0 # grp.getgrnam("wheel").gr_gid&lt;br/&gt;   if (not secpass) and (wheelgid in os.getgroups()):&lt;br/&gt;       secpass = 1&lt;br/&gt;except KeyError:&lt;br/&gt;@@ -54,8 +54,8 @@&lt;br/&gt;&lt;br/&gt;#Discover the uid and gid of the portage user/group&lt;br/&gt;try:&lt;br/&gt;-    portage_uid = pwd.getpwnam("portage").pw_uid&lt;br/&gt;-    portage_gid = grp.getgrnam("portage").gr_gid&lt;br/&gt;+    portage_uid = pwd.getpwnam("adm").pw_uid&lt;br/&gt;+    portage_gid = grp.getgrnam("adm").gr_gid&lt;br/&gt;   portage_user_groups = tuple(x.gr_name for x in grp.getgrall()&lt;br/&gt;      if 'portage' in x.gr_mem)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;export PATH=/usr/gnu/bin:${PATH}&lt;br/&gt;cd /usr/local/src/pkgcore&lt;br/&gt;python setup.py install&lt;br/&gt;&lt;br/&gt;# Misc things to install as root&lt;br/&gt;pfexec su -&lt;br/&gt;mkdir -p &lt;em class="moz-txt-slash"&gt;&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;var/lib/portage&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;touch /var/lib/portage/world&lt;br/&gt;cd /usr/local/src&lt;br/&gt;wget &lt;a class="jive-link-external-small" href="http://pkg.osunix.org/estibi/make.conf"&gt;http://pkg.osunix.org/estibi/make.conf&lt;/a&gt;&lt;br/&gt;wget &lt;a class="jive-link-external-small" href="http://pkg.osunix.org/estibi/make.globals"&gt;http://pkg.osunix.org/estibi/make.globals&lt;/a&gt;&lt;br/&gt;wget &lt;a class="jive-link-external-small" href="http://pkg.osunix.org/estibi/portage.tar.bz2"&gt;http://pkg.osunix.org/estibi/portage.tar.bz2&lt;/a&gt;&lt;br/&gt;wget &lt;a class="jive-link-external-small" href="http://pkg.osunix.org/estibi/profiles.tar.bz2"&gt;http://pkg.osunix.org/estibi/profiles.tar.bz2&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;cp make.conf &lt;em class="moz-txt-slash"&gt;&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;etc&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;mkdir -p /usr/portage ; cd /usr/portage &amp;amp;&amp;amp; gtar -xvjf /usr/local/src/profiles.tar.bz2&lt;br/&gt;&lt;br/&gt;cd  /etc &amp;amp;&amp;amp; ln -sf ../usr/portage/profiles/default-opensolaris/ospkg/5.11/x64/ make.profile&lt;br/&gt;&lt;br/&gt;mkdir -p /usr/share/portage/config&lt;br/&gt;cp &lt;em class="moz-txt-slash"&gt;&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;usr/local/src/make.globals /usr/share/portage/config&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;ln -s ../usr/share/portage/config/make.globals make.globals&lt;br/&gt;&lt;br/&gt;# cd &lt;em class="moz-txt-slash"&gt;&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;etc&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;gtar -xvjf /usr/local/src/portage.tar.bz2&lt;br/&gt;&lt;br/&gt;mkdir -p /var/db/pkg ; mkdir -p /usr/portage/local/overlays ; cd /usr/portage/local/overlays&lt;br/&gt;&lt;br/&gt;pkg install SUNWmercurial&lt;br/&gt;hg clone &lt;a class="jive-link-external-small" href="https://osunix@hg.pathscale.com/osunix-overlay"&gt;https://osunix@hg.pathscale.com/osunix-overlay&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;cd &lt;em class="moz-txt-slash"&gt;&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;usr/lib/python2.6/site-packages/pkgcore/bin/ebuild-helpers&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;vi dobin&lt;br/&gt;(replace 'install' with 'ginstall')&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;vi /etc/make.conf&lt;br/&gt;(add ROOT=/osunix_obj)&lt;br/&gt;&lt;br/&gt;mkdir -p /osunix_obj/var/db/pkg&lt;br/&gt;&lt;br/&gt;# To test&lt;br/&gt;PKGCORE_DEBUG=2 pmerge tail &amp;amp;&amp;gt; build_tail.log&lt;br/&gt;&lt;br/&gt;cd &lt;em class="moz-txt-slash"&gt;&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;usr/portage/local/overlays/osunix-overlay/sys-apps/sed&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;pmerge -v sed&lt;br/&gt;&lt;br/&gt;# Misc other things which may help..&lt;br/&gt;pquery --attr license --attr keywords --raw sed&lt;br/&gt;# or for tail..&lt;br/&gt;pquery --attr license --attr keywords --raw sed&lt;/pre&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:76322176-4565-454f-bb5d-195d7ebcaa02] --&gt;</description>
      <pubDate>Mon, 23 Aug 2010 20:00:43 GMT</pubDate>
      <author>cbergstrom@netsyncro.com</author>
      <guid>http://www.osunix.org/docs/DOC-1055</guid>
      <dc:date>2010-08-23T20:00:43Z</dc:date>
      <clearspace:dateToText>2 weeks, 1 day ago</clearspace:dateToText>
    </item>
    <item>
      <title>TODO</title>
      <link>http://www.osunix.org/docs/DOC-1010</link>
      <description>&lt;!-- [DocumentBodyStart:d17494fc-a367-4035-890d-66f8038d757c] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;&lt;strong&gt;Currently most of the TODO is broken up into two sections..&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1) Packaging / porting&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;See list below&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2) Bug fixing&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://bugs.osunix.org"&gt;http://bugs.osunix.org&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Packaging &amp;amp; porting&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" style="; width: 100%; border: 1px solid #000000"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align="center" style="background-color:#6690BC;" valign="middle"&gt;&lt;span style="color: #ffffff;"&gt;&lt;strong&gt;Section&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-color:#6690BC;" valign="middle"&gt;&lt;span style="color: #ffffff;"&gt;&lt;strong&gt;Description&lt;br/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-color:#6690BC;" valign="middle"&gt;&lt;span style="color: #ffffff;"&gt;&lt;strong&gt;Project leader&lt;br/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-color:#6690BC;" valign="middle"&gt;&lt;span style="color: #ffffff;"&gt;&lt;strong&gt;Status&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;xorg&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Build latest fox-7-4-merge gate under OSUNIX&lt;/td&gt;&lt;td&gt;andy_js&lt;/td&gt;&lt;td&gt;completed, but needs testing&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;kernel&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Building Solaris kernel under OSUNIX&lt;/td&gt;&lt;td&gt;codestr0m&lt;/td&gt;&lt;td&gt;&lt;span&gt;completed &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://bugs.osunix.org/browse/OSUNIX-43"&gt;http://bugs.osunix.org/browse/OSUNIX-43&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;toolchain&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;bootstrap open64 ( www.open64.net )&lt;/td&gt;&lt;td&gt;codestr0m&lt;/td&gt;&lt;td&gt;C code with all optimizatins works and c++ is in progress&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;java&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;build icedtea6 from a jamvm bootstrap&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;span&gt;completed - &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://bugs.osunix.org/browse/OSUNIX-9"&gt;http://bugs.osunix.org/browse/OSUNIX-9&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;core cli&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;this related to all code found under onnv-gate/usr/src/cmds/*&lt;/td&gt;&lt;td&gt;codestr0m&lt;/td&gt;&lt;td&gt;98% done&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;core libs&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;this related to all code found under onnv-gate/usr/src/libs/*&lt;/td&gt;&lt;td&gt;codestr0m&lt;/td&gt;&lt;td&gt;98% done&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;kde4.2&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Build kde4.2 to OSUNIX and port any Solaris specifics from Sun gnome port to kde. (timeslider. etc)&lt;/td&gt;&lt;td&gt;(vacant)&lt;/td&gt;&lt;td&gt;Pending next release&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;hardware install&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Reliably build ISO and installer&lt;/td&gt;&lt;td&gt;Moinak&lt;/td&gt;&lt;td&gt;Completed, but needs testing&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;XEN Images&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;We need to create xen images&lt;/td&gt;&lt;td&gt;(vacant)&lt;/td&gt;&lt;td&gt;&lt;p&gt;Information collection and planning.&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://bugs.osunix.org/browse/OSUNIX-36"&gt;http://bugs.osunix.org/browse/OSUNIX-36&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Unclaimed&lt;br/&gt;1) *Add zfs BE and snapshot capability to smart package manager (1 day)&lt;br/&gt; 2) *Add zfs BE and snapshot capability to pkgcore (1 day)&lt;br/&gt; 3) On install of packages have smartpm update pkgcore's file and package database&lt;br/&gt; 4) On install of packages have pkgcore update smartpm's file and package database&lt;br/&gt; 5) Add ediff support to pkgcore. This is needed so that we can to do 32 and 64 bit releases (1 day)&lt;br/&gt; 6) Make sure pkgcore doesn't wrongly "fix" permissions on /etc and other places&lt;/p&gt;&lt;p&gt;7) Create installer for OSUNIX distro (Modify zfsinstall script?)&lt;br/&gt; 8) Make sure /dev and /devices is correctly setup for install.  zfsinstall or SUNWcsd shows what's needed (part of installer)&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:d17494fc-a367-4035-890d-66f8038d757c] --&gt;</description>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">todo</category>
      <pubDate>Mon, 19 Jan 2009 15:16:29 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1010</guid>
      <dc:date>2009-01-19T15:16:29Z</dc:date>
      <clearspace:dateToText>1 year, 4 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>Bootstrap Icedtea6 from the ground up</title>
      <link>http://www.osunix.org/docs/DOC-1043</link>
      <description>&lt;!-- [DocumentBodyStart:062fa3c4-98e5-4ecc-8d90-5ca872471fd4] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;&lt;br/&gt; Small upfront disclaimer...&lt;br/&gt;&lt;br/&gt; These instructions aren't really clean, organized and sometimes specific to a 64bit build.  (IOW don't complain if you see some dirty hacks)  Corrections welcome.. drop me a comment and I'll fix..&lt;br/&gt;&lt;br/&gt; Things needed to build and get working in order in order.. gcj, ecj, jamvm-1.5.3 (read gotchas below) , classpath, ant.   From this you'll have enough to at least bootstrap the first part of icedtea6.&lt;br/&gt;&lt;br/&gt; &lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; Xorg - might as well build the whole thing.. until someone makes a --without-awt you'll need it..&lt;br/&gt; Cups - Building cups is beyond the scope of this doc, but you'll need cups.h &lt;a class="jive-link-external-small" href="http://ftp.easysw.com/pub/cups/1.3.10/cups-1.3.10-source.tar.bz2"&gt;http://ftp.easysw.com/pub/cups/1.3.10/cups-1.3.10-source.tar.bz2&lt;/a&gt;&lt;br/&gt; xalan.jar wget &lt;a class="jive-link-external-small" href="http://godel.cs.bilgi.edu.tr/apache/xml/xalan-j/xalan-j_2_7_1-bin.zip"&gt;http://godel.cs.bilgi.edu.tr/apache/xml/xalan-j/xalan-j_2_7_1-bin.zip&lt;/a&gt;&lt;br/&gt; serializer.jar wget &lt;a class="jive-link-external-small" href="http://godel.cs.bilgi.edu.tr/apache/xml/xalan-j/xalan-j_2_7_1-bin.zip"&gt;http://godel.cs.bilgi.edu.tr/apache/xml/xalan-j/xalan-j_2_7_1-bin.zip&lt;/a&gt;&lt;br/&gt; wget &lt;a class="jive-link-external-small" href="http://www.apache.org/dist/xerces/j/Xerces-J-bin.2.9.1.zip"&gt;http://www.apache.org/dist/xerces/j/Xerces-J-bin.2.9.1.zip&lt;/a&gt;&lt;br/&gt; Freetype, jpeg, gif and png libraries as well&lt;br/&gt;&lt;br/&gt; &lt;strong&gt;Step 1 gcj&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; gcc is really evil, but we need to start somewhere..&lt;br/&gt;&lt;br/&gt; This should give an idea of how I built gcc-4.4 prelease..&lt;br/&gt;&lt;br/&gt;&lt;span&gt; &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://hg.osunix.org/osunix-overlay/src/tip/sys-devel/gcc/gcc-4.4-r2.ebuild"&gt;http://hg.osunix.org/osunix-overlay/src/tip/sys-devel/gcc/gcc-4.4-r2.ebuild&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; # Note : don't set target/build/host env variables&lt;br/&gt; just change --enable-languages=c,c++ to--enable-languages=c,c++,java&lt;br/&gt;&lt;br/&gt; #  Note : gij is broken on (open)solaris so may as well delete it to avoid wasting your time..&lt;br/&gt;&lt;br/&gt; &lt;strong&gt;Step 2 ecj&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; Pull ecj.jar&lt;br/&gt;&lt;br/&gt; wget &lt;a class="jive-link-external-small" href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.4-200806172000/ecj-3.4.jar&amp;amp;url=http://eclipse.mirror.kangaroot.net/eclipse/downloads/drops/R-3.4-200806172000/ecj-3.4.jar&amp;amp;mirror_id=468"&gt;"http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.4-200806172000/ecj-3.4.jar&amp;amp;url=http://eclipse.mirror.kangaroot.net/eclipse/downloads/drops/R-3.4-200806172000/ecj-3.4.jar&amp;amp;mirror_id=468"&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; gcj -findirect-dispatch -m64 -o native_ecj --main=org.eclipse.jdt.internal.compiler.batch.Main ecj.jar&lt;br/&gt;&lt;br/&gt; # Now you'll have a native 64bit ecj that you can build other things with..&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; &lt;strong&gt;Step 3 jamvm&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; Change a couple solaris x86 lines in configure to x86_64&lt;br/&gt; mv -f solaris x86 sub directory to x86_64&lt;br/&gt; CFLAGS=-m64 LDFLAGS=-m64&lt;br/&gt;&lt;br/&gt; # Some jamvm gotchas..&lt;br/&gt; # 1.5.2 has a 64K stack size by default.. When generating some files you'll eventually hit a stackoverflow unless you add -Xss256K or higher..  That's why 1.5.3 should work out of the box.. Also.. if you do hit a stackoverflow the generated file is probably corrupted.&lt;br/&gt; # jvmtiEnterTrace.cpp won't be generated correctly.. I'm not certain the point of failure, but you'll need to download it from somewhere&lt;br/&gt; # After the bootstrap ant needs to find build.properties file.  If using jamvm it doesn't seem to find it and the build will fail.  Switching to the just bootstrapped java should fix it.&lt;br/&gt;&lt;br/&gt; &lt;strong&gt;Step 4 GNU Classpath&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; More evil gnu saves the day..&lt;br/&gt; # You can download the prebuilt one, but the location of ecj.jar for it will not be the same and thus later mess things up.  Adjust --with-ecj-jar=/usr/local/src/ecj.jar to your location..&lt;br/&gt;&lt;br/&gt; ./configure --prefix=/usr/local/classpath --with-glibj-zip=/usr/local/classpath/share/classpath/glibj.zip --with-pic --disable-gconf-peer --enable-jni --with-ecj-jar=/usr/local/src/ecj.jar --without-x --disable-plugin --disable-gtk-peer  --disable-examples --disable-gjdoc 'CFLAGS=-m64' 'LDFLAGS=-m64'&lt;br/&gt;&lt;br/&gt; &lt;strong&gt;Step 5 ant (which is really evil)&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; I personally loath ant.. So with that out of the way we have to get it working..&lt;br/&gt;&lt;br/&gt; # Note : disable junit first &lt;a class="jive-link-external-small" href="http://ant.apache.org/faq.html#170-requires-junit"&gt;http://ant.apache.org/faq.html#170-requires-junit&lt;/a&gt;&lt;br/&gt; # Before the icedtea6 was bootstrapped I dirty hacked the ant shell script to set JAVA_HOME inside it so I didn't have to export to the env.  After icedtea6 is removed you must remember to remove this.&lt;br/&gt;&lt;br/&gt; /usr/local/src/jamvm/bin/jamvm -classpath /usr/local/src/apache-ant-1.7.1/lib/ant-launcher.jar -Dant.home=/usr/share/ant-core -Dbuild.compiler=gcj org.apache.tools.ant.launch.Launcher&lt;br/&gt;&lt;br/&gt; ./dist/bin/ant -Dant.install=/usr/local/src/ant install&lt;br/&gt;&lt;br/&gt; &lt;strong&gt;Step 6 icedtea6 (yay!)&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; # If you're using (t)csh.. bash and normal shell users feel free to adjust&lt;br/&gt;&lt;br/&gt; setenv ALT_CUPS_HEADERS_PATH /usr/include&lt;br/&gt; setenv ALT_FREETYPE_LIB_PATH /usr/lib/amd64&lt;br/&gt; setenv ALT_FREETYPE_HEADERS_PATH /usr/include/freetype2&lt;br/&gt; setenv XARCH '-m64'&lt;br/&gt; setenv ARCH amd64&lt;br/&gt; setenv ARCH_DATA_MODEL 64&lt;br/&gt; setenv MAKE /usr/bin/gmake&lt;br/&gt; # Note : If you set to 5.10 which is what Sun Studio Express currently is it'll not pick up the most recent cflags in some places.&lt;br/&gt; setenv ENFORCE_COMPILER_REV '5.9'&lt;br/&gt; setenv ENFORCE_C_COMPILER_REV '5.9'&lt;br/&gt; setenv ALT_COMPILER_PATH /opt/SunStudioExpress/bin&lt;span class="anchor" id="line-41"&gt;&lt;/span&gt;&lt;br/&gt; setenv NO_DOCS true&lt;br/&gt;&lt;br/&gt; mkdir mybuild ; cd mybuild&lt;br/&gt;&lt;br/&gt; # Note : adjust accordingly&lt;br/&gt;&lt;br/&gt; ../configure --prefix=/usr/jdk/icedtea6 --disable-cacao --disable-liveconnect --disable-pulse-java --with-gcj-home=/usr/lib/gcj-4.4.0-10 --with-ecj=/usr/bin/ecj  --with-ecj-jar=/usr/local/src/ecj.jar --with-xalan2-jar=/usr/local/src/xalan-j_2_7_1/xalan.jar --with-xalan2-serializer-jar=/usr/local/src/xalan-j_2_7_1/serializer.jar --with-xerces2-jar=/usr/local/src/xerces-2_9_1/xercesImpl.jar --without-rhino --disable-visualvm --with-ant-home=/usr/local/src/ant --with-java=/usr/local/src/jamvm/bin/jamvm --with-pkgversion=Icedtea6-1.4.1  'CC=/opt/SunStudioExpress/bin/cc' 'CFLAGS=-m64 -I/usr/include/cups -I/usr/local/classpath/include' 'LDFLAGS=-m64'&lt;br/&gt;&lt;br/&gt; # depending on your version you may also need&lt;br/&gt; # --with-libgcj-jar=/usr/share/java/libgcj-4.4.0.jar&lt;br/&gt;&lt;br/&gt; # The big list of problems and stuff..&lt;br/&gt; 1) Where you point JAVA_HOME should have a jdk like structure.  There's the gcj-jdk redhat package that sets this up, but it didn't build/work so I did it manually.. ymmv&lt;br/&gt;&lt;br/&gt; # Note : The dirty hacks in no particular order...&lt;br/&gt; cd /usr/lib/gcj-4.4.0-10/jre/lib/&lt;br/&gt; ln -sf /usr/local/classpath/share/classpath/glibj.zip rt.jar&lt;br/&gt;&lt;br/&gt; # Note : can't find Invocable?&lt;br/&gt; cp ./lib/rt/javax/script/Invocable.class ./lib/hotspot-tools/javax/script/&lt;br/&gt; /usr/gcc/temp/bin/gjar cf bootstrap/jdk1.7.0/jre/lib/tools.jar -C lib/hotspot-tools com -C lib/hotspot-tools sun -C lib/hotspot-tools org -C lib/hotspot-tools java -C lib/hotspot-tools javax&lt;br/&gt;&lt;br/&gt; # The arch targets are all screwed up and confused because of amd64&lt;br/&gt; cd /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/&lt;br/&gt; ln -sf solaris-amd64 solaris-i586&lt;br/&gt;&lt;br/&gt; # Test fails.. Just make sure it doesn't..&lt;br/&gt; cd  /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/jdk/make/sun/xawt&lt;/p&gt;&lt;pre&gt;--- Makefile.old        2009-05-01 08:38:56.261848810 -0700&lt;br/&gt;+++ Makefile    2009-05-01 08:31:33.127737691 -0700&lt;br/&gt;@@ -248,6 +248,7 @@&lt;br/&gt;        fi&lt;br/&gt;        @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \&lt;br/&gt;            $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \&lt;br/&gt;+           cp $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \&lt;br/&gt;            $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \&lt;br/&gt;        fi &lt;/pre&gt;&lt;p&gt;# You'll have some missing symbols from the mapfiles.. Removing those lets the build go further&lt;/p&gt;&lt;pre&gt;Java_sun_java2d_xr_XRSurfaceData_XRIsDrawableValid /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt;Java_sun_java2d_xr_XRSurfaceData_flushNativeSurface /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt;Java_sun_java2d_xr_XRSurfaceData_XRSetGradientPaint /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt;Java_sun_java2d_xr_XRSurfaceData_setInvalid /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;Java_sun_java2d_x11_X11SurfaceData_XResetClip /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt;Java_sun_java2d_x11_X11SurfaceData_XSetClip /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt;Java_sun_java2d_x11_X11SurfaceData_setInvalid /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt;Java_sun_java2d_x11_X11SurfaceData_XCreateGC /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt;Java_sun_java2d_x11_X11SurfaceData_isDrawableValid /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt;Java_sun_java2d_x11_X11SurfaceData_initOps /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt;---&lt;br/&gt;Java_sun_java2d_xr_XRSurfaceData_initOps /usr/local/src/icedtea6-1.4.1/mybuild/openjdk-ecj/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt;&lt;br/&gt;&lt;/pre&gt;&lt;p&gt;# Icedtea6 assume gnu cp and ln&lt;br/&gt; ln -sfv can be converted to ln -sf&lt;br/&gt; cp -a can be converted to cp -pPrf&lt;br/&gt;&lt;/p&gt;&lt;p&gt;# First time around you'll need to steal libjvm.so&lt;br/&gt; mkdir -p /usr/local/src/icedtea6-1.4.1/mybuild/bootstrap/jdk1.6.0/jre/lib/amd64/server&lt;br/&gt; cp ../../jamvm-1.5.3/src/.libs/libjvm.so /usr/local/src/icedtea6-1.4.1/mybuild/bootstrap/jdk1.6.0/jre/lib/amd64/server&lt;br/&gt;&lt;br/&gt; # Manual symlink... (ugly hack)&lt;br/&gt; /usr/local/src/icedtea6-1.4.1/mybuild/bootstrap # ln -sf /usr/local/src/icedtea6-1.4.1/mybuild/bootstrap/openjdk-ecj/control/build/solaris-i586 icedtea&lt;br/&gt;&lt;br/&gt; # Since this is amd64 only..  bin/* won't have any commands.. they are all in bin/amd64/*&lt;br/&gt; # cd location/of/your/bin&lt;br/&gt; ln -sf amd64/* .&lt;br/&gt;&lt;br/&gt; # On OpenJDK bootstrap use icedtea6 libjvm.so and the other jre bits&lt;br/&gt;&lt;br/&gt; cp -rf ./openjdk-ecj/control/build/solaris-amd64/j2sdk-image/jre /usr/local/src/icedtea6-1.4.1/mybuild/bootstrap/jdk1.6.0/&lt;br/&gt;&lt;br/&gt; # Didn't get copied over?&lt;br/&gt; cp /usr/local/src/icedtea6-1.4.1/mybuild/bootstrap/jdk1.7.0/jre/lib/tools.jar /usr/local/src/icedtea6-1.4.1/mybuild/bootstrap/jdk1.6.0/lib/&lt;br/&gt;&lt;br/&gt; # This needs to be changed to gas and use -64 as flag to build 64bit..&lt;br/&gt; # As a quick fix you can cd to that directory and run gas manually&lt;br/&gt;&lt;br/&gt; mybuild/openjdk/hotspot/make/solaris/makefiles/sparcWorks.make&lt;br/&gt; AS   = /usr/ccs/bin/as&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; # ./test_gamma breaks stuff so once again disable the test&lt;br/&gt;&lt;br/&gt; --- openjdk/hotspot/make/solaris/Makefile.old   2009-05-03 05:24:28.591298714 -0700&lt;br/&gt; +++ openjdk/hotspot/make/solaris/Makefile       2009-05-03 05:24:45.635642249 -0700&lt;br/&gt; @@ -236,35 +236,30 @@&lt;br/&gt; &lt;br/&gt;  $(TARGETS_C2):  $(SUBDIRS_C2)&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ &amp;amp;&amp;amp; $(MAKE) $(MFLAGS)&lt;br/&gt; -       cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ &amp;amp;&amp;amp; ./test_gamma&lt;br/&gt;  ifdef INSTALL&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ &amp;amp;&amp;amp; $(MAKE) $(MFLAGS) install&lt;br/&gt;  endif&lt;br/&gt; &lt;br/&gt;  $(TARGETS_TIERED):  $(SUBDIRS_TIERED)&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) &amp;amp;&amp;amp; $(MAKE) $(MFLAGS)&lt;br/&gt; -       cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) &amp;amp;&amp;amp; ./test_gamma&lt;br/&gt;  ifdef INSTALL&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) &amp;amp;&amp;amp; $(MAKE) $(MFLAGS) install&lt;br/&gt;  endif&lt;br/&gt; &lt;br/&gt;  $(TARGETS_C1):  $(SUBDIRS_C1)&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) &amp;amp;&amp;amp; $(MAKE) $(MFLAGS)&lt;br/&gt; -       cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) &amp;amp;&amp;amp; ./test_gamma&lt;br/&gt;  ifdef INSTALL&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) &amp;amp;&amp;amp; $(MAKE) $(MFLAGS) install&lt;br/&gt;  endif&lt;br/&gt; &lt;br/&gt;  $(TARGETS_CORE):  $(SUBDIRS_CORE)&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) &amp;amp;&amp;amp; $(MAKE) $(MFLAGS)&lt;br/&gt; -       cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) &amp;amp;&amp;amp; ./test_gamma&lt;br/&gt;  ifdef INSTALL&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) &amp;amp;&amp;amp; $(MAKE) $(MFLAGS) install&lt;br/&gt;  endif&lt;br/&gt; &lt;br/&gt;  $(TARGETS_KERNEL):  $(SUBDIRS_KERNEL)&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_kernel/$(patsubst %kernel,%,$@) &amp;amp;&amp;amp; $(MAKE) $(MFLAGS)&lt;br/&gt; -       cd $(OSNAME)_$(BUILDARCH)_kernel/$(patsubst %kernel,%,$@) &amp;amp;&amp;amp; ./test_gamma&lt;br/&gt;  ifdef INSTALL&lt;br/&gt;         cd $(OSNAME)_$(BUILDARCH)_kernel/$(patsubst %kernel,%,$@) &amp;amp;&amp;amp; $(MAKE) $(MFLAGS) install&lt;br/&gt;  endif&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; # More mapfiles..&lt;br/&gt;&lt;br/&gt; Java_sun_java2d_xr_XRSurfaceData_XRIsDrawableValid /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt; Java_sun_java2d_xr_XRSurfaceData_flushNativeSurface /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt; Java_sun_java2d_xr_XRSurfaceData_XRSetGradientPaint /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt; Java_sun_java2d_xr_XRSurfaceData_setInvalid /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt; Java_sun_java2d_xr_XRSurfaceData_initOps /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt.X11/xawt/mapfile-vers&lt;br/&gt;&lt;br/&gt; ---&lt;br/&gt; Java_sun_java2d_x11_X11SurfaceData_XResetClip /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt; Java_sun_java2d_x11_X11SurfaceData_XSetClip /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt; Java_sun_java2d_x11_X11SurfaceData_setInvalid /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt; Java_sun_java2d_x11_X11SurfaceData_XCreateGC /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt; Java_sun_java2d_x11_X11SurfaceData_isDrawableValid /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt; ----&lt;br/&gt;&lt;br/&gt; Java_sun_java2d_x11_X11SurfaceData_initOps /usr/local/src/icedtea6-1.4.1/mybuild/openjdk/control/build/solaris-amd64/tmp/sun/sun.awt/headless/mapfile-vers&lt;br/&gt;&lt;br/&gt; Towards the end one last dirty hack...&lt;br/&gt; cp -prf openjdk/control/build/solaris-amd64/* openjdk/control/build/solaris-i586/&lt;br/&gt;&lt;br/&gt; # Congrats! From here you should have icedtea6 served&lt;br/&gt;&lt;br/&gt; ----&lt;br/&gt; &lt;strong&gt;References:&lt;/strong&gt;&lt;br/&gt; &lt;a class="jive-link-external-small" href="https://c1.complang.tuwien.ac.at/cacaowiki/OpenJDK"&gt;https://c1.complang.tuwien.ac.at/cacaowiki/OpenJDK&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; Andrew John Hughes - ebuilds&lt;br/&gt;&lt;span&gt; &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://overlays.gentoo.org/proj/java/browser/java-overlay/dev-java/icedtea6"&gt;http://overlays.gentoo.org/proj/java/browser/java-overlay/dev-java/icedtea6&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; Big thanks to everyone in #openjdk on oftc&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:062fa3c4-98e5-4ecc-8d90-5ca872471fd4] --&gt;</description>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">openjdk</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">icedtea6</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">jdk</category>
      <pubDate>Sun, 03 May 2009 17:03:28 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1043</guid>
      <dc:date>2009-05-03T17:03:28Z</dc:date>
      <clearspace:dateToText>1 year, 4 months ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>HOWTO build OSUNIX iso in 5 easy steps</title>
      <link>http://www.osunix.org/docs/DOC-1042</link>
      <description>&lt;!-- [DocumentBodyStart:cfbdf965-1301-4693-8788-8ad866575e34] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;&lt;br/&gt; &lt;strong&gt;HOWTO build OSUNIX iso in 5 easy steps&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; Notice : Current iso contains errors which make it impossible to login.  If you would like to help debug this please contact us.&lt;br/&gt;&lt;br/&gt; Step 1)&lt;br/&gt;&lt;br/&gt; Download and extract osunix_build.tar&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://pkg.osunix.org/releases/"&gt;http://pkg.osunix.org/releases/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; Step 2)&lt;br/&gt;&lt;br/&gt; Download and extract osunix.tar.bz2&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://pkg.osunix.org/releases/"&gt;http://pkg.osunix.org/releases/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; Step 3)&lt;br/&gt;&lt;br/&gt; cd osunix_build/belenix_constructor/src&lt;br/&gt;&lt;br/&gt; Step 4)&lt;br/&gt;&lt;br/&gt; edit test1.conf so that paths are correct for current location of source and build directories&lt;br/&gt;&lt;br/&gt; Step 5)&lt;br/&gt;&lt;br/&gt; ./build_dist.bash test1.conf&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:cfbdf965-1301-4693-8788-8ad866575e34] --&gt;</description>
      <pubDate>Sun, 26 Apr 2009 08:49:41 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1042</guid>
      <dc:date>2009-04-26T08:49:41Z</dc:date>
      <clearspace:dateToText>1 year, 4 months ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>What is an ediff and how it helps overlays</title>
      <link>http://www.osunix.org/docs/DOC-1041</link>
      <description>&lt;!-- [DocumentBodyStart:475f1a1f-c76f-4743-9ba1-9d3952c021aa] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;&lt;strong&gt;What is an ediff and how it helps overlays&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; Ebuilds shouldn't have logic or use flags enabled by default.  The goal is to be able to provide the highest level of quality and easily reproduce any problems.  In the past there wasn't an easy way to make a small maintainable variance upon a base ebuild.  As a result overlays and use flags were created.  The complaints most commonly mentioned about overlays is that they are loosely coupled from the main tree and also extraneous to maintain.  With taking a fresh look at the problem we invented something called an "ediff".  The ediff is just a simple -ru patch between two versions of an ebuild.  This extension was simply given so that pkgcore can understand what to do with it when it's side-by-side to an ebuild.  Here's a basic real world example.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; OSUNIX main tree is a x86_64 solaris base.&lt;br/&gt;&lt;br/&gt; foo package - foo-0.0.1.ebuild&lt;br/&gt;&lt;br/&gt; ...&lt;br/&gt; src_compile() {&lt;br/&gt;     econf \&lt;br/&gt;        --enable-64 \&lt;br/&gt;        | die "you get the idea"&lt;br/&gt; ...&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; Now we assume that we want to support a new arch i686 and make an overlay for it.  In the overlay we have to disable all the explicit 64bit options that are currently enabled.  It could be the other way around, but this is just one example.&lt;br/&gt;&lt;br/&gt; # Gentoo way with lots of if blocks and logic statements&lt;br/&gt;&lt;br/&gt; src_compile() {&lt;br/&gt; ...&lt;br/&gt; if [ arch == i686 &amp;amp;&amp;amp; != arm || other_logic_which_makes_this_harder_to_maintain ]&lt;br/&gt; ...&lt;br/&gt;&lt;br/&gt;     econf \&lt;br/&gt;        (enable-use 64) \&lt;br/&gt;        | die "you get the idea"&lt;br/&gt;&lt;br/&gt; ----&lt;br/&gt; # Our main tree example&lt;br/&gt;&lt;br/&gt;     econf \&lt;br/&gt;        --enable-64 \&lt;br/&gt;        | die "you get the idea"&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; # Start to show the benefit of ediff&lt;br/&gt;&lt;br/&gt; foo-0.0.1-r1.ebuild&lt;br/&gt; ...&lt;br/&gt; src_compile() {&lt;br/&gt; # We could also maybe assume that our --target has changed&lt;br/&gt; # and just leave the --enable-64 out, but verbosity on for&lt;br/&gt; # example purposes&lt;br/&gt;     econf \&lt;br/&gt;        --disable-64 \&lt;br/&gt;        | die "you get the idea"&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; So now instead of pushing the entirely new ebuild into the overlay we just make an ediff&lt;br/&gt;&lt;br/&gt; diff -ru  foo-0.0.1.ebuild foo-0.0.1-r1.ebuild &amp;gt; foo.ediff&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; --- foo-0.0.1.ebuild  Sat Apr 11 10:04:25 2009&lt;br/&gt; +++ foo-0.0.1-r1.ebuild Sat Apr 11 10:04:20 2009&lt;br/&gt; @@ -1,5 +1,8 @@&lt;br/&gt;  src_compile() {&lt;br/&gt; +# We could also maybe assume that our --target has changed&lt;br/&gt; +# and just leave the --enable-64 out, but verbosity is on for&lt;br/&gt; +# example purposes&lt;br/&gt;      econf \&lt;br/&gt; -       --enable-64 \&lt;br/&gt; +       --disable-64 \&lt;br/&gt;         | die "you get the idea"&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; Now we have an ediff which is tightly coupled to the main tree.  Now all you have to do is maintain a diff against the main tree.  We've removed the need for both logic and if blocks.  The result is a cleaner main tree and isolated variances.&lt;br/&gt;&lt;br/&gt; Author note:  I realize most people are scared of change, but when you see it in real world example it becomes clear.&lt;br/&gt;&lt;br/&gt; At the highest level in the past overlays could only "overlay" or override ebuilds in the main tree.  Now we give overlays the power to merge and overlay.  When you start to see and treat the main tree as a codebase instead of a bunch metadata it only seems logical to apply a diff for anything you need to change or maintain.&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:475f1a1f-c76f-4743-9ba1-9d3952c021aa] --&gt;</description>
      <pubDate>Tue, 21 Apr 2009 15:19:10 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1041</guid>
      <dc:date>2009-04-21T15:19:10Z</dc:date>
      <clearspace:dateToText>1 year, 4 months ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>OSUNIX compared to OpenSolaris™ for core development</title>
      <link>http://www.osunix.org/docs/DOC-1040</link>
      <description>&lt;!-- [DocumentBodyStart:dc5426b5-c27c-4594-a92a-0c8c165ef7e1] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;div class="moz-text-html" lang="x-unicode"&gt; &lt;/div&gt;&lt;p&gt;&lt;br/&gt; &lt;strong&gt;OSUNIX compared to OpenSolaris™ for core development&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;In this document we'll explain the fundamental differences between how development is handled between OSUNIX and OpenSolaris™.  To start we compare the tools they use and then later we compare the technical benefits, policy and practices behind them.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Core build tools - ospkg (fork of pkgcore)&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;ospkg, fork of pkgcore which is currently used by hundreds if not thousands of developers to build 10,000+ of the most popular open source software today.  With ospkg we're able to take advantage of all these existing build scripts and change only what's needed so that they build and install cleanly for OSUNIX.  Many popular packages include Xorg, KDE4.x, Perl, Python, Icedtea6 and everything else you could imagine from server to workstation.  We've changed pkgcore in a few important ways so that it tightly integrates with OSUNIX and smart package manager.  Below you'll find the highlighted differences as it compares to other build tools.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;pkgcore vs pkgbuild vs gar vs conary&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt; This chart isn't complete, but for those who know the corresponding tools it will be obvious how many features are missing and taken for granted once you haved used something powerful like pkgcore for years.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;pkgcore&lt;/td&gt;&lt;td valign="top"&gt;pkgbuild&lt;/td&gt;&lt;td valign="top"&gt;gar&lt;/td&gt;&lt;td valign="top"&gt;conary&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Build scripts are centrally organized&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Supports build modules and inheritance&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Supports shell scripting directly in build file&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Build scripts for almost all open source software already available&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Easily snapshot entire build tree for releases&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Built-in mirroring system for primary source site and backups&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Advanced source prefetch options for version control systems : hg, git, svn, cvs , bazaar (bzr) and others&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Integration with sandbox and other build environment protection mechanisms&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Can support multiple binary package targets&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Fast, complete and accurate dependency solver that scales to thousands of packages and dependencies.&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Capability to handle alternative ROOT /&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Allows building of binary package and direct install to ROOT /&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Transparently works with binary package manager so all files installed are under the same package/files database&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Portable to Linux, Solaris, BSD and many platforms&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Separates and sanitizes working shell environment from build process&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Central configuration which controls all environment options&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Simultaneously support multiple compilers and toolchains&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;Supports (SLOTS) which seamlessly allow multiple versions of the same package to be installed and maintained&lt;/td&gt;&lt;td valign="top"&gt;yes&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br/&gt; &lt;strong&gt;osunix-gate vs onnv-gate&lt;/strong&gt;&lt;br/&gt; onnv-gate is the vanilla upstream from Sun™ which requires you to sign the SCA (source contributor agreement) for your changes to be committed.  osunix-gate is our mirrored and merged hg repository that is externally controlled.  We have a putback and patch review process to ensure high quality engineering standards.  All patches must be OSI license compatible with the merging source and come with a promise that it will be maintained.  Before patches are directly applied we include them at the packaging level so they can undergo incubation period of testing and quality assurance.  This contrast to onnv-gate shows in our code review and community involvement process for testing.  Our testing and review process allows for greater exposure to diverse hardware, use cases and leveraging of the community.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;How we build osunix-gate&lt;/strong&gt;&lt;br/&gt; From the bottom up we've built OSUNIX as an environment which makes a developers job easier.  To accomplish this we've removed all monolithic packaging and broken osunix-gate into logical divisions.  We assume some basic comparative knowledge about onnv-gate and how it's currently built.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The 30 second version of how onnv-gate is built.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Download onbld, closed binaries, hg clone onnv-gate, install undocumented packages dependencies via pkg, sign-up on sun.com and download Sun Studio 12.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;gt;From onbld you'll have two tools and one script you need to modify depending on what you want to do.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;You copy opensolaris.sh into the root source directory of onnv-gate, make changes and run ./bldevn -d opensolaris.sh &amp;amp;&amp;amp; nightly&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This fundamentally sounds easy, but currently there isn't any document which describes this entire process.  From beginning to end it's loosely coupled and doesn't follow any modern software development practice or packaging process.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Major faults in onnv-gate build process&lt;br/&gt; 1) opensolaris.sh isn't very well documented.&lt;br/&gt; 2) bldenv sets up 40+ env variables that affect hundreds of Makefile.master options and are only documented in code&lt;br/&gt; 3) Difficult to isolate build failures due to the size of code that's being built&lt;br/&gt; 4) Any patch or putback undergoes limited community testing exposure before being putback&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Other problems with this process include building of large packages which should be maintained outside of onnv-gate.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;We've solved most of these faults by creating logical divisions in packaging.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;usr/src/lib/*&lt;br/&gt; usr/src/cmd/*&lt;br/&gt; usr/src/uts/*&lt;br/&gt; usr/src/tools/*&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;For example in the hg repo we have the following directory&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;usr/src/cmd/ps/&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This directory has a top level makefile which can be independently run to build a package&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;sys-cmds/ps&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This direct logical connection between packaging and source allows for any developer to easily know where to find the code in order to make a patch or track down a bug.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Our build process is fully reproducible for any developer out of the box.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;pmerge -1 sys-cmds/ps&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This will pull the source, build tools, setup the build environment, build and optionally install the package or build a binary package.  All package dependencies have been resolved already and any new hg tag or revision can be used to build the entire core network and operating system.  This also keeps every file under centralized packaging and a single coherent packaging policy.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;For developers wishing to work on code you can make a small change to the ps package script which will keep the source in a consistent location and give a single env script to build the correct env options for Makefile.master.  From there you can add your patches to the sys-cmds/ps/files directory and one line to the packaging script to include that patch in the package build process.  From there the patch can be uploaded, reviewed and shared by others.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;We also specifically solve problems for allowing more fine grained build recipes and tuning of build options for different parts of the core os.  This can prove especially helpful for those needing to build and maintain appliances or during the toolchain upgrade process.  By focusing on critical areas first we can push and test with less effort and a greater level of quality assurance.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;OpenSolaris and Sun are trademarks of Sun Microsystems   Inc in the US and respective areas.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:dc5426b5-c27c-4594-a92a-0c8c165ef7e1] --&gt;</description>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">osunix-gate</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">development</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">onnv</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">onnv-gate</category>
      <pubDate>Mon, 20 Apr 2009 16:58:09 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1040</guid>
      <dc:date>2009-04-20T16:58:09Z</dc:date>
      <clearspace:dateToText>1 year, 4 months ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>OSUNIX overview for Gentoo developers</title>
      <link>http://www.osunix.org/docs/DOC-1038</link>
      <description>&lt;!-- [DocumentBodyStart:39a5649b-07ff-4446-bb13-22421279ab43] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;&lt;strong&gt;OSUNIX overview for Gentoo developers&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;We realize that from a Gentoo developers perspective OSUNIX does things a bit differently.  To some this is may be good and to others this could be breaking habits and practices which have been built over many years.  Most Gentoo developers will feel very comfortable with our clean approach, direction and philosophy.  Our focus is on building great technology and not licensing wars or other fanatic zealotry.  At the core we've taken a fresh look on many things and try to engineer a path which accomplishes the best of building from source and binary package support.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The highest level difference between Gentoo and OSUNIX&lt;br/&gt; OSUNIX philosophy about main tree&lt;br/&gt; What is an ediff and how it helps overlays&lt;br/&gt; Things about OpenSolaris that suck and we're fixing&lt;br/&gt; OpenSolaris technology which is great&lt;br/&gt; 10 reasons to use OSUNIX&lt;br/&gt; Current status and how you can help&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The highest level difference between Gentoo and OSUNIX?&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Gentoo is a great Linux distribution which focuses on the power of building all software from source and the flexibility to break anything any time.&lt;br/&gt; OSUNIX is a fork from OpenSolaris which from the start is a big difference from the main Gentoo tree.  Until you really dig in and compare Linux and OpenSolaris it's hard to realize all the differences between the start-up, kernel, libc, networking and toolchain.  Instead of absolute flexibility we try to achieve maximum flexibility, but never at the cost of core system stability or core package quality.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;OSUNIX philosophy about main tree&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The OSUNIX main tree just like FreeBSD or OpenSolaris has the goal to be a very solid foundation.  It's on top of this that we want to build flexibility and high quality packages.  One of the main benefits of Gentoo is it's strong focus on tools for package maintainers and developers.  We've taken the strengths of building from source and optionally coupled it with the strength of binary packages.  Our modified version of pkgcore can build gentoo binary packages, debs, and a new rpm5-like variant that's still under heavy development.  One of our goals is to have pkgcore and smart package manager work seamlessly together.  Our goal is provide both the option to build everything from source or use entirely binary packages.  Having both in sync allows developers to build from source and end users, companies and administrators to have the convenience of binary packages.  Having this functionality entirely in pkgcore is possible, but we wanted to leverage smart package managers well maintained gui and great dependency solver.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; &lt;strong&gt;What is an ediff and how it helps overlays&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Core ebuilds shouldn't have logic or use flags enabled by default.  The goal is to be able to provide the highest level of quality and easily reproduce any problems.  In the past there wasn't an easy way to make a small maintainable variance upon a base ebuild.  As a result overlays and use flags were created.  The complaints most commonly mentioned about overlays is that they are loosely coupled from the main tree and also extraneous to maintain.  With taking a fresh look at the problem we invented something called an "ediff".  The ediff is just a simple -ru patch between two versions of an ebuild.  This extension was simply given so that pkgcore can understand what to do with it when it's side-by-side to an ebuild.  Here's a basic real world example.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; OSUNIX main tree is a x86_64 solaris base.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;foo package - foo-0.0.1.ebuild&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;...&lt;br/&gt; src_compile() {&lt;br/&gt;     econf \&lt;br/&gt;        --enable-64 \&lt;br/&gt;        | die "you get the idea"&lt;br/&gt; ...&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; Now we assume that we want to support a new arch i686 and make an overlay for it.  In the overlay we have to disable all the explicit 64bit options that are currently enabled.  It could be the other way around, but this is just one example.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;# Gentoo way with lots of if blocks and logic statements&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;src_compile() {&lt;br/&gt; ...&lt;br/&gt; if [ arch == i686 &amp;amp;&amp;amp; != arm || other_logic_which_makes_this_harder_to_maintain ]&lt;br/&gt; ...&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;     econf \&lt;br/&gt;        (enable-use 64) \&lt;br/&gt;        | die "you get the idea"&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;----&lt;br/&gt; # Our main tree example&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;     econf \&lt;br/&gt;        --enable-64 \&lt;br/&gt;        | die "you get the idea"&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; # Start to show the benefit of ediff&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;foo-0.0.1-r1.ebuild&lt;br/&gt; ...&lt;br/&gt; src_compile() {&lt;br/&gt; # We could also maybe assume that our --target has changed&lt;br/&gt; # and just leave the --enable-64 out, but verbosity on for&lt;br/&gt; # example purposes&lt;br/&gt;     econf \&lt;br/&gt;        --disable-64 \&lt;br/&gt;        | die "you get the idea"&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; So now instead of pushing the entirely new ebuild into the overlay we just make an ediff&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;diff -ru  foo-0.0.1.ebuild foo-0.0.1-r1.ebuild &amp;gt; foo.ediff&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; --- foo-0.0.1.ebuild  Sat Apr 11 10:04:25 2009&lt;br/&gt; +++ foo-0.0.1-r1.ebuild Sat Apr 11 10:04:20 2009&lt;br/&gt; @@ -1,5 +1,8 @@&lt;br/&gt;  src_compile() {&lt;br/&gt; +# We could also maybe assume that our --target has changed&lt;br/&gt; +# and just leave the --enable-64 out, but verbosity is on for&lt;br/&gt; +# example purposes&lt;br/&gt;      econf \&lt;br/&gt; -       --enable-64 \&lt;br/&gt; +       --disable-64 \&lt;br/&gt;         | die "you get the idea"&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; Now we have an ediff which is tightly coupled to the main tree.  All you have to do is maintain a diff against the main tree.  We've removed the need for both logic and if blocks for at least the core ebuilds.  The result is a cleaner main tree and isolated variances.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Author note:  I realize most people are scared of change, but when you see it in real world example it becomes clear.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;At the highest level in the past overlays could only "overlay" or override ebuilds in the main tree.  Now we give overlays the power to merge and overlay.  When you start to see and treat the main tree as a codebase instead of a bunch metadata it only seems logical to apply a diff for anything you need to change or maintain.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Things about OpenSolaris that suck and we're fixing&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;1) Horribly disorganized and poorly maintained open source toolchain (mostly fixed)&lt;br/&gt; 2) Very difficult to setup a path which works for development, interactive use and core system needs (in progress but needs more help)&lt;br/&gt; 3) Terrible packaging that range from current day IPS to 20 year old SVR4 (mostly fixed)&lt;br/&gt; 4) Lack of modern workstation features and usability compared to other operating systems (needs help)&lt;br/&gt; 5) Some closed binaries need to be replaced (8+ months of work and only a few parts in libc is left. Plan exists, but needs a volunteer with good c coding background)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;OpenSolaris technology which is great&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;ZFS - If zfs wasn't a storage dream I'd think it was written entirely for a developer always pushing the edge too much.  Zfs not only allows you to build truly flexible and great storage solutions, but also comes with some great hidden features and side effects.  For example before each update just do a zfs snapshot.  If your system gets broken just reboot back to the old one.  It takes all the risk out of updates and lets the developer really push the edge.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Zones - Very low overhead virtualization technology that supports Solaris, Linux 2.4, and Linux 2.6 (beta).&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Dtrace and observability tools - Even if you forgot to compile with debugging there's a number of really powerful and great developer and admin tools for diagnosing a problem.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;SMF - Service management framework : Start-up and service management has never been so over engineered and beautiful at the same time.  The interfaces to controlling and monitoring services is very well organized, but at the cost of being more than simple shell scripts.  At the core the way you control a service for it's full lifetime and even under stress is very logical, but there is a learning curve here.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Boomer - Boomer is OSS, but with new features and a twist that gives a number of cutting edge advantages.  The result is a highly scalable and well engineered audio system that really solves the core problem ALSA was always inspiring to do so.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Crossbow - On top of the very nice networking stack has been added a level of mint for virtualization and ultimately a platform as a base for some serious core routing and networking features.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;kmdb - If you're not a kernel developer you won't care, but for the rest of us kmdb makes debugging a panic or driver development a dream.  There's no need for a serial cable or print statements.  From a grub option you can configure the system to drop to kmdb and from there actually debug and get to the root of the problem.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;coreadm - This is yet another commonly overlooked, but indispensable feature for both admins and developers.  For any application that drops a core you can centrally configure where and how it's named.  There's a multitude of configuration options for this, but even your fork'ed process is dropping core it's where you expect it to be.  At the highest level this core can be shared and used to debug your problem without the hassle of trying to exactly build the same working environment.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;kernel code - Last, but certainly not least is the well engineered and methodically clean kernel code.  All commits go under nothing less than a gauntlet of reviews and for the past 20 years has continuously been engineered to be better.  Large companies like AMD and Intel along with Sun ensure it takes advantage of the performance benefits from the latest chipsets.  Official benchmarks are forthcoming, but early testing is very optimistic against every other modern operating system.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;10 reasons to use OSUNIX&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;1) Most ebuilds require minimal changes to work on OSUNIX&lt;br/&gt; 2) Best balance of entirely from source packaging and binary distribution&lt;br/&gt; 3) Security in the core and not as a hardened option&lt;br/&gt; 4) Leverages all the best of OpenSolaris technology (zfs, zones, smf, dtrace.. etc)&lt;br/&gt; 5) Good leadership that understands community comes first&lt;br/&gt; 6) Takes advantage of the hard work from a large corporation&lt;br/&gt; 7) A great platform and community to build innovation&lt;br/&gt; 8) A strong focus on performance&lt;br/&gt; 9) Dedicated to removing all closed binaries&lt;br/&gt; 10) Emphasis on conforming to standards&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; &lt;strong&gt;Current status and how you can help&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;We currently are only able to provide developer support, but we're close to having a really solid base.  (About 20 bugs/features away.  Depending on how much help we get it could take a week or 2 months)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Things sometimes move fast, but feel free to check out &lt;a class="jive-link-external-small" href="http://sl.osunix.org/TODO"&gt;TODO&lt;/a&gt; page or contact us if you'd like to help or just send a friendly hi our way.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Take a minute to join our community &lt;a class="jive-link-external-small" href="/create-account.jspa"&gt;here &amp;gt;&amp;gt;&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;IRC #osunix irc.freenode.net&lt;/li&gt;&lt;li&gt;Join our &lt;a class="jive-link-external-small" href="http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/osunix-dev"&gt;development mailing list&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:39a5649b-07ff-4446-bb13-22421279ab43] --&gt;</description>
      <pubDate>Sat, 11 Apr 2009 14:05:44 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1038</guid>
      <dc:date>2009-04-11T14:05:44Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>Max Bruning - Training events</title>
      <link>http://www.osunix.org/docs/DOC-1037</link>
      <description>&lt;!-- [DocumentBodyStart:0850b24b-1b15-440f-8085-ee9a297de69d] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;&lt;br/&gt; Max Bruning is working with the OSUNIX community to help grow and deepen the knowledge of every developer as much as possible.  Together we feel we can offer a nice balance between free online instructor led courses and also introduce more people to Max's great professional training.  Our plan is to do one free training for 10-15 students each month. Topics will vary depending on what students vote for, what's cutting edge and what developers in the OSUNIX community need.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Our first kernel internals class is full and, so far, a great initial effort.  We'll be announcing the final student list soon, but we've immediately started to plan more training days.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;To help us continue more events please read below or for more information check our current &lt;a class="jive-link-external-small" href="http://sl.osunix.org/FreeKernelTrainingDay"&gt;http://sl.osunix.org/FreeKernelTrainingDay&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Help us keep the training days as great as possible&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; 1) Start or participate in a discussion in our training community&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a class="" href="http://www.osunix.org/community/osunix/training"&gt;http://www.osunix.org/community/osunix/training&lt;/a&gt;&lt;br/&gt; (Registration is required, but shows you're serious and takes under a minute)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;2) Casting your vote on the current training poll&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.osunix.org/poll.jspa?poll=1000"&gt;http://www.osunix.org/poll.jspa?poll=1000&lt;/a&gt;&lt;br/&gt; (Registration is required, but shows you're serious and takes under a minute)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;3) Helping promote professional training for Bruning Systems.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Max is helping us by volunteering his time and we're trying to pay him back by spreading the word about how great his trainings are.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;     a) Write a blog post and link here and to &lt;a class="jive-link-external-small" href="http://www.bruningsystems.com"&gt;http://www.bruningsystems.com&lt;/a&gt;, or to the current event&lt;br/&gt;     b) Tell a friend or your local UNIX/Solaris user group&lt;br/&gt;     c) Convince your boss you need more training&lt;/p&gt;&lt;p&gt;&lt;br/&gt; As students express interest in the full five day training course we'll help organize those events.  We know the economy is tough, but we've arranged that for every 12 student online class a discounted rate of $350-$400* tuition for everyone who is referred by the OSUNIX community.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Hope you find this as exciting and helpful as we do.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Support &amp;amp; Questions&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt; Forum&lt;br/&gt; &lt;a class="jive-link-external-small" href="/community/osunix/training"&gt;http://www.osunix.org/community/osunix/training&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;IRC&lt;br/&gt;irc: #osunix irc.freenode.net&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Mailing list&lt;br/&gt; &lt;a class="jive-link-external-small" href="http://sl.osunix.org/osunix-dev"&gt;http://sl.osunix.org/osunix-dev&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Bruning systems: For direct inquiries (or maybe just send him a thank you note)&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 16px;"&gt;&lt;/span&gt;&lt;span style="font-size: 16px;"&gt;&lt;a class="jive-link-email-small" href="mailto:max@bruningsystems.com"&gt;max@bruningsystems.com&lt;/a&gt;&lt;/span&gt; &lt;span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 19px; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;* Depends on travel expenses and other actual costs.  (For europe it's most likely $350.)&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:0850b24b-1b15-440f-8085-ee9a297de69d] --&gt;</description>
      <pubDate>Wed, 08 Apr 2009 08:30:21 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1037</guid>
      <dc:date>2009-04-08T08:30:21Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>OSUNIX Embedded Community Goal</title>
      <link>http://www.osunix.org/docs/DOC-1036</link>
      <description>&lt;!-- [DocumentBodyStart:e1cbfbfd-a912-4ac3-a5b5-7bdcf2ffe110] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Solaris was traditionally developed with server use in mind. It’s solid and ultra stable, and therefore perfectly suited to be used where reliability is required. Our goal is adaptation of OpenSolaris for use on embedded systems or systems requiring a stable but small-footprint OS. Since embedded devices serve specific rather than general purposes, we must optimize OpenSolaris for specific hardware configurations and usage situations. These optimizations can include modifying the kernel and reducing the number of device drivers and software applications.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:e1cbfbfd-a912-4ac3-a5b5-7bdcf2ffe110] --&gt;</description>
      <pubDate>Mon, 06 Apr 2009 05:44:12 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1036</guid>
      <dc:date>2009-04-06T05:44:12Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>Free kernel training day</title>
      <link>http://www.osunix.org/docs/DOC-1035</link>
      <description>&lt;!-- [DocumentBodyStart:242cdc2c-4f80-43bb-bbaa-a3314dbba452] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;&lt;strong&gt;Bruning Systems and OSUNIX free kernel internals training day either April 18th or 19th&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Max Bruning from Bruning Systems has graciously offered to do a one day free training course for the entire OpenSolaris community.  For added convenience it will be entirely web based so no need to travel anywhere.  He'll cover two topics from his popular five day course.  We plan to treat this like a real classroom so space is limited to 12-15 students this time.**  Everyone will be able to watch online, but only selected students will get the chance to ask questions and see the live demonstrations.  Please look below for the topics to choose from and let us know what you find most interesting!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This course is &lt;strong&gt;highly&lt;/strong&gt; regarded as one of the best in the industry and a great chance to jump start your kernel programming.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="/create-account.jspa"&gt;Please register here &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="/thread/1010"&gt;Join the discussion on the training day &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;To make sure you get the most from this we'll give you a small quiz before and after the course to test how much you've learned.  If you've always wanted to learn more about zfs or how to fix some nagging problem with a driver here's your chance.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Proposed topics&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Note : This is some of the same material Bruning Systems will be teaching on May 4th-8th in Poland.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;It's not possible to put all the course details here , but please feel free to ask a question and we'll answer it.  (irc, mailing list and forum support options at the bottom)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Thread Synchronization&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 2em"&gt;&lt;ul&gt;&lt;li&gt;Purpose&lt;/li&gt;&lt;li&gt;API&lt;/li&gt;&lt;li&gt;How they work&lt;/li&gt;&lt;li&gt;Problems&lt;/li&gt;&lt;li&gt;Deadlock, Race Conditions, Livelock&lt;/li&gt;&lt;li&gt;Measurement&lt;/li&gt;&lt;li&gt;Example debugging a problem with mutexes&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Memory Management&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 2em"&gt;&lt;ul&gt;&lt;li&gt;Pmap output explained&lt;/li&gt;&lt;li&gt;Building an address space&lt;/li&gt;&lt;li&gt;What happens on a page fault&lt;/li&gt;&lt;li&gt;Data structure walk with mdb&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;An Overview of mdb&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 2em"&gt;&lt;ul&gt;&lt;li&gt;The 5% of mdb you need to do 95% of the work&lt;/li&gt;&lt;li&gt;Lots of small examples&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Debugging a Kernel Panic&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 2em"&gt;&lt;ul&gt;&lt;li&gt;Students install a kernel module that causes their machine to panic&lt;/li&gt;&lt;li&gt;Then we go through a debugging session&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Debugging a System Hang&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 2em"&gt;&lt;ul&gt;&lt;li&gt;This will be shown by demo.  (I (Max) set up a tip session to the "hung" machine and students watch how I analyze it.  Of course, if students have the necessary equipment (2 machines with serial connections over a null-modem cable), they can follow along.) (Virtualbox is also possible)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;ZFS File System Walk-Through&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 2em"&gt;&lt;ul&gt;&lt;li&gt;Basically, the talk I gave at the OpenSolaris Developers Conference last summer&lt;/li&gt;&lt;li&gt;To follow along, students will be provided with customer versions of mdb, zdb, and a mdb dmod&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;This course will only include advanced topics, but show your support for future training days and suggest a topic.  We need your help so spread the word and tell a friend.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="/create-account.jspa"&gt;Please register first &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="/thread/1010"&gt;Join the training day discussion &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;**Note: If more people keep expressing interest it will happen again, but it's a lot of work to arrange and we want to know it's useful.&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Support &amp;amp; Questions&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Forum&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.osunix.org/community/osunix/training"&gt;http://www.osunix.org/community/osunix/training&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;IRC&lt;br/&gt;irc: #osunix irc.freenode.net&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Don't know what irc is?&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Mailing list&lt;br/&gt;&lt;a class="jive-link-external-small" href="http://sl.osunix.org/osunix-dev"&gt;http://sl.osunix.org/osunix-dev&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:242cdc2c-4f80-43bb-bbaa-a3314dbba452] --&gt;</description>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">free</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">solaris</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">kernel</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">training</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">bruning</category>
      <category domain="http://www.osunix.org/tags?containerType=?14&amp;container=2007">systems</category>
      <pubDate>Thu, 02 Apr 2009 12:30:13 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1035</guid>
      <dc:date>2009-04-02T12:30:13Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>OSUNIX - HelloWorld first package</title>
      <link>http://www.osunix.org/docs/DOC-1033</link>
      <description>&lt;!-- [DocumentBodyStart:64d43b7e-90d0-49bc-b7f9-4451f712e494] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;blank for now.. coming soon.. bug us on #ospkg on irc.freenode.net if you need it faster..&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:64d43b7e-90d0-49bc-b7f9-4451f712e494] --&gt;</description>
      <pubDate>Mon, 23 Mar 2009 12:21:41 GMT</pubDate>
      <author>admin@osunix.org</author>
      <guid>http://www.osunix.org/docs/DOC-1033</guid>
      <dc:date>2009-03-23T12:21:41Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
    </item>
  </channel>
</rss>

