[3c10176] | 1 | <?xml version="1.0"?>
|
---|
| 2 |
|
---|
| 3 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
---|
| 4 | xmlns:exsl="http://exslt.org/common"
|
---|
| 5 | extension-element-prefixes="exsl"
|
---|
| 6 | version="1.0">
|
---|
| 7 |
|
---|
[63fc514] | 8 | <!-- $Id: scripts.xsl 34 2012-02-21 16:05:09Z labastie $ -->
|
---|
[3c10176] | 9 |
|
---|
| 10 | <!-- XSLT stylesheet to create shell scripts from "linear build" BLFS books. -->
|
---|
| 11 |
|
---|
[c0bc66d] | 12 | <!-- Build as user (y) or as root (n)? -->
|
---|
| 13 | <xsl:param name="sudo" select="y"/>
|
---|
| 14 |
|
---|
[3c10176] | 15 | <xsl:template match="/">
|
---|
| 16 | <xsl:apply-templates select="//sect1"/>
|
---|
| 17 | </xsl:template>
|
---|
| 18 |
|
---|
| 19 | <!--=================== Master chunks code ======================-->
|
---|
| 20 |
|
---|
| 21 | <xsl:template match="sect1">
|
---|
| 22 |
|
---|
[63fc514] | 23 | <xsl:if test="@id != 'bootscripts'">
|
---|
[3c10176] | 24 | <!-- The file names -->
|
---|
[f4ed135] | 25 | <xsl:variable name="filename" select="@id"/>
|
---|
[3c10176] | 26 |
|
---|
| 27 | <!-- The build order -->
|
---|
| 28 | <xsl:variable name="position" select="position()"/>
|
---|
| 29 | <xsl:variable name="order">
|
---|
| 30 | <xsl:choose>
|
---|
| 31 | <xsl:when test="string-length($position) = 1">
|
---|
| 32 | <xsl:text>00</xsl:text>
|
---|
| 33 | <xsl:value-of select="$position"/>
|
---|
| 34 | </xsl:when>
|
---|
| 35 | <xsl:when test="string-length($position) = 2">
|
---|
| 36 | <xsl:text>0</xsl:text>
|
---|
| 37 | <xsl:value-of select="$position"/>
|
---|
| 38 | </xsl:when>
|
---|
| 39 | <xsl:otherwise>
|
---|
| 40 | <xsl:value-of select="$position"/>
|
---|
| 41 | </xsl:otherwise>
|
---|
| 42 | </xsl:choose>
|
---|
| 43 | </xsl:variable>
|
---|
| 44 |
|
---|
| 45 | <!-- Depuration code -->
|
---|
| 46 | <xsl:message>
|
---|
| 47 | <xsl:text>SCRIPT is </xsl:text>
|
---|
[63fc514] | 48 | <xsl:value-of select="concat($order,'-z-',$filename)"/>
|
---|
[3c10176] | 49 | <xsl:text>
 FTPDIR is </xsl:text>
|
---|
[63fc514] | 50 | <xsl:value-of select="$filename"/>
|
---|
[3c10176] | 51 | <xsl:text>

</xsl:text>
|
---|
| 52 | </xsl:message>
|
---|
| 53 |
|
---|
| 54 | <!-- Creating the scripts -->
|
---|
[73c3c1c] | 55 | <exsl:document href="{$order}-z-{$filename}" method="text">
|
---|
[91ff6a9] | 56 | <xsl:text>#!/bin/bash
set -e

</xsl:text>
|
---|
[3c10176] | 57 | <xsl:choose>
|
---|
| 58 | <!-- Package page -->
|
---|
[b45f723] | 59 | <xsl:when test="sect2[@role='package'] and not(@id = 'xorg7-app' or
|
---|
| 60 | @id = 'xorg7-data' or @id = 'xorg7-driver' or
|
---|
| 61 | @id = 'xorg7-font' or @id = 'xorg7-lib' or
|
---|
| 62 | @id = 'xorg7-proto' or @id = 'xorg7-util')">
|
---|
[3c10176] | 63 | <!-- Variables -->
|
---|
[63fc514] | 64 | <!-- These three lines could be important if SRC_ARCHIVE,
|
---|
| 65 | FTP_SERVER and SRCDIR were not set in the environment.
|
---|
| 66 | But they are not tested for length or anything later,
|
---|
| 67 | so not needed
|
---|
[3c10176] | 68 | <xsl:text>SRC_ARCHIVE=$SRC_ARCHIVE
</xsl:text>
|
---|
[63fc514] | 69 | <xsl:text>FTP_SERVER=$FTP_SERVER
</xsl:text>
|
---|
| 70 | <xsl:text>SRC_DIR=$SRC_DIR

</xsl:text>-->
|
---|
[3c10176] | 71 | <xsl:text>
PKG_DIR=</xsl:text>
|
---|
[63fc514] | 72 | <xsl:value-of select="$filename"/>
|
---|
| 73 | <xsl:text>
</xsl:text>
|
---|
[3c10176] | 74 | <!-- Download code and build commands -->
|
---|
[63fc514] | 75 | <xsl:apply-templates select="sect2"/>
|
---|
[3c10176] | 76 | <!-- Clean-up -->
|
---|
[63fc514] | 77 | <!-- xorg7-server used to require mesalib tree being present.
|
---|
| 78 | That is no more true
|
---|
| 79 | <xsl:if test="not(@id='mesalib')"> -->
|
---|
[5fb652f] | 80 | <xsl:text>cd $SRC_DIR/$PKG_DIR
</xsl:text>
|
---|
[5e9076f] | 81 | <!-- In some case, some files in the build tree are owned
|
---|
| 82 | by root -->
|
---|
| 83 | <xsl:if test="$sudo='y'">
|
---|
| 84 | <xsl:text>sudo </xsl:text>
|
---|
| 85 | </xsl:if>
|
---|
[5fb652f] | 86 | <xsl:text>rm -rf $UNPACKDIR unpacked

</xsl:text>
|
---|
[63fc514] | 87 | <!-- Same reason as preceding comment
|
---|
[5fb652f] | 88 | </xsl:if>
|
---|
| 89 | <xsl:if test="@id='xorg7-server'">
|
---|
| 90 | <xsl:text>cd $SRC_DIR/MesaLib
|
---|
| 91 | UNPACKDIR=`head -n1 unpacked | sed 's@^./@@;s@/.*@@'`
|
---|
| 92 | rm -rf $UNPACKDIR unpacked

</xsl:text>
|
---|
[63fc514] | 93 | </xsl:if> -->
|
---|
[3c10176] | 94 | </xsl:when>
|
---|
[b45f723] | 95 | <!-- Xorg7 pseudo-packages -->
|
---|
| 96 | <xsl:when test="contains(@id,'xorg7') and not(@id = 'xorg7-server')">
|
---|
[63fc514] | 97 | <xsl:text># Useless SRC_DIR=$SRC_DIR
|
---|
[b45f723] | 98 |
|
---|
| 99 | cd $SRC_DIR
|
---|
| 100 | mkdir -p xc
|
---|
| 101 | cd xc
</xsl:text>
|
---|
| 102 | <xsl:apply-templates select="sect2" mode="xorg7"/>
|
---|
| 103 | </xsl:when>
|
---|
[3c10176] | 104 | <!-- Non-package page -->
|
---|
| 105 | <xsl:otherwise>
|
---|
| 106 | <xsl:apply-templates select=".//screen"/>
|
---|
| 107 | </xsl:otherwise>
|
---|
| 108 | </xsl:choose>
|
---|
| 109 | <xsl:text>exit</xsl:text>
|
---|
| 110 | </exsl:document>
|
---|
| 111 | </xsl:if>
|
---|
| 112 | </xsl:template>
|
---|
| 113 |
|
---|
| 114 | <!--======================= Sub-sections code =======================-->
|
---|
| 115 |
|
---|
| 116 | <xsl:template match="sect2">
|
---|
| 117 | <xsl:choose>
|
---|
| 118 | <xsl:when test="@role = 'package'">
|
---|
[f65d3cb] | 119 | <xsl:text>mkdir -p $SRC_DIR/$PKG_DIR
</xsl:text>
|
---|
| 120 | <xsl:text>cd $SRC_DIR/$PKG_DIR
</xsl:text>
|
---|
[63fc514] | 121 | <xsl:apply-templates select="bridgehead[@renderas='sect3']"/>
|
---|
[3c10176] | 122 | <xsl:text>
</xsl:text>
|
---|
| 123 | </xsl:when>
|
---|
| 124 | <xsl:when test="@role = 'installation'">
|
---|
[859d863] | 125 | <xsl:text>
|
---|
[9683707] | 126 | if [ "${PACKAGE%.zip}" = "${PACKAGE}" ]; then
|
---|
| 127 | if [[ -e unpacked ]] ; then
|
---|
[859d863] | 128 | UNPACKDIR=`head -n1 unpacked | sed 's@^./@@;s@/.*@@'`
|
---|
[efef736] | 129 | [[ -n $UNPACKDIR ]] && [[ -d $UNPACKDIR ]] && rm -rf $UNPACKDIR
|
---|
[9683707] | 130 | fi
|
---|
| 131 | tar -xvf $PACKAGE > unpacked
|
---|
| 132 | UNPACKDIR=`head -n1 unpacked | sed 's@^./@@;s@/.*@@'`
|
---|
| 133 | else
|
---|
| 134 | UNPACKDIR=${PACKAGE%.zip}
|
---|
| 135 | [[ -n $UNPACKDIR ]] && [[ -d $UNPACKDIR ]] && rm -rf $UNPACKDIR
|
---|
| 136 | unzip -d $UNPACKDIR ${PACKAGE}
|
---|
[859d863] | 137 | fi
|
---|
[6ff1be4] | 138 | cd $UNPACKDIR
</xsl:text>
|
---|
[3c10176] | 139 | <xsl:apply-templates select=".//screen | .//para/command"/>
|
---|
[a1d0d5c] | 140 | <xsl:if test="$sudo = 'y'">
|
---|
[52b0d10] | 141 | <xsl:text>sudo /sbin/</xsl:text>
|
---|
[a1d0d5c] | 142 | </xsl:if>
|
---|
| 143 | <xsl:text>ldconfig

</xsl:text>
|
---|
[3c10176] | 144 | </xsl:when>
|
---|
| 145 | <xsl:when test="@role = 'configuration'">
|
---|
[63fc514] | 146 | <xsl:apply-templates select=".//screen" mode="config"/>
|
---|
[3c10176] | 147 | </xsl:when>
|
---|
| 148 | </xsl:choose>
|
---|
| 149 | </xsl:template>
|
---|
| 150 |
|
---|
[b45f723] | 151 | <xsl:template match="sect2" mode="xorg7">
|
---|
| 152 | <xsl:choose>
|
---|
[0efb837] | 153 | <xsl:when test="@role = 'package'">
|
---|
| 154 | <xsl:apply-templates select="itemizedlist/listitem/para" mode="xorg7"/>
|
---|
| 155 | </xsl:when>
|
---|
[b45f723] | 156 | <xsl:when test="not(@role)">
|
---|
[63fc514] | 157 | <!-- Useless <xsl:text>SRC_ARCHIVE=$SRC_ARCHIVE
|
---|
| 158 | FTP_SERVER=$FTP_SERVER
</xsl:text> -->
|
---|
[0efb837] | 159 | <xsl:apply-templates select=".//screen" mode="sect-ver"/>
|
---|
[a70c289] | 160 | <xsl:text>mkdir -p ${section}
cd ${section}
</xsl:text>
|
---|
| 161 | <xsl:apply-templates select="../sect2[@role='package']/itemizedlist/listitem/para" mode="xorg7-patch"/>
|
---|
[9d9a810] | 162 | <xsl:text>for line in $(grep -v '^#' ../${sect_ver}.wget) ; do
|
---|
[1caf1f4] | 163 | if [[ ! -f ${line} ]] ; then
|
---|
| 164 | if [[ -f $SRC_ARCHIVE/Xorg/${section}/${line} ]] ; then
|
---|
| 165 | cp $SRC_ARCHIVE/Xorg/${section}/${line} ${line}
|
---|
| 166 | elif [[ -f $SRC_ARCHIVE/Xorg/${line} ]] ; then
|
---|
| 167 | cp $SRC_ARCHIVE/Xorg/${line} ${line}
|
---|
| 168 | elif [[ -f $SRC_ARCHIVE/${section}/${line} ]] ; then
|
---|
| 169 | cp $SRC_ARCHIVE/${section}/${line} ${line}
|
---|
| 170 | elif [[ -f $SRC_ARCHIVE/${line} ]] ; then
|
---|
| 171 | cp $SRC_ARCHIVE/${line} ${line}
|
---|
[a70c289] | 172 | else
|
---|
[63fc514] | 173 | wget -T 30 -t 5 ${FTP_X_SERVER}pub/individual/${section}/${line} || \
|
---|
| 174 | wget -T 30 -t 5 http://xorg.freedesktop.org/releases/individual/${section}/${line}
|
---|
[a70c289] | 175 | fi
|
---|
| 176 | fi
|
---|
| 177 | done
|
---|
[9d9a810] | 178 | md5sum -c ../${sect_ver}.md5
|
---|
| 179 | cp ../${sect_ver}.wget ../${sect_ver}.wget.orig
|
---|
| 180 | cp ../${sect_ver}.md5 ../${sect_ver}.md5.orig
</xsl:text>
|
---|
[b45f723] | 181 | </xsl:when>
|
---|
| 182 | <xsl:when test="@role = 'installation'">
|
---|
[9d9a810] | 183 | <xsl:text>for package in $(grep -v '^#' ../${sect_ver}.wget) ; do
|
---|
[b45f723] | 184 | packagedir=$(echo $package | sed 's/.tar.bz2//')
|
---|
[1caf1f4] | 185 | tar -xf ${package}
|
---|
| 186 | cd ${packagedir}
</xsl:text>
|
---|
[b45f723] | 187 | <xsl:apply-templates select=".//screen | .//para/command"/>
|
---|
[5be3651] | 188 | <xsl:text> cd ..
|
---|
[1caf1f4] | 189 | rm -rf ${packagedir}
|
---|
[9d9a810] | 190 | sed -i "/${package}/d" ../${sect_ver}.wget
|
---|
| 191 | sed -i "/${package}/d" ../${sect_ver}.md5
|
---|
[a70c289] | 192 | done
|
---|
[9d9a810] | 193 | mv ../${sect_ver}.wget.orig ../${sect_ver}.wget
|
---|
| 194 | mv ../${sect_ver}.md5.orig ../${sect_ver}.md5
</xsl:text>
|
---|
[b45f723] | 195 | <xsl:if test="$sudo = 'y'">
|
---|
[52b0d10] | 196 | <xsl:text>sudo /sbin/</xsl:text>
|
---|
[b45f723] | 197 | </xsl:if>
|
---|
| 198 | <xsl:text>ldconfig

</xsl:text>
|
---|
| 199 | </xsl:when>
|
---|
[0efb837] | 200 | <xsl:when test="@role = 'configuration'">
|
---|
| 201 | <xsl:apply-templates select=".//screen"/>
|
---|
| 202 | <xsl:text>
</xsl:text>
|
---|
| 203 | </xsl:when>
|
---|
[b45f723] | 204 | </xsl:choose>
|
---|
| 205 | </xsl:template>
|
---|
| 206 |
|
---|
[3c10176] | 207 | <!--==================== Download code =======================-->
|
---|
| 208 |
|
---|
| 209 | <xsl:template name="package_name">
|
---|
| 210 | <xsl:param name="url" select="foo"/>
|
---|
| 211 | <xsl:param name="sub-url" select="substring-after($url,'/')"/>
|
---|
| 212 | <xsl:choose>
|
---|
| 213 | <xsl:when test="contains($sub-url,'/')">
|
---|
| 214 | <xsl:call-template name="package_name">
|
---|
| 215 | <xsl:with-param name="url" select="$sub-url"/>
|
---|
| 216 | </xsl:call-template>
|
---|
| 217 | </xsl:when>
|
---|
| 218 | <xsl:otherwise>
|
---|
| 219 | <xsl:choose>
|
---|
| 220 | <xsl:when test="contains($sub-url,'?')">
|
---|
| 221 | <xsl:value-of select="substring-before($sub-url,'?')"/>
|
---|
| 222 | </xsl:when>
|
---|
| 223 | <xsl:otherwise>
|
---|
| 224 | <xsl:value-of select="$sub-url"/>
|
---|
| 225 | </xsl:otherwise>
|
---|
| 226 | </xsl:choose>
|
---|
| 227 | </xsl:otherwise>
|
---|
| 228 | </xsl:choose>
|
---|
| 229 | </xsl:template>
|
---|
| 230 |
|
---|
[63fc514] | 231 | <xsl:template match="bridgehead">
|
---|
[3c10176] | 232 | <xsl:choose>
|
---|
[63fc514] | 233 | <xsl:when test="string()='Package Information'">
|
---|
| 234 | <xsl:variable name="url">
|
---|
| 235 | <xsl:choose>
|
---|
| 236 | <xsl:when
|
---|
| 237 | test="string-length(
|
---|
| 238 | following-sibling::itemizedlist[1]/listitem[1]/para/ulink/@url)
|
---|
| 239 | > 10">
|
---|
| 240 | <xsl:value-of select=
|
---|
| 241 | "following-sibling::itemizedlist[1]/listitem[1]/para/ulink/@url"/>
|
---|
| 242 | </xsl:when>
|
---|
| 243 | <xsl:otherwise>
|
---|
| 244 | <xsl:value-of select=
|
---|
| 245 | "following-sibling::itemizedlist[1]/listitem[2]/para/ulink/@url"/>
|
---|
| 246 | </xsl:otherwise>
|
---|
| 247 | </xsl:choose>
|
---|
[3c10176] | 248 | </xsl:variable>
|
---|
[63fc514] | 249 | <xsl:variable name="package">
|
---|
| 250 | <xsl:call-template name="package_name">
|
---|
| 251 | <xsl:with-param name="url" select="$url"/>
|
---|
| 252 | </xsl:call-template>
|
---|
| 253 | </xsl:variable>
|
---|
| 254 | <xsl:variable
|
---|
| 255 | name="first_letter"
|
---|
| 256 | select="translate(substring($package,1,1),
|
---|
| 257 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
|
---|
| 258 | 'abcdefghijklmnopqrstuvwxyz')"/>
|
---|
| 259 | <xsl:text>PACKAGE=</xsl:text>
|
---|
| 260 | <xsl:value-of select="$package"/>
|
---|
| 261 | <xsl:text>
if [[ ! -f $PACKAGE ]] ; then
</xsl:text>
|
---|
[3c10176] | 262 | <!-- SRC_ARCHIVE may have subdirectories or not -->
|
---|
| 263 | <xsl:text> if [[ -f $SRC_ARCHIVE/$PKG_DIR/$PACKAGE ]] ; then
</xsl:text>
|
---|
| 264 | <xsl:text> cp $SRC_ARCHIVE/$PKG_DIR/$PACKAGE $PACKAGE
</xsl:text>
|
---|
| 265 | <xsl:text> elif [[ -f $SRC_ARCHIVE/$PACKAGE ]] ; then
</xsl:text>
|
---|
| 266 | <xsl:text> cp $SRC_ARCHIVE/$PACKAGE $PACKAGE
 else
</xsl:text>
|
---|
| 267 | <!-- The FTP_SERVER mirror -->
|
---|
[63fc514] | 268 | <xsl:text> wget -T 30 -t 5 ${FTP_SERVER}svn/</xsl:text>
|
---|
| 269 | <xsl:value-of select="$first_letter"/>
|
---|
| 270 | <xsl:text>/$PACKAGE</xsl:text>
|
---|
| 271 | <xsl:apply-templates
|
---|
| 272 | select="following-sibling::itemizedlist[1]/listitem/para"
|
---|
| 273 | mode="package"/>
|
---|
| 274 | </xsl:when>
|
---|
| 275 | <xsl:when test="string()='Additional Downloads'">
|
---|
| 276 | <xsl:apply-templates
|
---|
| 277 | select="following-sibling::itemizedlist[1]/listitem/para"
|
---|
| 278 | mode="additional"/>
|
---|
| 279 | </xsl:when>
|
---|
| 280 | <xsl:otherwise/>
|
---|
| 281 | </xsl:choose>
|
---|
| 282 | </xsl:template>
|
---|
| 283 |
|
---|
| 284 | <xsl:template match="para" mode="package">
|
---|
| 285 | <xsl:choose>
|
---|
| 286 | <xsl:when test="contains(string(),'HTTP')">
|
---|
[3c10176] | 287 | <!-- Upstream HTTP URL -->
|
---|
[f221c2c] | 288 | <xsl:if test="string-length(ulink/@url) > '10'">
|
---|
[63fc514] | 289 | <xsl:text> || \
 wget -T 30 -t 5 </xsl:text>
|
---|
[f221c2c] | 290 | <xsl:choose>
|
---|
| 291 | <xsl:when test="contains(ulink/@url,'?')">
|
---|
| 292 | <xsl:value-of select="substring-before(ulink/@url,'?')"/>
|
---|
| 293 | </xsl:when>
|
---|
| 294 | <xsl:otherwise>
|
---|
| 295 | <xsl:value-of select="ulink/@url"/>
|
---|
| 296 | </xsl:otherwise>
|
---|
| 297 | </xsl:choose>
|
---|
[63fc514] | 298 | <xsl:if test="not(contains(string(parent::listitem/following-sibling::listitem[1]/para),'FTP'))">
|
---|
| 299 | <xsl:text>
 fi
fi
</xsl:text>
|
---|
| 300 | </xsl:if>
|
---|
[3c10176] | 301 | </xsl:if>
|
---|
| 302 | </xsl:when>
|
---|
| 303 | <xsl:when test="contains(string(),'FTP')">
|
---|
| 304 | <!-- Upstream FTP URL -->
|
---|
| 305 | <xsl:if test="string-length(ulink/@url) > '10'">
|
---|
[63fc514] | 306 | <xsl:text> || \
 wget -T 30 -t 5 </xsl:text>
|
---|
[3c10176] | 307 | <xsl:value-of select="ulink/@url"/>
|
---|
| 308 | </xsl:if>
|
---|
| 309 | <xsl:text>
 fi
fi
</xsl:text>
|
---|
| 310 | </xsl:when>
|
---|
| 311 | <xsl:when test="contains(string(),'MD5')">
|
---|
| 312 | <xsl:text>echo "</xsl:text>
|
---|
| 313 | <xsl:value-of select="substring-after(string(),'sum: ')"/>
|
---|
| 314 | <xsl:text>  $PACKAGE" | md5sum -c -
</xsl:text>
|
---|
| 315 | </xsl:when>
|
---|
[63fc514] | 316 | </xsl:choose>
|
---|
| 317 | </xsl:template>
|
---|
| 318 |
|
---|
| 319 | <xsl:template match="para" mode="additional">
|
---|
| 320 | <xsl:choose>
|
---|
[3c10176] | 321 | <xsl:when test="contains(string(ulink/@url),'.patch')">
|
---|
[b9c5dc9] | 322 | <xsl:variable name="patch">
|
---|
| 323 | <xsl:call-template name="package_name">
|
---|
| 324 | <xsl:with-param name="url" select="ulink/@url"/>
|
---|
| 325 | </xsl:call-template>
|
---|
| 326 | </xsl:variable>
|
---|
| 327 | <xsl:text>PATCH=</xsl:text>
|
---|
| 328 | <xsl:value-of select="$patch"/>
|
---|
| 329 | <xsl:text>
if [[ ! -f $PATCH ]] ; then
</xsl:text>
|
---|
| 330 | <!-- SRC_ARCHIVE may have subdirectories or not -->
|
---|
| 331 | <xsl:text> if [[ -f $SRC_ARCHIVE/$PKG_DIR/$PATCH ]] ; then
</xsl:text>
|
---|
| 332 | <xsl:text> cp $SRC_ARCHIVE/$PKG_DIR/$PATCH $PATCH
</xsl:text>
|
---|
| 333 | <xsl:text> elif [[ -f $SRC_ARCHIVE/$PATCH ]] ; then
</xsl:text>
|
---|
| 334 | <xsl:text> cp $SRC_ARCHIVE/$PATCH $PATCH
 else
</xsl:text>
|
---|
[63fc514] | 335 | <xsl:text>wget -T 30 -t 5 </xsl:text>
|
---|
[3c10176] | 336 | <xsl:value-of select="ulink/@url"/>
|
---|
| 337 | <xsl:text>
</xsl:text>
|
---|
[b9c5dc9] | 338 | <xsl:text>
 fi
fi
</xsl:text>
|
---|
[3c10176] | 339 | </xsl:when>
|
---|
[63fc514] | 340 | <xsl:when test="ulink">
|
---|
| 341 | <xsl:if test="string-length(ulink/@url) > '10'">
|
---|
| 342 | <xsl:variable name="package">
|
---|
| 343 | <xsl:call-template name="package_name">
|
---|
| 344 | <xsl:with-param name="url" select="ulink/@url"/>
|
---|
| 345 | </xsl:call-template>
|
---|
| 346 | </xsl:variable>
|
---|
| 347 | <xsl:variable
|
---|
| 348 | name="first_letter"
|
---|
| 349 | select="translate(substring($package,1,1),
|
---|
| 350 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
|
---|
| 351 | 'abcdefghijklmnopqrstuvwxyz')"/>
|
---|
| 352 | <xsl:text>PACKAGE1=</xsl:text>
|
---|
| 353 | <xsl:value-of select="$package"/>
|
---|
| 354 | <xsl:text>
if [[ ! -f $PACKAGE1 ]] ; then
</xsl:text>
|
---|
| 355 | <!-- SRC_ARCHIVE may have subdirectories or not -->
|
---|
| 356 | <xsl:text> if [[ -f $SRC_ARCHIVE/$PKG_DIR/$PACKAGE1 ]] ; then
</xsl:text>
|
---|
| 357 | <xsl:text> cp $SRC_ARCHIVE/$PKG_DIR/$PACKAGE1 $PACKAGE1
</xsl:text>
|
---|
| 358 | <xsl:text> elif [[ -f $SRC_ARCHIVE/$PACKAGE1 ]] ; then
</xsl:text>
|
---|
| 359 | <xsl:text> cp $SRC_ARCHIVE/$PACKAGE1 $PACKAGE1
 else
</xsl:text>
|
---|
| 360 | <!-- The FTP_SERVER mirror -->
|
---|
[b9c5dc9] | 361 | <xsl:text> wget -T 30 -t 5 ${FTP_SERVER}svn/</xsl:text>
|
---|
[63fc514] | 362 | <xsl:value-of select="$first_letter"/>
|
---|
| 363 | <xsl:text>/$PACKAGE1</xsl:text>
|
---|
| 364 | <xsl:text> || \
 wget -T 30 -t 5 </xsl:text>
|
---|
| 365 | <xsl:value-of select="ulink/@url"/>
|
---|
| 366 | <xsl:text>
 fi
fi
</xsl:text>
|
---|
| 367 | </xsl:if>
|
---|
| 368 | </xsl:when>
|
---|
| 369 | <xsl:when test="contains(string(),'MD5')">
|
---|
| 370 | <xsl:text>echo "</xsl:text>
|
---|
| 371 | <xsl:value-of select="substring-after(string(),'sum: ')"/>
|
---|
| 372 | <xsl:text>  $PACKAGE1" | md5sum -c -
</xsl:text>
|
---|
| 373 | </xsl:when>
|
---|
[3c10176] | 374 | </xsl:choose>
|
---|
| 375 | </xsl:template>
|
---|
| 376 |
|
---|
[5be3651] | 377 | <xsl:template match="itemizedlist/listitem/para" mode="xorg7">
|
---|
[0efb837] | 378 | <xsl:if test="contains(string(ulink/@url),'.md5') or
|
---|
| 379 | contains(string(ulink/@url),'.wget')">
|
---|
[63fc514] | 380 | <xsl:text>wget -T 30 -t 5 </xsl:text>
|
---|
[0efb837] | 381 | <xsl:value-of select="ulink/@url"/>
|
---|
| 382 | <xsl:text>
</xsl:text>
|
---|
| 383 | </xsl:if>
|
---|
| 384 | </xsl:template>
|
---|
| 385 |
|
---|
| 386 | <xsl:template match="itemizedlist/listitem/para" mode="xorg7-patch">
|
---|
[5be3651] | 387 | <xsl:if test="contains(string(ulink/@url),'.patch')">
|
---|
[63fc514] | 388 | <xsl:text>wget -T 30 -t 5 </xsl:text>
|
---|
[5be3651] | 389 | <xsl:value-of select="ulink/@url"/>
|
---|
| 390 | <xsl:text>
</xsl:text>
|
---|
| 391 | </xsl:if>
|
---|
| 392 | </xsl:template>
|
---|
| 393 |
|
---|
[3c10176] | 394 | <!--======================== Commands code ==========================-->
|
---|
| 395 |
|
---|
| 396 | <xsl:template match="screen">
|
---|
| 397 | <xsl:if test="child::* = userinput and not(@role = 'nodump')">
|
---|
[96a30c7] | 398 | <xsl:choose>
|
---|
| 399 | <xsl:when test="@role = 'root'">
|
---|
| 400 | <xsl:if test="$sudo = 'y'">
|
---|
| 401 | <xsl:text>sudo sh -c '</xsl:text>
|
---|
| 402 | </xsl:if>
|
---|
| 403 | <xsl:apply-templates select="userinput" mode="root"/>
|
---|
| 404 | <xsl:if test="$sudo = 'y'">
|
---|
| 405 | <xsl:text>'</xsl:text>
|
---|
| 406 | </xsl:if>
|
---|
| 407 | </xsl:when>
|
---|
| 408 | <xsl:otherwise>
|
---|
| 409 | <xsl:apply-templates select="userinput"/>
|
---|
| 410 | </xsl:otherwise>
|
---|
| 411 | </xsl:choose>
|
---|
[3c10176] | 412 | <xsl:text>
</xsl:text>
|
---|
| 413 | </xsl:if>
|
---|
| 414 | </xsl:template>
|
---|
| 415 |
|
---|
[63fc514] | 416 | <xsl:template match="screen" mode="config">
|
---|
| 417 | <xsl:if test="preceding-sibling::para[1]/xref[@linkend='bootscripts']">
|
---|
| 418 | <xsl:text>[[ ! -d $SRC_DIR/blfs-bootscripts ]] && mkdir $SRC_DIR/blfs-bootscripts
|
---|
| 419 | pushd $SRC_DIR/blfs-bootscripts
|
---|
| 420 | URL=</xsl:text>
|
---|
| 421 | <xsl:value-of select="id('bootscripts')//itemizedlist//ulink/@url"/><xsl:text>
|
---|
| 422 | BOOTPACKG=$(basename $URL)
|
---|
| 423 | [[ ! -f "$BOOTPACKG" ]] && { wget -T 30 -t 5 $URL; rm -f unpacked; }
|
---|
| 424 | if [[ -e unpacked ]] ; then
|
---|
| 425 | UNPACKDIR=`head -n1 unpacked | sed 's@^./@@;s@/.*@@'`
|
---|
| 426 | if ! [[ -d $UNPACKDIR ]]; then
|
---|
| 427 | rm unpacked
|
---|
| 428 | tar -xvf $BOOTPACKG > unpacked
|
---|
| 429 | UNPACKDIR=`head -n1 unpacked | sed 's@^./@@;s@/.*@@'`
|
---|
| 430 | fi
|
---|
| 431 | else
|
---|
| 432 | tar -xvf $BOOTPACKG > unpacked
|
---|
| 433 | UNPACKDIR=`head -n1 unpacked | sed 's@^./@@;s@/.*@@'`
|
---|
| 434 | fi
|
---|
| 435 | cd $UNPACKDIR
|
---|
| 436 | </xsl:text>
|
---|
| 437 | </xsl:if>
|
---|
| 438 | <xsl:apply-templates select='.'/>
|
---|
| 439 | <xsl:if test="preceding-sibling::para[1]/xref[@linkend='bootscripts']">
|
---|
| 440 | <xsl:text>
|
---|
| 441 | popd</xsl:text>
|
---|
| 442 | </xsl:if>
|
---|
| 443 | <xsl:text>
</xsl:text>
|
---|
| 444 | </xsl:template>
|
---|
| 445 |
|
---|
[0efb837] | 446 | <xsl:template match="screen" mode="sect-ver">
|
---|
[a70c289] | 447 | <xsl:text>section=</xsl:text>
|
---|
| 448 | <xsl:value-of select="substring-before(substring-after(string(),'mkdir '),' &')"/>
|
---|
[9d9a810] | 449 | <xsl:text>
sect_ver=</xsl:text>
|
---|
[0efb837] | 450 | <xsl:value-of select="substring-before(substring-after(string(),'-c ../'),'.md5')"/>
|
---|
| 451 | <xsl:text>
</xsl:text>
|
---|
[b45f723] | 452 | </xsl:template>
|
---|
| 453 |
|
---|
[3c10176] | 454 | <xsl:template match="para/command">
|
---|
| 455 | <xsl:if test="(contains(string(),'test') or
|
---|
| 456 | contains(string(),'check'))">
|
---|
| 457 | <xsl:text>#</xsl:text>
|
---|
| 458 | <xsl:value-of select="substring-before(string(),'make')"/>
|
---|
| 459 | <xsl:text>make -k</xsl:text>
|
---|
| 460 | <xsl:value-of select="substring-after(string(),'make')"/>
|
---|
| 461 | <xsl:text> || true
</xsl:text>
|
---|
| 462 | </xsl:if>
|
---|
| 463 | </xsl:template>
|
---|
| 464 |
|
---|
| 465 | <xsl:template match="userinput">
|
---|
| 466 | <xsl:apply-templates/>
|
---|
| 467 | </xsl:template>
|
---|
| 468 |
|
---|
[96a30c7] | 469 | <xsl:template match="userinput" mode="root">
|
---|
| 470 | <xsl:for-each select="child::node()">
|
---|
| 471 | <xsl:choose>
|
---|
| 472 | <xsl:when test="self::text() and contains(string(),'make')">
|
---|
| 473 | <xsl:value-of select="substring-before(string(),'make')"/>
|
---|
| 474 | <xsl:text>make -j1</xsl:text>
|
---|
| 475 | <xsl:value-of select="substring-after(string(),'make')"/>
|
---|
| 476 | </xsl:when>
|
---|
| 477 | <xsl:otherwise>
|
---|
| 478 | <xsl:apply-templates select="self::node()"/>
|
---|
| 479 | </xsl:otherwise>
|
---|
| 480 | </xsl:choose>
|
---|
| 481 | </xsl:for-each>
|
---|
| 482 | </xsl:template>
|
---|
| 483 |
|
---|
[3c10176] | 484 | <xsl:template match="replaceable">
|
---|
[63fc514] | 485 | <!-- Not needed anymore
|
---|
[5fb652f] | 486 | <xsl:choose>
|
---|
| 487 | <xsl:when test="ancestor::sect1[@id='xorg7-server']">
|
---|
| 488 | <xsl:text>$SRC_DIR/MesaLib</xsl:text>
|
---|
| 489 | </xsl:when>
|
---|
[63fc514] | 490 | <xsl:otherwise> -->
|
---|
[5fb652f] | 491 | <xsl:text>**EDITME</xsl:text>
|
---|
| 492 | <xsl:apply-templates/>
|
---|
| 493 | <xsl:text>EDITME**</xsl:text>
|
---|
[63fc514] | 494 | <!-- </xsl:otherwise>
|
---|
| 495 | </xsl:choose> -->
|
---|
[3c10176] | 496 | </xsl:template>
|
---|
| 497 |
|
---|
| 498 | </xsl:stylesheet>
|
---|