#!/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 # # Copyright 2013 Gerald Combs # # SPDX-License-Identifier: GPL-2.0-or-later # bz_url_pfx="https://bugs.wireshark.org/bugzilla/show_bug.cgi" 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" ) " exit 1 fi bug_title=$( curl -s -o - "${bz_url_pfx}?id=$bug_id" \ | grep -i '' \ | sed \ -e 's/{/\\{/g' \ -e 's:.*<title>.*ndash; ::' \ -e 's:.*::g' \ -e 's/[^\.]$/&./g' \ -e 's/\\/{backslash}/g' \ ) echo -e "* $bug_title wsbuglink:${bug_id}[].\\n" \ | $recode_cmd \ | $clipboard_cmd echo "Copied $bug_id: $bug_title"