summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hurd/building.mdwn13
-rw-r--r--hurd/translator/cvsfs.mdwn6
-rw-r--r--source_repositories/incubator.mdwn44
3 files changed, 52 insertions, 11 deletions
diff --git a/hurd/building.mdwn b/hurd/building.mdwn
index c0d5648c..623e7c0a 100644
--- a/hurd/building.mdwn
+++ b/hurd/building.mdwn
@@ -28,7 +28,7 @@ git](http://savannah.gnu.org/git/?group=hurd):
$ apt-get source hurd
-Please see the Debian [[running/debian/FAQ]] before using `apt-get source`.
+Please see the Debian [[FAQ]] before using `apt-get source`.
The unpacked source tree is around 20 MiB, and the build tree (configured with
`--disable-profile`) is around 100 MiB.
@@ -54,12 +54,12 @@ package:
Change into the directory with the downloaded / unpacked Hurd sources, e.g.
- $ cd hurd-[TODO]
+ $ cd hurd-VERSION
If you want to work on the sources before building them, it's advisable to
first apply the patches the Debian hurd package additionally contains:
- $ debian/rules apply-patches
+ $ debian/rules patch
Then edit and change whatever files you want and finally start the build
process with
@@ -75,13 +75,14 @@ The Hurd has to be built in a separate directory:
$ mkdir hurd-build
$ cd hurd-build
- $ [...]/hurd-[TODO]/configure --disable-profile
+ $ [...]/hurd-VERSION/configure --disable-profile
$ make
$ make install
Notice that `make install` will install the Hurd in `/`, not in `/usr/local/`
-or `/local/`, so your current Hurd servers will be replaced. [TODO: how to
-install somewhere else.]
+or `/local/`, so your current Hurd servers will be replaced.
+To install to a different location, specify `--prefix=PREFIX` as `configure`
+parameter, e.g. `--prefix=/usr` (as done when having a real `/usr`).
By default profiling versions of all the libraries and code are generated but
this is useless in most of the cases, so we disable them by specifying
diff --git a/hurd/translator/cvsfs.mdwn b/hurd/translator/cvsfs.mdwn
index 03b49219..bef481a2 100644
--- a/hurd/translator/cvsfs.mdwn
+++ b/hurd/translator/cvsfs.mdwn
@@ -22,12 +22,8 @@ would be to check out the whole tree and deleting it after using.
## Step by Step process in installing cvsfs
Download and prepare the source files from the [[source_repositories/incubator]]
-repository and build them.
+repository, branch `cvsfs/master`; then build them:
- $ git clone git://git.savannah.gnu.org/hurd/incubator.git
- $ cd incubator/
- $ git branch -t cvsfs origin/cvsfs/master
- $ git checkout cvsfs
$ autoreconf -i
$ ./configure
$ make
diff --git a/source_repositories/incubator.mdwn b/source_repositories/incubator.mdwn
index 51f64c17..0243b597 100644
--- a/source_repositories/incubator.mdwn
+++ b/source_repositories/incubator.mdwn
@@ -10,3 +10,47 @@ License|/fdl]]."]]"""]]
There is a repository for *this*, and *that*, and *everything* -- the
*incubator*: <http://git.savannah.gnu.org/cgit/hurd/incubator.git/>.
+
+As the `README` file in the `master` branch says, the development of the
+various software happens in separate branches.
+
+## Handling branches with `git-new-workdir`
+
+`git-new-workdir` is a contrib script provided with the git distribution
+(on Debian systems, in `/usr/share/doc/git/contrib/workdir/git-new-workdir`);
+it allows to create a new subrepository of a git repository, tracking one of
+its branches, usually as a subdirectory of the current repository.
+
+The advantage of using it for `incubator` is that only one clone is needed,
+and it can be possible to work simultaneously on many branches (instead of
+only on the current branch of that clone).
+The drawback is that updating a subrepository requires updating its branch
+on the main clone first.
+
+Let's start checking out the `incubator` repository:
+
+ $ git clone git://git.savannah.gnu.org/hurd/incubator.git
+ $ cd incubator/
+
+Assuming we now want to follow the development of the `tarfs/master` branch:
+we follow this branch:
+
+ $ git branch -t tarfs/master origin/tarfs/master
+
+Then now setup a local subrepository `tarfs` following it; we will create it
+as subdirectory of `incubator` (first parameter for `git-new-workdir`) for
+simplicity, but can be created anywhere else:
+
+ $ git-new-workdir . tarfs tarfs/master
+
+After this, a new `tarfs` subdirectory appears, which represents the
+`tarfs/master` branch. You can normally work on this new repository as usual.
+
+As said earlier, updating `tarfs` requires fetching/pulling in `incubator`
+first:
+
+ $ cd incubator/
+ incubator$ git pull/fetch
+ incubator$ cd tarfs/
+ tarfs$ git pull/fetch
+