Nicolas Despres 6898eadcc5 brew-man: only exit 1 when an error occurs
Because of "set -e" in non verbose mode brew man had an exit status
equals to 1 whereas there was no error.  The reason was that the "test"
command failed.  This patch fix this.

Closes Homebrew/homebrew#10664.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-03 14:25:45 -06:00

52 lines
1022 B
Bash
Executable File

#!/bin/bash
set -e
shopt -s nullglob
SOURCE_PATH="$HOMEBREW_REPOSITORY/Library/Contributions/manpages"
TARGET_PATH="$HOMEBREW_REPOSITORY/share/man/man1"
LINKED_PATH="$HOMEBREW_PREFIX/share/man/man1"
die (){
echo $1
exit 1
}
test "$1" = '--link' || \
test "$1" = '-l' && {
[[ $TARGET_PATH == $LINKED_PATH ]] && exit 0
for page in "$TARGET_PATH"/*.1
do
ln -s $page $LINKED_PATH
done
exit 0
}
/usr/bin/which -s ronn || die "You need to \"gem install ronn\" and put it in your path."
test "$1" = '--server' || \
test "$1" = '-s' && {
echo "Man page test server: http://localhost:1207/"
echo "Control-C to exit."
ronn --server $SOURCE_PATH/*
exit 0
}
echo "Writing manpages to $TARGET_PATH"
for i in "$SOURCE_PATH"/*.md
do
# Get the filename only, without the .md extension
j=`basename $i`
target_file="$TARGET_PATH/${j%\.md}"
ronn --roff --pipe --organization='Homebrew' --manual='brew' $i > $target_file
done
if test "$1" = '--verbose' || test "$1" = '-v'
then
man brew
fi