Skip to content

Commit 7603674

Browse files
committed
Fix setver.sh for macOS portability
macOS sed requires 'sed -i "" ...' while GNU sed uses 'sed -i ...'. Add a sedi wrapper that detects the variant. Also use POSIX character classes instead of GNU \s and \+ extensions.
1 parent d7d81f2 commit 7603674

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

setver.sh

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,20 @@ if [ -d ${GIT_DIR} ]; then
2525
fi
2626
fi
2727

28+
# Portable in-place sed (macOS sed -i requires '' argument)
29+
sedi() {
30+
if sed --version >/dev/null 2>&1; then
31+
sed -i "$@"
32+
else
33+
sed -i '' "$@"
34+
fi
35+
}
36+
2837
# Update Autoconf with new version
29-
sed -i "s/^\(AC_INIT(\[sniproxy\], \[\)[^]]*\(.\+\)$/\1${VERSION}\2/" ${SOURCE_DIR}/configure.ac
38+
sedi "s/^\(AC_INIT(\[sniproxy\], \[\)[^]]*\(.\+\)$/\1${VERSION}\2/" ${SOURCE_DIR}/configure.ac
3039

3140
# Update redhat/sniproxy.spec with new version
32-
sed -i "s/^Version:\s\+[^ ]\+/Version: ${VERSION}/" ${SOURCE_DIR}/redhat/sniproxy.spec
41+
sedi "s/^Version:[[:space:]]\{1,\}[^ ]\{1,\}/Version: ${VERSION}/" ${SOURCE_DIR}/redhat/sniproxy.spec
3342

3443
# Update debian/changelog with new version when debchange is available
3544
if command -v debchange >/dev/null 2>&1; then

0 commit comments

Comments
 (0)