comparison spandsp-0.0.6pre17/unpack_gsm0610_data.sh @ 4:26cd8f1ef0b1

import spandsp-0.0.6pre17
author Peter Meerwald <pmeerw@cosy.sbg.ac.at>
date Fri, 25 Jun 2010 15:50:58 +0200
parents
children
comparison
equal deleted inserted replaced
3:c6c5a16ce2f2 4:26cd8f1ef0b1
1 #!/bin/sh
2 #
3 # SpanDSP - a series of DSP components for telephony
4 #
5 # unpack_gsm0610_data.sh
6 #
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU Lesser General Public License version 2.1,
9 # as published by the Free Software Foundation.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this program; if not, write to the Free Software
18 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 #
20 # $Id: unpack_gsm0610_data.sh,v 1.7 2008/05/03 10:59:44 steveu Exp $
21 #
22
23 # The ETSI distribution file extracts to 5 ZIP files, called DISK1.ZIP to DISK5.ZIP
24 # These were originally the contents of 5 floppy disks. Disks 1 to 3 contain data
25 # files. However, disks 4 and 5 contain .EXE files, which unpack.... but only in an
26 # MS environment. These files need to be executed in a Windows or DOS environment,
27 # or a good emulation like FreeDOS or Wine.
28
29 ETSIDATA="../../../en_300961v080101p0.zip"
30
31 cd test-data
32 if [ -d etsi ]
33 then
34 cd etsi
35 else
36 mkdir etsi
37 RETVAL=$?
38 if [ $RETVAL != 0 ]
39 then
40 echo Cannot create test-data/etsi!
41 exit $RETVAL
42 fi
43 cd etsi
44 fi
45 if [ -d gsm0610 ]
46 then
47 cd gsm0610
48 else
49 mkdir gsm0610
50 RETVAL=$?
51 if [ $RETVAL != 0 ]
52 then
53 echo Cannot create test-data/etsi/gsm0610!
54 exit $RETVAL
55 fi
56 cd gsm0610
57 fi
58
59 if [ $1x == --no-exe-runx ]
60 then
61 # Run the .exe files, which should be here
62 ./FR_A.EXE
63 ./FR_HOM_A.EXE
64 ./FR_SYN_A.EXE
65 ./FR_U.EXE
66 ./FR_HOM_U.EXE
67 ./FR_SYN_U.EXE
68 exit 0
69 fi
70
71 # Clear out any leftovers from the past
72 rm -rf ASN.1.txt
73 rm -rf DISK1.ZIP
74 rm -rf DISK2.ZIP
75 rm -rf DISK3.ZIP
76 rm -rf DISK4.ZIP
77 rm -rf DISK5.ZIP
78 rm -rf *.EXE
79 rm -rf READ_FRA.TXT
80 rm -rf ACTION
81 rm -rf unpacked
82
83 if [ $1x == --no-exex ]
84 then
85 # We need to prepare the .exe files to be run separately
86 rm -rf *.INP
87 rm -rf *.COD
88 rm -rf *.OUT
89
90 unzip ${ETSIDATA} >/dev/null
91 RETVAL=$?
92 if [ $RETVAL != 0 ]
93 then
94 echo Cannot unpack the ETSI test vectors for GSM 06.10!
95 exit $RETVAL
96 fi
97 unzip ./DISK4.ZIP >/dev/null
98 RETVAL=$?
99 if [ $RETVAL != 0 ]
100 then
101 echo Cannot unpack the ETSI test vectors for GSM 06.10!
102 exit $RETVAL
103 fi
104 unzip ./DISK5.ZIP >/dev/null
105 RETVAL=$?
106 if [ $RETVAL != 0 ]
107 then
108 echo Cannot unpack the ETSI test vectors for GSM 06.10!
109 exit $RETVAL
110 fi
111 rm -rf ASN.1.txt
112 rm -rf DISK1.ZIP
113 rm -rf DISK2.ZIP
114 rm -rf DISK3.ZIP
115 rm -rf DISK4.ZIP
116 rm -rf DISK5.ZIP
117 rm -rf READ_FRA.TXT
118
119 # An environment which is emulating an MS one will probably need
120 # to make the .EXE files actually executable.
121 chmod 755 *.EXE
122
123 echo "Now copy the files from the test-data/etsi/gsm0610 directory to a Windows,"
124 echo "DOS or other machine which can run .exe files. Run each of the .exe"
125 echo "files (there are 6 of them), and copy the whole directory back here."
126 echo "You can then complete the creation of the working data directories"
127 echo "with the command:"
128 echo $0 "--no-exe-continue"
129 exit 0
130 fi
131
132 unzip ${ETSIDATA} >/dev/null
133 RETVAL=$?
134 if [ $RETVAL != 0 ]
135 then
136 echo Cannot unpack the ETSI test vectors for GSM 06.10!
137 exit $RETVAL
138 fi
139 #rm ${ETSIDATA}
140
141 rm -rf ASN.1.txt
142
143 if [ $1x != --no-exe-continuex ]
144 then
145 # We need to extract and run the .exe files right now. For this to succeed
146 # we must be running in an environment which can run .exe files. This has been
147 # tested with Cygwin on a Windows XP machine.
148 rm -rf *.INP
149 rm -rf *.COD
150 rm -rf *.OUT
151
152 unzip ./DISK4.ZIP >/dev/null
153 RETVAL=$?
154 if [ $RETVAL != 0 ]
155 then
156 echo Cannot unpack the ETSI test vectors for GSM 06.10!
157 exit $RETVAL
158 fi
159 unzip ./DISK5.ZIP >/dev/null
160 RETVAL=$?
161 if [ $RETVAL != 0 ]
162 then
163 echo Cannot unpack the ETSI test vectors for GSM 06.10!
164 exit $RETVAL
165 fi
166 # An environment which is emulating an MS one will probably need
167 # to make the .EXE files actually executable.
168 chmod 755 *.EXE
169 ./FR_HOM_A.EXE >/dev/null
170 ./FR_SYN_A.EXE >/dev/null
171 ./FR_A.EXE >/dev/null
172 ./FR_HOM_U.EXE >/dev/null
173 ./FR_SYN_U.EXE >/dev/null
174 ./FR_U.EXE >/dev/null
175
176 rm -rf READ_FRA.TXT
177 fi
178
179 rm -rf DISK4.ZIP
180 rm -rf DISK5.ZIP
181 rm -rf *.EXE
182
183 chmod 644 *.INP
184 chmod 644 *.OUT
185 chmod 644 *.COD
186
187 # Create the directories where we want to put the test data files.
188 mkdir unpacked
189 mkdir unpacked/fr_A
190 mkdir unpacked/fr_L
191 mkdir unpacked/fr_U
192 mkdir unpacked/fr_homing_A
193 mkdir unpacked/fr_homing_L
194 mkdir unpacked/fr_homing_U
195 mkdir unpacked/fr_sync_A
196 mkdir unpacked/fr_sync_L
197 mkdir unpacked/fr_sync_U
198
199 # Disks 1, 2 and 3 simply unzip, and the files have sensible file names. We
200 # just need to rearrange the directories in which they are located.
201 unzip ./DISK1.ZIP >/dev/null
202 RETVAL=$?
203 if [ $RETVAL != 0 ]
204 then
205 echo Cannot unpack the ETSI test vectors for GSM 06.10!
206 exit $RETVAL
207 fi
208 unzip ./DISK2.ZIP >/dev/null
209 RETVAL=$?
210 if [ $RETVAL != 0 ]
211 then
212 echo Cannot unpack the ETSI test vectors for GSM 06.10!
213 exit $RETVAL
214 fi
215 unzip ./DISK3.ZIP >/dev/null
216 RETVAL=$?
217 if [ $RETVAL != 0 ]
218 then
219 echo Cannot unpack the ETSI test vectors for GSM 06.10!
220 exit $RETVAL
221 fi
222 rm -rf DISK1.ZIP
223 rm -rf DISK2.ZIP
224 rm -rf DISK3.ZIP
225
226 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK1/"* ./unpacked/fr_L
227 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/"Sync*.cod ./unpacked/fr_sync_L
228 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK2/"Seq*h.* ./unpacked/fr_homing_L
229 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/"Seq*h.* ./unpacked/fr_homing_L
230 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/Bitsync.inp" ./unpacked/fr_sync_L
231 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/Seqsync.inp" ./unpacked/fr_sync_L
232
233 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/Homing01.cod" ./unpacked/fr_homing_L
234 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/Homing01.out" ./unpacked/fr_homing_L
235
236 rm -rf ACTION
237
238 # The files extracted by the .EXE files have messy naming, and are not in
239 # a sane directory layout. We rename and move them, to make the final result of
240 # the files extracted from all five of the original .ZIP files reasonably
241 # consistent, and easy to follow.
242 rm -rf READ_FRA.TXT
243
244 for I in SYN*_A.COD ;
245 do
246 mv $I `echo $I | sed -e "s|SYN|./unpacked/fr_sync_A/Sync|" | sed -e "s/COD/cod/"`
247 done
248
249 for I in SYN*_U.COD ;
250 do
251 mv $I `echo $I | sed -e "s|SYN|./unpacked/fr_sync_U/Sync|" | sed -e "s/COD/cod/"`
252 done
253
254 for I in SEQ*H_A.COD ;
255 do
256 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_A/Seq|" | sed -e "s/COD/cod/"`
257 done
258
259 for I in SEQ*H_U.COD ;
260 do
261 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_U/Seq|" | sed -e "s/COD/cod/"`
262 done
263
264 for I in SEQ*H_A.INP ;
265 do
266 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_A/Seq|" | sed -e "s/INP/inp/"`
267 done
268
269 for I in SEQ*H_U.INP ;
270 do
271 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_U/Seq|" | sed -e "s/INP/inp/"`
272 done
273
274 for I in SEQ*H_A.OUT ;
275 do
276 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_A/Seq|" | sed -e "s/OUT/out/"`
277 done
278
279 for I in SEQ*H_U.OUT ;
280 do
281 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_U/Seq|" | sed -e "s/OUT/out/"`
282 done
283
284 for I in SEQ*-A.COD ;
285 do
286 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_A/Seq|" | sed -e "s/COD/cod/"`
287 done
288
289 for I in SEQ*-U.COD ;
290 do
291 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_U/Seq|" | sed -e "s/COD/cod/"`
292 done
293
294 for I in SEQ*-A.INP ;
295 do
296 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_A/Seq|" | sed -e "s/INP/inp/"`
297 done
298
299 for I in SEQ*-U.INP ;
300 do
301 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_U/Seq|" | sed -e "s/INP/inp/"`
302 done
303
304 for I in SEQ*-A.OUT ;
305 do
306 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_A/Seq|" | sed -e "s/OUT/out/"`
307 done
308
309 for I in SEQ*-U.OUT ;
310 do
311 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_U/Seq|" | sed -e "s/OUT/out/"`
312 done
313
314 mv HOM01_A.OUT ./unpacked/fr_homing_A/Homing01_A.out
315 mv HOM01_U.OUT ./unpacked/fr_homing_U/Homing01_U.out
316 mv SEQSYN_A.INP ./unpacked/fr_sync_A/Seqsync_A.inp
317 mv SEQSYN_U.INP ./unpacked/fr_sync_U/Seqsync_U.inp
318
319 echo "The ETSI test vectors for GSM 06.10 should now be correctly laid out in the"
320 echo "gsm0610 directory"

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.