From 2a6876771ffa57b087436f9968f1fec5c4ee6971 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Tue, 14 Jan 2025 08:17:52 +0100 Subject: [PATCH] Import the newer scripts from DeforaOS configure --- doc/docbook.sh | 25 +++++++++++++++---------- tests/clint.sh | 40 ++++++++++++++++++++++++---------------- tests/fixme.sh | 10 +++------- tests/xmllint.sh | 23 +++++++++++++---------- tools/subst.sh | 11 ++++++++--- 5 files changed, 63 insertions(+), 46 deletions(-) diff --git a/doc/docbook.sh b/doc/docbook.sh index 83bbf54..7eab664 100755 --- a/doc/docbook.sh +++ b/doc/docbook.sh @@ -1,6 +1,6 @@ #!/bin/sh #$Id$ -#Copyright (c) 2012-2020 Pierre Pronchery +#Copyright (c) 2012-2024 Pierre Pronchery # #Redistribution and use in source and binary forms, with or without #modification, are permitted provided that the following conditions are met: @@ -28,14 +28,17 @@ CONFIGSH="${0%/docbook.sh}/../config.sh" PREFIX="/usr/local" PROGNAME="docbook.sh" +XSL_HTML="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl" +XSL_MAN="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" +XSL_PDF="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl" #executables DEBUG="_debug" FOP="fop" INSTALL="install -m 0644" MKDIR="mkdir -m 0755 -p" RM="rm -f" -XMLLINT="xmllint" -XSLTPROC="xsltproc --nonet --xinclude" +XMLLINT="xmllint --noent --nonet --xinclude --path ${PWD}" +XSLTPROC="xsltproc --nonet --xinclude --path ${PWD}" [ -f "$CONFIGSH" ] && . "$CONFIGSH" @@ -60,18 +63,20 @@ _docbook() ext="${ext##.}" case "$ext" in html) - XSL="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl" + XSL="$XSL_HTML" [ -f "${source%.*}.xsl" ] && XSL="${source%.*}.xsl" [ -f "${target%.*}.xsl" ] && XSL="${target%.*}.xsl" if [ -f "${target%.*}.css.xml" ]; then - XSLTPROC="$XSLTPROC --param custom.css.source \"${target%.*}.css.xml\" --param generate.css.header 1" + XSLTPROC_PARAMS="--param custom.css.source \"${target%.*}.css.xml\" --param generate.css.header 1" elif [ -f "${source%.*}.css.xml" ]; then - XSLTPROC="$XSLTPROC --param custom.css.source \"${source%.*}.css.xml\" --param generate.css.header 1" + XSLTPROC_PARAMS="--param custom.css.source \"${source%.*}.css.xml\" --param generate.css.header 1" + else + XSLTPROC_PARAMS= fi - $DEBUG $XSLTPROC -o "$target" "$XSL" "$source" + $DEBUG $XSLTPROC $XSLTPROC_PARAMS -o "$target" "$XSL" "$source" ;; pdf) - XSL="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl" + XSL="$XSL_PDF" [ -f "${source%.*}.xsl" ] && XSL="${source%.*}.xsl" [ -f "${target%.*}.xsl" ] && XSL="${target%.*}.xsl" $DEBUG $XSLTPROC -o "${target%.*}.fo" "$XSL" "$source" && @@ -79,7 +84,7 @@ _docbook() $RM -- "${target%.*}.fo" ;; 1|2|3|4|5|6|7|8|9) - XSL="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" + XSL="$XSL_MAN" $DEBUG $XSLTPROC -o "$target" "$XSL" "$source" ;; *) @@ -170,7 +175,7 @@ while [ $# -gt 0 ]; do source="${target#$OBJDIR}" source="${source%.*}.xml" xpath="string(/refentry/refmeta/manvolnum)" - section=$($XMLLINT --xpath "$xpath" "$source") + section=$($DEBUG $XMLLINT --xpath "$xpath" "$source") if [ $? -eq 0 -a -n "$section" ]; then instdir="$MANDIR/html$section" fi diff --git a/tests/clint.sh b/tests/clint.sh index a7d22ba..04727c6 100755 --- a/tests/clint.sh +++ b/tests/clint.sh @@ -1,6 +1,6 @@ #!/bin/sh #$Id$ -#Copyright (c) 2016-2020 Pierre Pronchery +#Copyright (c) 2016-2021 Pierre Pronchery # #Redistribution and use in source and binary forms, with or without #modification, are permitted provided that the following conditions are met: @@ -33,6 +33,7 @@ PROJECTCONF="../project.conf" #executables DATE="date" DEBUG="_debug" +ECHO="/bin/echo" FIND="find" GREP="grep" LINT="lint -g" @@ -68,41 +69,52 @@ _clint() fi for subdir in $subdirs; do [ -d "../$subdir" ] || continue - for filename in $($FIND "../$subdir" -type f | $SORT); do + while read filename; do + [ -n "$filename" ] || continue + r=0 case "$filename" in *.c) echo - (_clint_lint "$filename"; - _clint_rtrim "$filename") + _clint_lint "$filename" || r=$? + _clint_rtrim "$filename"|| r=$? ;; *.h) echo echo "$filename:" - (_clint_rtrim "$filename") + _clint_rtrim "$filename"|| r=$? ;; *) continue ;; esac - if [ $? -ne 0 ]; then + if [ $r -eq 0 ]; then + echo " OK" + echo "$PROGNAME: $filename: OK" 1>&2 + else echo "FAIL" echo "$PROGNAME: $filename: FAIL" 1>&2 res=2 - else - echo "OK" fi - done + done << EOF +$($FIND "../$subdir" -type f | $SORT) +EOF done return $res } _clint_lint() -{ +{( filename="$1" - echo -n "${filename%/*}/" + $ECHO -n "${filename%/*}/" $DEBUG $LINT $CPPFLAGS $CFLAGS "$filename" 2>&1 -} + ret=$? + if [ $ret -eq 127 ]; then + #XXX ignore errors when $LINT is not available + ret=0 + fi + return $ret +)} _clint_rtrim() { @@ -118,10 +130,6 @@ _debug() { echo "$@" 1>&3 "$@" - res=$? - #ignore errors when the command is not available - [ $res -eq 127 ] && return 0 - return $res } diff --git a/tests/fixme.sh b/tests/fixme.sh index 84319cf..e5c85e3 100755 --- a/tests/fixme.sh +++ b/tests/fixme.sh @@ -1,6 +1,6 @@ #!/bin/sh #$Id$ -#Copyright (c) 2017-2020 Pierre Pronchery +#Copyright (c) 2017-2022 Pierre Pronchery # #Redistribution and use in source and binary forms, with or without #modification, are permitted provided that the following conditions are met: @@ -95,7 +95,7 @@ _fixme_callback() echo "_fixme_callback_asm" return 0 ;; - c|cc|cpp|cxx|h|js|v) + c|cc|cpp|cxx|go|h|js|v) echo "_fixme_callback_c" return 0 ;; @@ -122,7 +122,7 @@ _fixme_callback() echo "_fixme_callback_python" return 0 ;; - "&3 "$@" - res=$? - #ignore errors when the command is not available - [ $res -eq 127 ] && return 0 - return $res } diff --git a/tests/xmllint.sh b/tests/xmllint.sh index 6773845..d9152b1 100755 --- a/tests/xmllint.sh +++ b/tests/xmllint.sh @@ -1,6 +1,6 @@ #!/bin/sh #$Id$ -#Copyright (c) 2014-2020 Pierre Pronchery +#Copyright (c) 2014-2021 Pierre Pronchery # #Redistribution and use in source and binary forms, with or without #modification, are permitted provided that the following conditions are met: @@ -32,11 +32,12 @@ PROJECTCONF="../project.conf" #executables DATE="date" DEBUG="_debug" +ECHO="/bin/echo" FIND="find" MKDIR="mkdir -p" SORT="sort -n" TR="tr" -XMLLINT="xmllint --nonet" +XMLLINT="xmllint --nonet --xinclude" [ -f "$CONFIGSH" ] && . "$CONFIGSH" @@ -49,7 +50,6 @@ _xmllint() subdirs= $DATE - echo while read line; do case "$line" in "["*) @@ -67,15 +67,22 @@ _xmllint() fi for subdir in $subdirs; do [ -d "../$subdir" ] || continue - for filename in $($FIND "../$subdir" -type f -a \( -name '*.xml' -o -name '*.xsl' \) | $SORT); do + while read filename; do + [ -n "$filename" ] || continue + echo + $ECHO -n "$filename:" $DEBUG $XMLLINT "$filename" 2>&1 > "$DEVNULL" if [ $? -eq 0 ]; then - echo "$filename:" + echo " OK" + echo "$PROGNAME: $filename: OK" 1>&2 else + echo "FAIL" echo "$PROGNAME: $filename: FAIL" 1>&2 res=2 fi - done + done << EOF +$($FIND "../$subdir" -type f -a \( -iname '*.xml' -o -iname '*.xsl' \) | $SORT) +EOF done return $res } @@ -86,10 +93,6 @@ _debug() { echo "$@" 1>&3 "$@" - res=$? - #ignore errors when the command is not available - [ $res -eq 127 ] && return 0 - return $res } diff --git a/tools/subst.sh b/tools/subst.sh index b309b15..680fa15 100755 --- a/tools/subst.sh +++ b/tools/subst.sh @@ -1,6 +1,6 @@ #!/bin/sh #$Id$ -#Copyright (c) 2012-2020 Pierre Pronchery +#Copyright (c) 2012-2022 Pierre Pronchery # #Redistribution and use in source and binary forms, with or without #modification, are permitted provided that the following conditions are met: @@ -29,18 +29,19 @@ CONFIGSH="${0%/subst.sh}/../config.sh" PREFIX="/usr/local" BINDIR= DATADIR= +DEVNULL="/dev/null" INCLUDEDIR= LDSO= LIBDIR= LIBEXECDIR= MANDIR= PROGNAME="subst.sh" +SBINDIR= SYSCONFDIR= #executables CHMOD="chmod" DATE="date" DEBUG="_debug" -DEVNULL="/dev/null" INSTALL="install" MKDIR="mkdir -m 0755 -p" RM="rm -f" @@ -85,6 +86,7 @@ _subst() SYSCONFDIR="$PREFIX/etc" [ "$PREFIX" = "/usr" ] && SYSCONFDIR="/etc" fi + [ -z "$SBINDIR" ] && SBINDIR="$PREFIX/sbin" while [ $# -gt 0 ]; do target="$1" @@ -115,7 +117,8 @@ _subst() source="${source}.in" ([ -z "$OBJDIR" ] || $DEBUG $MKDIR -- "${target%/*}") \ || return 2 - $DEBUG $SED -e "s;@PACKAGE@;$PACKAGE;g" \ + $DEBUG $SED -e "s;@VENDOR@;$VENDOR;g" \ + -e "s;@PACKAGE@;$PACKAGE;g" \ -e "s;@VERSION@;$VERSION;g" \ -e "s;@PREFIX@;$PREFIX;g" \ -e "s;@BINDIR@;$BINDIR;g" \ @@ -127,6 +130,7 @@ _subst() -e "s;@LIBEXECDIR@;$LIBEXECDIR;g" \ -e "s;@MANDIR@;$MANDIR;g" \ -e "s;@PWD@;$PWD;g" \ + -e "s;@SBINDIR@;$SBINDIR;g" \ -e "s;@SYSCONFDIR@;$SYSCONFDIR;g" \ -- "$source" > "$target" if [ $? -ne 0 ]; then @@ -139,6 +143,7 @@ _subst() return 0 } + #debug _debug() {