* cfg.mk (sc_prohibit-long-form-bug-urls): Disallow long form in code.
* scripts/git-hooks/commit-msg: Disallow long form in commit messages.
* NEWS: Shorten long urls.
* bootstrap.conf: Likewise.
* configure.ac: Likewise.
* scripts/git-hooks/commit-msg: Likewise.
* src/csplit.c: Likewise.
* src/fmt.c: Likewise.
* src/make-prime-list.c: Likewise.
* src/nohup.c: Likewise.
* tests/od/od-float.sh: Likewise.
* tests/rm/r-root.sh: Likewise.
* tests/tail/inotify-race.sh: Likewise.
* tests/tail/inotify-race2.sh: Likewise.
---
 NEWS                         | 2 +-
 bootstrap.conf               | 2 +-
 cfg.mk                       | 9 +++++++++
 configure.ac                 | 2 +-
 scripts/git-hooks/commit-msg | 6 ++++++
 src/csplit.c                 | 2 +-
 src/fmt.c                    | 2 +-
 src/make-prime-list.c        | 2 +-
 src/nohup.c                  | 2 +-
 tests/od/od-float.sh         | 4 ++--
 tests/rm/r-root.sh           | 2 +-
 tests/tail/inotify-race.sh   | 2 +-
 tests/tail/inotify-race2.sh  | 2 +-
 13 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/NEWS b/NEWS
index e4575d0db..bfde1e62d 100644
--- a/NEWS
+++ b/NEWS
@@ -19,7 +19,7 @@ GNU coreutils NEWS                                    -*- 
outline -*-
 
   cp, install, and mv now avoid possible data corruption on
   glibc 2.41 and 2.42 systems when copy_file_range is used with ranges > 2GiB,
-  avoiding https://sourceware.org/bugzilla/show_bug.cgi?id=33245
+  avoiding https://sourceware.org/PR33245
   [bug triggered since coreutils-9.0]
 
   'install -d' now produces the correct diagnostic upon failure
diff --git a/bootstrap.conf b/bootstrap.conf
index 99d4df90b..49fcf30f3 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -420,7 +420,7 @@ bootstrap_epilogue()
 
   # Add dummy 'install-html' target, required for packages using
   # non-recursive makefiles with older gettext.
-  # See https://debbugs.gnu.org/25690
+  # See https://bugs.gnu.org/25690
   if ! grep -w 'install-html' po/Makefile.in.in ; then
     printf 'install-%s:;\n' dvi ps pdf html >> po/Makefile.in.in
   fi
diff --git a/cfg.mk b/cfg.mk
index 4c634f663..7a1138e55 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -863,6 +863,15 @@ sc_prohibit-form-feed:
        halt='Form Feed (^L) detected' \
          $(_sc_search_regexp)
 
+# debbugs.gnu.org/cgi/bugreport.cgi?bug=... ->   bugs.gnu.org/...
+# bugzilla.redhat.com/show_bug.cgi?id=...->      bugzilla.redhat.com/...
+# sourceware.org/bugzilla/show_bug.cgi?id=... -> sourceware.org/PR...
+# gcc.gnu.org/bugzilla/show_bug.cgi?id=... ->    gcc.gnu.org/PR...
+sc_prohibit-long-form-bug-urls:
+       @prohibit='http.*(bugreport|show_bug)\.cgi' \
+       halt='use short form bug url' \
+         $(_sc_search_regexp)
+
 # Override the default Cc: used in generating an announcement.
 announcement_Cc_ = $(translation_project_), \
   coreutils@gnu.org, coreutils-annou...@gnu.org
diff --git a/configure.ac b/configure.ac
index b44687204..bcd41a71c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -204,7 +204,7 @@ if test $gl_gcc_warnings != no; then
 
   # Using -Wstrict-overflow is a pain, but the alternative is worse.
   # For an example, see the code that provoked this report:
-  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33498
+  # https://gcc.gnu.org/PR33498
   # Code like that still infloops with gcc-4.6.0 and -O2.  Scary indeed.
 
   gl_MANYWARN_ALL_GCC([ws])
diff --git a/scripts/git-hooks/commit-msg b/scripts/git-hooks/commit-msg
index da094c95a..bdea8c38d 100755
--- a/scripts/git-hooks/commit-msg
+++ b/scripts/git-hooks/commit-msg
@@ -136,6 +136,12 @@ sub check_msg($$)
   $buf =~ m!https://lists\.gnu\.org/archive/html/!s
     and return "use '/r/' in place of '/archive/html/' in lists.gnu.org URLs";
 
+  $buf =~ 
m!https?://(?:.*\.)?sourceware\.org/bugzilla/show_bug\.cgi\?id=(\d+)!s
+    and return "use shorter https://sourceware.org/PR$1";;
+
+  $buf =~ m!https?://gcc\.gnu\.org/bugzilla/show_bug\.cgi\?id=(\d+)!s
+    and return "use shorter https://gcc.gnu.org/PR$1";;
+
   return '';
 }
 
diff --git a/src/csplit.c b/src/csplit.c
index 9119dcf5a..506f9248f 100644
--- a/src/csplit.c
+++ b/src/csplit.c
@@ -378,7 +378,7 @@ record_line_starts (struct buffer_record *b)
   return lines;
 }
 
-/* Work around <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109614>.  */
+/* Work around <https://gcc.gnu.org/PR109614>.  */
 #if 13 <= __GNUC__
 # pragma GCC diagnostic ignored "-Wanalyzer-mismatching-deallocation"
 # pragma GCC diagnostic ignored "-Wanalyzer-use-after-free"
diff --git a/src/fmt.c b/src/fmt.c
index 9419af64e..408fe45a1 100644
--- a/src/fmt.c
+++ b/src/fmt.c
@@ -909,7 +909,7 @@ fmt_paragraph (void)
   word_limit->length = saved_length;
 }
 
-/* Work around <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109628>.  */
+/* Work around <https://gcc.gnu.org/PR109628>.  */
 #if __GNUC__ == 13
 # pragma GCC diagnostic ignored "-Wanalyzer-use-of-uninitialized-value"
 #endif
diff --git a/src/make-prime-list.c b/src/make-prime-list.c
index 950aafcbc..5b7208660 100644
--- a/src/make-prime-list.c
+++ b/src/make-prime-list.c
@@ -116,7 +116,7 @@ print_wide_uint (wide_uint n, int nesting, unsigned 
wide_uint_bits)
   printf ("0x%0*xU", hex_digits_per_literal, remainder);
 }
 
-/* Work around <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109635>.  */
+/* Work around <https://gcc.gnu.org/PR109635>.  */
 #if 13 <= __GNUC__
 # pragma GCC diagnostic ignored "-Wanalyzer-use-of-uninitialized-value"
 #endif
diff --git a/src/nohup.c b/src/nohup.c
index d062d2cb8..d58fcc53f 100644
--- a/src/nohup.c
+++ b/src/nohup.c
@@ -73,7 +73,7 @@ To save output to FILE, use '%s COMMAND > FILE'.\n"),
 }
 
 /* GCC 13 gets confused by the dup2 calls
-   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109839>.  */
+   <https://gcc.gnu.org/PR109839>.  */
 #if 13 <= __GNUC__
 # pragma GCC diagnostic ignored "-Wanalyzer-fd-leak"
 #endif
diff --git a/tests/od/od-float.sh b/tests/od/od-float.sh
index b998769ee..548a7944f 100755
--- a/tests/od/od-float.sh
+++ b/tests/od/od-float.sh
@@ -56,14 +56,14 @@ case $3,$4 in
 esac
 
 # Ensure od doesn't crash as it did on glibc <= 2.5:
-# https://sourceware.org/bugzilla/show_bug.cgi?id=4586
+# https://sourceware.org/PR4586
 set x $(printf 00000000ff000000 | tr 0f '\000\377' | od -t fL) || fail=1
 # With coreutils <= 8.7 we used to print "nan" for the above invalid value.
 # However since v8.7-22-ga71c22f we deferred to the system printf routines
 # through the use of the ftoastr module.  So the following check would only
 # be valid on x86_64 if we again handle the conversion internally or
 # if this glibc bug is resolved:
-# https://sourceware.org/bugzilla/show_bug.cgi?id=17661
+# https://sourceware.org/PR17661
 #case "$*" in
 #*nan*) ;;
 #*) fail=1;;
diff --git a/tests/rm/r-root.sh b/tests/rm/r-root.sh
index 34e837b6d..63202ca2a 100755
--- a/tests/rm/r-root.sh
+++ b/tests/rm/r-root.sh
@@ -85,7 +85,7 @@ gcc_shared_ k.c k.so \
   || framework_failure_ 'failed to build shared library'
 
 # Note breakpoint commands don't work in batch mode
-# https://sourceware.org/bugzilla/show_bug.cgi?id=10079
+# https://sourceware.org/PR10079
 # So we use python to script behavior upon hitting the breakpoint
 cat > bp.py <<'EOF.py' || framework_failure_
 def breakpoint_handler (event):
diff --git a/tests/tail/inotify-race.sh b/tests/tail/inotify-race.sh
index e6ab035f6..bb7df48f9 100755
--- a/tests/tail/inotify-race.sh
+++ b/tests/tail/inotify-race.sh
@@ -53,7 +53,7 @@ break_line=$(echo "$break_line" | cut -d: -f1) || 
framework_failure_
 # has _intermittent_ issues with this.
 # Sending SIGCONT resulted in either delayed child termination,
 # or no child termination resulting in a hung test.
-# See https://sourceware.org/bugzilla/show_bug.cgi?id=18364
+# See https://sourceware.org/PR18364
 
 env sleep 10 & sleep=$!
 
diff --git a/tests/tail/inotify-race2.sh b/tests/tail/inotify-race2.sh
index 094602250..3db0cc74c 100755
--- a/tests/tail/inotify-race2.sh
+++ b/tests/tail/inotify-race2.sh
@@ -52,7 +52,7 @@ break_line=$(echo "$break_line" | cut -d: -f1) || 
framework_failure_
 # has _intermittent_ issues with this.
 # Sending SIGCONT resulted in either delayed child termination,
 # or no child termination resulting in a hung test.
-# See https://sourceware.org/bugzilla/show_bug.cgi?id=18364
+# See https://sourceware.org/PR18364
 
 env sleep 10 & sleep=$!
 
-- 
2.50.0


Reply via email to