#!/bin/bash # Includes . $(miniade) || { echo "${0##*/}: ERROR: miniade failed (hint: run 'miniade' to see error)" >&2; exit 1; } # Configurable stuff PKGS=( $(grep -l "Alexis Huxley" /usr/share/doc/*/copyright | sed -rn 's/.*\/([^/]+)\/copyright$/\1/p') ) # This path is referenced from inside WP content! STORE=/var/www/www.pasta.freemyip.com/wp-content/man-pages # Other globals main() { local MY_ARGS local PKG PKG_FILE PKG_FILES BASENAME PROGNAME # Defaults for options # Process options miniade_process_options MY_ARGS "$@" && set -- "${MY_ARGS[@]}" # Process arguments [ $# = 0 ] || miniade_bad_usage # Sanity checks and derivations miniade_get_progname PROGNAME # Guts (delegate) for PKG in "${PKGS[@]}"; do miniade_debug 10 "main: PKG=$PKG" PKG_FILES=( $(dpkg -L $PKG 2>/dev/null) ) || miniade_error "$PKG: not installed (hint: run 'dpkg -L $PKG' to confirm)" for PKG_FILE in "${PKG_FILES[@]}"; do [[ $PKG_FILE =~ /usr/share/man/man./(.*)\.gz$ ]] || continue BASENAME=${BASH_REMATCH[1]} HTML_FILE=$STORE/$BASENAME.html miniade_debug 10 "main: PKG_FILE=$PKG_FILE, HTML_FILE=$HTML_FILE" ADEMAN2HTML_CMDLINE="zcat \"$PKG_FILE\" | ademan2html 2>&1 > /tmp/$PROGNAME.$$.html" miniade_debug 10 "main: ADEMAN2HTML_CMDLINE=[$ADEMAN2HTML_CMDLINE]" STDERR=$(eval "$ADEMAN2HTML_CMDLINE") || true [ "X$STDERR" = X ] || miniade_warning "${PKG_FILE##*/}: $STDERR" if [ ! -f $HTML_FILE ] || ! diff -I "Generated on date" /tmp/$PROGNAME.$$.html $HTML_FILE > /dev/null; then miniade_info "$BASENAME: updating ..." mkdir -p ${HTML_FILE%/*} mv /tmp/$PROGNAME.$$.html $HTML_FILE fi done done rm -f /tmp/$PROGNAME.$$.* } main "$@"