- adapted to the new stand-alone distribution mode,

- fixed a few references to ".scsh-pkg-defaults.scm",
- fixed a few typos.
This commit is contained in:
michel-schinz 2004-03-31 19:42:35 +00:00
parent e5bef8000d
commit f110632621
1 changed files with 15 additions and 26 deletions

View File

@ -1,4 +1,4 @@
%% $Id: proposal.tex,v 1.3 2004/03/21 16:21:55 michel-schinz Exp $ %% $Id: proposal.tex,v 1.4 2004/03/31 19:42:35 michel-schinz Exp $
%% TODO %% TODO
%% - clean up permissions mess %% - clean up permissions mess
@ -112,8 +112,6 @@ package are stored below it.
The unpacking directory contains at least the following files: The unpacking directory contains at least the following files:
\begin{description} \begin{description}
\item[\file{install-pkg}] a script performing the installation of the
package,
\item[\file{pkg-def.scm}] a Scheme file containing the installation \item[\file{pkg-def.scm}] a Scheme file containing the installation
procedure for the package (see §~\ref{sec:authoring-packages}), procedure for the package (see §~\ref{sec:authoring-packages}),
\item[\file{README}] a textual file containing a short description of \item[\file{README}] a textual file containing a short description of
@ -180,7 +178,7 @@ Currently, the following abstract locations are defined:
\item[\location{misc-shared}] Location containing miscellaneous data \item[\location{misc-shared}] Location containing miscellaneous data
which does not belong to any directory above, and which is which does not belong to any directory above, and which is
platform-independant. platform-independent.
\end{description} \end{description}
The directories to which a layout maps these abstract locations are The directories to which a layout maps these abstract locations are
@ -292,10 +290,10 @@ to track files belonging to a package.
\subsection{Installation procedure} \subsection{Installation procedure}
\label{sec:inst-proc} \label{sec:inst-proc}
Packages are installed using the \file{install-pkg} script located in Packages are installed using the \file{scsh-install-pkg} script,
the package archive. This script must be given the name of the prefix which is part of the installation library. This script must be given
using the \cloption{--prefix} option. It also accepts the following the name of the prefix using the \cloption{--prefix} option. It also
options: accepts the following options:
\begin{center} \begin{center}
\begin{tabular}{lp{.6\textwidth}} \begin{tabular}{lp{.6\textwidth}}
\cloption{--layout} name & Specifies the layout to use (see §~\ref{sec:predefined-layouts}). \\ \cloption{--layout} name & Specifies the layout to use (see §~\ref{sec:predefined-layouts}). \\
@ -304,7 +302,7 @@ options:
\cloption{--inactive} & Do not activate package after installing it. \\ \cloption{--inactive} & Do not activate package after installing it. \\
\cloption{--non-shared-only} & Only install platform-dependent files, if any. \\ \cloption{--non-shared-only} & Only install platform-dependent files, if any. \\
\cloption{--force} & Overwrite existing files during installation. \\ \cloption{--force} & Overwrite existing files during installation. \\
\cloption{--no-user-defaults} & Don't read user defaults in \file{.scsh-pkg-defaults} (see §~\ref{sec:user-preferences}). \\ \cloption{--no-user-defaults} & Don't read user defaults in \file{.scsh-pkg-defaults.scm} (see §~\ref{sec:user-preferences}). \\
\end{tabular} \end{tabular}
\end{center} \end{center}
@ -317,16 +315,16 @@ installation script by storing them in a file called
file must contain exactly one Scheme expression whose value is an file must contain exactly one Scheme expression whose value is an
association list. The keys of this list, which must be symbols, association list. The keys of this list, which must be symbols,
identify options and the values specify the default value for these identify options and the values specify the default value for these
options. The contents of this file is implicitely quasi-quoted. options. The contents of this file is implicitly quasi-quoted.
The values stored in this file override the default values of the The values stored in this file override the default values of the
options, but they are in turn overriden by the values specified on the options, but they are in turn overridden by the values specified on the
command line of the installation script. Furthermore, it is possible command line of the installation script. Furthermore, it is possible
to ask for this file to be completely ignored by passing the to ask for this file to be completely ignored by passing the
\cloption{--no-user-defaults} option to the installation script. \cloption{--no-user-defaults} option to the installation script.
\begin{example} \begin{example}
A \file{.scsh-pkg-defaults} file containing the following: A \file{.scsh-pkg-defaults.scm} file containing the following:
\begin{verbatim} \begin{verbatim}
;; Default values for scsh packages installation ;; Default values for scsh packages installation
((layout . "fhs") ((layout . "fhs")
@ -414,21 +412,12 @@ is to write the installation script.
This script could be written fully by the package author, but in order This script could be written fully by the package author, but in order
to simplify this task a small scsh installation framework is provided. to simplify this task a small scsh installation framework is provided.
This framework is composed of several files which are meant to be This framework must be present on the host system before a scsh
included in the package archive. These files are: package can be installed.
\begin{description}
\item[\file{install-pkg}] A trivial \texttt{sh} script which launches
scsh on the main function of the installation library, passing it
all the arguments given by the user.
\item[\file{install-lib.scm}] The code for the installation library,
whose public interface is documented below.
\item[\file{install-lib-module.scm}] Scheme 48 interface and structure
definitions for the installation library.
\end{description}
As explained above, when the \file{install-pkg} script is invoked, it As explained above, when the \file{scsh-install-pkg} script is
launches scsh on the main function of the installation library, which invoked, it launches scsh on the main function of the installation
does the following: library, which does the following:
\begin{enumerate} \begin{enumerate}
\item parse the command line arguments (e.g the \cloption{--prefix} \item parse the command line arguments (e.g the \cloption{--prefix}
option), option),