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:
parent
adbd09b06c
commit
2758d9421e
8 changed files with 251 additions and 79 deletions
117
LFS/lfs.xsl
117
LFS/lfs.xsl
|
@ -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>
</xsl:text>
|
||||
<xsl:if test="sect2[@role='installation']">
|
||||
<xsl:text>cd $PKGDIR
</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"
</xsl:text>
|
||||
<xsl:if test="sect2[@role='installation']">
|
||||
<xsl:call-template name="end-script"/>
|
||||
</xsl:if>
|
||||
<xsl:text>exit
</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>
|
||||
|
|
|
@ -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
2
TODO
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
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
|
||||
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 \
|
||||
|
|
Reference in a new issue