Download raw body.
UPDATE: devel/shellcheck 0.10.0
Hi,
Below is a diff that updates devel/shellcheck to 0.10.0. Now that we
can use a release again instead of a untagged version from their git
repository, we can revert the manual stuff at the beginning of the
Makefile that overrides cabal.port.mk.
Tested on amd64.
Comments or OKs?
Caspar
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/shellcheck/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile 12 Nov 2023 15:38:05 -0000 1.17
+++ Makefile 21 Mar 2024 19:39:04 -0000
@@ -1,19 +1,7 @@
COMMENT = shell script analysis tool
-# https://github.com/koalaman/shellcheck/issues/2860
-V = 0.9.0pl20231108
-GH_ACCOUNT = koalaman
-GH_COMMIT = a71a13c2fca05b822cb16840792dc013ca76493f
-GH_PROJECT = shellcheck
-
-# Overrides cabal.port.mk which would otherwise preempt bsd.port.mk
-DISTNAME = ${GH_PROJECT}-${V}
-DISTFILES = ${GH_DISTFILE}
-PKGNAME = ${MODCABAL_EXECUTABLES}-${V}
-SITES = ${SITES_GITHUB}
-
MODCABAL_STEM = ShellCheck
-MODCABAL_VERSION = ${V}
+MODCABAL_VERSION = 0.10.0
MODCABAL_EXECUTABLES = shellcheck
PKGNAME = ${DISTNAME:L}
CATEGORIES = devel
@@ -26,25 +14,23 @@ PERMIT_PACKAGE = Yes
WANTLIB = c ffi gmp iconv m pthread util
-# cabal-bundler --openbsd ShellCheck-0.9.0 --executable shellcheck
+# cabal-bundler --openbsd ShellCheck-0.10.0 --executable shellcheck
MODULES = devel/cabal
MODCABAL_MANIFEST = \
- Diff 0.4.1 0 \
+ Diff 0.5 1 \
OneTuple 0.4.1.1 1 \
QuickCheck 2.14.3 0 \
StateVar 1.2.2 0 \
aeson 2.2.1.0 1 \
assoc 1.1 1 \
base-orphans 0.9.1 0 \
- bifunctors 5.6.1 2 \
+ bifunctors 5.6.2 0 \
comonad 5.0.8 2 \
contravariant 1.5.5 0 \
- data-array-byte 0.1.0.1 2 \
data-fix 0.3.2 5 \
distributive 0.6.2.1 1 \
dlist 1.0 1 \
fgl 5.8.2.0 0 \
- foldable1-classes-compat 0.1 4 \
generically 0.1.1 2 \
hashable 1.4.3.0 1 \
indexed-traversable 0.1.3 0 \
@@ -52,8 +38,8 @@ MODCABAL_MANIFEST = \
integer-conversion 0.1.0.1 1 \
integer-logarithms 1.0.3.1 5 \
network-uri 2.6.4.2 1 \
- primitive 0.9.0.0 0 \
- random 1.2.1.1 1 \
+ primitive 0.9.0.0 1 \
+ random 1.2.1.2 0 \
regex-base 0.94.0.2 4 \
regex-tdfa 1.3.2.2 2 \
scientific 0.3.7.0 7 \
@@ -61,18 +47,18 @@ MODCABAL_MANIFEST = \
semigroupoids 6.0.0.1 1 \
splitmix 0.1.0.5 0 \
strict 0.5 1 \
- tagged 0.8.8 0 \
+ tagged 0.8.8 1 \
text-iso8601 0.1 1 \
text-short 0.1.5 3 \
- th-abstraction 0.6.0.0 1 \
- th-compat 0.1.4 3 \
+ th-abstraction 0.6.0.0 2 \
+ th-compat 0.1.5 0 \
these 1.2 1 \
time-compat 1.9.6.1 6 \
transformers-compat 0.7.2 0 \
- unordered-containers 0.2.19.1 3 \
+ unordered-containers 0.2.20 1 \
uuid-types 1.0.5.1 0 \
- vector 0.13.1.0 0 \
- vector-stream 0.1.0.0 3 \
+ vector 0.13.1.0 1 \
+ vector-stream 0.1.0.1 1 \
witherable 0.4.2 4 \
LIB_DEPENDS = converters/libiconv \
@@ -85,7 +71,7 @@ NO_TEST = Yes
# pkg_add pandoc; cd ${WRKSRC}; ./manpage; cp shellcheck.1 ${FILESDIR}/
# (and update md5)
post-patch:
- @[ `md5 < ${WRKSRC}/shellcheck.1.md` == f06c4a4f31f71dee0aa6b1890e469d5d ] || \
+ @[ `md5 < ${WRKSRC}/shellcheck.1.md` == b28cc3fbcd8c4978a8f0253955252fa5 ] || \
(echo "*** manpage changed; regenerate ${FILESDIR}/shellcheck.1"; sleep 3)
post-install:
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/shellcheck/distinfo,v
retrieving revision 1.8
diff -u -p -r1.8 distinfo
--- distinfo 12 Nov 2023 15:38:05 -0000 1.8
+++ distinfo 21 Mar 2024 19:39:04 -0000
@@ -1,20 +1,19 @@
-SHA256 (hackage/Diff-0.4.1.tar.gz) = /V5Kqschm8uxSDT7hYDr4KrpBZWNCtdPUzjqKQs3JnA=
+SHA256 (hackage/Diff-0.5.tar.gz) = A8yE3t+xj6aT8LC3BU1l6Sw4jQZXz0WtXp++P+i1RVE=
+SHA256 (hackage/Diff-0.5_1.cabal) = nIqXLurZ4Hm5DGWB+o71dVZiwQ3QdZUbMrgBFFcEr7s=
SHA256 (hackage/OneTuple-0.4.1.1.tar.gz) = yedk1O4eV8rYNBvV0N4zujpStnk/wTCWefK/YMAwuys=
SHA256 (hackage/OneTuple-0.4.1.1_1.cabal) = Yy397RcghvufDibTV4vP/6P7bRNepajeF7ejP/bm5oI=
SHA256 (hackage/QuickCheck-2.14.3.tar.gz) = XA8is2sooaj6EQs4GYGNPylJSjsN7brimfBkEjynBQE=
+SHA256 (hackage/ShellCheck-0.10.0.tar.gz) = TQjbQy11o0SGpV9v/50+M0DOVhJceAS3+P0UQhuTbSE=
SHA256 (hackage/StateVar-1.2.2.tar.gz) = Xks52jlWVqWYJ7AoBQiq/ccDNXmLUOXW/VJZYCYlGCU=
SHA256 (hackage/aeson-2.2.1.0.tar.gz) = kU7v0OgNEttcch2qLLq0J6zuOXlfElxUYMH+SM+aXX8=
SHA256 (hackage/aeson-2.2.1.0_1.cabal) = ojphqtqCM+EFc+FhLAsu/loaug1ZsF2+L2MwGCLxNss=
SHA256 (hackage/assoc-1.1.tar.gz) = eqLmVIs9nUmihqwgY5R5qvbEehRGET7XhNmHN8X2DfQ=
SHA256 (hackage/assoc-1.1_1.cabal) = VtD9HBeq9iaOgb8Zulr+GGEo1/iBJr1UbVsxUatpJlI=
SHA256 (hackage/base-orphans-0.9.1.tar.gz) = W78to4LFshLWqL4vjEnt7g66MPJyoV/TLBPm5Ake8XI=
-SHA256 (hackage/bifunctors-5.6.1.tar.gz) = BjgUcbW+FlFqGyxLIaUQGj2ZEDi/rOjgytFEwARNV/w=
-SHA256 (hackage/bifunctors-5.6.1_2.cabal) = gvp+2PafC/o3XeEXqzZBTAuWqX7gRu3DrG2nopWpR1U=
+SHA256 (hackage/bifunctors-5.6.2.tar.gz) = EIapKFBh7tDCxdPLZaoiPe/VL8ptBRW7ad3y28PZaXo=
SHA256 (hackage/comonad-5.0.8.tar.gz) = 72zfLMKSzEPuaqlsWBsjX96oq0Sgv/sk3HmuKy7zPRM=
SHA256 (hackage/comonad-5.0.8_2.cabal) = Sk2/vQP7SWOYdxD8qZTotWJL0Foz5flbdYGyb4IpxeM=
SHA256 (hackage/contravariant-1.5.5.tar.gz) = Bi/WZYDXqtC1upPmRP+n/u5pJ271DyDU7Z8d63ZC3/o=
-SHA256 (hackage/data-array-byte-0.1.0.1.tar.gz) = G7bsoLPgLQV/5/ThTIHvOVIW9CGrMP2qGxgBfJwCVgA=
-SHA256 (hackage/data-array-byte-0.1.0.1_2.cabal) = rYniiysEYXVpj79UKvLOQ+XSr1Cq6fSNElZrG7PeHTw=
SHA256 (hackage/data-fix-0.3.2.tar.gz) = OhctO8BjnDJzRell+dkCPgmUJYFLKNzbe2D/ZtZiGcw=
SHA256 (hackage/data-fix-0.3.2_5.cabal) = zX1v+LaKyjtR2BFocPyMzbxVeYlWLNPVyUHk8Le8WvE=
SHA256 (hackage/distributive-0.6.2.1.tar.gz) = 1zUTkuB49YyqRmMKS5xkPh4und3uRYSMXINY57Exa5E=
@@ -22,8 +21,6 @@ SHA256 (hackage/distributive-0.6.2.1_1.c
SHA256 (hackage/dlist-1.0.tar.gz) = Fz1jcyi7Fz/MNl8w0p/0qUKSoeDlVYrrPfwR3oFRARU=
SHA256 (hackage/dlist-1.0_1.cabal) = Vf9p0gzmOPx3JzQu5n8vho2mHT3PN2P3kL+aoLFF5Wg=
SHA256 (hackage/fgl-5.8.2.0.tar.gz) = RM8M9yDx0/sxaJyrIZrfmxpTZ7P79L1mePTRVvPow7Y=
-SHA256 (hackage/foldable1-classes-compat-0.1.tar.gz) = 0FfD81jhprcsc1GbxkumqpWfBmwI/tafcyWFVe+V/xI=
-SHA256 (hackage/foldable1-classes-compat-0.1_4.cabal) = +0s87dM9XCLFc8ObqpMMeOqk/rItQ6u2gMMUn4q5+k4=
SHA256 (hackage/generically-0.1.1.tar.gz) = BMWkNr7EsEH3GnM/VqG9f0NfY93o0+tcH0jVW028Q88=
SHA256 (hackage/generically-0.1.1_2.cabal) = N47ASbwoU7gBHfEWZH+9NLufAO3OmEDklX+Yq8CXWXw=
SHA256 (hackage/hashable-1.4.3.0.tar.gz) = Mu+xbCiReGIJt8vlw535s6muUeg28aVPZGvEYCt6sPU=
@@ -38,8 +35,8 @@ SHA256 (hackage/integer-logarithms-1.0.3
SHA256 (hackage/network-uri-2.6.4.2.tar.gz) = nBiJcxJuiTJQuIHyDogR3KBsIjwjQCsG96Hy6ZV5cig=
SHA256 (hackage/network-uri-2.6.4.2_1.cabal) = b/+1c3OWK1ZRotuLCvcyCYs78CmnztdqmFVhXeICZYg=
SHA256 (hackage/primitive-0.9.0.0.tar.gz) = aW1L0pHJTXNhQtYYIRfcpCWNPvKL/v22SayLXs0Jmcc=
-SHA256 (hackage/random-1.2.1.1.tar.gz) = PhJy9+1qTXvRcSuQFD7DJv7psiV4kiI3n+ogqckMm3Y=
-SHA256 (hackage/random-1.2.1.1_1.cabal) = 58H4gRWdXMeIYZye6LjzQLov8NtXHN89Ghlo68UQh4k=
+SHA256 (hackage/primitive-0.9.0.0_1.cabal) = LgjFQJ41WcfxZp71DpoNmjl+aOz1ERDV4s7fBc3X2Tw=
+SHA256 (hackage/random-1.2.1.2.tar.gz) = eQ9NwtIyfEU/9qrHvxU5n9Ej1V6SeTX2j4S130LZpLQ=
SHA256 (hackage/regex-base-0.94.0.2.tar.gz) = e5lAj1gPW7Z6HEE+C8c1iGYIJRMxrTYyICDyFprqLvE=
SHA256 (hackage/regex-base-0.94.0.2_4.cabal) = AyKy/NE1jzNV4Mhgjvpg0nsU0cnUdkUdvLkYE2O9iyc=
SHA256 (hackage/regex-tdfa-1.3.2.2.tar.gz) = kz7VxUJGu1DjNdhriE/7cLwlK193b7KR8WKoCie9dbc=
@@ -50,49 +47,48 @@ SHA256 (hackage/semialign-1.3.tar.gz) =
SHA256 (hackage/semialign-1.3_1.cabal) = e+nvXKHWsFKZH2jAU6q2i50as7GTjJVXrITJeTeBUiM=
SHA256 (hackage/semigroupoids-6.0.0.1.tar.gz) = faOKmJG9+CBf1lIs23EpVrjAv1xSmD2mApXI4FfXeTQ=
SHA256 (hackage/semigroupoids-6.0.0.1_1.cabal) = R6I7RRwRTmU2HnE+j+NoKPyjqEKFMl6PREJUsqsMQ8U=
-SHA256 (hackage/shellcheck-0.9.0pl20231108-a71a13c2.tar.gz) = F6rqb/T3emy7iYiGLIVAbogiUAJEkTKBAjR22okctvM=
SHA256 (hackage/splitmix-0.1.0.5.tar.gz) = nfB6lhHvRfGxJYoLQS9NAskgJI9p0uLOjM2jKPfhMAI=
SHA256 (hackage/strict-0.5.tar.gz) = P08Jld7C1SDQ4yFUL3FBLawCNlj9q2A9sENk11JpoP0=
SHA256 (hackage/strict-0.5_1.cabal) = vVfXs2VZUd+qfR4TdNc1Lf6D+CqcmDCb86ZYfvjL2H0=
SHA256 (hackage/tagged-0.8.8.tar.gz) = oIP6eDVRYgPBaEM6HI38ApCpSwX+2rVmrQZA/JE3pqc=
+SHA256 (hackage/tagged-0.8.8_1.cabal) = kZPe+9492plyNszBGh2z4HPMUx/lI+E+llnfd2/rCzI=
SHA256 (hackage/text-iso8601-0.1.tar.gz) = 9Y56RvlR8fE9KSngovhPbbeJTVWmQRaarzAK6praX88=
SHA256 (hackage/text-iso8601-0.1_1.cabal) = rIbyUAynUds8DeAp3X54Jr73Nm1Z3ACFsA/GlcQ7n3Y=
SHA256 (hackage/text-short-0.1.5.tar.gz) = o17GzeKtoITBoFDcWIW+WrAfhRuT10TPD6y8HBgALdo=
SHA256 (hackage/text-short-0.1.5_3.cabal) = nHPJyRgspp7pLON1j1FbHAeM0WfYgszIxG+S9oxl4ZA=
SHA256 (hackage/th-abstraction-0.6.0.0.tar.gz) = aepuyh8MALbh4fgynJCOx25zhV4s5ukazi+Lv5LFGjA=
-SHA256 (hackage/th-abstraction-0.6.0.0_1.cabal) = 2JWfpqKBKvzdX28lX9a+iz4MoB5CVYalVFRPy3Cw7Hw=
-SHA256 (hackage/th-compat-0.1.4.tar.gz) = 2Pl6wUq0e2uKew/bT/lUJjIuxWut0BZSrBXaSkTUurg=
-SHA256 (hackage/th-compat-0.1.4_3.cabal) = Pn0bj5xyyrBMjf39Jlid1/MeAVrWQKIHrKO2VFd1Mv8=
+SHA256 (hackage/th-abstraction-0.6.0.0_2.cabal) = MTdg1jCFGg66a9yxoetUPEycWDBy1wQGf6MkilJSqK4=
+SHA256 (hackage/th-compat-0.1.5.tar.gz) = gfVfr8evrXdjwJy4t7QWXKN2Xtz3D/pCxzkwQ6E4Kh4=
SHA256 (hackage/these-1.2.tar.gz) = qO1xdLf3kHZDYPSKq3L+o4KmCT7Tace8aIH64aus1Lg=
SHA256 (hackage/these-1.2_1.cabal) = AR4i9okcoCj4fATqSHlmlsktWTMTqcaZ9/9Pn/167G4=
SHA256 (hackage/time-compat-1.9.6.1.tar.gz) = rQe7AOuWeMITbTaAdSsArMTLxSJlS7MZm/McYe8ea4A=
SHA256 (hackage/time-compat-1.9.6.1_6.cabal) = F2Me8BoDpvVfvhMWkPh/be6aFXKsyZtsBvBIgkcP+1I=
SHA256 (hackage/transformers-compat-0.7.2.tar.gz) = tixzBMnzy8lGPQc5qoXLlInyF+oJK51iXUF1FPvMnWo=
-SHA256 (hackage/unordered-containers-0.2.19.1.tar.gz) = Gye+xeDVIrJ6YCnr9MSm1ArLwIPHhwCOMvtVxLHRKNI=
-SHA256 (hackage/unordered-containers-0.2.19.1_3.cabal) = HCjKQp45YN4DMJCFeaQnzKzd1wDLhOwZaeK75XYVKt0=
+SHA256 (hackage/unordered-containers-0.2.20.tar.gz) = 2c+yh88AWS053Jw8rIuZYn6gjywBeY5wEw/Dn3yQ8R0=
+SHA256 (hackage/unordered-containers-0.2.20_1.cabal) = dGwysj+TyxPlIwnlToLWnkMVEF+YFbH8rCWlcHFQXP8=
SHA256 (hackage/uuid-types-1.0.5.1.tar.gz) = C+xtaYKzySv6XqsdITvi1LZpa5osOh8fBYEtw3Ytyiw=
SHA256 (hackage/vector-0.13.1.0.tar.gz) = Y/JyJ56rirlBGg//sSUqwwmylzE/jjO+nrvC+YHt7O4=
-SHA256 (hackage/vector-stream-0.1.0.0.tar.gz) = qIghD2Rn8VUJBlNzS+XMkgQGoHIn4NOttZCWcW/bgGw=
-SHA256 (hackage/vector-stream-0.1.0.0_3.cabal) = iXeVnUvsVNnyxenUuqLKx6sm6ASnJZHfjbiH4Gkq6K4=
+SHA256 (hackage/vector-0.13.1.0_1.cabal) = vAMsz7Udd1629AgsX8AvVBaw6g1mRKYNh2d6aTfy1w0=
+SHA256 (hackage/vector-stream-0.1.0.1.tar.gz) = 0PUHM0vepUMaLwf1Jal/KedlIsMiEPXebVorTx1Cv3w=
+SHA256 (hackage/vector-stream-0.1.0.1_1.cabal) = FqaeLtcdezXhaGD6xSD5T6TaEg65c9n4+/CqOnA9Sp8=
SHA256 (hackage/witherable-0.4.2.tar.gz) = eQ0rsnQoNBkXO9iRBEOYYGdalBD3DyGRKXPs2QmLQQQ=
SHA256 (hackage/witherable-0.4.2_4.cabal) = zsUWs13w/1OrAGjnCpEqC6e2XGcvvFVHJxg/qhla07g=
-SIZE (hackage/Diff-0.4.1.tar.gz) = 8759
+SIZE (hackage/Diff-0.5.tar.gz) = 9122
+SIZE (hackage/Diff-0.5_1.cabal) = 1814
SIZE (hackage/OneTuple-0.4.1.1.tar.gz) = 5601
SIZE (hackage/OneTuple-0.4.1.1_1.cabal) = 2575
SIZE (hackage/QuickCheck-2.14.3.tar.gz) = 76849
+SIZE (hackage/ShellCheck-0.10.0.tar.gz) = 234856
SIZE (hackage/StateVar-1.2.2.tar.gz) = 5048
SIZE (hackage/aeson-2.2.1.0.tar.gz) = 341038
SIZE (hackage/aeson-2.2.1.0_1.cabal) = 6582
SIZE (hackage/assoc-1.1.tar.gz) = 3193
SIZE (hackage/assoc-1.1_1.cabal) = 1617
SIZE (hackage/base-orphans-0.9.1.tar.gz) = 26418
-SIZE (hackage/bifunctors-5.6.1.tar.gz) = 38170
-SIZE (hackage/bifunctors-5.6.1_2.cabal) = 3273
+SIZE (hackage/bifunctors-5.6.2.tar.gz) = 38193
SIZE (hackage/comonad-5.0.8.tar.gz) = 15227
SIZE (hackage/comonad-5.0.8_2.cabal) = 3631
SIZE (hackage/contravariant-1.5.5.tar.gz) = 13815
-SIZE (hackage/data-array-byte-0.1.0.1.tar.gz) = 6784
-SIZE (hackage/data-array-byte-0.1.0.1_2.cabal) = 1989
SIZE (hackage/data-fix-0.3.2.tar.gz) = 5842
SIZE (hackage/data-fix-0.3.2_5.cabal) = 1734
SIZE (hackage/distributive-0.6.2.1.tar.gz) = 8140
@@ -100,8 +96,6 @@ SIZE (hackage/distributive-0.6.2.1_1.cab
SIZE (hackage/dlist-1.0.tar.gz) = 18667
SIZE (hackage/dlist-1.0_1.cabal) = 3812
SIZE (hackage/fgl-5.8.2.0.tar.gz) = 57401
-SIZE (hackage/foldable1-classes-compat-0.1.tar.gz) = 10484
-SIZE (hackage/foldable1-classes-compat-0.1_4.cabal) = 3782
SIZE (hackage/generically-0.1.1.tar.gz) = 2870
SIZE (hackage/generically-0.1.1_2.cabal) = 1169
SIZE (hackage/hashable-1.4.3.0.tar.gz) = 25601
@@ -116,8 +110,8 @@ SIZE (hackage/integer-logarithms-1.0.3.1
SIZE (hackage/network-uri-2.6.4.2.tar.gz) = 31309
SIZE (hackage/network-uri-2.6.4.2_1.cabal) = 3217
SIZE (hackage/primitive-0.9.0.0.tar.gz) = 60580
-SIZE (hackage/random-1.2.1.1.tar.gz) = 47109
-SIZE (hackage/random-1.2.1.1_1.cabal) = 6777
+SIZE (hackage/primitive-0.9.0.0_1.cabal) = 3171
+SIZE (hackage/random-1.2.1.2.tar.gz) = 47229
SIZE (hackage/regex-base-0.94.0.2.tar.gz) = 10488
SIZE (hackage/regex-base-0.94.0.2_4.cabal) = 2601
SIZE (hackage/regex-tdfa-1.3.2.2.tar.gz) = 83016
@@ -128,29 +122,29 @@ SIZE (hackage/semialign-1.3.tar.gz) = 10
SIZE (hackage/semialign-1.3_1.cabal) = 2888
SIZE (hackage/semigroupoids-6.0.0.1.tar.gz) = 36222
SIZE (hackage/semigroupoids-6.0.0.1_1.cabal) = 7465
-SIZE (hackage/shellcheck-0.9.0pl20231108-a71a13c2.tar.gz) = 458708
SIZE (hackage/splitmix-0.1.0.5.tar.gz) = 22399
SIZE (hackage/strict-0.5.tar.gz) = 12564
SIZE (hackage/strict-0.5_1.cabal) = 4120
SIZE (hackage/tagged-0.8.8.tar.gz) = 10094
+SIZE (hackage/tagged-0.8.8_1.cabal) = 2732
SIZE (hackage/text-iso8601-0.1.tar.gz) = 9578
SIZE (hackage/text-iso8601-0.1_1.cabal) = 2407
SIZE (hackage/text-short-0.1.5.tar.gz) = 25113
SIZE (hackage/text-short-0.1.5_3.cabal) = 3216
SIZE (hackage/th-abstraction-0.6.0.0.tar.gz) = 43152
-SIZE (hackage/th-abstraction-0.6.0.0_1.cabal) = 2303
-SIZE (hackage/th-compat-0.1.4.tar.gz) = 14838
-SIZE (hackage/th-compat-0.1.4_3.cabal) = 3224
+SIZE (hackage/th-abstraction-0.6.0.0_2.cabal) = 2303
+SIZE (hackage/th-compat-0.1.5.tar.gz) = 14893
SIZE (hackage/these-1.2.tar.gz) = 10606
SIZE (hackage/these-1.2_1.cabal) = 2882
SIZE (hackage/time-compat-1.9.6.1.tar.gz) = 59964
SIZE (hackage/time-compat-1.9.6.1_6.cabal) = 5076
SIZE (hackage/transformers-compat-0.7.2.tar.gz) = 46485
-SIZE (hackage/unordered-containers-0.2.19.1.tar.gz) = 58030
-SIZE (hackage/unordered-containers-0.2.19.1_3.cabal) = 3698
+SIZE (hackage/unordered-containers-0.2.20.tar.gz) = 59823
+SIZE (hackage/unordered-containers-0.2.20_1.cabal) = 3921
SIZE (hackage/uuid-types-1.0.5.1.tar.gz) = 11965
SIZE (hackage/vector-0.13.1.0.tar.gz) = 156855
-SIZE (hackage/vector-stream-0.1.0.0.tar.gz) = 12377
-SIZE (hackage/vector-stream-0.1.0.0_3.cabal) = 1404
+SIZE (hackage/vector-0.13.1.0_1.cabal) = 9015
+SIZE (hackage/vector-stream-0.1.0.1.tar.gz) = 12577
+SIZE (hackage/vector-stream-0.1.0.1_1.cabal) = 1583
SIZE (hackage/witherable-0.4.2.tar.gz) = 11876
SIZE (hackage/witherable-0.4.2_4.cabal) = 2342
Index: files/shellcheck.1
===================================================================
RCS file: /cvs/ports/devel/shellcheck/files/shellcheck.1,v
retrieving revision 1.4
diff -u -p -r1.4 shellcheck.1
--- files/shellcheck.1 16 Dec 2022 19:29:05 -0000 1.4
+++ files/shellcheck.1 21 Mar 2024 19:39:04 -0000
@@ -1,30 +1,12 @@
-.\" Automatically generated by Pandoc 2.19.2
+.\" Automatically generated by Pandoc 3.1.12.1
.\"
-.\" Define V font for inline verbatim, using C font in formats
-.\" that render this, and otherwise B font.
-.ie "\f[CB]x\f[]"x" \{\
-. ftr V B
-. ftr VI BI
-. ftr VB B
-. ftr VBI BI
-.\}
-.el \{\
-. ftr V CR
-. ftr VI CI
-. ftr VB CB
-. ftr VBI CBI
-.\}
.TH "SHELLCHECK" "1" "" "Shell script analysis tool" ""
-.hy
.SH NAME
-.PP
-shellcheck - Shell script analysis tool
+shellcheck \- Shell script analysis tool
.SH SYNOPSIS
-.PP
\f[B]shellcheck\f[R] [\f[I]OPTIONS\f[R]...]
\f[I]FILES\f[R]...
.SH DESCRIPTION
-.PP
ShellCheck is a static analysis and linting tool for sh/bash scripts.
It\[aq]s mainly focused on handling typical beginner and intermediate
level syntax errors and pitfalls where the shell just gives a cryptic
@@ -34,113 +16,122 @@ advanced issues where corner cases can c
ShellCheck gives shell specific advice.
Consider this line:
.IP
-.nf
-\f[C]
+.EX
(( area = 3.14*r*r ))
-\f[R]
-.fi
+.EE
.IP \[bu] 2
-For scripts starting with \f[V]#!/bin/sh\f[R] (or when using
-\f[V]-s sh\f[R]), ShellCheck will warn that \f[V](( .. ))\f[R] is not
+For scripts starting with \f[CR]#!/bin/sh\f[R] (or when using
+\f[CR]\-s sh\f[R]), ShellCheck will warn that \f[CR](( .. ))\f[R] is not
POSIX compliant (similar to checkbashisms).
.IP \[bu] 2
-For scripts starting with \f[V]#!/bin/bash\f[R] (or using
-\f[V]-s bash\f[R]), ShellCheck will warn that decimals are not
+For scripts starting with \f[CR]#!/bin/bash\f[R] (or using
+\f[CR]\-s bash\f[R]), ShellCheck will warn that decimals are not
supported.
.IP \[bu] 2
-For scripts starting with \f[V]#!/bin/ksh\f[R] (or using
-\f[V]-s ksh\f[R]), ShellCheck will not warn at all, as \f[V]ksh\f[R]
+For scripts starting with \f[CR]#!/bin/ksh\f[R] (or using
+\f[CR]\-s ksh\f[R]), ShellCheck will not warn at all, as \f[CR]ksh\f[R]
supports decimals in arithmetic contexts.
.SH OPTIONS
.TP
-\f[B]-a\f[R],\ \f[B]--check-sourced\f[R]
+\f[B]\-a\f[R],\ \f[B]\-\-check\-sourced\f[R]
Emit warnings in sourced files.
-Normally, \f[V]shellcheck\f[R] will only warn about issues in the
+Normally, \f[CR]shellcheck\f[R] will only warn about issues in the
specified files.
With this option, any issues in sourced files will also be reported.
.TP
-\f[B]-C\f[R][\f[I]WHEN\f[R]],\ \f[B]--color\f[R][=\f[I]WHEN\f[R]]
+\f[B]\-C\f[R][\f[I]WHEN\f[R]],\ \f[B]\-\-color\f[R][=\f[I]WHEN\f[R]]
For TTY output, enable colors \f[I]always\f[R], \f[I]never\f[R] or
\f[I]auto\f[R].
The default is \f[I]auto\f[R].
-\f[B]--color\f[R] without an argument is equivalent to
-\f[B]--color=always\f[R].
+\f[B]\-\-color\f[R] without an argument is equivalent to
+\f[B]\-\-color=always\f[R].
.TP
-\f[B]-i\f[R]\ \f[I]CODE1\f[R][,\f[I]CODE2\f[R]...],\ \f[B]--include=\f[R]\f[I]CODE1\f[R][,\f[I]CODE2\f[R]...]
+\f[B]\-i\f[R]\ \f[I]CODE1\f[R][,\f[I]CODE2\f[R]...],\ \f[B]\-\-include=\f[R]\f[I]CODE1\f[R][,\f[I]CODE2\f[R]...]
Explicitly include only the specified codes in the report.
-Subsequent \f[B]-i\f[R] options are cumulative, but all the codes can be
-specified at once, comma-separated as a single argument.
+Subsequent \f[B]\-i\f[R] options are cumulative, but all the codes can
+be specified at once, comma\-separated as a single argument.
Include options override any provided exclude options.
.TP
-\f[B]-e\f[R]\ \f[I]CODE1\f[R][,\f[I]CODE2\f[R]...],\ \f[B]--exclude=\f[R]\f[I]CODE1\f[R][,\f[I]CODE2\f[R]...]
+\f[B]\-e\f[R]\ \f[I]CODE1\f[R][,\f[I]CODE2\f[R]...],\ \f[B]\-\-exclude=\f[R]\f[I]CODE1\f[R][,\f[I]CODE2\f[R]...]
Explicitly exclude the specified codes from the report.
-Subsequent \f[B]-e\f[R] options are cumulative, but all the codes can be
-specified at once, comma-separated as a single argument.
+Subsequent \f[B]\-e\f[R] options are cumulative, but all the codes can
+be specified at once, comma\-separated as a single argument.
+.TP
+\f[B]\-\-extended\-analysis=true/false\f[R]
+Enable/disable Dataflow Analysis to identify more issues (default true).
+If ShellCheck uses too much CPU/RAM when checking scripts with several
+thousand lines of code, extended analysis can be disabled with this flag
+or a directive.
+This flag overrides directives and rc files.
.TP
-\f[B]-f\f[R] \f[I]FORMAT\f[R], \f[B]--format=\f[R]\f[I]FORMAT\f[R]
+\f[B]\-f\f[R] \f[I]FORMAT\f[R], \f[B]\-\-format=\f[R]\f[I]FORMAT\f[R]
Specify the output format of shellcheck, which prints its results in the
standard output.
-Subsequent \f[B]-f\f[R] options are ignored, see \f[B]FORMATS\f[R] below
-for more information.
+Subsequent \f[B]\-f\f[R] options are ignored, see \f[B]FORMATS\f[R]
+below for more information.
.TP
-\f[B]--list-optional\f[R]
+\f[B]\-\-list\-optional\f[R]
Output a list of known optional checks.
-These can be enabled with \f[B]-o\f[R] flags or \f[B]enable\f[R]
+These can be enabled with \f[B]\-o\f[R] flags or \f[B]enable\f[R]
directives.
.TP
-\f[B]--norc\f[R]
+\f[B]\-\-norc\f[R]
Don\[aq]t try to look for .shellcheckrc configuration files.
.TP
-\f[B]-o\f[R]\ \f[I]NAME1\f[R][,\f[I]NAME2\f[R]...],\ \f[B]--enable=\f[R]\f[I]NAME1\f[R][,\f[I]NAME2\f[R]...]
+\-\-rcfile\ RCFILE
+Prefer the specified configuration file over searching for one in the
+default locations.
+.TP
+\f[B]\-o\f[R]\ \f[I]NAME1\f[R][,\f[I]NAME2\f[R]...],\ \f[B]\-\-enable=\f[R]\f[I]NAME1\f[R][,\f[I]NAME2\f[R]...]
Enable optional checks.
The special name \f[I]all\f[R] enables all of them.
-Subsequent \f[B]-o\f[R] options accumulate.
+Subsequent \f[B]\-o\f[R] options accumulate.
This is equivalent to specifying \f[B]enable\f[R] directives.
.TP
-\f[B]-P\f[R]\ \f[I]SOURCEPATH\f[R],\ \f[B]--source-path=\f[R]\f[I]SOURCEPATH\f[R]
-Specify paths to search for sourced files, separated by \f[V]:\f[R] on
-Unix and \f[V];\f[R] on Windows.
-This is equivalent to specifying \f[V]search-path\f[R] directives.
+\f[B]\-P\f[R]\ \f[I]SOURCEPATH\f[R],\ \f[B]\-\-source\-path=\f[R]\f[I]SOURCEPATH\f[R]
+Specify paths to search for sourced files, separated by \f[CR]:\f[R] on
+Unix and \f[CR];\f[R] on Windows.
+This is equivalent to specifying \f[CR]search\-path\f[R] directives.
.TP
-\f[B]-s\f[R]\ \f[I]shell\f[R],\ \f[B]--shell=\f[R]\f[I]shell\f[R]
+\f[B]\-s\f[R]\ \f[I]shell\f[R],\ \f[B]\-\-shell=\f[R]\f[I]shell\f[R]
Specify Bourne shell dialect.
-Valid values are \f[I]sh\f[R], \f[I]bash\f[R], \f[I]dash\f[R] and
-\f[I]ksh\f[R].
-The default is to deduce the shell from the file\[aq]s \f[V]shell\f[R]
-directive, shebang, or \f[V].bash/.bats/.dash/.ksh\f[R] extension, in
+Valid values are \f[I]sh\f[R], \f[I]bash\f[R], \f[I]dash\f[R],
+\f[I]ksh\f[R], and \f[I]busybox\f[R].
+The default is to deduce the shell from the file\[aq]s \f[CR]shell\f[R]
+directive, shebang, or \f[CR].bash/.bats/.dash/.ksh\f[R] extension, in
that order.
-\f[I]sh\f[R] refers to POSIX \f[V]sh\f[R] (not the system\[aq]s), and
+\f[I]sh\f[R] refers to POSIX \f[CR]sh\f[R] (not the system\[aq]s), and
will warn of portability issues.
.TP
-\f[B]-S\f[R]\ \f[I]SEVERITY\f[R],\ \f[B]--severity=\f[R]\f[I]severity\f[R]
+\f[B]\-S\f[R]\ \f[I]SEVERITY\f[R],\ \f[B]\-\-severity=\f[R]\f[I]severity\f[R]
Specify minimum severity of errors to consider.
Valid values in order of severity are \f[I]error\f[R],
\f[I]warning\f[R], \f[I]info\f[R] and \f[I]style\f[R].
The default is \f[I]style\f[R].
.TP
-\f[B]-V\f[R],\ \f[B]--version\f[R]
+\f[B]\-V\f[R],\ \f[B]\-\-version\f[R]
Print version information and exit.
.TP
-\f[B]-W\f[R] \f[I]NUM\f[R],\ \f[B]--wiki-link-count=NUM\f[R]
+\f[B]\-W\f[R] \f[I]NUM\f[R],\ \f[B]\-\-wiki\-link\-count=NUM\f[R]
For TTY output, show \f[I]NUM\f[R] wiki links to more information about
mentioned warnings.
Set to 0 to disable them entirely.
.TP
-\f[B]-x\f[R],\ \f[B]--external-sources\f[R]
-Follow \f[V]source\f[R] statements even when the file is not specified
+\f[B]\-x\f[R],\ \f[B]\-\-external\-sources\f[R]
+Follow \f[CR]source\f[R] statements even when the file is not specified
as input.
-By default, \f[V]shellcheck\f[R] will only follow files specified on the
-command line (plus \f[V]/dev/null\f[R]).
-This option allows following any file the script may \f[V]source\f[R].
+By default, \f[CR]shellcheck\f[R] will only follow files specified on
+the command line (plus \f[CR]/dev/null\f[R]).
+This option allows following any file the script may \f[CR]source\f[R].
.RS
.PP
-This option may also be enabled using \f[V]external-sources=true\f[R] in
-\f[V].shellcheckrc\f[R].
+This option may also be enabled using \f[CR]external\-sources=true\f[R]
+in \f[CR].shellcheckrc\f[R].
This flag takes precedence.
.RE
.TP
\f[B]FILES...\f[R]
-One or more script files to check, or \[dq]-\[dq] for standard input.
+One or more script files to check, or \[dq]\-\[dq] for standard input.
.SH FORMATS
.TP
\f[B]tty\f[R]
@@ -153,15 +144,13 @@ Useful for editors that support compilin
.RS
.PP
For example, in Vim,
-\f[V]:set makeprg=shellcheck\[rs] -f\[rs] gcc\[rs] %\f[R] will allow
-using \f[V]:make\f[R] to check the script, and \f[V]:cnext\f[R] to jump
-to the next error.
+\f[CR]:set makeprg=shellcheck\[rs] \-f\[rs] gcc\[rs] %\f[R] will allow
+using \f[CR]:make\f[R] to check the script, and \f[CR]:cnext\f[R] to
+jump to the next error.
.IP
-.nf
-\f[C]
+.EX
<file>:<line>:<column>: <type>: <message>
-\f[R]
-.fi
+.EE
.RE
.TP
\f[B]checkstyle\f[R]
@@ -170,9 +159,8 @@ Supported directly or through plugins by
systems.
.RS
.IP
-.nf
-\f[C]
-<?xml version=\[aq]1.0\[aq] encoding=\[aq]UTF-8\[aq]?>
+.EX
+<?xml version=\[aq]1.0\[aq] encoding=\[aq]UTF\-8\[aq]?>
<checkstyle version=\[aq]4.3\[aq]>
<file name=\[aq]file\[aq]>
<error
@@ -185,30 +173,27 @@ systems.
</file>
...
</checkstyle>
-\f[R]
-.fi
+.EE
.RE
.TP
\f[B]diff\f[R]
-Auto-fixes in unified diff format.
-Can be piped to \f[V]git apply\f[R] or \f[V]patch -p1\f[R] to
+Auto\-fixes in unified diff format.
+Can be piped to \f[CR]git apply\f[R] or \f[CR]patch \-p1\f[R] to
automatically apply fixes.
.RS
.IP
-.nf
-\f[C]
---- a/test.sh
+.EX
+\-\-\- a/test.sh
+++ b/test.sh
-\[at]\[at] -2,6 +2,6 \[at]\[at]
+\[at]\[at] \-2,6 +2,6 \[at]\[at]
## Example of a broken script.
for f in $(ls *.m3u)
do
-- grep -qi hq.*mp3 $f \[rs]
-+ grep -qi hq.*mp3 \[dq]$f\[dq] \[rs]
- && echo -e \[aq]Playlist $f contains a HQ file in mp3 format\[aq]
+\- grep \-qi hq.*mp3 $f \[rs]
++ grep \-qi hq.*mp3 \[dq]$f\[dq] \[rs]
+ && echo \-e \[aq]Playlist $f contains a HQ file in mp3 format\[aq]
done
-\f[R]
-.fi
+.EE
.RE
.TP
\f[B]json1\f[R]
@@ -218,8 +203,7 @@ ShellCheck\[aq]s json is compact and con
Tabs are counted as 1 character.
.RS
.IP
-.nf
-\f[C]
+.EX
{
comments: [
{
@@ -233,8 +217,7 @@ Tabs are counted as 1 character.
...
]
}
-\f[R]
-.fi
+.EE
.RE
.TP
\f[B]json\f[R]
@@ -246,94 +229,93 @@ Suppress all normal output.
Exit with zero if no issues are found, otherwise exit with one.
Stops processing after the first issue.
.SH DIRECTIVES
-.PP
ShellCheck directives can be specified as comments in the shell script.
-If they appear before the first command, they are considered file-wide.
+If they appear before the first command, they are considered file\-wide.
Otherwise, they apply to the immediately following command or block:
.IP
-.nf
-\f[C]
+.EX
# shellcheck key=value key=value
-command-or-structure
-\f[R]
-.fi
+command\-or\-structure
+.EE
.PP
-For example, to suppress SC2035 about using \f[V]./*.jpg\f[R]:
+For example, to suppress SC2035 about using \f[CR]./*.jpg\f[R]:
.IP
-.nf
-\f[C]
+.EX
# shellcheck disable=SC2035
echo \[dq]Files: \[dq] *.jpg
-\f[R]
-.fi
+.EE
.PP
To tell ShellCheck where to look for an otherwise dynamically determined
file:
.IP
-.nf
-\f[C]
+.EX
# shellcheck source=./lib.sh
source \[dq]$(find_install_dir)/lib.sh\[dq]
-\f[R]
-.fi
+.EE
.PP
Here a shell brace group is used to suppress a warning on multiple
lines:
.IP
-.nf
-\f[C]
+.EX
# shellcheck disable=SC2016
{
echo \[aq]Modifying $PATH\[aq]
echo \[aq]PATH=foo:$PATH\[aq] >> \[ti]/.bashrc
}
-\f[R]
-.fi
+.EE
.PP
Valid keys are:
.TP
\f[B]disable\f[R]
Disables a comma separated list of error codes for the following
command.
-The command can be a simple command like \f[V]echo foo\f[R], or a
+The command can be a simple command like \f[CR]echo foo\f[R], or a
compound command like a function definition, subshell block or loop.
A range can be be specified with a dash, e.g.
-\f[V]disable=SC3000-SC4000\f[R] to exclude 3xxx.
-All warnings can be disabled with \f[V]disable=all\f[R].
+\f[CR]disable=SC3000\-SC4000\f[R] to exclude 3xxx.
+All warnings can be disabled with \f[CR]disable=all\f[R].
.TP
\f[B]enable\f[R]
Enable an optional check by name, as listed with
-\f[B]--list-optional\f[R].
-Only file-wide \f[V]enable\f[R] directives are considered.
+\f[B]\-\-list\-optional\f[R].
+Only file\-wide \f[CR]enable\f[R] directives are considered.
.TP
-\f[B]external-sources\f[R]
-Set to \f[V]true\f[R] in \f[V].shellcheckrc\f[R] to always allow
+\f[B]extended\-analysis\f[R]
+Set to true/false to enable/disable dataflow analysis.
+Specifying \f[CR]# shellcheck extended\-analysis=false\f[R] in
+particularly large (2000+ line) auto\-generated scripts will reduce
+ShellCheck\[aq]s resource usage at the expense of certain checks.
+Extended analysis is enabled by default.
+.TP
+\f[B]external\-sources\f[R]
+Set to \f[CR]true\f[R] in \f[CR].shellcheckrc\f[R] to always allow
ShellCheck to open arbitrary files from \[aq]source\[aq] statements (the
way most tools do).
.RS
.PP
-This option defaults to \f[V]false\f[R] only due to ShellCheck\[aq]s
+This option defaults to \f[CR]false\f[R] only due to ShellCheck\[aq]s
origin as a remote service for checking untrusted scripts.
It can safely be enabled for normal development.
.RE
.TP
\f[B]source\f[R]
-Overrides the filename included by a \f[V]source\f[R]/\f[V].\f[R]
+Overrides the filename included by a \f[CR]source\f[R]/\f[CR].\f[R]
statement.
This can be used to tell shellcheck where to look for a file whose name
is determined at runtime, or to skip a source by telling it to use
-\f[V]/dev/null\f[R].
+\f[CR]/dev/null\f[R].
.TP
-\f[B]source-path\f[R]
-Add a directory to the search path for \f[V]source\f[R]/\f[V].\f[R]
+\f[B]source\-path\f[R]
+Add a directory to the search path for \f[CR]source\f[R]/\f[CR].\f[R]
statements (by default, only ShellCheck\[aq]s working directory is
included).
Absolute paths will also be rooted in these paths.
-The special path \f[V]SCRIPTDIR\f[R] can be used to specify the
+The special path \f[CR]SCRIPTDIR\f[R] can be used to specify the
currently checked script\[aq]s directory, as in
-\f[V]source-path=SCRIPTDIR\f[R] or
-\f[V]source-path=SCRIPTDIR/../libs\f[R].
-Multiple paths accumulate, and \f[V]-P\f[R] takes precedence over them.
+\f[CR]source\-path=SCRIPTDIR\f[R] or
+\f[CR]source\-path=SCRIPTDIR/../libs\f[R].
+Multiple paths accumulate, and \f[CR]\-P\f[R] takes precedence over
+them.
.TP
\f[B]shell\f[R]
Overrides the shell detected from the shebang.
@@ -341,66 +323,60 @@ This is useful for files meant to be inc
shebang), or possibly as a more targeted alternative to
\[aq]disable=SC2039\[aq].
.SH RC FILES
-.PP
-Unless \f[V]--norc\f[R] is used, ShellCheck will look for a file
-\f[V].shellcheckrc\f[R] or \f[V]shellcheckrc\f[R] in the script\[aq]s
+Unless \f[CR]\-\-norc\f[R] is used, ShellCheck will look for a file
+\f[CR].shellcheckrc\f[R] or \f[CR]shellcheckrc\f[R] in the script\[aq]s
directory and each parent directory.
-If found, it will read \f[V]key=value\f[R] pairs from it and treat them
-as file-wide directives.
+If found, it will read \f[CR]key=value\f[R] pairs from it and treat them
+as file\-wide directives.
.PP
-Here is an example \f[V].shellcheckrc\f[R]:
+Here is an example \f[CR].shellcheckrc\f[R]:
.IP
-.nf
-\f[C]
+.EX
# Look for \[aq]source\[aq]d files relative to the checked script,
# and also look for absolute paths in /mnt/chroot
-source-path=SCRIPTDIR
-source-path=/mnt/chroot
+source\-path=SCRIPTDIR
+source\-path=/mnt/chroot
# Since 0.9.0, values can be quoted with \[aq]\[aq] or \[dq]\[dq] to allow spaces
-source-path=\[dq]My Documents/scripts\[dq]
+source\-path=\[dq]My Documents/scripts\[dq]
# Allow opening any \[aq]source\[aq]d file, even if not specified as input
-external-sources=true
+external\-sources=true
# Turn on warnings for unquoted variables with safe values
-enable=quote-safe-variables
+enable=quote\-safe\-variables
# Turn on warnings for unassigned uppercase variables
-enable=check-unassigned-uppercase
+enable=check\-unassigned\-uppercase
-# Allow [ ! -z foo ] instead of suggesting -n
+# Allow [ ! \-z foo ] instead of suggesting \-n
disable=SC2236
-\f[R]
-.fi
+.EE
.PP
-If no \f[V].shellcheckrc\f[R] is found in any of the parent directories,
-ShellCheck will look in \f[V]\[ti]/.shellcheckrc\f[R] followed by the
-XDG config directory (usually \f[V]\[ti]/.config/shellcheckrc\f[R]) on
-Unix, or \f[V]%APPDATA%/shellcheckrc\f[R] on Windows.
+If no \f[CR].shellcheckrc\f[R] is found in any of the parent
+directories, ShellCheck will look in \f[CR]\[ti]/.shellcheckrc\f[R]
+followed by the XDG config directory (usually
+\f[CR]\[ti]/.config/shellcheckrc\f[R]) on Unix, or
+\f[CR]%APPDATA%/shellcheckrc\f[R] on Windows.
Only the first file found will be used.
.PP
Note for Snap users: the Snap sandbox disallows access to hidden files.
-Use \f[V]shellcheckrc\f[R] without the dot instead.
+Use \f[CR]shellcheckrc\f[R] without the dot instead.
.PP
Note for Docker users: ShellCheck will only be able to look for files
-that are mounted in the container, so \f[V]\[ti]/.shellcheckrc\f[R] will
-not be read.
+that are mounted in the container, so \f[CR]\[ti]/.shellcheckrc\f[R]
+will not be read.
.SH ENVIRONMENT VARIABLES
-.PP
-The environment variable \f[V]SHELLCHECK_OPTS\f[R] can be set with
+The environment variable \f[CR]SHELLCHECK_OPTS\f[R] can be set with
default flags:
.IP
-.nf
-\f[C]
-export SHELLCHECK_OPTS=\[aq]--shell=bash --exclude=SC2016\[aq]
-\f[R]
-.fi
+.EX
+export SHELLCHECK_OPTS=\[aq]\-\-shell=bash \-\-exclude=SC2016\[aq]
+.EE
.PP
Its value will be split on spaces and prepended to the command line on
each invocation.
.SH RETURN VALUES
-.PP
ShellCheck uses the following exit codes:
.IP \[bu] 2
0: All files successfully scanned with no issues.
@@ -416,67 +392,59 @@ unknown flag).
4: ShellCheck was invoked with bad options (e.g.
unknown formatter).
.SH LOCALE
-.PP
This version of ShellCheck is only available in English.
-All files are leniently decoded as UTF-8, with a fallback of ISO-8859-1
-for invalid sequences.
-\f[V]LC_CTYPE\f[R] is respected for output, and defaults to UTF-8 for
-locales where encoding is unspecified (such as the \f[V]C\f[R] locale).
+All files are leniently decoded as UTF\-8, with a fallback of
+ISO\-8859\-1 for invalid sequences.
+\f[CR]LC_CTYPE\f[R] is respected for output, and defaults to UTF\-8 for
+locales where encoding is unspecified (such as the \f[CR]C\f[R] locale).
.PP
Windows users seeing
-\f[V]commitBuffer: invalid argument (invalid character)\f[R] should set
-their terminal to use UTF-8 with \f[V]chcp 65001\f[R].
+\f[CR]commitBuffer: invalid argument (invalid character)\f[R] should set
+their terminal to use UTF\-8 with \f[CR]chcp 65001\f[R].
.SH KNOWN INCOMPATIBILITIES
-.PP
(If nothing in this section makes sense, you are unlikely to be affected
by it)
.PP
To avoid confusing and misguided suggestions, ShellCheck requires
-function bodies to be either \f[V]{ brace groups; }\f[R] or
-\f[V]( subshells )\f[R], and function names containing \f[V][]*=!\f[R]
-are only recognized after a \f[V]function\f[R] keyword.
+function bodies to be either \f[CR]{ brace groups; }\f[R] or
+\f[CR]( subshells )\f[R], and function names containing \f[CR][]*=!\f[R]
+are only recognized after a \f[CR]function\f[R] keyword.
.PP
The following unconventional function definitions are identical in Bash,
but ShellCheck only recognizes the latter.
.IP
-.nf
-\f[C]
+.EX
[x!=y] () [[ $1 ]]
function [x!=y] () { [[ $1 ]]; }
-\f[R]
-.fi
+.EE
.PP
-Shells without the \f[V]function\f[R] keyword do not allow these
+Shells without the \f[CR]function\f[R] keyword do not allow these
characters in function names to begin with.
-Function names containing \f[V]{}\f[R] are not supported at all.
+Function names containing \f[CR]{}\f[R] are not supported at all.
.PP
-Further, if ShellCheck sees \f[V][x!=y]\f[R] it will assume this is an
+Further, if ShellCheck sees \f[CR][x!=y]\f[R] it will assume this is an
invalid comparison.
To invoke the above function, quote the command as in
-\f[V]\[aq][x!=y]\[aq]\f[R], or to retain the same globbing behavior, use
-\f[V]command [x!=y]\f[R].
+\f[CR]\[aq][x!=y]\[aq]\f[R], or to retain the same globbing behavior,
+use \f[CR]command [x!=y]\f[R].
.PP
-ShellCheck imposes additional restrictions on the \f[V][\f[R] command to
-help diagnose common invalid uses.
-While \f[V][ $x= 1 ]\f[R] is defined in POSIX, ShellCheck will assume it
-was intended as the much more likely comparison
-\f[V][ \[dq]$x\[dq] = 1 ]\f[R] and fail accordingly.
-For unconventional or dynamic uses of the \f[V][\f[R] command, use
-\f[V]test\f[R] or \f[V]\[rs][\f[R] instead.
+ShellCheck imposes additional restrictions on the \f[CR][\f[R] command
+to help diagnose common invalid uses.
+While \f[CR][ $x= 1 ]\f[R] is defined in POSIX, ShellCheck will assume
+it was intended as the much more likely comparison
+\f[CR][ \[dq]$x\[dq] = 1 ]\f[R] and fail accordingly.
+For unconventional or dynamic uses of the \f[CR][\f[R] command, use
+\f[CR]test\f[R] or \f[CR]\[rs][\f[R] instead.
.SH REPORTING BUGS
-.PP
Bugs and issues can be reported on GitHub:
.PP
https://github.com/koalaman/shellcheck/issues
.SH AUTHORS
-.PP
ShellCheck is developed and maintained by Vidar Holen, with assistance
from a long list of wonderful contributors.
.SH COPYRIGHT
-.PP
-Copyright 2012-2022, Vidar Holen and contributors.
+Copyright 2012\-2024, Vidar Holen and contributors.
Licensed under the GNU General Public License version 3 or later, see
https://gnu.org/licenses/gpl.html
.SH SEE ALSO
-.PP
sh(1) bash(1)
UPDATE: devel/shellcheck 0.10.0