File: README.txt
base-0 patch-1
Line 4Line 4
To build a bbc, first you must fetch the GAR tree.

To build a bbc, first you must fetch the GAR tree.

=== By HTTP ===
=== Tarballs ===
<http://www.lnx-bbc.org/images/lnx-bbc-2.0.tar.gz clean GAR tree>:
Exactly equivalent to an anonymous checkout of the RELEASE_lnx-bbc_2_0
tag. Approximately 700k.

<http://www.lnx-bbc.org/images/lnx-bbc-2.0-with-sources.tar.gz GAR tree with upstream sources>:
As above, but all upstream sources have been combined into the tree.
Approximately 250 MB.
==== By BitTorrent ====

<http://www.lnx-bbc.org/images/bbc-2.1-with-sources.tar.gz.torrent>:
Exactly equivalent to an anonymous checkout of the RELEASE_lnx-bbc_2_1
tag, but with sources pre-downloaded for the packages used by the
2.1 LNX-BBC. Approximately 270MB.

==== By HTTP ====

<http://www.lnx-bbc.org/images/bbc-2.1-with-sources.tar.gz>:
As above.
When you unpack your tarball, you should have a directory called
When you unpack your tarball, you should have a directory called
"lnx-bbc-2.0" sitting in your current directory. You can rename it if
you like. We call it gar.
"gar" sitting in your current directory. You can rename it if
you like.
=== From CVS ===

=== From CVS ===

Line 29Line 33
Just hit return when it asks you for a password. You can now check
out the STABLE or HEAD branches of the tree.

Just hit return when it asks you for a password. You can now check
out the STABLE or HEAD branches of the tree.


==== LNX-BBC 2.1 ====

Each release is tagged in the exact state used for it. These are
typically snapshots of the STABLE branch (see below). For example, to
grab the 2.1 release, we use the RELEASE_lnx-bbc_2_1 tag as follows:

----8<----
cvs -z3 -d:pserver:anonymous@cvs.lnx-bbc.org:/var/cvs co -r RELEASE_lnx-bbc_2_1 gar
----8<----

==== STABLE ====

==== STABLE ====

The STABLE branch is designed to compile on the current revision of
Debian Stable. Our build system uses this, and our <chroot.html
published chroot environments> use it as well. Typically our releases
come from this tree, and we try to fold in changes judiciously.
The <versions.html STABLE branch> is designed to compile on the
current revision of Debian Stable, although it may also work on other
similarly composed GNU/Linux systems. However, our build system uses
Debian Stable, and our <chroot.html published chroot environments> use
it as well.

Typically our releases come from this tree, and we try to fold in
changes judiciously.
----8<----
cvs -z3 -d:pserver:anonymous@cvs.lnx-bbc.org:/var/cvs co -r STABLE gar
----8<----
cvs -z3 -d:pserver:anonymous@cvs.lnx-bbc.org:/var/cvs co -r STABLE gar
Line 42Line 60
==== HEAD ====

==== HEAD ====

This is the unstable branch of the tree, and contains up-to-the-minute
updates of what our developers have been working on. It typically
builds on a Debian testing or unstable distribution, and may break on
stable. You may find this to build on your more recent Red Hat
distributions if the STABLE branch does not.
This is the <versions.html unstable branch> of the tree, and contains
up-to-the-minute updates of what our developers have been working on.
It typically builds on a Debian testing or unstable distribution, and
may break on stable. You may find this to build on your more recent
Red Hat distributions if the STABLE branch does not.
----8<----
cvs -z3 -d:pserver:anonymous@cvs.lnx-bbc.org:/var/cvs co gar
----8<----
cvs -z3 -d:pserver:anonymous@cvs.lnx-bbc.org:/var/cvs co gar
Line 75Line 93
=== Configuring older versions of GAR ===

=== Configuring older versions of GAR ===

This section explains how to configure the version of GAR as
distributed by the Free Software Foundation, as checked out from CVS
using the RELEASE_lnx-bbc_2_0 tag, or any earlier version.
This section explains how to configure the version of GAR as initially
distributed by the Free Software Foundation in early 2003, as checked
out from CVS using the RELEASE_lnx-bbc_2_0 tag, or any earlier
version.
There are two variables which you should override, either by editting
the file gar.conf.mk or by exporting them in your shell's environment.
There are two variables which you should override, either by editting
the file gar.conf.mk or by exporting them in your shell's environment.
Line 95Line 114
== Bulk Operations on all Packages ==

Running any target from the top-level dir (the one in which this README
== Bulk Operations on all Packages ==

Running any target from the top-level dir (the one in which this README
lives) will be performed on all packages.
lives) will cause it to be performed on all packages.
However, we have provided some custom make targets in the
gar/meta/lnx-bbc directory Makefile in order to make development life
However, we have provided some custom make targets in the
gar/meta/lnx-bbc directory Makefile in order to make development life
Line 114Line 133
=== First, you can checksum the tree. =====

From the gar/meta/lnx-bbc directory, "make deep-checksums":
=== First, you can checksum the tree. =====

From the gar/meta/lnx-bbc directory, "make deep-checksums":
This has the advantage of downloading and verifying only those packages
which are needed by the LNX-BBC itself. This is how the "with sources"
tarball above was created.

or, from the top-level directory, "make checksums": This may, however,
download a number of tarballs for packages that are not needed by the
BBC but are in the GAR tree nonetheless.
        This has the advantage of downloading and verifying only those
        packages which are needed by the LNX-BBC itself. This is how
        the "with sources" tarball above was created.

or, from the top-level directory, "make checksums":
        This may, however, download a number of tarballs for packages
        that are not needed by the BBC but are in the GAR tree
        nonetheless.
=== Second, you can preserve a fetched source tree from doom and destruction. ===

=== Second, you can preserve a fetched source tree from doom and destruction. ===

Line 134Line 154
placed in the directory referenced by GARCHIVEROOT. See "Configuring
GAR" above.

placed in the directory referenced by GARCHIVEROOT. See "Configuring
GAR" above.

== Building the ISO ==

If this is not your first time building and you wish to rebuild
everything, you have two choices. From the top directory you can
"make clean" and it will propagate into every package. However, this
== Building the ISO ==

If this is not your first time building and you wish to rebuild
everything, you have two choices. From the top directory you can
"make clean" and it will propagate into every package. However, this
will not clean out your DESTDIR or BUILD_PREFIX directories. Drastic
changes and especially removals of extra parts (perhaps things that
take too much space?) will require a cleaner build to be properly
will not clean out your main_DESTDIR or build_prefix directories.
Drastic changes and especially removals of extra parts (perhaps things
that take too much space?) will require a cleaner build to be properly
tested. You can clear out those directories yourself, or take the
easy way out; from gar/meta/lnx-bbc, run "make super-clean" and it
will clear both locations for you as well as cleaning the GAR tree.
tested. You can clear out those directories yourself, or take the
easy way out; from gar/meta/lnx-bbc, run "make super-clean" and it
will clear both locations for you as well as cleaning the GAR tree.