#!/bin/bash # $Id: gen-special.sh 21 2012-02-16 15:06:19Z labastie $ BLFS_XML=$1 if ! test -f ${BLFS_XML}; then echo ${BLFS_XML} does not exist exit 1 fi SPECIAL_FILE=$2 if test -z "${SPECIAL_FILE}"; then SPECIAL_FILE=specialCases.xsl;fi # Packages whose version does not begin with a number EXCEPTIONS=$(grep 'ENTITY.*version[ ]*"[^0-9"&.].*[0-9]' $BLFS_XML | sed 's@^[^"]*"\([^"]*\)".*@\1@') # Version for X Window packages without a version in the book XVERSION=$(grep 'ENTITY xorg7-release' $BLFS_XML | sed 's@^[^"]*"\([^"]*\)".*@\1@') # The case of udev # Set PATH to be sure to find udevadm SAVPATH=$PATH PATH=/bin:/sbin:/usr/bin:/usr/sbin UDEVVERSION=$(udevadm --version) cat >$SPECIAL_FILE << EOF $UDEVVERSION $XVERSION required ref EOF for ver_ent in $EXCEPTIONS; do id=$(grep 'xreflabel=".*'$ver_ent $BLFS_XML | sed 's@.*id="\([^"]*\)".*@\1@') [[ -z $id ]] && continue cat >>$SPECIAL_FILE << EOF $id $ver_ent EOF done cat >>$SPECIAL_FILE << EOF EOF