[gnome-ostree] README updated
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-ostree] README updated
- Date: Mon, 30 Jul 2012 15:17:29 +0000 (UTC)
commit 895a8fa6b4e4719ee5aaf8ef8a960f0f69c97af2
Author: Andres Gomez <agomez igalia com>
Date: Sat Jul 28 17:28:55 2012 +0200
README updated
README-build.md | 186 ++++++++++++++++++++++++++++++++++--------------------
1 files changed, 117 insertions(+), 69 deletions(-)
---
diff --git a/README-build.md b/README-build.md
index 0146c2e..4a64913 100644
--- a/README-build.md
+++ b/README-build.md
@@ -3,8 +3,8 @@ Overview
The build process is divided into two levels:
-1) Yocto
-2) ostbuild
+1. Yocto
+2. ostbuild
Yocto is used as a reliable, well-maintained bootstrapping tool. It
provides the basic filesystem layout as well as binaries for core
@@ -14,7 +14,7 @@ dependency problems.
At the end, the Yocto build process generates two tarballs: one for a
base "runtime", and one "devel" with all of the development tools like
gcc. We then import that into an OSTree branch
-e.g. "bases/yocto/gnomeos-3.4-i686-devel".
+e.g. "bases/yocto/gnomeos-3.6-i686-devel".
At present, it's still (mostly) possible to put this data on an ext4
filesystem and boot into it.
@@ -45,14 +45,17 @@ Yocto, some of which are hacky, others upstreamable. The most
important part though are the modifications to commit the generated
root filesystem into OSTree.
+For every GNOME OS release, there is a branch on which the needed
+patches have landed. By now, that branch is "gnomeos-3.6".
+
ostbuild details
----------------
The simple goal of ostbuild is that it only takes as input a
"manifest" which is basically just a list of components to build. You
-can see this here:
+can see an example of this here:
-http://git.gnome.org/browse/ostree/tree/gnomeos/3.4/gnomeos-3.4-src.json
+http://git.gnome.org/gnome-ostree/gnomeos-3.6.json
A component is a pure metadata file which includes the git repository
URL and branch name, as well as ./configure flags (--enable-foo).
@@ -64,9 +67,9 @@ implementation perspective, versus having to maintain a version
control abstraction layer.
The result of a build of a component is an OSTree branch like
-"artifacts/gnomeos-3.4-i686-devel/libxslt/master". Then, a "compose"
+"artifacts/gnomeos-3.6-i686-devel/libxslt/master". Then, a "compose"
process merges together the individual filesystem trees into the final
-branches (e.g. gnomeos-3.4-i686-devel).
+branches (e.g. gnomeos-3.6-i686-devel).
Doing local builds
------------------
@@ -82,65 +85,110 @@ Following this process is equivalent to what we have set up on the
ostree.gnome.org build server. It will generate a completely new
repository.
-srcdir=/src
-builddir=/src/build
-
-# First, you'll need "http://git.gnome.org/browse/linux-user-chroot/"
-# installed as setuid root.
-
-cd $srcdir
-
-git clone gnome:linux-user-chroot
-cd linux-user-chroot
-NOCONFIGURE=1 ./autogen.sh
-./configure
-make
-sudo make install
-sudo chown root:root /usr/local/bin/linux-user-chroot
-sudo chmod u+s /usr/local/bin/linux-user-chroot
-
-# We're going to be using Yocto. You probably want to refer to:
-# http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html
-# Next, we're grabbing my Poky branch.
-
-git clone git://github.com/cgwalters/poky.git
-cd $builddir
-
-# This command enters the Poky environment, creating
-# a directory named gnomeos-build.
-. $srcdir/poky/oe-init-build-env gnomeos-build
-
-# Now edit conf/bblayers.conf, and add
-# /src/poky/meta-gnomeos
-# to BBLAYERS.
-# Make sure tools-profile and tools-testapps are not in EXTRA_IMAGE_FEATURES
-# Also, you should choose useful values for BB_NUMBER_THREADS, PARALLEL_MAKE
-
-bitbake ostree-native
-bitbake gnomeos-contents-{runtime,devel}
-
-# This bit is just for shorthand convenience, you can skip it
-cd $builddir
-ln -s tmp/deploy/images/repo repo
-
-# Now create a file ~/.config/ostbuild.cfg
-# example contents:
-# [global]
-# repo=/src/build/gnomeos-build/build/repo
-# mirrordir=/src/build/ostbuild/src
-# workdir=/src/build/ostbuild/work
-# manifest=/src/ostree/gnomeos/3.4/gnomeos-3.4-src.json
-
-# Now we want to use the "ostbuild" binary that was created
-# as part of "bitbake ostree-native". You can do e.g.:
-
-export PATH=$builddir/build/tmp/sysroots/x86_64-linux/usr/bin:$PATH
-
-# This next command will download all of the source code to the
-# modules specified in $srcdir/ostree/gnomeos/3.4/manifest.json,
-# and create a file $workdir/manifest.json that has the
-# exact git commits we want to build.
-ostbuild resolve
-
-# This command builds everything
-ostbuild build
+ $ srcdir=/src
+ $ builddir=/src/build
+
+
+ # First, you'll need "http://git.gnome.org/browse/linux-user-chroot/"
+ # installed as setuid root.
+
+ $ cd $srcdir
+
+ $ git clone gnome:linux-user-chroot
+ $ cd linux-user-chroot
+ $ NOCONFIGURE=1 ./autogen.sh
+ $ ./configure
+ $ make
+ $ sudo make install
+ $ sudo chown root:root /usr/local/bin/linux-user-chroot
+ $ sudo chmod u+s /usr/local/bin/linux-user-chroot
+
+
+ # We're going to be using Yocto. You probably want to refer to:
+ # http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html
+ # Next, we're grabbing my Poky branch.
+
+ $ git clone git://github.com/cgwalters/poky.git
+ $ cd poky
+ $ git co gnomeos-3.6
+ $ cd $builddir
+
+
+ # This command enters the Poky environment, creating
+ # a directory named gnomeos-build.
+
+ $ . $srcdir/poky/oe-init-build-env gnomeos-build
+
+
+ # Now edit conf/bblayers.conf, and add
+ # /src/poky/meta-gnomeos
+ # to BBLAYERS.
+ #
+ # Check the conf/local.conf file and make sure "tools-profile" and
+ # "tools-testapps" are not in EXTRA_IMAGE_FEATURES
+ #
+ # Also, you should choose useful values for BB_NUMBER_THREADS and
+ # PARALLEL_MAKE
+ #
+ # For the meaning of this variables you can check:
+ # http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html#var-EXTRA_IMAGE_FEATURES
+ # http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html#var-BB_NUMBER_THREADS
+ # http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html#var-PARALLEL_MAKE
+
+ $ bitbake ostree-native
+
+
+ # After this command, we will have a native compilation of OSTree
+ # e.g. tmp/work/x86_64-linux/ostree-native-1.0-r0/image/opt/gnome-os/tanty/build/gnomeos-build/tmp/sysroots/
+
+ $ bitbake gnomeos-contents-{runtime,devel}
+
+
+ # At the end, the Yocto build process generates two tarballs: one for
+ # a base "runtime", and one "devel" with all of the development tools
+ # like gcc. We then import that into an OSTree branch
+ # e.g. "bases/yocto/gnomeos-3.6-i686-devel".
+
+
+ # This bit is just for shorthand convenience, you can skip it
+
+ $ cd $builddir
+ $ ln -s gnomeos-build/tmp/deploy/images/repo repo
+
+
+ # Now create a file ~/.config/ostbuild.cfg
+ # example contents:
+ # [global]
+ # repo=/src/build/repo
+ # mirrordir=/src/build/ostbuild/src
+ # workdir=/src/build/ostbuild/work
+
+
+ # And create the mirrordir and workdir directories
+
+ $ mkdir -p $builddir/ostbuild/src
+ $ mkdir -p $builddir/ostbuild/work
+
+
+ # Now we want to use the "ostbuild" binary that was created
+ # as part of "bitbake ostree-native". You can do e.g.:
+
+ $ export PATH=$builddir/gnomeos-build/tmp/sysroots/x86_64-linux/usr/bin:$PATH
+
+
+ # This next command will download all of the source code to the
+ # modules specified in $gnome-ostree/gnomeos-3.6.json, and create a
+ # file $workdir/manifest.json that has the exact git commits we want
+ # to build.
+
+ $ ostbuild resolve --manifest /src/gnome-ostree/gnomeos-3.6.json
+
+
+ # By then, you should create your own prefix for the builds of the
+ # OSTree
+
+ $ ostbuild prefix my-prefix
+
+
+ # This command builds everything
+ $ ostbuild build-components --src-snapshot $builddir/ostbuild/work/snapshots/gnomeos-3.6-src-snapshot-<year>.<number>-<hash>.json
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]