mirror of https://git.tukaani.org/xz.git
Fix version.sh compatiblity with Solaris
The ancient /bin/tr on Solaris doesn't support '\n'. With /usr/xpg4/bin/tr it works but it might not be in PATH. Another problem was that sed was given input that didn't have a newline at the end. Text files must end with a newline to be portable. Fix both problems: - Handle multiline input within sed itself to avoid one tr invocation. The default sed even on Solaris does understand \n. - Use octals in tr -d. \012 works for ASCII "line feed", it's even used as an example in the Solaris man page. But we must strip also ASCII "carriage return" \015 and EBCDIC "next line" \025. The EBCDIC case got handled with \n previously. Stripping \012 and \015 on EBCDIC system won't matter as those control chars won't be present in the string in the first place. An awk-based solution could be an alternative but it might need special casing on Solaris to used nawk instead of awk. The changes in this commit are smaller and should have a smaller risk for regressions. It's also possible that version.sh will be dropped entirely at some point.
This commit is contained in:
parent
a61c9ab475
commit
e7a42cda7c
|
@ -17,6 +17,5 @@ sed -n 's/LZMA_VERSION_STABILITY_ALPHA/alpha/
|
|||
s/LZMA_VERSION_STABILITY_STABLE//
|
||||
s/^#define LZMA_VERSION_[MPS][AIT][AJNT][A-Z]* //p' \
|
||||
src/liblzma/api/lzma/version.h \
|
||||
| tr '\n' '|' \
|
||||
| sed 's/|/./; s/|/./; s/|//g' \
|
||||
| tr -d '\r\n'
|
||||
| sed 'N; N; N; s/\n/./g; s/\.$//' \
|
||||
| tr -d '\012\015\025'
|
||||
|
|
Loading…
Reference in New Issue