README_REPOSITORY
changeset 48844 6408fb6f7d81
parent 48497 ba61aceaa18a
child 48853 ec82c33c75f8
     1.1 --- a/README_REPOSITORY	Fri Aug 17 17:52:10 2012 +0200
     1.2 +++ b/README_REPOSITORY	Fri Aug 17 17:35:07 2012 +0200
     1.3 @@ -233,28 +233,34 @@
     1.4  Building a repository version of Isabelle
     1.5  -----------------------------------------
     1.6  
     1.7 -A proper Isabelle distribution contains many add-on components that
     1.8 -are important for practical use.  Some extra configuration is required
     1.9 -to approximate this system integration from a bare-bones repository
    1.10 -snapshot; see also its directory Admin/ (which is absent in official
    1.11 -releases).
    1.12 +The regular "isabelle build" tool allows to build session images as
    1.13 +usual, but this first requires to resolve add-on components first,
    1.14 +including the ML system.  Some extra configuration is required to
    1.15 +approximate some of the system integration of official Isabelle
    1.16 +releases from a bare-bones repository snapshot.  The special directory
    1.17 +Admin/ -- which is absent in official releases -- might provide some
    1.18 +further clues.
    1.19  
    1.20 -  (1) Admin/components lists potentially relevant components, with
    1.21 -    explicit version information for the given repository version.
    1.22 -    For example, this allows to bisect over Mercurial history while
    1.23 -    the contributing components change accordingly.
    1.24 +Here is a reasonably easy way to include important Isabelle components
    1.25 +on the spot:
    1.26 +
    1.27 +  (1) The bash script ISABELLE_HOME_USER/etc/settings is augmented by
    1.28 +  some shell function invocations like this:
    1.29  
    1.30 -  (2) Admin/init_components is a bash script that can be sourced in
    1.31 -    $ISABELLE_HOME_USER/etc/settings to initialize components listed
    1.32 -    in Admin/components and present in $ISABELLE_HOME_USER/contrib/.
    1.33 +      init_components "$HOME/.isabelle/contrib" "$ISABELLE_HOME/Admin/components/main"
    1.34 +      init_components "$HOME/.isabelle/contrib" "$ISABELLE_HOME/Admin/components/optional"
    1.35 +
    1.36 +  This uses some central place "$HOME/.isabelle/contrib" to keep
    1.37 +  component directories that are shared by all Isabelle versions.
    1.38 +
    1.39 +  (2) Missing components are resolved on the command line like this:
    1.40  
    1.41 -  (3) http://isabelle.in.tum.de/components/ provides tar.gz archives
    1.42 -    of many components, excluding some non-free ones (which are also
    1.43 -    not part of Isabelle releases).
    1.44 +      isabelle components -a
    1.45 +
    1.46 +  This will saturate the "$HOME/.isabelle/contrib" directory structure
    1.47 +  from according to $ISABELLE_COMPONENT_REPOSITORY.
    1.48  
    1.49 -Also note that the repository lacks some textual version identifiers
    1.50 -in the sources and scripts; this implies some changed behavior when
    1.51 -processing settings etc. -- especially the location of
    1.52 -$ISABELLE_HOME_USER provided by the system.
    1.53 -
    1.54 -The isabelle build tool allows to build logic images.
    1.55 +Since the given component catalogs in $ISABELLE_HOME/Admin/components
    1.56 +are subject to the Mercurial history, it is possible to bisect over a
    1.57 +range of Isabelle versions while references to the contributing
    1.58 +components change accordingly.