56 lines
1.2 KiB
Bash
Executable File
56 lines
1.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>
|
|
#
|
|
# Copyright 2013 Gerald Combs
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
#
|
|
|
|
bz_url_pfx="https://bugs.wireshark.org/bugzilla/show_bug.cgi?id="
|
|
bug_id="$1"
|
|
|
|
recode_cmd="cat"
|
|
hash recode > /dev/null 2>&1 && recode_cmd="recode html..utf8"
|
|
|
|
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/{/\\{/' \
|
|
-e 's:.*<title>.*ndash; ::' \
|
|
-e 's:</title>.*::' \
|
|
-e 's/[^\.]$/&./' \
|
|
-e 's/\\/{backslash}/' \
|
|
)
|
|
|
|
echo -e "* $bug_title (wsbuglink:$bug_id[])\n" \
|
|
| $recode_cmd \
|
|
| $clipboard_cmd
|
|
|
|
echo "Copied $bug_id: $bug_title"
|