@@ -11,17 +11,115 @@ set -o errexit # set -e : exit the script if any statement returns a non-true
11
11
# get the script directory
12
12
scriptDir=" $( dirname " $0 " ) "
13
13
14
- # print operating systems infos
15
- ( lsb_release -ds || cat /etc/* release || uname -om ) 2> /dev/null | head -n1
16
- uname -mrs
14
+ # see https://unix.stackexchange.com/questions/6345
15
+ if [ -f /etc/os-release ]; then
16
+ # freedesktop.org and systemd
17
+ . /etc/os-release
18
+ osName=$NAME
19
+ osVersion=$VERSION_ID
20
+ elif type lsb_release > /dev/null 2>&1 ; then
21
+ # linuxbase.org
22
+ osName=" $( lsb_release -si) "
23
+ osVersion=" $( lsb_release -sr) "
24
+ elif [ -f /etc/lsb-release ]; then
25
+ # For some versions of Debian/Ubuntu without lsb_release command
26
+ . /etc/lsb-release
27
+ osName=" $DISTRIB_ID "
28
+ osVersion=" $DISTRIB_RELEASE "
29
+ elif [ -f /etc/debian_version ]; then
30
+ # Older Debian/Ubuntu/etc.
31
+ osName=" Debian"
32
+ osVersion=" $( cat /etc/debian_version) "
33
+ elif [ -f /etc/SuSe-release ]; then
34
+ # Older SuSE/etc.
35
+ osName=" Old SuSE"
36
+ osVersion=" "
37
+ elif [ -f /etc/redhat-release ]; then
38
+ osName=" Old ReadHat"
39
+ osVersion=" "
40
+ else
41
+ # Fall back to uname, e.g. "Linux <version>", also works for BSD, etc.
42
+ osName=" $( uname -s) "
43
+ osVersion=" $( uname -r) "
44
+ fi
45
+
46
+ osAndVersion=" $osName $osVersion "
47
+ osAndVersion=" $( sed -e ' s/^[[:space:]]*//' -e ' s/[[:space:]]*$//' -e ' s/[[:space:]]+/[[:space:]]/' <<< " ${osAndVersion}" ) " || true
48
+ if [ -z " $osAndVersion " ]; then
49
+ osAndVersion=" $(( lsb_release - ds || cat / etc/* release || uname - om ) 2 >/ dev/ null | head - n1 )"
50
+ osAndVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${osAndVersion} ")" || true
51
+ fi
52
+ if [ -n "$osAndVersion " ]; then
53
+ echo "$osAndVersion "
54
+ fi
55
+
56
+ linuxVersion="$(uname -mrs)" || true
57
+ linuxVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${linuxVersion} ")" || true
58
+ if [ -n "$linuxVersion " ]; then
59
+ echo "$linuxVersion "
60
+ fi
61
+
62
+ # separator
17
63
echo ""
64
+
18
65
# Print the python version.
19
- echo " python: $( python3 --version | sed -n ' s/.*Python\s*\([.0-9]*\)/\1/p' ) "
20
- echo " latexgit_py: $( pip freeze | grep latexgit | sed -n ' s/.*==*\([.0-9]*\)/\1/p' ) "
21
- echo " latexgit_tex: $( less $scriptDir /../styles/latexgit.sty | sed -n ' s/.*\\ProvidesPackage{latexgit}\[[0-9\/]* *\([.0-9]*\) .*\].*/\1/p' ) "
22
- echo " pycommons: $( pip freeze | grep pycommons | sed -n ' s/.*==*\([.0-9]*\)/\1/p' ) "
23
- echo " pdflatex: $( pdflatex --version | grep ' pdfTeX 3' ) "
24
- echo " biber: $( biber --version | sed -n ' s/.*:\s*\([.0-9]*\)/\1/p' ) "
25
- echo " makeglossaries: $( makeglossaries --version | grep Version | sed -n ' s/.*Version\s*\([.0-9]*\)/\1/p' ) "
26
- echo " makeindex: $( echo ' ' | makeindex 2>&1 | grep makeindex | sed -n ' s/.*version\s*\([.0-9]*\)/\1/p' ) "
27
- echo " ghostscript: $( ghostscript --version) "
66
+ pythonVersion="$(python3 --version | sed -n 's/.*Python\s*\([.0 -9 ]*\)/\1 /p')" || true
67
+ pythonVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${pythonVersion} ")" || true
68
+ if [ -n "$pythonVersion " ]; then
69
+ echo "python: $pythonVersion "
70
+ fi
71
+
72
+ latexgitPyVersion="$(pip freeze | grep latexgit | sed -n 's/.*==*\([.0 -9 ]*\)/\1 /p')" || true
73
+ latexgitPyVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${latexgitPyVersion} ")" || true
74
+ if [ -n "$latexgitPyVersion " ]; then
75
+ echo "latexgit_py: $latexgitPyVersion "
76
+ fi
77
+
78
+ latexgitTexVersion="$(less $scriptDir /../styles/latexgit.sty | sed -n 's/.*\\ProvidesPackage{latexgit}\[[0 -9 \/]* *\([.0 -9 ]*\) .*\].*/\1 /p')" || true
79
+ latexgitTexVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${latexgitTexVersion} ")" || true
80
+ if [ -n "$latexgitTexVersion " ]; then
81
+ echo "latexgit_tex: $latexgitTexVersion "
82
+ fi
83
+
84
+ pycommonsVersion="$(pip freeze | grep pycommons | sed -n 's/.*==*\([.0 -9 ]*\)/\1 /p')" || true
85
+ pycommonsVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${pycommonsVersion} ")" || true
86
+ if [ -n "$pycommonsVersion " ]; then
87
+ echo "pycommons: $pycommonsVersion "
88
+ fi
89
+
90
+ pdflatexVersion="$(pdflatex --version | grep 'pdfTeX 3 ')" || true
91
+ pdflatexVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${pdflatexVersion} ")" || true
92
+ if [ -n "$pdflatexVersion " ]; then
93
+ echo "pdflatex: $pdflatexVersion "
94
+ fi
95
+
96
+ biberVersion="$(biber --version | sed -n 's/.*:\s*\([.0 -9 ]*\)/\1 /p')" || true
97
+ biberVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${biberVersion} ")" || true
98
+ if [ -n "$biberVersion " ]; then
99
+ echo "biber: $biberVersion "
100
+ fi
101
+
102
+ makeglossariesVersion="$(makeglossaries --version | grep Version | sed -n 's/.*Version\s*\([.0 -9 ]*\)/\1 /p')" || true
103
+ makeglossariesVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${makeglossariesVersion} ")" || true
104
+ if [ -n "$makeglossariesVersion " ]; then
105
+ echo "makeglossaries: $makeglossariesVersion "
106
+ fi
107
+
108
+ makeindexVersion="$(echo '' | makeindex 2 >&1 | grep makeindex | sed -n 's/.*version\s*\([.0 -9 ]*\)/\1 /p')" || true
109
+ makeindexVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${makeindexVersion} ")" || true
110
+ if [ -n "$makeindexVersion " ]; then
111
+ echo "makeindex: $makeindexVersion "
112
+ fi
113
+
114
+ ghostscriptVersion="$(ghostscript --help | head -n 1 | sed -e 's/GPL//i' | sed -e 's/GhostScript//i')" || true
115
+ ghostscriptVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${ghostscriptVersion} ")" || true
116
+ if [ -z "$ghostscriptVersion " ]; then
117
+ ghostscriptVersion="$(ghostscript --version)" || true
118
+ ghostscriptVersion="$(sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]+/[[:space:]]/'<<<"${ghostscriptVersion} ")" || true
119
+ fi
120
+ if [ -n "$ghostscriptVersion " ]; then
121
+ echo "ghostscript: $ghostscriptVersion "
122
+ fi
123
+
124
+ echo ""
125
+ echo "date: $(date +'%0 Y-%0 m-%0 d %0 R:%0 S')"
0 commit comments