On 10/26/06, George Boudreau <[EMAIL PROTECTED]> wrote:
----------------
A Modest Proposal
................
To partition the package scripts and wrap them them in xml tags. XSL
scripts would extract the scriptlets and preprocess them before
assembling them in the final form. Role tags could be included in final
script if the xsl author wished.
Addition of the extra tags will not affect the rendering of the HTML
documents and will only appear in the final scripts.
::Benefits::
xsl scripts could exclude package testing code easily.
pm xsl scripts could exist for different designs.
::Partitioning Format::
<userinput role="xxx">
... snippet of code ...
</userinput>
::Recommended roles (all roles are optional)
PRE, PATCH, CONFIG, BUILD, TEST, INSTALL, POST
::Example::
<screen>
<userinput role="PRE"> ... </userinput>
<userinput role="PATCH"> ... </userinput>
<userinput role="CONFIG"> ... </userinput>
<userinput role="BUILD"> ... </userinput>
<userinput role="TEST"> ... </userinput>
<userinput role="INSTALL"> ... </userinput>
<userinput role="POST"> ... </userinput>
</screen>
A coded example from LFS (bash)
<screen>
<userinput role="PATCH">tar -xvf ../bash-doc-3.1.tar.* &&
sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-3.1|" \
Makefile.in
patch -Np1 -i ../bash-3.1-fixes-8.patch</userinput>
<userinput role="CONFIG">./configure --prefix=/usr --bindir=/bin \
--without-bash-malloc --with-installed-readline</userinput>
<userinput role="BUILD">make</userinput>
<userinput role="INSTALL">make install</userinput>
</screen>
I think this is very much needed, and I think this method allows the
greatest flexibility with the least intrusion on the basic LFS book.
Two suggestions.
1. I think the roles have to be lowercase. I might be wrong, but valid
xhtml definitely specifies lower case <tags>. I would expect this to
extend to attributes. Plus, lower case is easier on the eyes, IMO.
2. I don't think as many roles are needed to get started with. The
minimum partitioning of the build in my mind is:
Building: unpacking, patching, configure, make, etc.
Testing: make check or similar
Installing: make install and any subsequent commands that affect files
in the root filesystem
With this line of thinking, to get started we'd need just two roles:
"test" and "install". The non-attributed <userinput> would be the
basic building procedure.
--
Dan
--
http://linuxfromscratch.org/mailman/listinfo/alfs-discuss
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page