changeset 48844 6408fb6f7d81
parent 48497 ba61aceaa18a
child 48853 ec82c33c75f8
--- a/README_REPOSITORY	Fri Aug 17 17:52:10 2012 +0200
+++ b/README_REPOSITORY	Fri Aug 17 17:35:07 2012 +0200
@@ -233,28 +233,34 @@
 Building a repository version of Isabelle
-A proper Isabelle distribution contains many add-on components that
-are important for practical use.  Some extra configuration is required
-to approximate this system integration from a bare-bones repository
-snapshot; see also its directory Admin/ (which is absent in official
+The regular "isabelle build" tool allows to build session images as
+usual, but this first requires to resolve add-on components first,
+including the ML system.  Some extra configuration is required to
+approximate some of the system integration of official Isabelle
+releases from a bare-bones repository snapshot.  The special directory
+Admin/ -- which is absent in official releases -- might provide some
+further clues.
-  (1) Admin/components lists potentially relevant components, with
-    explicit version information for the given repository version.
-    For example, this allows to bisect over Mercurial history while
-    the contributing components change accordingly.
+Here is a reasonably easy way to include important Isabelle components
+on the spot:
+  (1) The bash script ISABELLE_HOME_USER/etc/settings is augmented by
+  some shell function invocations like this:
-  (2) Admin/init_components is a bash script that can be sourced in
-    $ISABELLE_HOME_USER/etc/settings to initialize components listed
-    in Admin/components and present in $ISABELLE_HOME_USER/contrib/.
+      init_components "$HOME/.isabelle/contrib" "$ISABELLE_HOME/Admin/components/main"
+      init_components "$HOME/.isabelle/contrib" "$ISABELLE_HOME/Admin/components/optional"
+  This uses some central place "$HOME/.isabelle/contrib" to keep
+  component directories that are shared by all Isabelle versions.
+  (2) Missing components are resolved on the command line like this:
-  (3) provides tar.gz archives
-    of many components, excluding some non-free ones (which are also
-    not part of Isabelle releases).
+      isabelle components -a
+  This will saturate the "$HOME/.isabelle/contrib" directory structure
-Also note that the repository lacks some textual version identifiers
-in the sources and scripts; this implies some changed behavior when
-processing settings etc. -- especially the location of
-$ISABELLE_HOME_USER provided by the system.
-The isabelle build tool allows to build logic images.
+Since the given component catalogs in $ISABELLE_HOME/Admin/components
+are subject to the Mercurial history, it is possible to bisect over a
+range of Isabelle versions while references to the contributing
+components change accordingly.