* WIP in changing loadups to tagged nomeclature rather that branch and ability to delete tagged branches as well as thin them. * In loadup and medley scripts, changed the --branch (-br) command line argument to --tag (-tg). Correspondingly changed the MEDLEYDIR/loadups/branches directory to be MEDLEYDIR/loadups/tagged. Separately, added a + parameter to the --thinw and --thinl command line arguments which causes ALL files to be deleted, not just the versioned files. Added a --thin command line argument that is equivalent to --thinw followed by --thinl. Updated the man page to reflect all these changes. * Updated medley script man page to reflect the new tag nomenclature instead of branch nomenclature. * Fix issue#2063 - typo in medley man page * 1) In loadup script made --help (-h) be a synomym of --man (-z). 2) In both loadup and medley scripts added an optional parameter (+) to the --man (z) command line argument that when specified will display the man page without paging - i.e., sets the pager to cat. * Fix Issue#2251 LOADUPSDIRECTORIES settings by the MEDLEYDIR fn now takes into account tagged loadups
396 lines
13 KiB
Groff
396 lines
13 KiB
Groff
.\" Automatically generated by Pandoc 3.1.3
|
|
.\"
|
|
.\" Define V font for inline verbatim, using C font in formats
|
|
.\" that render this, and otherwise B font.
|
|
.ie "\f[CB]x\f[]"x" \{\
|
|
. ftr V B
|
|
. ftr VI BI
|
|
. ftr VB B
|
|
. ftr VBI BI
|
|
.\}
|
|
.el \{\
|
|
. ftr V CR
|
|
. ftr VI CI
|
|
. ftr VB CB
|
|
. ftr VBI CBI
|
|
.\}
|
|
.ad l
|
|
.TH "loadup" "1" "" "" "Run the Medley loadup procedure"
|
|
.nh
|
|
.SH NAME
|
|
.PP
|
|
\f[B]loadup\f[R] \[em] runs a loadup procedure for Medley Interlisp
|
|
.SH SYNOPSIS
|
|
.PP
|
|
\f[B]<MEDLEYDIR>/scripts/loadup\f[R] [ options \&...
|
|
]
|
|
.SH DESCRIPTION
|
|
.PP
|
|
Runs all or part of the \f[B]loadup\f[R] procedure for Medley Interlisp.
|
|
The loadup procedure is used to create the standard sysout files from
|
|
which you can start a Medley session as well as other standard files
|
|
that are useful in running Medley.
|
|
After cloning Medley from GitHub or after making significant changes to
|
|
the Medley source, you need to run the loadup procedure to (re)create
|
|
these standard files.
|
|
.PP
|
|
The complete loadup procedure happens in 5 sequential stages with each
|
|
stage depending on successful completion of the previous stage.
|
|
There are two other non-sequential stages (Aux and DB), which depend
|
|
only on the completion of Stage 4 (full.sysout).
|
|
.PP
|
|
You need not run all 5 stages, depending on what sysout files you need
|
|
to create for your work.
|
|
The target files created in each stage are copied into a loadups
|
|
directory (<MEDLEYDIR>/loadups).
|
|
The \f[I]medley\f[R] run script and other Medley tools look for these
|
|
files in the loadups directory.
|
|
.PP
|
|
The 5 sequential stages and their main products are:
|
|
.RS
|
|
.IP "1." 3
|
|
\f[B]Init:\f[R] create an \f[I]init.dlinit\f[R] sysout file.
|
|
This init.dlinit file is used internally for Stage 2 and is not copied
|
|
into the loadups directory.
|
|
.RE
|
|
.RS
|
|
.IP "2." 3
|
|
\f[B]Mid:\f[R] create an \f[I]init-mid.sysout\f[R].
|
|
This init-mid.sysout is used only internally for Stage 3 and is not
|
|
copied into the loadups directory.
|
|
.RE
|
|
.RS
|
|
.IP "3." 3
|
|
\f[B]Lisp:\f[R] create \f[I]lisp.sysout\f[R].
|
|
Lisp.sysout has a minimal set of Medley\[cq]s functionality loaded and
|
|
can be used as the basis for running a stripped-down Medley session.
|
|
Lisp.sysout is copied into the loadups directory.
|
|
.RE
|
|
.RS
|
|
.IP "4." 3
|
|
\f[B]Full:\f[R] create \f[I]full.sysout\f[R].
|
|
Full.sysout has all of the \[lq]standard\[rq] set of Medley
|
|
functionality loaded and is the primary sysout used for running Medley
|
|
sessions.
|
|
Full.sysout is copied into the loadups directory.
|
|
.RE
|
|
.RS
|
|
.IP "5." 3
|
|
\f[B]Apps:\f[R]: create \f[I]apps.sysout\f[R].
|
|
Apps.sysout includes everything in full.sysout plus the Medley
|
|
applications Buttons, CLOS, Rooms, and Notecards.
|
|
.RE
|
|
.PP
|
|
The two independent stages that can be run if the first 4 sequential
|
|
stages complete successfully are:
|
|
.RS
|
|
.IP \[bu] 2
|
|
\f[B]Aux:\f[R]: create the \f[I]whereis.hash\f[R] and
|
|
\f[I]exports.all\f[R] files.
|
|
These are databases that are commonly used when working on Medley source
|
|
code.
|
|
They are copied into the loadups directory.
|
|
.IP \[bu] 2
|
|
\f[B]DB:\f[R]: creates the \f[I]fuller.database\f[R] file.
|
|
Fuller.database is a Mastercope database created by analyzing all of the
|
|
source code included in full.sysout.
|
|
(Stage 4) Fuller.database is copied into the loadups directory.
|
|
.RE
|
|
.PP
|
|
Loadup does all of its work in a work directory
|
|
(<MEDLEYDIR>/loadups/build).
|
|
The target files are copied from this work directory to the loadups
|
|
directory if the loadup is successful.
|
|
Each stage of the loadup also creates a dribble file containing the
|
|
terminal output from within the Medley environment.
|
|
These dribble files are also copied to the loadups directory, but also
|
|
remain available in the work directory after the loadup completes.
|
|
.PP
|
|
If <MEDLEYDIR> is a git directory, then a file is created in the loadups
|
|
output directory called \f[I]gitinfo\f[R] which contains the git commit,
|
|
git branch and git status information for the directory at the time the
|
|
loadup is run.
|
|
.PP
|
|
Only one instance (per <MEDLEIDIR>) of loadup can be run at a time.
|
|
There is lock file to prevent simultaneous loadups in the work directory
|
|
(named \f[B]\f[BI]lock\f[B]\f[R]) that can be manually removed.
|
|
The lock can also be automatically overridden (see the \[en]override
|
|
flag below).
|
|
Alternatively, if a lock is encountered at run time, the user will be
|
|
asked to choose whether to override or simply exit the loadup.
|
|
.PP
|
|
Note: \f[B]MEDLEYDIR\f[R] is an environment variable set by the loadup
|
|
script.
|
|
It is set to the top level directory of the Medley installation that
|
|
contains the specific loadup script that is invoked after all symbolic
|
|
links are resolved.
|
|
In the standard global installation this will be
|
|
/usr/local/interlisp/medley.
|
|
But Medley can be installed in multiple places on any given machine and
|
|
hence MEDLEYDIR is computed on each invocation of loadup.
|
|
.SH OPTIONS
|
|
.TP
|
|
\f[B]-z [+], --man [+], -man [+], -h [+], \[en]help [+]\f[R]
|
|
Print this manual page on the screen.
|
|
If the \f[B]+\f[R] parameter is specified, then no pager is used when
|
|
displaying the man page.
|
|
.TP
|
|
\f[B]-t STAGE, --target STAGE, -target STAGE\f[R]
|
|
Run the sequential loadup procedure until the STAGE is complete,
|
|
starting from the files created by the previously run STAGE specified in
|
|
the \[en]start option.
|
|
.RS
|
|
.PP
|
|
STAGE can be one of the following:
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
i, init, 1: Run the loadup sequence through Stage 1 (init.dlinit).
|
|
Init.dlinit is \f[I]not\f[R] copied into the loadups directory.
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
m, mid, 2: Run the loadup sequence through Stage 2 (init-mid.sysout).
|
|
Init-mid.sysout is \f[I]not\f[R] copied into the loadups directory.
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
l, lisp, 3: Run the loadup sequence through Stage 3 (lisp.sysout).
|
|
Lisp.sysout is copied into the loadups directory.
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
f, full, 4: Run the loadup sequence through Stage 4 (full.sysout).
|
|
Full.sysout is copied into the loadups directory.
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
a, apps, 5: Run the loadup sequence through Stage 5 (apps.sysout).
|
|
Also run the Aux stage as if \[en]aux option had been specified.
|
|
Apps.sysout and the Aux files are copied into the loadups directory.
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
a-, apps-, 5-: Run the loadup sequence through Stage 5 (apps.sysout).
|
|
The Aux stage is not run unless otherwise specified.
|
|
Apps.sysout is copied into the loadups directory.
|
|
Also run the Aux stage as if \[en]aux option had been specified.
|
|
.RE
|
|
.RE
|
|
.TP
|
|
\f[B]-s STAGE --start STAGE, -start STAGE\f[R]
|
|
Start the loadup process using the files previously created by STAGE.
|
|
These files are looked for first in the loadups directory or, if not
|
|
found there, in the work directory.
|
|
It is an error if the files created by STAGE cannot be found.
|
|
.RS
|
|
.PP
|
|
STAGE can be one of the following:
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
s, scratch, 0 : Start the loadup process from the beginning.
|
|
This is the default.
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
i, init, 1 : Start the loadup process using the files created by Stage 1
|
|
(init.dlinit).
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
m, mid, 2 : Start the loadup process using the files created by Stage 2
|
|
(init-mid.sysout).
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
l, lisp, 3 : Start the loadup process using the files created by Stage 3
|
|
(lisp.sysout)
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
f, full, 4 : Start the loadup process using the files created by Stage 4
|
|
(full.sysout).
|
|
.RE
|
|
.RE
|
|
.TP
|
|
\f[B]-x, --aux, -aux\f[R]
|
|
Run the Aux loadup stage, creating the \f[I]whereis.hash\f[R] and
|
|
\f[I]exports.all\f[R] files.
|
|
If loadup completes successfully, these files are copied into loadups.
|
|
.TP
|
|
\f[B]-b, --db, -db\f[R]
|
|
Run the DB loadup stage, creating the \f[I]fuller.database\f[R] file.
|
|
If this stage complete successfully, these files are copied into
|
|
loadups.
|
|
.TP
|
|
\f[B]-i, --init, -init, -1\f[R]
|
|
Synonym for \[lq]\[en]target init\[rq]
|
|
.TP
|
|
\f[B]-m, --mid, -mid, -2\f[R]
|
|
Synonym for \[lq]\[en]target mid\[rq]
|
|
.TP
|
|
\f[B]-l, --lisp, -lisp, -3\f[R]
|
|
Synonym for \[lq]\[en]target lisp\[rq]
|
|
.TP
|
|
\f[B]-f, --full. -full, -4\f[R]
|
|
Synonym for \[lq]\[en]target full\[rq]
|
|
.TP
|
|
\f[B]-a, --apps, -apps, -5\f[R]
|
|
Synonym for \[lq]\[en]target apps\[rq]
|
|
.TP
|
|
\f[B]-a-, --apps-, -apps-, -5-\f[R]
|
|
Synonym for \[lq]\[en]target apps\[rq]
|
|
.TP
|
|
\f[B]-ov, --override, -override\f[R]
|
|
Automatically override the lock that prevents two loadups from running
|
|
simultaneously.
|
|
If this flag is not set and an active lock is encountered, the user will
|
|
be asked to choose whether to override or exit.
|
|
.TP
|
|
\f[B]-tg [ TAG | -], --tag [ TAG | - ]\f[R]
|
|
By default the sysouts and other files produced by loadup are placed at
|
|
the top level of the <MEDLEYDIR>/loadups directory.
|
|
If this flag is specified, then the sysout and other output files are
|
|
placed in the directory <MEDLEYDIR>/loadups/tagged/TAG.
|
|
If TAG is \[lq]-\[rq] or not specified at all, then TAG is the name of
|
|
the currently active git branch of <MEDLEYDIR>, except if git is not
|
|
installled on the current system or if <MEDLEYDIR> is not a git
|
|
directory, in which case then this flag is ignored.
|
|
TAG can contain alphanumerics, dashes, underscores,and periods.
|
|
Any other character is replaced by an underscore.
|
|
The medley script has a corresponding --tag (-tg) argument to load these
|
|
sysout files.
|
|
.TP
|
|
\f[B]-nc, --nocopy, -nocopy\f[R]
|
|
Run the specified loadups, but do not copy results into loadups
|
|
directory.
|
|
.TP
|
|
\f[B]-tw [+], --thinw [+], -thinw [+]\f[R]
|
|
Before running loadups (if any), thin the working directory by deleting
|
|
all versioned (\f[I].\[ti][0-9]\f[R]\[ti]) files therein.
|
|
If the \f[B]+\f[R] parameter is used, then instead of deleting just the
|
|
versioned files, the working directory (and all files and subdirectories
|
|
it contains) is deleted.
|
|
.TP
|
|
\f[B]-tl [+], --thinl [+], -thinl [+]\f[R]
|
|
Before running loadups (if any), thin the loadups directory by deleting
|
|
all versioned (\f[I].\[ti][0-9]\f[R]\[ti]) files except for those
|
|
contained in the working directory.
|
|
If the \f[B]+\f[R] parameter is used, then instead of deleting just the
|
|
versioned files, all files and subdirectories are deleted except for
|
|
those contained in the working directory.
|
|
If \f[B]+\f[R] is used and there is no working directory and
|
|
\f[I]\[en]tag TAG\f[R] is also specified, then the tagged loadups
|
|
directory (<MEDLEYDIR>/loadups/tagged/TAG) is also deleted.
|
|
.TP
|
|
\f[B]-th [+], --thin [+], -thin [+]\f[R]
|
|
Equivalent to specifying both -tw [+] and -tl [+].
|
|
If \f[I]\[en]tag TAG\f[R] is also specified and the \f[B]+\f[R]
|
|
parameter is used here, then the tagged loadups directory
|
|
(<MEDLEYDIR>/loadups/tagged/TAG) is removed.
|
|
.TP
|
|
\f[B]-d DIR, --maikodir DIR, -maikodir DIR\f[R]
|
|
Use DIR as the directory from which to execute lde (Miko) when running
|
|
Medley in the loadup process.
|
|
If this flag is not present, the value of the environment variable
|
|
MAIKODIR will be used instead.
|
|
And if MAIKODIR does not exist, then the default Maiko directory search
|
|
within Medley will be used.
|
|
.TP
|
|
\f[B]-v, --vnc, -vnc\f[R]
|
|
Relevant to Linux (including WSLv1 and WSLv2) platforms only.
|
|
Use Xvnc for the Medley display during this loadup.
|
|
By default, the Medley display will use X Windows.
|
|
This flag is most useful on Windows System for Linux v1, where Xvnc is
|
|
commonly used in running Medley in the absence of an Xwindows server.
|
|
.SH DEFAULTS
|
|
.PP
|
|
The defaults for the Options context-dependent and somewhat complicated
|
|
due to the goal of maintaining compatibility with legacy loadup scripts.
|
|
All of the following defaults rules hold independent of the
|
|
\[en]maikodir (-d) option.
|
|
.IP "1." 3
|
|
If none of \[en]target, \[en]start, \[en]aux, and \[en]db are specified,
|
|
then:
|
|
.RS
|
|
.PP
|
|
1A.
|
|
If neither \[en]thinw nor \[en]thinl are specified, the options default
|
|
to:
|
|
.RE
|
|
.RS
|
|
.RS
|
|
.PP
|
|
\f[B]\[en]target full \[en]start 0 \[en]aux\f[R]
|
|
.RE
|
|
.RE
|
|
.RS
|
|
.PP
|
|
1B.
|
|
If either \[en]thinw or \[en]thinl are specified, no loadups are run.
|
|
.RE
|
|
.IP "2." 3
|
|
If neither \[en]start nor \[en]target are specified but either -aux or
|
|
-db or both are, then \[en]start defaults to \f[I]full\f[R] and
|
|
\[en]target is irrelevant.
|
|
.IP "3." 3
|
|
If \[en]start is specified and \[en]target is not, then \[en]target
|
|
defaults to \f[I]full\f[R]
|
|
.IP "4." 3
|
|
If \[en]target is specified and \[en]start is not, then \[en]start
|
|
defaults to \f[I]0\f[R]
|
|
.SH EXAMPLES
|
|
.PP
|
|
\f[B]./loadup -full -s lisp\f[R] : run loadup thru Stage 4 (full.sysout)
|
|
starting from existing Stage 3 outputs (lisp.sysout).
|
|
.PP
|
|
\f[B]./loadup --target full --start lisp\f[R] : run loadup thru Stage 4
|
|
(full.sysout) starting from existing Stage 3 outputs (lisp.sysout).
|
|
.PP
|
|
\f[B]./loadup -5 \[en]aux\f[R] : run loadup from the beginning thru
|
|
Stage 5 (apps.sysout) then run the Aux \[lq]stage\[rq] to create
|
|
\f[I]whereis.hash\f[R] and \f[I]exports.all\f[R]
|
|
.PP
|
|
\f[B]./loadup -db\f[R] : just run the DB \[lq]stage\[rq] starting from
|
|
an existing full.sysout; do not run any of the sequential stages.
|
|
.PP
|
|
\f[B]./loadup \[en]maikodir \[ti]/il/newmaiko\f[R] : run loadup sequence
|
|
from beginning to full plus the loadup Aux stage, while using
|
|
\f[I]\[ti]/il/newmaiko\f[R] as the location for the lde executables when
|
|
running Medley.
|
|
.PP
|
|
\f[B]./loadup -full\f[R] : run loadup sequence from beginning thru full
|
|
.PP
|
|
\f[B]./loadup -apps\f[R] : run loadup sequence from beginning thru app.
|
|
Also run the Aux stage loadup.
|
|
.PP
|
|
\f[B]./loadup -apps-\f[R] : run loadup sequence from beginning thru app.
|
|
Do not run the Aux stage loadup.
|
|
.SH BUGS
|
|
.PP
|
|
See GitHub Issues: <https://github.com/Interlisp/medley/issues>
|
|
.SH COPYRIGHT
|
|
.PP
|
|
Copyright(c) 2025 by Interlisp.org
|