summaryrefslogtreecommitdiff
path: root/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.command
blob: 13fe833be6aecdc907c87e666cb45a45e33b28bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
#!/usr/bin/env bash

# This script generates a log detailing information about your computer.
# You can run it by double clicking on it on a Mac.
# On Linux this behavior is controlled by a preference.  See http://askubuntu.com/questions/286621/how-do-i-run-executable-scripts-in-nautilus for details.
# If prompted, you need to select "Run in Terminal" to see the output.

#This trap combination allows the window to linger long enough for the user to
#inspect the output, but still get closed when all is said and done.
function quit {
    read -n1 -r -p "Press any key to close window." key
    if $mac; then
        osascript -e 'tell application "Terminal" to close front window' > /dev/null 2>&1 &
    else
        exit
    fi
}

trap quit EXIT

case "$(uname -s)" in
    Darwin)
        echo 'Mac OS X detected'
        mac=true
        ;;
    Linux)
        echo 'Linux detected'
        mac=false
        ;;
    *)
        echo 'Unsupported OS detected'
        exit 1
        ;;
esac


HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
OUTPUT=$HERE/system-setup.log

echo "Gregorio Unix Setup Diagnostic Tool"
echo "(C) 2015 The Gregorio Project."
echo ""
echo "Gregorio is free software: you can redistribute it and/or modify"
echo "it under the terms of the GNU General Public License as published by"
echo "the Free Software Foundation, either version 3 of the License, or"
echo "(at your option) any later version."
echo ""
echo "This program is distributed in the hope that it will be useful,"
echo "but WITHOUT ANY WARRANTY; without even the implied warranty of"
echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the"
echo "GNU General Public License for more details."
echo ""
echo "You should have received a copy of the GNU General Public License"
echo "along with this program.  If not, see http://www.gnu.org/licenses/."
echo ""
echo "Creating system-setup.log..."

echo "###	Gregorio Unix Setup Results" > $OUTPUT
echo "####	Created: `date`" >> $OUTPUT
echo "-----------------------------------------------------------------------------" >> $OUTPUT
echo "" >> $OUTPUT
echo "" >> $OUTPUT

echo "###	OS Version" >> $OUTPUT
uname -v >> $OUTPUT
echo "" >> $OUTPUT
echo "" >> $OUTPUT
echo "-----------------------------------------------------------------------------" >> $OUTPUT
echo "" >> $OUTPUT
echo "" >> $OUTPUT

echo "###	LuaTeX Setup" >> $OUTPUT
echo "####	Version" >> $OUTPUT
echo "" >> $OUTPUT
luatex -v >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "####	Location" >> $OUTPUT
echo "" >> $OUTPUT
which -a luatex >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "" >> $OUTPUT
echo "#### 	TEXMFLOCAL" >> $OUTPUT
echo "" >> $OUTPUT
kpsewhich --var-value TEXMFLOCAL >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "#### TEXINPUTS.lualatex" >> $OUTPUT
kpsewhich --var-value=TEXINPUTS.lualatex >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "#### LUAINPUTS.lualatex" >> $OUTPUT
kpsewhich --var-value=LUAINPUTS.lualatex >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "#### shell_escape" >> $OUTPUT
kpsewhich --var-value=shell_escape >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "#### Shell Escape Commands" >> $OUTPUT
kpsewhich --var-value=shell_escape_commands >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "#### openout_any" >> $OUTPUT
kpsewhich --var-value=openout_any >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "#### openin_any" >> $OUTPUT
kpsewhich --var-value=openin_any >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "" >> $OUTPUT
echo "-----------------------------------------------------------------------------" >> $OUTPUT
echo "" >> $OUTPUT
echo "" >> $OUTPUT

echo "###	Gregorio Setup" >> $OUTPUT
echo "####	Locations and Versions" >> $OUTPUT
echo "" >> $OUTPUT
progs=`compgen -cbka -A function 'gregorio'`
for prog in $progs; do
  which -a $prog >> $OUTPUT 2>&1
  $prog -V >> $OUTPUT 2>&1
  echo "" >> $OUTPUT
done
echo "####	GregorioTeX Locations" >> $OUTPUT
echo "" >> $OUTPUT

# Files using GREGORIO_VERSION
files="gregoriosyms.sty
gregoriotex-chars.tex
gregoriotex-main.tex
gregoriotex-nabc.lua
gregoriotex-nabc.tex
gregoriotex-signs.lua
gregoriotex-signs.tex
gregoriotex-spaces.tex
gregoriotex-syllable.tex
gregoriotex-symbols.lua
gregoriotex-symbols.tex
gregoriotex-common.tex
gregoriotex.lua"

for f in $files
do
	echo "##### $f" >> $OUTPUT
	locations=`kpsewhich -all $f`
	for loc in $locations; do
	  echo $loc >> $OUTPUT 2>&1
	  grep -m 1 'GREGORIO_VERSION' $loc | grep -o '[0-9]*\.[0-9]*\.[0-9]*-*[betarc]*[0-9]*' >> $OUTPUT 2>&1
	done
done

# Files using PARSE_VERSION_DATE_LTX
files="gregoriotex.sty
gregoriotex.tex"

for f in $files
do
	echo "##### $f" >> $OUTPUT
	locations=`kpsewhich -all $f`
	for loc in $locations; do
	  echo $loc >> $OUTPUT 2>&1
	  grep -m 1 'PARSE_VERSION_DATE_LTX' $loc | grep -o '[0-9]*\.[0-9]*\.[0-9]*-*[betarc]*[0-9]*' >> $OUTPUT 2>&1
	done
done

# Font Files
files="greciliae.ttf
greciliae-hollow.ttf
greciliae-hole.ttf
greciliae-op.ttf
greciliae-op-hollow.ttf
greciliae-op-hole.ttf
greextra.ttf
gregorio.ttf
gregorio-hollow.ttf
gregorio-hole.ttf
gregorio-op.ttf
gregorio-op-hollow.ttf
gregorio-op-hole.ttf
granapadano.ttf
granapadano-hollow.ttf
granapadano-hole.ttf
granapadano-op.ttf
granapadano-op-hollow.ttf
granapadano-op-hole.ttf
gregall.ttf"

for f in $files
do
	echo "##### $f" >> $OUTPUT
	locations=`kpsewhich -all $f`
	for loc in $locations; do
	  echo $loc >> $OUTPUT 2>&1
	  otfinfo --font-version $loc >> $OUTPUT 2>&1
	done
done

# Unversioned and Obsolete Files
files="gregorio-vowels.dat
gsp-default.tex
gregoriotex-ictus.tex
gresym.ttf
parmesan.ttf
parmesan-op.ttf
gregsmodern.ttf"

for f in $files
do
	echo "##### $f" >> $OUTPUT
	kpsewhich -all $f >> $OUTPUT 2>&1
done


echo "" >> $OUTPUT
echo "###	LuaTeX Double Checks" >> $OUTPUT
echo "#### kpsewhich --all -engine luatex -progname lualatex gregoriotex.sty" >> $OUTPUT
kpsewhich --all -engine luatex -progname lualatex gregoriotex.sty >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "#### kpsewhich --all -engine luatex gregoriotex.tex" >> $OUTPUT
kpsewhich --all -engine luatex gregoriotex.tex >> $OUTPUT 2>&1
echo "" >> $OUTPUT
echo "" >> $OUTPUT
echo "-----------------------------------------------------------------------------" >> $OUTPUT
echo "" >> $OUTPUT
echo "" >> $OUTPUT

echo ""
echo ""
echo "system-setup.log created and saved the working directory from which you"
echo "ran this script.  Please email it to gregorio-users@googlegroups.com as"
echo "part of your bug report."
echo ""
echo "You can also create an issue at "
echo "http://github.com/gregorio-project/gregorio/issues"
echo "and copy-paste the content of this file into the description."
echo ""
exit 0