From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([69.77.167.62] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1JLM5R-00072T-NW for garchives@archives.gentoo.org; Sat, 02 Feb 2008 17:23:30 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 95B98E02F4; Sat, 2 Feb 2008 17:23:28 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 2469FE02F4 for ; Sat, 2 Feb 2008 17:23:28 +0000 (UTC) Received: from stork.gentoo.org (stork.gentoo.org [64.127.104.133]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTP id 9C8B0660F1 for ; Sat, 2 Feb 2008 17:23:27 +0000 (UTC) Received: from grobian by stork.gentoo.org with local (Exim 4.68) (envelope-from ) id 1JLM5O-0000Sh-IC for gentoo-commits@lists.gentoo.org; Sat, 02 Feb 2008 17:23:26 +0000 From: "Fabian Groffen (grobian)" To: gentoo-commits@lists.gentoo.org Reply-To: gentoo-dev@lists.gentoo.org, grobian@gentoo.org Subject: [gentoo-commits] gentoo commit in xml/htdocs/proj/en/gentoo-alt/prefix: bootstrap-macos.xml X-VCS-Repository: gentoo X-VCS-Files: bootstrap-macos.xml X-VCS-Directories: xml/htdocs/proj/en/gentoo-alt/prefix X-VCS-Committer: grobian X-VCS-Committer-Name: Fabian Groffen Content-Type: text/plain; charset=utf8 Message-Id: Sender: Fabian Groffen Date: Sat, 02 Feb 2008 17:23:26 +0000 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 4d56a754-8570-4909-90f4-79cd4bcb1cc4 X-Archives-Hash: e874c16769e23f73df3f3a408c15b055 grobian 08/02/02 17:23:26 Modified: bootstrap-macos.xml Log: Dependencies have changed, resulting in our bootstrap procedure being c= ompletely broken. I rewrote it, starting with Mac OS X. The positive si= de of this is that the bootstrap procedure got a lot cleaner. Revision Changes Path 1.25 xml/htdocs/proj/en/gentoo-alt/prefix/bootstrap-macos= .xml file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/gen= too-alt/prefix/bootstrap-macos.xml?rev=3D1.25&view=3Dmarkup plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/gen= too-alt/prefix/bootstrap-macos.xml?rev=3D1.25&content-type=3Dtext/plain diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/gen= too-alt/prefix/bootstrap-macos.xml?r1=3D1.24&r2=3D1.25 Index: bootstrap-macos.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/gentoo-alt/prefix/bootst= rap-macos.xml,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- bootstrap-macos.xml 9 Jan 2008 18:23:21 -0000 1.24 +++ bootstrap-macos.xml 2 Feb 2008 17:23:26 -0000 1.25 @@ -1,6 +1,6 @@ - + =20 Gentoo Prefixed Portage Bootstrap Process for Mac OS X @@ -19,8 +19,8 @@ =20 - 1.5 - 2008-01-09 + 1.6 + 2008-02-02 =20 Bootstrapping on OS X @@ -40,7 +40,7 @@ Prefixed Portage is tested and supported on Mac OS X Tiger and Leopard on PPC and x86 architectures. Tests on PPC Panther were successful, but the platform itself isn't fully - supported. + supported any more.

@@ -140,80 +140,36 @@ $ emerge --oneshot sed

- Next, we emerge the bash shell and its dependency - ncurses. bash is used extensively within portage and - other applications. + Next, we emerge the bash shell Portage heavily relies + on. Since its dependencies cannot be compiled at this stage, + we ignore those for the moment. The same holds for + wget which we emerge at the same time.

-
-$ emerge --oneshot bash
-        
- - It is safe to ignore the "1 config files in XXX need updating" - message that appears till the end of the bootstrap process. - -

- We continue getting some autotools stuff into our prefix. -

-
-$ emerge --oneshot --nodeps "m4"
-$ emerge --oneshot --nodeps "=3Dautoconf-2.1*" "=3Dautoconf-2.6*" "au=
toconf-wrapper"
-$ emerge --oneshot --nodeps "=3Dautomake-1.4*" "=3Dautomake-1.5*" "=3D=
automake-1.6*" "=3Dautomake-1.7*" "=3Dautomake-1.8*" "automake-wrapper"
-        
- >=3Dautomake-1.9 and libtool are not (yet) - installed at this stage. -

- Next, we have to get some tools in order to finalise getting - the autotools in our prefix. Because we installed wget - in a temporary location, let's not forget to install it - properly by emerging it now: -

-
+        
+$ emerge --oneshot --nodeps bash
 $ emerge --oneshot --nodeps wget
         

- After this we can emerge texinfo, which automake-1.9 - needs. -

-
-$ emerge --oneshot --nodeps help2man texinfo
-        
-

- Now we can finish installing the autotools: -

-
-$ emerge --oneshot --nodeps "=3Dautomake-1.9*" "=3Dautomake-1.10*"
-$ emerge --oneshot --nodeps libtool
-        
-

- Now we have some decent autotooling stuff around, we can get - some decent core utilities in our prefix. -

-
-$ emerge --oneshot --nodeps sys-apps/coreutils
-        
-

- Finally we emerge python, findutils and - tar in our prefix. These are the last packages that we - temporarily installed to bootstrap our system. -

-
-$ emerge --oneshot --nodeps python
-$ emerge --oneshot --nodeps findutils
-$ emerge --oneshot --nodeps tar
+          We continue getting more tools in our prefix.  We no longer
+          ignore dependencies, so a lot of packages will be emerged at
+          this stage.  Slowly our prefix gets more robust as we progress
+          here.
+        

+
+$ emerge --oneshot coreutils
+$ emerge --oneshot findutils
+$ emerge --oneshot tar
+$ emerge --oneshot grep
 $ emerge --oneshot gawk
         
- Mac OS X Leopard (10.5) users should also emerge - python here.

- Before we continue to emerge all ebuilds from system, - we first install portage. We need to overwrite the - version that was installed by the bootstrap script. - Installing a new portage will make sure it uses the tools - provided by the prefix, and forget about the temporary - installed tools. + Now we have a good bunch of programs that Portage needs, we + can replace the bootstrapped Portage by a properly installed + one, using portage itself. We need to temporarily tell + Portage that the bootstrapped Portage can be overwritten.

-$ env FEATURES=3D"-collision-protect" emerge --oneshot --nodeps porta=
ge
+$ env FEATURES=3D"-collision-protect" emerge --oneshot portage
         

Some, if not many, scripts and tools within a Gentoo system @@ -222,33 +178,26 @@ be emerged too late if we wouldn't do it manually now:

-$ emerge --oneshot --nodeps baselayout-prefix
+$ emerge --oneshot baselayout-prefix
         

- Now we're about to start the big work, we remove the temporary - directory and its use as we got it all in our prefix now. + Now we have emerged everything we bootstrapped before, we + remove the temporary directory and its use as it is no longer + necessary.

 $ rm -Rf $EPREFIX/tmp/*
 $ hash -r
         

- Next, we do the real work where all packages get reemerged in - such an order that they make use of packages in the prefix - itself. + Before we do any further merges, we are going to update our + tree. Since snapshots in prefix are actually (anonymous) SVN + checkouts of the tree, we need subversion to update it.

-
-$ emerge -e system
+        
+$ emerge --oneshot subversion
         

- This will happily install a lot of stuff and reinstall what - you emerged before. This is necessary to avoid compilation - failures due to dependencies. -

-

- We can now update the tree. Since snapshots now are actually - (anonymous) SVN checkouts of the tree, we can immediately use - SVN commands on the tree instead of checking a tree out first. Because Portage knows how to deal with the SVN tree, and the bootstrap script has set a correct SYNC variable in your etc/make.conf, updating the tree is done @@ -265,16 +214,20 @@ case-sensitive.

- To really do this properly, after emerging system, one - should re-emerge system, because now all packages can - be compiled with all tools from the prefix, instead of based - on tools in the system root. Before you do though, this is - the good time to set your general USE-flags, such as - nls to get localised messages in - $EPREFIX/etc/make.conf. In that file, you - can also set CFLAGS for your compilation. Be - conservative with CFLAGS! Note that the code below is - an example, and is meant for inspiration only. + Next, we let Portage emerge all packages that complete a + system install that we eventually need to finalise this prefix + installation. +

+
+$ emerge -u system
+        
+

+ Now is a good time to set the preferences for our soon to be + prefix. This includes customisations such as general + USE-flags, CFLAGS and MAKEOPTS in + $EPREFIX/etc/make.conf. Be conservative with + CFLAGS! Note that the code below is an example, and is + meant for inspiration only.

 $ echo 'USE=3D"unicode nls"' >> $EPREFIX/etc/make.conf
@@ -284,15 +237,20 @@
         
           You have to replace <my-cpu-flags> with something
           that matches your CPU.
-          Intel-based Mac users (e.g. MacBook, Core2Duo) should at least
+          Intel-based Mac users (e.g. MacBook, CoreDuo) should at least
           have -march=3Dprescott here to avoid compilation errors
-          due to SSE instructions not being enabled.  PPC users can use
-          their CPU's alias to enable CPU specific tuning, e.g.
-          -mcpu=3DG5 -mtune=3DG5 -faltivec.
+          due to SSE instructions not being enabled.  Core2Duo users can
+          use -march=3Dnocona.  PPC users can use their CPU's ali=
as
+          to enable CPU specific tuning, e.g.  -mcpu=3DG5
+            -mtune=3DG5.
         
         

- Since we're about to rebuild our system for the last time, we - can unset all hacks we made to help the bootstrap process. + Since we have everything in place for a self-catered rebuild, + we can unset all hacks we made to help the bootstrap process, + and start the final stage to install the prefix system. This + final stage recompiles everything in the system, but now all + packages can be compiled with tools from the prefix, instead + of those from the host system.

 $ unset LDFLAGS



--=20
gentoo-commits@lists.gentoo.org mailing list