90 lines
2.2 KiB
Bash
Executable file
90 lines
2.2 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# Given a Wireshark bug ID, fetch its title and prepare an entry suitable
|
|
# for pasting into the release notes. Requires curl, grep, and sed.
|
|
#
|
|
# Usage: gen-bugnote <bug number>
|
|
#
|
|
# $Id$
|
|
#
|
|
# Copyright 2013 Gerald Combs
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
#
|
|
|
|
output_fmt="docbook"
|
|
if [ -f release-notes.asciidoc -o -f docbook/release-notes.asciidoc ] ; then
|
|
output_fmt="asciidoc"
|
|
fi
|
|
|
|
while getopts "o:" OPT ; do
|
|
case $OPT in
|
|
o) output_fmt=$OPTARG
|
|
;;
|
|
esac
|
|
done
|
|
shift $(($OPTIND - 1))
|
|
|
|
bz_url_pfx="https://bugs.wireshark.org/bugzilla/show_bug.cgi?id="
|
|
bug_id="$1"
|
|
|
|
case "$OSTYPE" in
|
|
darwin*)
|
|
clipboard_cmd="pbcopy -Pascii"
|
|
;;
|
|
cygwin*)
|
|
clipboard_cmd="cat > /dev/clipboard"
|
|
;;
|
|
linux*)
|
|
clipboard_cmd="xsel --clipboard"
|
|
;;
|
|
*)
|
|
echo "Unable to copy to clipboard"
|
|
clipboard_cmd="cat > /dev/null"
|
|
;;
|
|
esac
|
|
|
|
if [ -z "$bug_id" ] ; then
|
|
echo "Usage: " `basename $0` " <bug id>"
|
|
exit 1
|
|
fi
|
|
|
|
bug_title=`
|
|
curl -s -o - "https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=$bug_id" |
|
|
grep -i '<title>' |
|
|
sed \
|
|
-e 's:.*<title>.*ndash; ::' \
|
|
-e 's:</title>.*::' \
|
|
-e 's/[^\.]$/&./' \
|
|
`
|
|
|
|
case "$output_fmt" in
|
|
asciidoc)
|
|
echo -n "* $bug_title (ws-buglink:$bug_id[])" | $clipboard_cmd
|
|
;;
|
|
docbook)
|
|
$clipboard_cmd <<Fin
|
|
<listitem><para>
|
|
$bug_title
|
|
(<ulink url="https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=$bug_id">Bug
|
|
$bug_id</ulink>)
|
|
</para></listitem>
|
|
|
|
Fin
|
|
;;
|
|
esac
|
|
|
|
echo "Copied $bug_id: $bug_title"
|