From 55643c9dd687ef0db3b075a61e3df3f95e1f358f Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 19 Mar 2024 06:21:29 -0700 Subject: [PATCH 1/4] Slightly change warning in 1984/mullender/Makefile --- 1984/mullender/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1984/mullender/Makefile b/1984/mullender/Makefile index 3ebcccb07..12d3ce867 100644 --- a/1984/mullender/Makefile +++ b/1984/mullender/Makefile @@ -131,7 +131,7 @@ all: data ${TARGET} sandwich supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c - @echo "NOTE: This entry is likely to fail and/or dump core on any computer other" + @echo "Warning: this entry is likely to fail and/or dump core on any computer other" @echo "than a Vax-11 or pdp-11." ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} From bba8f9a77e3a3b960cb6d7672a41aaa13adc9373 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 19 Mar 2024 06:26:53 -0700 Subject: [PATCH 2/4] Improve bash version notes in bin/*.sh The wording in the comments and the error message (in particular for macOS) should now be clearer. Now in both places it shows how to install bash in Homebrew. In commands I surrounded them like what was already used, with " rather than 's, to make it consistent. There were other cosmetic consistency changes as well. Except in paths 'homebrew' was changed to 'Homebrew'. In bin/output-year-index.sh there was a typo fix: it said to use it one typically would do: -a bin/output-year-index.sh which obviously is not correct. --- bin/all-run.sh | 23 +++++++++++++---------- bin/all-years.sh | 22 ++++++++++++---------- bin/chk-entry.sh | 22 ++++++++++++---------- bin/gen-authors.sh | 22 ++++++++++++---------- bin/gen-location.sh | 23 +++++++++++++---------- bin/gen-other-html.sh | 23 +++++++++++++---------- bin/gen-sitemap.sh | 23 +++++++++++++---------- bin/gen-status.sh | 23 +++++++++++++---------- bin/gen-top-html.sh | 22 ++++++++++++---------- bin/gen-year-index.sh | 22 ++++++++++++---------- bin/gen-years.sh | 22 ++++++++++++---------- bin/md2html.sh | 23 ++++++++++++----------- bin/output-index-author.sh | 23 ++++++++++++----------- bin/output-index-inventory.sh | 23 ++++++++++++----------- bin/output-year-index.sh | 25 +++++++++++++------------ bin/pandoc-wrapper.sh | 23 ++++++++++++----------- bin/quick-readme2index.sh | 23 ++++++++++++----------- bin/readme2index.sh | 23 ++++++++++++----------- bin/sort.gitignore.sh | 24 +++++++++++++----------- bin/status2html.sh | 23 ++++++++++++----------- bin/subst.default.sh | 23 ++++++++++++----------- bin/subst.entry-index.sh | 23 ++++++++++++----------- bin/subst.year-index.sh | 23 ++++++++++++----------- bin/tar-all.sh | 23 ++++++++++++----------- bin/tar-entry.sh | 23 ++++++++++++----------- bin/tar-year.sh | 23 ++++++++++++----------- 26 files changed, 319 insertions(+), 276 deletions(-) diff --git a/bin/all-run.sh b/bin/all-run.sh index 6116e47b8..a4f5f8299 100755 --- a/bin/all-run.sh +++ b/bin/all-run.sh @@ -64,8 +64,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -73,16 +73,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -90,12 +92,13 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi + # setup bash file matching # # We must declare arrays with -ag or -Ag, and we need loops to "export" modified variables. diff --git a/bin/all-years.sh b/bin/all-years.sh index c6b89ba98..824ec9f2e 100755 --- a/bin/all-years.sh +++ b/bin/all-years.sh @@ -63,8 +63,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -72,16 +72,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -89,9 +91,9 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/chk-entry.sh b/bin/chk-entry.sh index 8224b5fc1..65e25c3e4 100755 --- a/bin/chk-entry.sh +++ b/bin/chk-entry.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,16 +44,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -61,9 +63,9 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/gen-authors.sh b/bin/gen-authors.sh index 8a092b893..3b311f04c 100755 --- a/bin/gen-authors.sh +++ b/bin/gen-authors.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,16 +44,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -61,9 +63,9 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/gen-location.sh b/bin/gen-location.sh index 88c10b54e..f9123fdd9 100755 --- a/bin/gen-location.sh +++ b/bin/gen-location.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,16 +44,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -61,12 +63,13 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi + # setup bash file matching # # We must declare arrays with -ag or -Ag, and we need loops to "export" modified variables. diff --git a/bin/gen-other-html.sh b/bin/gen-other-html.sh index 98e619aa5..a75fc96c2 100755 --- a/bin/gen-other-html.sh +++ b/bin/gen-other-html.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,16 +44,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -61,12 +63,13 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi + # setup bash file matching # # We must declare arrays with -ag or -Ag, and we need loops to "export" modified variables. diff --git a/bin/gen-sitemap.sh b/bin/gen-sitemap.sh index fc3a52295..3894daa7f 100755 --- a/bin/gen-sitemap.sh +++ b/bin/gen-sitemap.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,16 +44,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -61,12 +63,13 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi + # setup bash file matching # # We must declare arrays with -ag or -Ag, and we need loops to "export" modified variables. diff --git a/bin/gen-status.sh b/bin/gen-status.sh index 3ec016d69..d26fb2461 100755 --- a/bin/gen-status.sh +++ b/bin/gen-status.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,16 +44,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -61,12 +63,13 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi + # setup bash file matching # # We must declare arrays with -ag or -Ag, and we need loops to "export" modified variables. diff --git a/bin/gen-top-html.sh b/bin/gen-top-html.sh index 7c94f7eab..6e557a7bb 100755 --- a/bin/gen-top-html.sh +++ b/bin/gen-top-html.sh @@ -39,8 +39,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -48,16 +48,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -65,9 +67,9 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/gen-year-index.sh b/bin/gen-year-index.sh index 102228751..0821c0b0f 100755 --- a/bin/gen-year-index.sh +++ b/bin/gen-year-index.sh @@ -37,8 +37,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -46,16 +46,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -63,9 +65,9 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/gen-years.sh b/bin/gen-years.sh index eefce8470..ab7a5880e 100755 --- a/bin/gen-years.sh +++ b/bin/gen-years.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,16 +44,18 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || @@ -61,9 +63,9 @@ if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/md2html.sh b/bin/md2html.sh index cd4dbb502..b82026cff 100755 --- a/bin/md2html.sh +++ b/bin/md2html.sh @@ -87,8 +87,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -96,27 +96,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/output-index-author.sh b/bin/output-index-author.sh index 2a02e3a13..15d689ab6 100755 --- a/bin/output-index-author.sh +++ b/bin/output-index-author.sh @@ -41,8 +41,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -50,27 +50,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/output-index-inventory.sh b/bin/output-index-inventory.sh index 0d1b22591..2a31506d9 100755 --- a/bin/output-index-inventory.sh +++ b/bin/output-index-inventory.sh @@ -41,8 +41,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -50,27 +50,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/output-year-index.sh b/bin/output-year-index.sh index edf873071..4e5143dfc 100755 --- a/bin/output-year-index.sh +++ b/bin/output-year-index.sh @@ -7,7 +7,7 @@ # # It is usually invoked by: # -# -a bin/output-year-index.sh +# bin/output-year-index.sh # # Copyright (c) 2024 by Landon Curt Noll. All Rights Reserved. # @@ -42,8 +42,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -51,27 +51,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/pandoc-wrapper.sh b/bin/pandoc-wrapper.sh index a82e40da9..131fa4159 100755 --- a/bin/pandoc-wrapper.sh +++ b/bin/pandoc-wrapper.sh @@ -42,8 +42,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -51,27 +51,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/quick-readme2index.sh b/bin/quick-readme2index.sh index bc239f99b..17a8dd533 100755 --- a/bin/quick-readme2index.sh +++ b/bin/quick-readme2index.sh @@ -44,8 +44,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -53,27 +53,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/readme2index.sh b/bin/readme2index.sh index ed3cb31c6..ef078db77 100755 --- a/bin/readme2index.sh +++ b/bin/readme2index.sh @@ -38,8 +38,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -47,27 +47,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/sort.gitignore.sh b/bin/sort.gitignore.sh index ad05a2254..028010545 100755 --- a/bin/sort.gitignore.sh +++ b/bin/sort.gitignore.sh @@ -50,8 +50,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -59,30 +59,32 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi + # setup bash file matching # # We must declare arrays with -ag or -Ag, and we need loops to "export" modified variables. diff --git a/bin/status2html.sh b/bin/status2html.sh index 03ef26bd4..ba546e6a1 100755 --- a/bin/status2html.sh +++ b/bin/status2html.sh @@ -39,8 +39,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -48,27 +48,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/subst.default.sh b/bin/subst.default.sh index cc5a1cc37..64a8ca5c7 100755 --- a/bin/subst.default.sh +++ b/bin/subst.default.sh @@ -44,8 +44,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -53,27 +53,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/subst.entry-index.sh b/bin/subst.entry-index.sh index 9c3d0fa40..94856647a 100755 --- a/bin/subst.entry-index.sh +++ b/bin/subst.entry-index.sh @@ -44,8 +44,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -53,27 +53,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/subst.year-index.sh b/bin/subst.year-index.sh index 2118a9ee3..01382a5bb 100755 --- a/bin/subst.year-index.sh +++ b/bin/subst.year-index.sh @@ -44,8 +44,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -53,27 +53,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/tar-all.sh b/bin/tar-all.sh index cecab4768..85058d356 100755 --- a/bin/tar-all.sh +++ b/bin/tar-all.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,27 +44,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/tar-entry.sh b/bin/tar-entry.sh index 8a1a03c0f..11b85aa36 100755 --- a/bin/tar-entry.sh +++ b/bin/tar-entry.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,27 +44,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi diff --git a/bin/tar-year.sh b/bin/tar-year.sh index 8bf580507..dbbf3968c 100755 --- a/bin/tar-year.sh +++ b/bin/tar-year.sh @@ -35,8 +35,8 @@ # of bash between 4.2 and 5.1.7 might work. However, to be safe, we will require # bash version 5.1.8 or later. # -# WHY 5.1.8 and not 4.2? This safely is done because macOS homebrew bash we -# often use it "version 5.2.26(1)-release" or later, and the RHEL Linux bash we +# WHY 5.1.8 and not 4.2? This safely is done because macOS Homebrew bash we +# often use is "version 5.2.26(1)-release" or later, and the RHEL Linux bash we # use often use is "version 5.1.8(1)-release" or later. These versions are what # we initially tested. We recommend you either upgrade bash or install a newer # version of bash and adjust your $PATH so that "/usr/bin/env bash" finds a bash @@ -44,27 +44,28 @@ # # NOTE: The macOS shipped, as of 2024 March 15, a version of bash is something like # bash "version 3.2.57(1)-release". That macOS shipped version of bash -# will NOT work. For users of macOS we recommend you install homebrew, -# (see https://brew.sh), and then install homebrew bash (/opt/homebrew/bin/bash), -# and then arrange your $PATH so that "/opt/homebrew/bin" is ahead of "/bin". +# will NOT work. For users of macOS we recommend you install Homebrew, +# (see https://brew.sh), and then run "brew install bash" which will +# typically install it into /opt/homebrew/bin/bash, and then arrange your $PATH +# so that "/usr/bin/env bash" finds "/opt/homebrew/bin" (or whatever the +# Homebrew bash is). # # NOTE: And while MacPorts might work, we noticed a number of subtle differences # with some of their ported tools to suggest you might be better off -# with installing homebrew (see https://brew.sh). No disrespect is intended +# with installing Homebrew (see https://brew.sh). No disrespect is intended # to the MacPorts team as they do a commendable job. Nevertheless we ran # into enough differences with MacPorts environments to suggest you -# might find a better experience with this tool under homebrew instead. +# might find a better experience with this tool under Homebrew instead. # if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 5 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -lt 1 || ${BASH_VERSINFO[0]} -eq 5 && ${BASH_VERSINFO[1]} -eq 1 && ${BASH_VERSINFO[2]} -lt 8 ]]; then - echo "$0: ERROR: bash version needs to be >= 5.1.8: $BASH_VERSION" 1>&2 echo "$0: Warning: bash version >= 4.2 might work but 5.1.8 was the minimum we tested" 1>&2 - echo "$0: Notice: For macOS users: install homebrew (see https://brew.sh)," \ - "then install homebrew bash (brew install bash), and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ - "finds the homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 + echo "$0: Notice: For macOS users: install Homebrew (see https://brew.sh), then run" \ + ""brew install bash" and then modify your \$PATH so that \"#!/usr/bin/env bash\"" \ + "finds the Homebrew installed (usually /opt/homebrew/bin/bash) version of bash" 1>&2 exit 4 fi From 0d25351940ba398ca33b7ac7590a58ec56e62989 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 19 Mar 2024 06:45:25 -0700 Subject: [PATCH 3/4] Finish editing of FAQ 1.2 This improves the names of links and adds some new links as well. A point of interest that could easily be missed with a diff is that the link of Yusuke Endoh was changed from his GitHub account to his authors.html section. Also, since the first successful pull request to the winner repo was acknowledged by author (Yusuke Endoh) I added the author of the first successful pull request to the temp-test-ioccc repo (as the commit was cited) (and that indeed would be me). It might be that keeping the GitHub accounts would be better and I can certainly change them back but it seemed nicer to acknowledge the author entries as that's the real honour of being a winner. There were other things besides the above but they were all along the same lines. --- faq.html | 69 +++++++++++++++++++++++++++++++----------------------- faq.md | 71 +++++++++++++++++++++++++++++++++----------------------- 2 files changed, 82 insertions(+), 58 deletions(-) diff --git a/faq.html b/faq.html index f1ac822d5..166dd1d57 100644 --- a/faq.html +++ b/faq.html @@ -527,24 +527,24 @@ were the first IOCCC entries to have been released via edits to the Official IOCCC winner repo began.

The local git repository of an IOCCC -judge was edited starting Wed +judge was edited starting Wed Dec 30 16:57:03 2020 -0800 and was occasionally committed to the Official IOCCC winner repo.

-

The first accepted pull request -to the Official IOCCC winner -repo was made by Yusuke Endoh -on 2021 Jan 5.

+

The first accepted pull request to +the Official IOCCC winner repo was made +by Yusuke Endoh on 2021 Jan +5.

Between Wed Dec 30 16:57:03 2020 -0800 and Sat Jan 29 21:56:53 2022 -0800, an IOCCC judge made edits to -their local repository with occasional the Official IOCCC winner +their local repository with occasional pushes to the Official IOCCC winner repo and the Official www.ioccc.org web site. After -that time and until the Great Fork Merge, only a very few changes +that time and until the Great Fork Merge, very few changes were made to the Official IOCCC winner repo and the Official www.ioccc.org web site most of @@ -554,44 +554,55 @@ repo has history going back to 2020 Dec 29, the repo was forked on Sun Sep 18 17:30:00 2022 -0700. The -first push into the temp-test-ioccc repo occurred on Sun Sep 18 11:15:49 2022 --0700. -As this same time, the temp-test-ioccc web site went live.

+first push into the temp-test-ioccc +repo +occurred on Sun Sep 18 11:15:49 2022 -0700.

+

At this same time, the temp-test-ioccc web site went live.

Edits were made by an IOCCC judge -to their local git repository, -were pushed onto the temp-test-ioccc +to their local git repository and were pushed into the temp-test-ioccc repo and to the temp-test-ioccc web site.

The first accepted pull request made directly to the temp-test-ioccc repo on -Wed Feb 22 05:44:55 2023 -0800

+Wed Feb 22 05:44:55 2023 -0800 with commit +11bb36ac8ce790f32a9a3e5d2131ee12820fb8ec +by Cody Boone +Ferguson.

A decision was made by the IOCCC to mostly use frequent commits to individual components of the IOCCC, rather than to use occasional site wide massive updates in order to improve the tractability of changes made to components of the -IOCCC such as IOCCC entries. Although occasionally site wide updated +IOCCC such as IOCCC entries although occasionally site wide updates were performed in order to address an issue common to many IOCCC entries. And while some people prefer infrequent updates to a repo the IOCCC judges believe the ability to trace changes with commit messages is important.

Changes to the IOCCC content included things such as:

202y mm dd The Great Fork Merge

As of 2024 Mar 5 temp-test-ioccc @@ -599,7 +610,7 @@ repo there were 4513 commits ahead of the IOCCC winner repo.

On 202y mm dd, the temporary repo was merged back into the IOCCC winner -repo resulting in substantial improvements +repo resulting in many, many substantial improvements to the official IOCCC web site.

FAQ 1.3: How has the IOCCC size limit rule changed over the years?

The IOCCC size rule has changed over the years.

diff --git a/faq.md b/faq.md index d30ec7b36..868a2cf1c 100644 --- a/faq.md +++ b/faq.md @@ -563,26 +563,27 @@ edits to the [Official IOCCC winner repo](https://github.com/ioccc-src/winner) began. The local [git](https://git-scm.com) repository of an [IOCCC -judge](https://www.ioccc.org/judges.html) was edited starting [Wed +judge](https://www.ioccc.org/judges.html) was [edited starting Wed Dec 30 16:57:03 2020 -0800](https://github.com/ioccc-src/winner/commit/c0663537cb88d39b74285a930ff1a668c6d5968b) and was occasionally committed to the [Official IOCCC winner repo](https://github.com/ioccc-src/winner). -The [first accepted pull request](https://github.com/ioccc-src/winner/pull/2) -to the [Official IOCCC winner -repo](https://github.com/ioccc-src/winner) was made by [Yusuke Endoh](https://github.com/mame) -on [2021 Jan 5](https://github.com/ioccc-src/winner/commit/84c62c4cbf56ac1351ea91e5019f51103615fda2). +The [first accepted pull request](https://github.com/ioccc-src/winner/pull/2) to +the [Official IOCCC winner repo](https://github.com/ioccc-src/winner) was made +by [Yusuke Endoh](https://www.ioccc.org/winners.html#Yusuke_Endoh) on [2021 Jan +5](https://github.com/ioccc-src/winner/commit/84c62c4cbf56ac1351ea91e5019f51103615fda2). + Between [Wed Dec 30 16:57:03 2020 -0800](https://github.com/ioccc-src/winner/commit/c0663537cb88d39b74285a930ff1a668c6d5968b) and [Sat Jan 29 21:56:53 2022 -0800](https://github.com/ioccc-src/winner/commit/098a3e7e04d43e480ecc4b5482c83274e1434002), an [IOCCC judge](https://www.ioccc.org/judges.html) made edits to -their local repository with occasional the [Official IOCCC winner +their local repository with occasional pushes to the [Official IOCCC winner repo](https://github.com/ioccc-src/winner) and the [Official www.ioccc.org web site](https://www.ioccc.org/index.html). After -that time and until the **Great Fork Merge**, only a very few changes +that time and until the **Great Fork Merge**, very few changes were made to the [Official IOCCC winner repo](https://github.com/ioccc-src/winner) and the [Official www.ioccc.org web site](https://www.ioccc.org/index.html) most of @@ -593,27 +594,31 @@ repo](https://github.com/ioccc-src/temp-test-ioccc) has history going back to [2020 Dec 29](https://github.com/ioccc-src/temp-test-ioccc/commit/28efc67f5dd692a3544708bf7fa26286adb82dfb), the repo was forked on **Sun Sep 18 17:30:00 2022 -0700**. The -first push into the temp-test-ioccc repo occurred on [Sun Sep 18 11:15:49 2022 --0700](https://github.com/ioccc-src/temp-test-ioccc/commit/edbc3089e1b755d85a020af7975bbc7df3737a5f). -As this same time, the [temp-test-ioccc web site](https://ioccc-src.github.io/temp-test-ioccc/) went live. +first [push into the temp-test-ioccc +repo](https://github.com/ioccc-src/temp-test-ioccc/commit/edbc3089e1b755d85a020af7975bbc7df3737a5f) +occurred on Sun Sep 18 11:15:49 2022 -0700. + +At this same time, the [temp-test-ioccc web site](https://ioccc-src.github.io/temp-test-ioccc/) went live. Edits were made by an [IOCCC judge](https://www.ioccc.org/judges.html) -to their local [git](https://git-scm.com) repository, -were pushed onto the [temp-test-ioccc +to their local [git](https://git-scm.com) repository and [were pushed into the temp-test-ioccc repo](https://github.com/ioccc-src/temp-test-ioccc/commit/2f20ae8451ada03f4601ac727d10e1d8630861a8) and to the [temp-test-ioccc web site](https://ioccc-src.github.io/temp-test-ioccc/). The [first accepted pull request](https://github.com/ioccc-src/temp-test-ioccc/pull/15) made directly to the [temp-test-ioccc repo](https://github.com/ioccc-src/temp-test-ioccc) on -[Wed Feb 22 05:44:55 2023 -0800](https://github.com/ioccc-src/temp-test-ioccc/commit/11bb36ac8ce790f32a9a3e5d2131ee12820fb8ec) +[Wed Feb 22 05:44:55 2023 -0800 with commit +11bb36ac8ce790f32a9a3e5d2131ee12820fb8ec](https://github.com/ioccc-src/temp-test-ioccc/commit/11bb36ac8ce790f32a9a3e5d2131ee12820fb8ec) +by [Cody Boone +Ferguson](https://www.ioccc.org/winners.html#Cody_Boone_Ferguson). A [decision was made by the IOCCC](https://github.com/ioccc-src/temp-test-ioccc/discussions/1918) to mostly use frequent commits to individual components of the IOCCC, rather than to use occasional site wide massive updates in order to improve the tractability of changes made to components of the -IOCCC such as IOCCC entries. Although occasionally site wide updated +IOCCC such as IOCCC entries although occasionally site wide updates were performed in order to address an issue common to many IOCCC entries. And while some people prefer infrequent updates to a repo the [IOCCC judges](https://www.ioccc.org/judges.html) believe @@ -621,20 +626,28 @@ the ability to trace changes with commit messages is important. Changes to the IOCCC content included things such as: -* Moving IOCCC entries into their own separate directories -* Establishing a detailed manifest for an IOCCC winning entries -* Fixing lots and lots of typos -* Fixing Makefiles and code to allow for nearly all winning entries to be compiled modern systems -* Fixing Makefiles and code to allow for nearly all winning entries to run modern systems -* Reworking the Makefiles to use a consistent set of rules -* Reworking the Makefiles specific to the gcc and clang C compilers -* Replacing the various hint files with a index.html markdown that is more consistent across IOCCC years -* Generating HTML content from markdown files and JSON data files via a set to tools and scripts -* Setting up a system whereby authors of IOCCC entries may update their own contact information via a GitHub pull request -* Setting up to generate the top level years.html file via a tool -* Setting up to generate the top level authors.html file via a tool -* Making use of an new and improved IOCCC CSS for web site consistency -* etc. +* Moving IOCCC entries into their own separate directories. +* Establishing a detailed manifest for an IOCCC winning entries. +* Fixing lots and lots of typos. +* Fixing Makefiles and code to allow for nearly all winning entries to be +compiled with/in modern systems. +* Fixing Makefiles and code to allow for nearly all winning entries to run +with/in modern systems. +* Reworking the Makefiles to use a consistent set of rules. +* Reworking the Makefiles specific to the gcc and clang C compilers. +* Replacing the various hint files with a index.html markdown (from README.md +files) that is more consistent across IOCCC years. +* Generating HTML content from markdown files and JSON data files via a [set of +tools and scripts](/bin/index.html). +* Setting up a system whereby authors of IOCCC entries may update their own +contact information via a [GitHub pull +request](https://github.com/ioccc-src/temp-test-ioccc/pulls). +* Setting up to generate the top level [years.html](/years.html) file via the +[gen-years.sh](/bin/gen-years.sh) tool. +* Setting up to generate the top level [authors.html file](/authors.html), renamed +from `winners.html`, via the [gen-authors.sh](/bin/gen-authors.sh) tool. +* Making use of a new and improved [IOCCC CSS](/ioccc.css) for web site consistency +* Etc. #### 202y mm dd The Great Fork Merge @@ -644,7 +657,7 @@ there were [4513 commits ahead](https://github.com/ioccc-src/winner/compare/mast of the [IOCCC winner repo](https://github.com/ioccc-src/winner). On 202y mm dd, the temporary repo was merged back into the [IOCCC winner -repo](https://github.com/ioccc-src/winner) resulting in substantial improvements +repo](https://github.com/ioccc-src/winner) resulting in many, many substantial improvements to the [official IOCCC web site](https://www.ioccc.org). From 632275a08951a91157d08f345f7b2fc4286cc911 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 19 Mar 2024 07:06:44 -0700 Subject: [PATCH 4/4] Make 2004/burley fix more like original In particular although main() has to have two args don't do (void)argc as that was not in the code. To make it more consistent with other added functions (that I had to do in other entries for instance and for the same reason) I made the function poke() (r short of poker) pain() instead. The thanks file was modified for this entry too, improving it a bit (hopefully making certain points clearer too). --- 2004/burley/Makefile | 2 +- 2004/burley/burley.c | 9 ++++----- thanks-for-help.html | 16 +++++++++++----- thanks-for-help.md | 16 +++++++++++----- 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/2004/burley/Makefile b/2004/burley/Makefile index db1a77fa1..84ec2d584 100644 --- a/2004/burley/Makefile +++ b/2004/burley/Makefile @@ -40,7 +40,7 @@ include ../../var.mk # CSILENCE= -Wno-bitwise-op-parentheses -Wno-char-subscripts -Wno-error \ -Wno-implicit-function-declaration -Wno-int-to-pointer-cast \ - -Wno-unused-value + -Wno-unused-value -Wno-unused-parameter # Common C compiler warning flags # diff --git a/2004/burley/burley.c b/2004/burley/burley.c index 2b89cb8fe..9d4e44fe4 100644 --- a/2004/burley/burley.c +++ b/2004/burley/burley.c @@ -1,8 +1,8 @@ char a[80]; int e[4],g[5],c=100,h,i,j,k,b,f,s,t; jmp_buf p[4]; -int poke(char *d){ -return poke((char*)((srand(time((time_t*)&h)), +int pain(char *d){ +return pain((char*)((srand(time((time_t*)&h)), setjmp(p[2]), (k=atoi((fgets(a,sizeof a, stdin), a+strspn(a," -")))) @@ -89,6 +89,5 @@ i+=i+1, longjmp(p[0],0)),0), longjmp(p[2],3)),0)); } -int main(int argc, char**d){ -(void)argc; -return poke((char*)d); } +int main(int argc,char**d){ +return pain((char*)d);} diff --git a/thanks-for-help.html b/thanks-for-help.html index 019c4fb82..39b543f49 100644 --- a/thanks-for-help.html +++ b/thanks-for-help.html @@ -2095,25 +2095,31 @@ use the original version)! :-)

file but a maze file. The extension .maz was not chosen to help with (some?) browsers knowing what to do with it.

2004/burley (index.html)

-

Cody fixed this to compile with clang and also fixed it to work.

+

Cody fixed this to compile with clang and to work with both gcc and +clang (even after fixing it to compile with clang it did not work properly).

For clang the problem was that main() had one arg, a char * and this is not allowed in any version of clang. In some versions it is allowed if the arg is an int but never if it’s anything else. To get it to work took numerous changes.

First the inclusion of setjmp.h was necessary. Without this longjmp(3) implicitly returned int which was used for the purpose of binary expression but -this no longer worked.

+this no longer appeared to work (though it might be that if the extra function +was added earlier on it would but this is unknown and the way it was changed is +safer for the future).

But by including setjmp.h it naturally made the binary expressions invalid (as it returns void which is not allowed in binary expressions) so the comma operator with 0 (,0) had to be used (,1 was tried first but this did not -work right).

+work right so you can see that it had to be false in those places, though it is +unknown by Cody if this is because it used to be allowed to have binary +expression with void or if it is for some other reason).

longjmp(3) was being called with one arg which was an element of an int[4][1000] which had to be changed to a jmp_buf p[4] (this due to the prototype being included).

main() also called itself but this was a problem so it now calls another function poke() which calls itself instead (this is sometimes necessary -nowadays).

+nowadays and other entries had to have this same kind of change, +2001/anonymous being a good example).

Finally the optimiser cannot be enabled so the compiler flags were changed for -this.

+this, forcing -O0.

2004/gavare (index.html)

Cody added three different alternate versions:

diff --git a/thanks-for-help.md b/thanks-for-help.md index d33dcef49..23d554cf2 100644 --- a/thanks-for-help.md +++ b/thanks-for-help.md @@ -3012,7 +3012,8 @@ browsers knowing what to do with it. ## [2004/burley](2004/burley/burley.c) ([index.html](2004/burley/index.html])) -[Cody](#cody) fixed this to compile with clang and also fixed it to work. +[Cody](#cody) fixed this to compile with clang and to work with both gcc and +clang (even after fixing it to compile with clang it did not work properly). For clang the problem was that `main()` had one arg, a `char *` and this is not allowed in any version of clang. In some versions it is allowed if the arg is an @@ -3020,12 +3021,16 @@ allowed in any version of clang. In some versions it is allowed if the arg is an First the inclusion of `setjmp.h` was necessary. Without this `longjmp(3)` implicitly returned `int` which was used for the purpose of binary expression but -this no longer worked. +this no longer appeared to work (though it might be that if the extra function +was added earlier on it would but this is unknown and the way it was changed is +safer for the future). But by including `setjmp.h` it naturally made the binary expressions invalid (as it returns `void` which is not allowed in binary expressions) so the comma operator with `0` (`,0`) had to be used (`,1` was tried first but this did not -work right). +work right so you can see that it had to be false in those places, though it is +unknown by Cody if this is because it used to be allowed to have binary +expression with `void` or if it is for some other reason). `longjmp(3)` was being called with one arg which was an element of an `int[4][1000]` which had to be changed to a `jmp_buf p[4]` (this due to @@ -3033,10 +3038,11 @@ the prototype being included). `main()` also called itself but this was a problem so it now calls another function `poke()` which calls itself instead (this is sometimes necessary -nowadays). +nowadays and other entries had to have this same kind of change, +[2001/anonymous](/2001/anonymous/index.html) being a good example). Finally the optimiser cannot be enabled so the compiler flags were changed for -this. +this, forcing `-O0`. ## [2004/gavare](2004/gavare/gavare.c) ([index.html](2004/gavare/index.html]))