http://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_na_serwerze&feed=atom&action=history
Kompilacja na serwerze - Historia wersji
2024-03-29T01:05:50Z
Historia wersji tej strony wiki
MediaWiki 1.12.0
http://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_na_serwerze&diff=3579&oldid=prev
Ludek: Kategoria:Tworzenie mapy
2011-10-23T16:59:14Z
<p><a href="/wiki/Kategoria:Tworzenie_mapy" title="Kategoria:Tworzenie mapy">Kategoria:Tworzenie mapy</a></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Poprzednia wersja</td>
<td colspan='2' style="background-color: white; color:black;">Wersja z dnia 16:59, 23 paź 2011</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Linia 486:</td>
<td colspan="2" class="diff-lineno">Linia 486:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> chmod g+r $html/logi/*</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> chmod g+r $html/logi/*</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> rm $cvslogstat</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> rm $cvslogstat</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">[[Kategoria:Tworzenie mapy]]</ins></div></td></tr>
</table>
Ludek
http://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_na_serwerze&diff=3061&oldid=prev
Alf red: gdzie definiować nowe aliasy dla punktów
2011-02-27T22:14:34Z
<p>gdzie definiować nowe aliasy dla punktów</p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Poprzednia wersja</td>
<td colspan='2' style="background-color: white; color:black;">Wersja z dnia 22:14, 27 lut 2011</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Linia 2:</td>
<td colspan="2" class="diff-lineno">Linia 2:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>potrzebny w zasadzie tylko nielicznym developerom lub [http://en.wikipedia.org/wiki/Bus_factor na wypadek przejechania mnie przez tramwaj].</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>potrzebny w zasadzie tylko nielicznym developerom lub [http://en.wikipedia.org/wiki/Bus_factor na wypadek przejechania mnie przez tramwaj].</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">==aliasy dla punktów==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">czyli końcówka na samym początku.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Żeby dodać nowy typ dla punktów, lub zmienić istniejący, należy:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* dla kompilacji: zmienić pnt2poi.awk</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* dla edytorów: zmienić mont-demont-multi2.pl (i ewentualnie exe)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* dla mapy na www: zmienić ump-www/mapnik_style/settings/styles_points.xml oraz ump-www/ump2osm/rules.xml</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== crontab woła ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== crontab woła ==</div></td></tr>
</table>
Alf red
http://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_na_serwerze&diff=959&oldid=prev
Alf red: init
2009-10-21T12:35:28Z
<p>init</p>
<p><b>Nowa strona</b></p><div>= '''Uwaga dokument wysoce techniczny''' =<br />
<br />
potrzebny w zasadzie tylko nielicznym developerom lub [http://en.wikipedia.org/wiki/Bus_factor na wypadek przejechania mnie przez tramwaj].<br />
<br />
== crontab woła ==<br />
<br />
#!/bin/sh<br />
<br />
skrypty=$HOME/skrypty<br />
logi=$skrypty/logi<br />
mapy=/home/httpd/html/ump/update<br />
#naboku=$skrypty/naboku<br />
mapa=$mapy/48000003.zip<br />
mapatmp=/var/tmp/48000003.zip<br />
tempfile=/var/tmp/gps.$$<br />
<br />
$skrypty/replikuj-cvs<br />
<br />
# ------ jak mamy nowe dane, można je skompilować -------------------<br />
# sprawdź jakie są nowe dane na cvs<br />
cvs_log=$logi/cvs.log<br />
kiedycvs=`grep -n 200.$ $cvs_log | tail -n 1 | cut -d : -f 1`<br />
#kiedynury=`grep -n nury $cvs_log | tail -n 1 | cut -d : -f 1`<br />
kiedyikonki=`grep -n narzedzia\/ikonki\/ $cvs_log | tail -n 1 | cut -d : -f 1`<br />
<br />
kiedybialystok=`grep -n UMP-Bialystok\/src $cvs_log | tail -n 1 | cut -d : -f 1`<br />
kiedyciechanow=`grep -n UMP-Ciechanow\/src $cvs_log | tail -n 1 | cut -d : -f 1`<br />
''itd. itd.''<br />
kiedyanglia=`grep -n UMP-GB-Anglia\/src $cvs_log | tail -n 1 | cut -d : -f 1`<br />
<br />
kiedycokolwiek=`grep -n -e UMP -e ump $cvs_log | tail -n 1 | cut -d : -f 1`<br />
<br />
if [ $kiedycokolwiek -gt $kiedycvs ]; then $skrypty/listuj-nazwy; $skrypty/generuj-cvslog; cp -uf $mapa $mapatmp; fi<br />
<br />
if [ $kiedyszlaki -gt $kiedycvs ]; then $skrypty/generuj-szlaki; fi<br />
if [ $kiedyradary -gt $kiedycvs ]; then $skrypty/generuj-radary; fi<br />
<br />
if [ $kiedybialystok -gt $kiedycvs ]; then $skrypty/kompiluj-bialystok; fi<br />
if [ $kiedyciechanow -gt $kiedycvs ]; then $skrypty/kompiluj-ciechanow; fi<br />
''itd. itd.''<br />
if [ $kiedyanglia -gt $kiedycvs ]; then $skrypty/kompiluj-gb-anglia; fi<br />
<br />
if [ $kiedyikonki -gt $kiedycvs ]; then $skrypty/generuj-typy; fi<br />
<br />
if [ $kiedycokolwiek -gt $kiedycvs ]; then $skrypty/generuj-indeksy; fi<br />
<br />
$skrypty/sprawdz-www<br />
<br />
== replikuj cvs ==<br />
trywialne<br />
#!/bin/sh<br />
<br />
# ----------------- zreplikuj cvs i spakuj nowe pliczki<br />
homek=$HOME<br />
cvs_log=$homek/skrypty/logi/cvs.log<br />
<br />
# (uwaga: nie zauważa skasowania pliku więc rzeczy wywalone z cvs zostają w zipie)<br />
cd $homek/cvs<br />
date +'%n%c' >> $cvs_log<br />
# i żeby najpierw były zmiany w szlakach czyli *.szlaki.topo.txt<br />
cvs -d:pserver:aldziew@localhost:/home/cvsroot up UMP-szlaki -Pd 1>> $cvs_log 2>> /dev/null<br />
cvs -d:pserver:aldziew@localhost:/home/cvsroot up -Pd 1>> $cvs_log 2>> /dev/null<br />
# nie trzeba cvs checkout bo nowe pliki się i tak pojawiają - ale nowe katalogi nie<br />
# znowuż co chyba nie wypisuje danych do logu :-o<br />
<br />
# lista autorów<br />
cp -u $homek/cvs/narzedzia/opisy/autorzy $homek/html/ump/autorzy<br />
chmod go+r $homek/html/ump/autorzy<br />
<br />
# pakiet install<br />
zip -fj $homek/html/ump/pliki/instaluj.zip $homek/cvs/narzedzia/install/instaluj.*<br />
<br />
== generuj cvslog ==<br />
<br />
== kompiluj ==<br />
wywołania "krajowe" to po prostu<br />
#!/bin/sh<br />
~/skrypty/kompiluj Andora 37600001<br />
a główny skrypt ''kompiluj''<br />
#!/bin/bash<br />
<br />
if [ $# -gt 0 ]; then miasto=$1; ID=$2; shift; shift; else echo Należy się podać dwa parametry - $0 miasto ID; exit; fi<br />
<br />
topo=nietopo; ogonki=nie; NI=nie; # ogonkowatość implikuje NI czyli brak kompilowania<br />
while [ $# -gt 0 ]; do<br />
if [ "$1" = "topo" ]; then topo=topo; fi<br />
if [ "$1" = "ogonki" ]; then ogonki=tak; fi<br />
if [ "$1" = "NI" ]; then NI=tak; fi<br />
shift<br />
done<br />
# nie ma sensu wersja ogonki nie-NI<br />
if [ $ogonki = tak ]; then NI=tak; fi<br />
# jeśli wersja zwykła, to trzaśnij źródła do wersji NI (i ogonkowej?)<br />
if [ $NI = nie ]; then<br />
if [ $topo = nietopo ]; then<br />
$0 $miasto $ID NI<br />
$0 $miasto $ID ogonki<br />
fi<br />
fi<br />
<br />
homek=$HOME<br />
skad=$homek/cvs/UMP-$miasto<br />
#pnt2poi=$homek/gps/pnt2poi<br />
#\ -c\ nic\ -r\ $miasto<br />
skrypty=$homek/skrypty<br />
narzedzia=$homek/cvs/narzedzia<br />
pnt2poi=$narzedzia/pnt2poi<br />
<br />
logi=$skrypty/logi<br />
netgenlog=$logi/routing-$miasto.log<br />
kompillog=$logi/kompiluj-$miasto.log<br />
wojeklog=$logi/wojek-$miasto.log<br />
naboku=$homek/gps/naboku-$topo<br />
#komumaile=aldziew,starazie@interia.pl<br />
komumaile=ump<br />
#komumaile=aldziew<br />
#,Piotr.Frasunkiewicz@eranet.pl<br />
wojekmapa=$narzedzia/mapka_woj.mp<br />
pid=$$<br />
wyslac=/tmp/mail.$pid<br />
temp=/tmp/tmp.$pid<br />
#lockfile=/tmp/cgpsmapper.pid<br />
region=`echo $miasto | cut -f 2 -d "-"`<br />
<br />
wynik=$homek/tmp/zrodla/UMP-$miasto-caly-$topo.mp<br />
mapy=/home/httpd/html/ump/update<br />
mapa=$mapy/48000003-$topo.zip<br />
mapatmp=/var/tmp/48000003-$topo.zip<br />
# img musi być lokalnie, bo inaczej zip na siłę zachowuje ścieżkę<br />
img=img/$ID.img<br />
<br />
#cat > $wynik << KONIEC-NAGL<br />
echo [IMG ID] > $wynik<br />
echo ID=$ID >> $wynik<br />
echo FamilyID=4800 >> $wynik<br />
echo Name=UMP-$miasto-`date +%d%b` >> $wynik<br />
echo Datum=W84 >> $wynik<br />
# było 2048<br />
echo TreSize=3096 >> $wynik<br />
echo RgnLimit=1024 >> $wynik<br />
echo Levels=6 >> $wynik<br />
echo Level0=24 >> $wynik<br />
echo Level1=22 >> $wynik<br />
echo Level2=20 >> $wynik<br />
# było: 17 15 13<br />
echo Level3=18 >> $wynik<br />
echo Level4=16 >> $wynik<br />
echo Level5=15 >> $wynik<br />
if [ $ogonki = tak ]; then echo NT=Y >> $wynik; fi<br />
echo POIIndex=Y >> $wynik<br />
echo MG=Y >> $wynik<br />
echo Numbering=Y >> $wynik<br />
echo POINumberFirst=N >> $wynik<br />
echo POIZipFirst=Y >> $wynik<br />
echo Routing=Y >> $wynik<br />
# lower first, default 25<br />
echo DrawPriority=23 >> $wynik<br />
echo Copyright=ump.waw.pl debest >> $wynik<br />
echo Elevation=m >> $wynik<br />
#echo DefaultRegionCountry=$miasto >> $wynik<br />
#echo DefaultCityCountry=Polska~[0x1d]PL >> $wynik<br />
if [ $ogonki = tak ]; then<br />
echo LBLcoding=9 >> $wynik<br />
echo Codepage=1250 >> $wynik<br />
# else<br />
#echo LBLcoding=6 >> $wynik<br />
#echo Codepage=0 >> $wynik<br />
fi<br />
# lewostronni: Brytania * 3, Irlandia, Cypr, Malta<br />
if [ $ID = 44100001 ]; then echo LeftSideTraffic=Y >> $wynik; fi<br />
if [ $ID = 44130001 ]; then echo LeftSideTraffic=Y >> $wynik; fi<br />
if [ $ID = 44280001 ]; then echo LeftSideTraffic=Y >> $wynik; fi<br />
if [ $ID = 35300001 ]; then echo LeftSideTraffic=Y >> $wynik; fi<br />
if [ $ID = 35700001 ]; then echo LeftSideTraffic=Y >> $wynik; fi<br />
if [ $ID = 35600001 ]; then echo LeftSideTraffic=Y >> $wynik; fi<br />
echo [END-IMG ID] >> $wynik<br />
#KONIEC-NAGL<br />
<br />
#cat $homek/cvs/ump-wawa/src/dictionary.txt >> $wynik<br />
##########cat $narzedzia/regions.txt >> $wynik<br />
if [ -f $skad/$miasto-big.mp ]; then gawk '$0 ~ "END-IMG ID", EOF' < $skad/$miasto-big.mp >> $wynik; fi<br />
<br />
# można uprościć: żeby miasta dodawało za każdym razem osobno, a nie wspólne<br />
for pnt in `ls $skad/src/cities-*.pnt 2> /dev/null`; do cat $pnt | $pnt2poi >> $wynik; done<br />
echo \;\; punkty >> $wynik<br />
if [ $topo = nietopo ]; then<br />
for pnt in `ls $skad/src/*.pnt 2> /dev/null | grep -v \.topo\. | grep -v cities`; \<br />
do cat $pnt | grep -vf $narzedzia/md-filtr-bez | $pnt2poi -c nic >> $wynik; done<br />
else<br />
for pnt in `ls $skad/src/*.pnt 2> /dev/null | grep -v cities`; \<br />
do cat $pnt | $pnt2poi -c nic >> $wynik; done<br />
fi;<br />
echo \;\; koniec >> $wynik<br />
<br />
$narzedzia/formatuj_numery_telefonow.pl < $wynik > $temp 2> $wyslac<br />
mv $temp $wynik<br />
<br />
if [ -d $skad/src ]; then<br />
for m in `ls $skad/src/*.ulice.txt 2> /dev/null | grep -v inne`; do<br />
# nie przerabiaj na miasto<br />
# zpliku=`echo $miasto | cut -d "/" -f 8`<br />
# miastko=`echo $zpliku | cut -d "." -f 1`<br />
# cat $skad/src/$zpliku | gawk '{sub(/^\[POLYLINE\]/,"\[POLYLINE\]\nMiasto='$miastko'");print}' >> $wyniky<br />
gawk -f $narzedzia/md-montaz.awk $m | grep -v Plik= >> $wynik<br />
done<br />
cat $skad/src/*inne.ulice.txt >> $wynik 2> /dev/null<br />
cat $skad/src/*.drogi.txt >> $wynik 2> /dev/null<br />
<br />
cd $skad/src<br />
cat `ls -1 | grep -f $narzedzia/md-filtr | grep -v \.ulice\.txt | grep -v \.drogi\.txt | grep -v \.zakazy\.txt` >> $wynik<br />
if [ $topo = topo ]; then cat *.topo.txt 2> /dev/null >> $wynik; fi<br />
<br />
# SERIA PODMIAN - może to można uprościć, albo zmienić kolejność, ale po co?<br />
# zamiana typów dwubajtowych na trzybajtowe<br />
cat $wynik | sed -e 's/Type=0xe0/Type=0x010e0/g' \<br />
-e 's/Type=0xe1/Type=0x010e1/g' > $temp; mv $temp $wynik<br />
# -e 's/Type=0xf0/Type=0x010f0/g' \<br />
# -e 's/Type=0xf1/Type=0x010f1/g' > $temp; mv $temp $wynik<br />
cd -> /dev/null<br />
<br />
# zmiana typów<br />
# $skrypty/zamien_rampy.pl $wynik 2> /dev/null<br />
# zamień myślniki w nazwach na spacje<br />
sed '/Label/s/-/ /g' $wynik > $temp<br />
# dodaj Label2, jeśli Label ma tabliczkę i nazwę<br />
gawk -f $narzedzia/label2.awk < $temp > $wynik<br />
# mv $temp $wynik<br />
<br />
#if [ -a $skad/src/*.zakazy.txt ]; then<br />
cat $skad/src/*.zakazy.txt >> $wynik 2> /dev/null<br />
#; fi<br />
<br />
if [ $ogonki = tak ]; then<br />
# zamiana 0x2d-f na 0x04-6 (kodowanie 8bit)<br />
sed -e 's/~\[0x2d/~\[0x04/g' -e 's/~\[0x2e/~\[0x05/g' -e 's/~\[0x2f/~\[0x06/g' $wynik > $temp; mv $temp $wynik<br />
fi;<br />
<br />
if [ $NI = nie ]; then<br />
# ucinamy też dzielnice vel drugie miasta<br />
cut -f 1 -d @ $wynik > $temp; mv $temp $wynik; fi<br />
<br />
## granice wspólne i obszar - tylko właściwe (szuka całych słów)<br />
grep -w -A 5 $region $narzedzia/granice.txt >> $wynik<br />
grep -w -A 6 $region $narzedzia/obszary.txt >> $wynik<br />
fi<br />
<br />
wojekbledy=$logi/wojek-bledy-$miasto.wpt<br />
/usr/local/bin/wojek -s $homek/gps/wojek-slownik.txt -k $wojekmapa -d -e $wojekbledy < $wynik > $temp 2> $wojeklog<br />
mv $temp $wynik<br />
if [ `grep -c . $wojekbledy` -eq 4 ]<br />
then rm $wojekbledy<br />
else cat $wojekbledy | mail aldziew -s wojek-$miasto<br />
fi<br />
<br />
### seria podmianek:<br />
# zamiana Miasto= na CityName=, kod pocztowy też<br />
# oraz rozwiązanie sklejania ][ przez dodawanie entera między obiektami<br />
sed -e 's/Miasto=/CityName=/g' -e 's/^KodPoczt=/ZIP=/g' -e 's/^\[POLY/\n\[POLY/g' $wynik > $temp; mv $temp $wynik<br />
<br />
# dla Polski - tłumaczenie ISO-8859-2 na CP1250<br />
if [ `echo $ID | cut -c 1,2` -eq 48 ]; then<br />
# ąB1 śB6 źBC ĄA1 ŚA6 ŹAC šB9 <9C>9C <9F>9F ĽA5 <8C>8C <8F>8F<br />
cat $wynik | tr '\261\266\274\241\246\254' '\271\234\237\245\214\217' > $temp; mv $temp $wynik<br />
fi<br />
<br />
# tłumaczenie CP1250 na bezogonkowe<br />
if [ $ogonki = nie ]<br />
then<br />
cat $wynik | \<br />
sed -e 's/ß/ss/g' | \<br />
tr '<80><8A><8C><8D><8E><8F><99><9A><9C><9D><9E><9F>ŁĽŠŞŽŻłšşźžżŔŕÁáÂâĂăÄäĹĺĆćÇçČčÉéĘęËëĚěÍíÎîĎďĐđŃńŇňÓóÔôŐőÖöŘřŮůÚúŰűÜüÝýŢţß_' \<br />
'ESSTZZtsstzzLAcSrZlasLlzRrAaAaAaAaLlCcCcCcEeEeEeEeIiIiDdDdNnNnOoOoOoOoRrUuUuUuUuYyTtB ' > $temp;<br />
else<br />
# dla wszystkich - tylko zamiana podkreślenia na spację (bo wieloczłonowe nazwy miast brane z nazw plików *.ulice.txt<br />
cat $wynik | tr "_" " " > $temp;<br />
fi<br />
mv $temp $wynik<br />
<br />
zip -qDj $homek/ftp/zrodla/net-$miasto $wynik ; chmod go+r $homek/ftp/zrodla/net-$miasto.zip<br />
<br />
#cp $wynik ~/skrypty/dla-netgena.mp<br />
/usr/local/bin/netgen -b -j -k -R -T$narzedzia/netgen.cfg < $wynik > $temp 2> $netgenlog<br />
# -e0.00002 -p5<br />
mv $temp $wynik<br />
<br />
# KONIEC MONTOWANIA<br />
<br />
if [ $ogonki = nie ]; then<br />
cat $wynik | tr '{}' '()' > $temp<br />
mv $temp $wynik<br />
fi<br />
<br />
# poprawka (podnoszenie) leveli - skrypt Michała Jankowskiego<br />
cat $wynik | $skrypty/podnies-poziom.pl > $temp<br />
mv $temp $wynik<br />
<br />
# topo albo ogonki - koniec roboty bo serwer nie kompiluje kolorowych szlaków<br />
if [ $topo = topo ]; then zip -q -Dj $homek/ftp/zrodla/srt-$miasto $wynik; chmod go+r $homek/ftp/zrodla/srt-$miasto.zip; rm $wyslac; exit; fi<br />
if [ $ogonki = tak ]; then zip -q -Dj $homek/ftp/zrodla/sro-$miasto $wynik; chmod go+r $homek/ftp/zrodla/sro-$miasto.zip; rm $wyslac; exit; fi<br />
if [ $NI = tak ]; then zip -q -Dj $homek/ftp/zrodla/src-$miasto $wynik; chmod go+r $homek/ftp/zrodla/src-$miasto.zip; rm $wyslac; exit; fi<br />
# zwykłe - nie potrzeba źródeł<br />
<br />
# KOMPILACJA<br />
#while [ -a $lockfile ]; do sleep 15s ; done<br />
#touch $lockfile<br />
mkdir img<br />
date > $kompillog<br />
date +%s >> $kompillog<br />
nice -5 /usr/local/bin/cgpsmapper ac -m -e -l $wynik -o $img >> $kompillog<br />
#rm $lockfile<br />
date +%s >> $kompillog<br />
date >> $kompillog<br />
rm img/$ID.img.idx<br />
#sed -e 's/^0095/0097/g' img/$ID.img.idx > $temp; mv $temp img/$ID.img.idx<br />
#chmod go+r img/$ID.img.idx<br />
#if [ -s img/$ID.img.idx ]; then mv img/$ID.img.idx $homek/html/ump/update/idx; else rm mv img/$ID.img.idx; fi<br />
<br />
# sposób: luzem (na boku)<br />
mv $img $naboku/$img<br />
## uwaga to był mv<br />
<br />
# sposób: do zipa<br />
#if [ ! -f $mapatmp ]; then cp $mapa $mapatmp; fi<br />
#zip -qm $mapatmp $img<br />
#rm $mapatmp<br />
rmdir img<br />
<br />
<br />
### SPRAWDZANIE BŁĘDÓW ###<br />
## sprawdzmy tylko dla wersji roboczej... żeby nie wypisywał tych samych błędów trzy razy<br />
if [ $ogonki = tak ]; then exit; fi<br />
if [ $NI = tak ]; then exit; fi<br />
<br />
# $wynik = plik źródłowy<br />
# Warning: Too many nodes (64) in road 102 (~[0x2c]69).<br />
# albo<br />
# Error R009: Limit of 60 segments for a single road exceed.<br />
if [ `grep -c "Warning: Too many" $netgenlog` -gt 0 ]; then<br />
echo -------- Błąd zbyt wielu skrzyżowań >> $wyslac<br />
grep "Warning: Too many" $netgenlog | cut -d " " -f 8 | tr " " "\n" | gawk '{print "RoadID="$0"$"}' > $temp<br />
grep -A 5 -f $temp $wynik | cut -d "," -f 1-7 >> $wyslac<br />
#<br />
grep -A 1 "Error R009: Limit of 60 segments" $kompillog | grep RoadID | tr -d " " | gawk '{print $0"\$"}' > $temp<br />
grep -B 2 -A 9 -f $temp $wynik | cut -d "," -f 1-7 | grep -E "Label|CityName|Data0|--" >> $wyslac<br />
rm $temp<br />
fi<br />
<br />
ilerozjazd=`grep -c "Warning: Road with" $netgenlog`<br />
if [ $ilerozjazd -gt 0 ]<br />
then echo -------- Rozcialem droge z numeracją $ilerozjazd razy >> $wyslac<br />
grep -B 1 "Warning: Road with" $netgenlog >> $wyslac<br />
#else rm $mapka<br />
fi<br />
<br />
#Traffic restriction for unknown points/streets<br />
#Points: 8347 , 8479<br />
#Road: 11817<br />
#Note - traffic restrictions can be created only between routable points.<br />
if [ `grep -c "Traffic restriction for unknown" $kompillog` -gt 0 ]; then<br />
echo Traffic restriction for unknown points/streets >> $wyslac<br />
grep -A 8 RoadID=`grep "Traffic restriction for" -A 3 $kompillog | grep Road: | cut -d " " -f 2`$ $wynik | \<br />
grep Data0 | cut -d "," -f 1-7 >> $wyslac<br />
#| mail aldziew -s "Zakaz się sypnął w $miasto"<br />
fi<br />
<br />
# kompiler<br />
<br />
# BŁĄD cgpsmapper<br />
# RoadID = 4288<br />
# Error R008: Too short road to be routable - coordinates were aligned to same place.<br />
<br />
#Error R010: No data for routing - remove 'ROUTING=Y' from [IMG ID] for non routable maps!<br />
<br />
# /home/users/aldziew/skrypty/UMP-Olsztyn-caly.mp(18185) : Warning W004: Cannot determine type<br />
# of element, type cannot be defined before RGNTYPE.<br />
# (typ 0x0) bo źle wklepano składnię pnt?<br />
<br />
<br />
# Błędy KOMPILATORA<br />
#Distance is below 5.4, NODID1: 2269, NODID2: 2268 RgnID: 629<br />
#Error R011: NODID points cannot be closer than 5.4 meter!<br />
if [ `grep -c "Distance is below 5.4" $kompillog` -gt 0 ]; then<br />
echo -------- Za blisko węzły >> $wyslac<br />
grep "Distance is below 5.4" $kompillog | cut -d " " -f 10 | tr " " "\n" | gawk '{print "RoadID="$0"$"}' > $temp<br />
grep -B 2 -A 9 -f $temp $wynik | cut -d "," -f 1-7 | grep -E "Label|CityName|Data0|--" >> $wyslac<br />
rm $temp<br />
# =?iso-8859-2?Q? i na końcu ?=<br />
fi<br />
<br />
# UMP-Kalisz-caly.mp(9411) : Error E019: Street cannot intersect with itself! Split this element!<br />
<br />
<br />
#Warning: Road 544 (~[0x2e]41) passes through node 2099 (50.46705,17.34140) more than once.<br />
if [ `grep -c "Warning.*more than once" $netgenlog` -gt 0 ]; then<br />
echo -------- Za duże zapętlenie >> $wyslac; grep "more than once" $netgenlog >> $wyslac<br />
fi<br />
<br />
# cannot parse coordinates ?<br />
<br />
# /home/users/aldziew/skrypty/UMP-Zamosc-caly.mp(29114) : Error E038: Type of element cannot be 0.<br />
if [ `grep -c "Error E038" $kompillog` -gt 0 ]; then<br />
echo -------- Linia typ zero >> $wyslac<br />
for linia in `grep "Error E038:" $kompillog $wynik | cut -d "(" -f 2 | cut -d ")" -f 1`; do<br />
head -n $linia $wynik | tail -n 3 | cut -d "," -f 1-8 >> $temp<br />
done<br />
cat $temp >> $wyslac<br />
fi<br />
<br />
<br />
# Błędy NETGEN<br />
# Restriction: TYTUŁ. Number of roads connecting node 3398 with node 3390 (0) is other than 1.<br />
ilerozjazd=`grep -c "Restr[[:alnum:]]*:" $netgenlog`<br />
if [ $ilerozjazd -gt 0 ]<br />
then echo -------- Restrykcje sztuk $ilerozjazd się nie wpasowało >> $wyslac; grep "Restr[a-z]*:" $netgenlog >> $wyslac<br />
#else rm $mapka<br />
fi<br />
<br />
# UMP-Szczecin-caly.mp(119665) : Warning W005: Error reading data.<br />
if [ `grep -c "Warning W005:" $kompillog` -gt 0 ]; then<br />
echo -------- Dziwna pomylka >> $wyslac<br />
echo > $temp<br />
for linia in `grep "Warning W005:" $kompillog | cut -d "(" -f 2 | cut -d ")" -f 1`; do<br />
head -n $linia $wynik | tail -n 3 | cut -d "," -f 1-8 >> $temp<br />
done<br />
cat $temp >> $wyslac<br />
fi<br />
<br />
if [ -s $wyslac ]; then<br />
(<br />
cat <<EOT<br />
MIME-Version: 1.0<br />
Content-Type: text/plain; charset="iso-8859-2"<br />
Content-Transfer-Encoding: 8bit<br />
From: bledy <bledy@ump.waw.pl><br />
To: $komumaile<br />
Reply-To: aldziew@ump.waw.pl<br />
Subject: [blad] Bledy w UMP-$miasto<br />
<br />
EOT<br />
cat $wyslac<br />
) | /usr/sbin/sendmail -t<br />
fi<br />
<br />
rm $wyslac<br />
chmod go+r $wynik 2> /dev/null<br />
#mv $wynik $homek/skrypty<br />
<br />
== generuj indeksy ==<br />
też trywialny<br />
#!/bin/sh<br />
<br />
homek=$HOME<br />
cvslogstat=/tmp/cvslog-stat.$$<br />
tmp=/tmp/cvslogtmp.$$<br />
skrypty=$homek/skrypty<br />
html=/home/services/httpd/html/ump<br />
wynik=$html/cvslog.html<br />
<br />
#lockfile=/tmp/cgpsmapper.pid<br />
#while [ -a $lockfile ]; do sleep 15s ; done<br />
<br />
cd $homek/cvs<br />
#cvs -d:pserver:aldziew@localhost:/home/cvsroot log -d 31day -d now > $cvslogstat 2> /dev/null<br />
cvs -d:pserver:aldziew@localhost:/home/cvsroot log -d "> `date -d "1 month ago" "+%F"`" > $cvslogstat 2> /dev/null<br />
#cd - > /dev/null<br />
<br />
gawk '{sub(/aldziew;/,"Alf/red/"); \<br />
sub(/blackpeter;/,"BlackPeter") \<br />
''itd. itd.''<br />
sub(/Zachu;/,"Tomek_Z") \<br />
sub(/Jarek_K;/,"Jarek_Ko") \<br />
;print}' $cvslogstat > $tmp<br />
## pamiętaj nie dawać spacji w nazwach !<br />
mv $tmp $cvslogstat<br />
<br />
rm -f $html/logi/*<br />
gawk -f $skrypty/cvslog_filter.awk $cvslogstat > $wynik<br />
chgrp http $html/logi/*<br />
chmod g+r $html/logi/*<br />
rm $cvslogstat</div>
Alf red