1
0
mirror of synced 2026-01-26 20:31:53 +00:00
Files
Interlisp.medley/internal/loadups/man-page/loadup.1
Frank Halasz 1968021bb4 Update loadup and medley scripts to use "tag" instead of "branch"; add ability to completely delete tagged loadups rather than just thin them (#2249)
* 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
2025-08-20 11:00:53 -07:00

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