Use sect1info for getting informations on LFS packages:

- add sect1info sections to packagemanager.xml.xxx + various fixes
- add templates in LFS/lfs.xsl for script start and script end:
  - script start: define variables containing package information
                  print disk usage
                  unpack and change dir
  - script end: print disk usage
                remove build dir
- remove the corresponding operations from master.sh
This commit is contained in:
Pierre Labastie 2019-04-11 07:40:50 +00:00
parent adbd09b06c
commit 2758d9421e
8 changed files with 251 additions and 79 deletions

View file

@ -84,6 +84,9 @@
<xsl:param name='local' select="'n'"/>
<xsl:param name='log-level' select="'4'"/>
<!-- The scripts root is needed for printing disk usage -->
<xsl:param name='script-root' select="'jhalfs'"/>
<!-- End parameters -->
<xsl:template match="/">
@ -169,7 +172,9 @@
</xsl:if>
<xsl:text>&#xA;</xsl:text>
<xsl:if test="sect2[@role='installation']">
<xsl:text>cd $PKGDIR&#xA;</xsl:text>
<xsl:call-template name="start-script">
<xsl:with-param name="order" select="$order"/>
</xsl:call-template>
</xsl:if>
<xsl:apply-templates select="sect2[not(@revision) or
@revision=$revision] |
@ -192,6 +197,9 @@
mode="pkgmngt"/>
</xsl:if>
<xsl:text>echo -e "\n\nTotalseconds: $SECONDS\n"&#xA;</xsl:text>
<xsl:if test="sect2[@role='installation']">
<xsl:call-template name="end-script"/>
</xsl:if>
<xsl:text>exit&#xA;</xsl:text>
</exsl:document>
</xsl:if>
@ -225,7 +233,7 @@
reasonable bunch of them. Should be close to "Creating Directories".-->
<xsl:text>mkdir -pv $PKG_DEST/{bin,boot,etc,lib,sbin}
mkdir -pv $PKG_DEST/usr/{bin,include,lib/pkgconfig,sbin}
mkdir -pv $PKG_DEST/usr/share/{doc,info,man}
mkdir -pv $PKG_DEST/usr/share/{doc,info,bash-completion/completions}
mkdir -pv $PKG_DEST/usr/share/man/man{1..8}
case $(uname -m) in
x86_64) mkdir -v $PKG_DEST/lib64 ;;
@ -295,7 +303,8 @@ rm -fv $PKG_DEST/sbin/nologin
</xsl:if>
<!-- remove empty directories -->
<xsl:text>for dir in $PKG_DEST/usr/share/man/man{1..8} \
$PKG_DEST/usr/share/{doc,info,man} \
$PKG_DEST/usr/share/bash-completion{/completions,} \
$PKG_DEST/usr/share/{doc,info,man,} \
$PKG_DEST/usr/lib/pkgconfig \
$PKG_DEST/usr/{lib,bin,sbin,include} \
$PKG_DEST/{boot,etc,lib,bin,sbin}; do
@ -355,9 +364,9 @@ fi
</xsl:template>
<xsl:template match="sect1" mode="pkgmngt">
<xsl:param name="dirname" select="chapter05"/>
<xsl:param name="dirname" select="'chapter05'"/>
<!-- The build order -->
<xsl:param name="order" select="062"/>
<xsl:param name="order" select="'062'"/>
<!-- The file names -->
<xsl:variable name="pi-file" select="processing-instruction('dbhtml')"/>
<xsl:variable name="pi-file-value" select="substring-after($pi-file,'filename=')"/>
@ -371,9 +380,10 @@ fi
<xsl:text>#!/bin/bash
set +h
set -e
cd $PKGDIR
</xsl:text>
<xsl:call-template name="start-script">
<xsl:with-param name="order" select="concat($order,'-',position())"/>
</xsl:call-template>
<xsl:apply-templates
select=".//screen[not(@role) or
@role != 'nodump']/userinput[@remap != 'adjust']"
@ -394,7 +404,9 @@ rm -rf "$PKG_DEST"
mode="pkgmngt"/>
<xsl:text>
echo -e "\n\nTotalseconds: $SECONDS\n"
exit
</xsl:text>
<xsl:call-template name="end-script"/>
<xsl:text>exit
</xsl:text>
</exsl:document>
</xsl:if>
@ -1120,4 +1132,93 @@ LOGLEVEL="</xsl:text>
</xsl:choose>
</xsl:template>
<xsl:template name="basename">
<xsl:param name="path" select="''"/>
<xsl:choose>
<xsl:when test="contains($path,'/') and substring-after($path,'/')!=''">
<xsl:call-template name="basename">
<xsl:with-param name="path" select="substring-after($path,'/')"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="contains($path,'/') and substring-after($path,'/')=''">
<xsl:value-of select="substring-before($path,'/')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$path"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="start-script">
<xsl:param name="order" select="'073'"/>
<!-- get the location of the system root -->
<xsl:text>
if [ -h /tools ]; then
ROOT=$(dirname $(readlink /tools))/
else
ROOT=/
fi
SRC_DIR=${ROOT}sources
<!-- save the timer, so that unpacking, and du is not counted -->
PREV_SEC=${SECONDS}
<!-- Set variables, for use by the Makefile and package manager -->
VERSION=</xsl:text><!-- needed for Makefile, and may be used in PackInstall-->
<xsl:copy-of select=".//sect1info/productnumber/text()"/>
<xsl:text>
PKG_DEST=${SRC_DIR}/</xsl:text>
<xsl:copy-of select="$order"/>
<xsl:text>-</xsl:text>
<xsl:copy-of select=".//sect1info/productname/text()"/>
<xsl:text>
<!-- Get the tarball name from sect1info -->
PACKAGE=</xsl:text>
<xsl:call-template name="basename">
<xsl:with-param name="path" select=".//sect1info/address/text()"/>
</xsl:call-template>
<xsl:text>
SCRIPT_ROOT=</xsl:text>
<xsl:copy-of select="$script-root"/>
<xsl:text>
</xsl:text>
<xsl:if test = "( ../@id != 'chapter-temporary-tools' or
starts-with(@id,'ch-system') ) and $pkgmngt = 'y'">
<xsl:text>
source ${ROOT}${SCRIPT_ROOT}/packInstall.sh
export -f packInstall</xsl:text>
<xsl:if test="$wrap-install='y'">
<xsl:text>
export -f wrapInstall
</xsl:text>
</xsl:if>
</xsl:if>
<!-- Get the build directory name and clean remnants of previous attempts -->
<xsl:text>
cd $SRC_DIR
PKGDIR=$(tar -tf $PACKAGE | head -n1 | sed 's@^./@@;s@/.*@@')
export PKGDIR VERSION PKG_DEST
if [ -d "$PKGDIR" ]; then rm -rf $PKGDIR; fi
if [ -d "${PKGDIR%-*}-build" ]; then rm -rf ${PKGDIR%-*}-build; fi
echo "KB: $(du -skx --exclude=lost+found --exclude=/var/lib --exclude=$SCRIPT_ROOT $ROOT)"
<!-- At last unpack and change directory -->
tar -xf $PACKAGE
cd $PKGDIR
SECONDS=${PREV_SEC}
# Start of LFS book script
</xsl:text>
</xsl:template>
<xsl:template name="end-script">
<xsl:text>
# End of LFS book script
echo "KB: $(du -skx --exclude=lost+found --exclude=/var/lib --exclude=$SCRIPT_ROOT $ROOT)"
cd $SRC_DIR
rm -rf $PKGDIR
if [ -d "${PKGDIR%-*}-build" ]; then rm -rf ${PKGDIR%-*}-build; fi
</xsl:text>
</xsl:template>
</xsl:stylesheet>

View file

@ -116,8 +116,8 @@ chapter5_Makefiles() {
#--------------------------------------------------------------------#
#
# Find the name of the tarball and the version of the package
pkg_tarball=$(get_package_tarball_name $name)
pkg_version=$(get_package_version $pkg_tarball)
pkg_tarball=$(sed -n 's/tar -xf \(.*\)/\1/p' $file)
pkg_version=$(sed -n 's/VERSION=\(.*\)/\1/p' $file)
# Drop in the name of the target on a new line, and the previous target
# as a dependency. Also call the echo_message function.
@ -125,8 +125,6 @@ chapter5_Makefiles() {
# If $pkg_tarball isn't empty, we've got a package...
if [ "$pkg_tarball" != "" ] ; then
# Insert instructions for unpacking the package and to set the PKGDIR variable.
LUSER_wrt_unpack "$pkg_tarball"
# Always initialize the log file, since the test instructions may be
# "uncommented" by the user
LUSER_wrt_test_log "${this_script}" "$pkg_version"
@ -146,15 +144,6 @@ chapter5_Makefiles() {
*) LUSER_wrt_RunAsUser "$file" "$pkg_version" ;;
esac
# Remove the build directory(ies) except if the package build fails
# (so we can review config.cache, config.log, etc.)
if [ "$pkg_tarball" != "" ] ; then
case "${name}" in
*xz-utils) LUSER_RemoveBuildDirs "xz" ;;
*) LUSER_RemoveBuildDirs "$name" ;;
esac
fi
# Include a touch of the target name so make can check
# if it's already been made.
wrt_touch
@ -216,8 +205,8 @@ chapter6_Makefiles() {
# Find the tarball corresponding to our script.
# If it doesn't, we skip it in iterations rebuilds (except stripping).
pkg_tarball=$(get_package_tarball_name $name)
pkg_version=$(get_package_version $pkg_tarball)
pkg_tarball=$(sed -n 's/tar -xf \(.*\)/\1/p' $file)
pkg_version=$(sed -n 's/VERSION=\(.*\)/\1/p' $file)
if [[ "$pkg_tarball" = "" ]] && [[ -n "$N" ]] ; then
case "${this_script}" in
@ -255,7 +244,6 @@ chapter6_Makefiles() {
if [ "${INSTALL_LOG}" = "y" ] && [ "x${N}" = "x" ] ; then
CHROOT_wrt_TouchTimestamp
fi
CHROOT_Unpack "$pkg_tarball"
# Always initialize the log file, so that the use may reinstate a
# commented out test
CHROOT_wrt_test_log "${this_script}" "$pkg_version"
@ -273,10 +261,6 @@ chapter6_Makefiles() {
# Write installed files log and remove the build directory(ies)
# except if the package build fails.
if [ "$pkg_tarball" != "" ] ; then
case "${name}" in
*xz-utils) CHROOT_wrt_RemoveBuildDirs "xz" ;;
*) CHROOT_wrt_RemoveBuildDirs "$name" ;;
esac
if [ "${INSTALL_LOG}" = "y" ] && [ "x${N}" = "x" ] ; then
CHROOT_wrt_LogNewFiles "$name"
fi
@ -336,27 +320,21 @@ chapter78_Makefiles() {
case "${this_script}" in
*bootscripts)
name="lfs-bootscripts"
pkg_tarball=$(get_package_tarball_name $name)
if [ "${INSTALL_LOG}" = "y" ] ; then
CHROOT_wrt_TouchTimestamp
fi
CHROOT_Unpack "$pkg_tarball"
;;
*network-scripts)
name="lfs-network-scripts"
pkg_tarball=$(get_package_tarball_name $name)
if [ "${INSTALL_LOG}" = "y" ] ; then
CHROOT_wrt_TouchTimestamp
fi
CHROOT_Unpack "$pkg_tarball"
;;
*kernel)
name="linux"
pkg_tarball=$(get_package_tarball_name $name)
if [ "${INSTALL_LOG}" = "y" ] ; then
CHROOT_wrt_TouchTimestamp
fi
CHROOT_Unpack "$pkg_tarball"
# If using optimizations, use MAKEFLAGS (unless blacklisted)
# no setting of CFLAGS and friends.
[[ "$OPTIMIZE" != "0" ]] && wrt_makeflags "$name"
@ -376,20 +354,11 @@ chapter78_Makefiles() {
esac
case "${this_script}" in
*bootscripts) CHROOT_wrt_RemoveBuildDirs "dummy"
if [ "${INSTALL_LOG}" = "y" ] ; then
CHROOT_wrt_LogNewFiles "$name"
fi ;;
*network-scripts) CHROOT_wrt_RemoveBuildDirs "dummy"
if [ "${INSTALL_LOG}" = "y" ] ; then
CHROOT_wrt_LogNewFiles "$name"
fi ;;
*kernel) CHROOT_wrt_RemoveBuildDirs "dummy"
*bootscripts|*network-scripts|*kernel)
if [ "${INSTALL_LOG}" = "y" ] ; then
CHROOT_wrt_LogNewFiles "$name"
fi ;;
esac
# Include a touch of the target name so make can check
# if it's already been made.
wrt_touch

2
TODO
View file

@ -5,7 +5,6 @@ $Id$
MASTER SCRIPT
-------------
- Add a way to choose the network configuration (ip, gateway, etc).
- [CLFS] Add a switch to choose between static or DHCP network configuration
for CLFS.
@ -13,7 +12,6 @@ MASTER SCRIPT
xLFS MODULES
------------
- Add a way to choose the network configuration (ip, gateway, etc).
- [CLFS] Add a switch to choose between static or DHCP network configuration
for CLFS.

View file

@ -193,6 +193,7 @@ extract_commands() { #
--stringparam keymap "$KEYMAP" \
--stringparam local "$LOCAL" \
--stringparam log-level "$LOG_LEVEL" \
--stringparam script-root "$SCRIPT_ROOT" \
--output ./${PROGNAME}-commands/ \
$XSL \
$BOOK/index.xml >> $LOGDIR/$LOG 2>&1

View file

@ -180,7 +180,7 @@ $i: $PREV
@\$(call echo_message, Building)
${NO_PROGRESS} @export BASHBIN=\$(SHELL) && \$(SHELL) progress_bar.sh \$@ \$\$PPID &
@echo "\$(nl_)\`date\`\$(nl_)" >logs/\$@$version
@\$(PRT_DU) >>logs/\$@$version
@ : > envars
EOF
) >> $MKFILE.tmp
}
@ -201,7 +201,7 @@ $i: $PREV
@\$(call echo_message, Building)
${NO_PROGRESS} @export BASHBIN=\$(SHELL) && \$(SHELL) progress_bar.sh \$@ \$\$PPID &
@echo "\$(nl_)\`date\`\$(nl_)" >logs/\$@$version
@\$(PRT_DU_CR) >>logs/\$@$version
@ : > envars
EOF
) >> $MKFILE.tmp
}
@ -227,6 +227,7 @@ EOF
(
cat << EOF
@\$(PRT_DU) >>logs/\$@$version
@\$(call unpack,$FILE)
@\$(call get_pkg_root_LUSER)
EOF
@ -246,8 +247,10 @@ cat << EOF
EOF
) >> $MKFILE.tmp
fi
(
cat << EOF
@\$(PRT_DU_CR) >>logs/\$@$version
@\$(call unpack2,$FILE)
@\$(call get_pkg_root2)
EOF
@ -336,8 +339,8 @@ LUSER_wrt_RunAsUser() { # Calculate time with perl, footer to log fil
(
cat << EOF
@source ~/.bashrc && \\
\$(CMDSDIR)/`dirname $file`/\$@ >> logs/\$@$version 2>&1 && \\
\$(PRT_DU) >>logs/\$@$version
\$(CMDSDIR)/`dirname $file`/\$@ >> \$(LOGDIR)/\$@$version 2>&1 && \\
if [ "${PROGNAME}" != lfs ]; then \$(PRT_DU) >>logs/\$@$version; fi
EOF
) >> $MKFILE.tmp
}
@ -353,8 +356,8 @@ CHROOT_wrt_RunAsRoot() { #
(
cat << EOF
@source envars && \\
\$(crCMDSDIR)/`dirname $file`/\$@ >>logs/\$@$version 2>&1 && \\
\$(PRT_DU_CR) >>logs/\$@$version
\$(crCMDSDIR)/`dirname $file`/\$@ >>\$(crLOGDIR)/\$@$version 2>&1 && \\
if [ "${PROGNAME}" != lfs ]; then \$(PRT_DU_CR) >>logs/\$@$version; fi
EOF
) >> $MKFILE.tmp

View file

@ -8,7 +8,18 @@ be accessible from JHALFSDIR. Change the document type `article' to
book if you prefer. That slightly changes the aspect if you render
it in html -->
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" >
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY libarchive-version "3.1.2">
<!ENTITY curl-version "7.39.0">
<!ENTITY pacman-version "4.1.2">
<!ENTITY libarchive-url "http://www.libarchive.org/downloads/libarchive-&libarchive-version;.tar.gz">
<!ENTITY curl-url "http://curl.haxx.se/download/curl-&curl-version;.tar.lzma">
<!ENTITY pacman-url "https://sources.archlinux.org/other/pacman/pacman-&pacman-version;.tar.gz">
<!ENTITY curl-md5 "e9aa6dec29920eba8ef706ea5823bad7">
<!ENTITY libarchive-md5 "efad5a503f66329bb9d2f4308b5de98a">
<!ENTITY pacman-md5 "063c8b0ff6bdf903dc235445525627cd">
]>
<!-- The first markup should be the one defined in the DOCTYPE DECLARATION -->
<article>
@ -18,12 +29,15 @@ Only the next four lines are mandatory, but you can add anything
to make the text look more like the LFS book.
Do not change anything, except the url and the md5 checksum. -->
<sect1 id="package">
<para>Download: <ulink url="http://curl.haxx.se/download/curl-7.39.0.tar.lzma"/></para>
<para>MD5 sum: <literal>e9aa6dec29920eba8ef706ea5823bad7</literal></para>
<para>Download: <ulink url="http://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz"/></para>
<para>MD5 sum: <literal>efad5a503f66329bb9d2f4308b5de98a</literal></para>
<para>Download: <ulink url="https://sources.archlinux.org/other/pacman/pacman-4.1.2.tar.gz"/></para>
<para>MD5 sum: <literal>063c8b0ff6bdf903dc235445525627cd</literal></para>
<?dbhtml filename="package.html"?>
<title>All Packages</title>
<para>Download: <ulink url="&curl-url;"/></para>
<para>MD5 sum: <literal>&curl-md5;</literal></para>
<para>Download: <ulink url="&libarchive-url;"/></para>
<para>MD5 sum: <literal>&libarchive-md5;</literal></para>
<para>Download: <ulink url="&pacman-url;"/></para>
<para>MD5 sum: <literal>&pacman-md5;</literal></para>
</sect1>
<!-- If needed, uncomment and edit this:
@ -35,12 +49,20 @@ Do not change anything, except the url and the md5 checksum. -->
<!-- Do not change the next line. The name of the scriptlet will be taken
from the dbhtml instruction: it is the name of the file less .html, with
xxx-x-added before (x, digits). Furthermore, the tarball name must be in the form
name_x.y.z(.extension) or name-x.y.z(.extension) if the dbhtml
instruction contains file="name.html" -->
xxx-x-added before (x, digits).-->
<sect1 id="ch-tools-libarchive" role="wrap">
<?dbhtml filename="libarchive.html"?>
<sect1info condition="script">
<productname>libarchive</productname>
<productnumber>&libarchive-version;</productnumber>
<address>&libarchive-url;</address>
</sect1info>
<title>Libarchive-&libarchive-version;</title>
<sect2 role="installation">
<title/>
<screen><userinput remap="configure">./configure --prefix=/tools \
--without-bz2lib \
--without-xml2 \
@ -51,9 +73,20 @@ instruction contains file="name.html" -->
</sect2>
</sect1>
<sect1 id="ch-tools-curl" role="wrap">
<?dbhtml filename="curl.html"?>
<sect1info condition="script">
<productname>curl</productname>
<productnumber>&curl-version;</productnumber>
<address>&curl-url;</address>
</sect1info>
<title>Curl-&curl-version;</title>
<sect2 role="installation">
<title/>
<screen><userinput remap="configure">./configure --prefix=/tools \
--disable-static</userinput></screen>
<screen><userinput remap="make">make</userinput></screen>
@ -64,9 +97,17 @@ instruction contains file="name.html" -->
<sect1 id="ch-tools-pkgmngt" role="wrap">
<?dbhtml filename="pacman.html"?>
<!-- next line mandatory without change, but feel free to add any title,
other sect2 (with different role), sectinfo and so on -->
<sect1info condition="script">
<productname>pacman</productname>
<productnumber>&pacman-version;</productnumber>
<address>&pacman-url;</address>
</sect1info>
<title>Pacman-&pacman-version;</title>
<sect2 role="installation">
<title/>
<!-- You can use any number of remap="pre", "configure", "make", "test", "install"
<screen><userinput remap="something">Instructions</userinput></screen>.
They are executed in that order. "pre" can be used for patching for example.
@ -110,14 +151,16 @@ end of the creating dirs instructions of the book. Do not change the
following line -->
<sect1 id="ch-pkgmngt-creatingdirs">
<!-- Put the create dir intructions there. feel free to add
any explaining <title>Title</title> and <para>explanations</para> -->
<title>Creating Directories</title>
<screen><userinput>mkdir -pv /var/{lib/{packages,pacman},cache/pkg}</userinput></screen>
</sect1>
<!-- Same for files. Do not change the following line -->
<sect1 id="ch-pkgmngt-createfiles">
<title>Creating Essential Files</title>
<para>No file?</para>
</sect1>
@ -131,7 +174,17 @@ sets of instructions end up in the same file, which is usually not a problem.
-->
<sect1 id="ch-system-libarchive" role="wrap">
<?dbhtml filename="libarchive.html"?>
<sect1info condition="script">
<productname>libarchive</productname>
<productnumber>&libarchive-version;</productnumber>
<address>&libarchive-url;</address>
</sect1info>
<title>Libarchive-&libarchive-version;</title>
<sect2 role="installation">
<title/>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static</userinput></screen>
<screen><userinput remap="make">make</userinput></screen>
@ -141,22 +194,41 @@ sets of instructions end up in the same file, which is usually not a problem.
</sect1>
<sect1 id="ch-system-curl" role="wrap">
<?dbhtml filename="curl.html"?>
<sect1info condition="script">
<productname>curl</productname>
<productnumber>&curl-version;</productnumber>
<address>&curl-url;</address>
</sect1info>
<title>Curl-&curl-version;</title>
<sect2 role="installation">
<title/>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--enable-threaded-resolver</userinput></screen>
<screen><userinput remap="make">make</userinput></screen>
<screen><userinput remap="install">make DESTDIR=$PKG_DEST install
find docs \( -name "Makefile*" -o -name "*.1" -o -name "*.3" \) -exec rm {} \;
install -v -d -m755 $PKG_DEST/usr/share/doc/curl-7.39.0
cp -v -R docs/* $PKG_DEST/usr/share/doc/curl-7.39.0</userinput></screen>
install -v -d -m755 $PKG_DEST/usr/share/doc/curl-&curl-version;
cp -v -R docs/* $PKG_DEST/usr/share/doc/curl-&curl-version;</userinput></screen>
</sect2>
</sect1>
<sect1 id="ch-system-pkgmngt" role="wrap">
<?dbhtml filename="pacman.html"?>
<sect1info condition="script">
<productname>pacman</productname>
<productnumber>&pacman-version;</productnumber>
<address>&pacman-url;</address>
</sect1info>
<title>Pacman-&pacman-version;</title>
<sect2 role="installation">
<title/>
<screen><userinput remap="configure">./configure --prefix=/usr \
--sysconfdir=/etc \

View file

@ -1,17 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" >
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY porg-version "0.10">
<!ENTITY porg-url "https://sourceforge.net/projects/porg/files/porg-&porg-version;.tar.gz">
<!ENTITY porg-md5 "2eceb8a73bb188dbb06b12d90cabdbb4">
]>
<article>
<sect1 id="package">
<title>Package Information</title>
<para>Download: <ulink url="https://sourceforge.net/projects/porg/files/porg-0.10.tar.gz"/></para>
<para>MD5 sum: <literal>2eceb8a73bb188dbb06b12d90cabdbb4</literal></para>
<para>Download: <ulink url="&porg-url;"/></para>
<para>MD5 sum: <literal>&porg-md5;</literal></para>
</sect1>
<sect1 id="ch-tools-pkgmngt" role="wrap">
<?dbhtml filename="porg.html"?>
<sect1info condition="script">
<productname>porg</productname>
<productnumber>&porg-version;</productnumber>
<address>&porg-url;</address>
</sect1info>
<title>Porg in tools</title>
<sect2 role="installation">
<title>Instructions</title>
@ -59,6 +70,13 @@ mkdir -pv /var/lib/packages</userinput></screen>
<sect1 id="ch-system-pkgmngt" role="wrap">
<?dbhtml filename="porg.html"?>
<sect1info condition="script">
<productname>porg</productname>
<productnumber>&porg-version;</productnumber>
<address>&porg-url;</address>
</sect1info>
<title>Final Porg</title>
<sect2 role="installation">
<title>Instructions</title>

View file

@ -31,11 +31,16 @@ Do not change anything, except the url and the md5 checksum. -->
<!-- Do not change the next line. The name of the scriptlet will be taken
from the dbhtml instruction: it is the name of the file less .html, with
xxx-x-added before (x, digits). Furthermore, the tarball name must be in the form
name_x.y.z(.extension) or name-x.y.z(.extension) if the dbhtml
instruction contains file="name.html" -->
xxx-x-added before (x, digits). -->
<sect1 id="ch-tools-pkgmngt" role="wrap">
<?dbhtml filename="dpkg.html"?>
<!-- the next lines are now mandatory for unpacking the tarball at the
beginning of the scriptlet -->
<sect1info condition="script">
<productname>dpkg</productname>
<productnumber>x.y.z</productnumber><!-- version -->
<address>http://where/is/your/package</address><!-- url -->
</sect1info>
<!-- next line mandatory without change, but feel free to add any title,
other sect2 (with different role), sectinfo and so on -->
<sect2 role="installation">
@ -100,14 +105,19 @@ touch /var/log/dpkg.log</userinput></screen>
<!-- Last but not least : Final instructions for installing the
package manager at the end of chapter 6. Again, the scriptlet file name is
taken from the dbhtml instruction, with digits added before and .html cut
and the tarball name is formed from this name + version. So the file
here _must_ be the same as in chapter 5. If rendering in html, both
sets of instructions end up in the same file, which is usually not a problem.
taken from the dbhtml instruction, with digits added before and .html cut.
-->
<sect1 id="ch-system-pkgmngt" role="wrap">
<?dbhtml filename="dpkg.html"?>
<!-- the next lines are now mandatory for unpacking the tarball at the
beginning of the scriptlet -->
<sect1info condition="script">
<productname>dpkg</productname><!-- for example -->
<productnumber>x.y.z</productnumber><!-- version -->
<address>http://where/is/your/package</address><!-- url -->
</sect1info>
<sect2 role="installation">
<screen><userinput remap="configure">./configure --prefix=/usr \