[voikko-devel] Korjaus suomi-malagan Makefileen
Harri Pitkänen
hatapitk at cc.jyu.fi
Tue May 15 22:58:18 EEST 2007
On Tuesday 15 May 2007, Anssi Hannula wrote:
> Nykyisellään suoritettaessa esimerkiksi "make -j5 voikko" käynnistyy
> useita samanaikaisia python-prosesseja, koska make ei tiedä, että yksi
> suorituskerta luo kaikki lex-tiedostot.
>
> Liitteenä tuon korjaava patchi.
Kiitos. Korjasin tuon, tosin hiukan eri tavalla. Ehdottamasi korjaus nimittäin
aiheuttaa ongelmia, jos make suoritetaan toisen kerran
peräkkäin: "generate-lex" ei ole todellinen tiedosto, jolloin make ryhtyy
turhaan generoimaan sanastoa uudestaan. Kun sen sijaan tehdään tyyliin
voikko/generate_lex.flag: vocabulary/joukahainen.xml vocabulary/flags.txt \
voikko/generate_lex.py voikko/voikkoutils.py voikko/hfconv.py
python voikko/generate_lex.py
touch $@
$(patsubst %,voikko/%.lex,$(VOIKKO_LEX_FROM_XML)): voikko/generate_lex.flag
niin kaiken pitäisi mennä oikein. Toivottavasti.
Huomasin tuossa samalla pienen ikävän jutun: olin tehnyt yhden bugikorjauksen
(tyyppiä "saksalais-roomalainen" oleville sanoille) tiedostoon voikko/mor.inc
enkä tiedostoon common/mor.inc kuten olisi pitänyt. Tämähän johti siihen,
että testit toimivat oikein omalla koneellani, mutta korjaus ei koskaan
päätynyt versionhallintaan, eikä siten myöskään lopulliseen
lähdekoodipakettiin. Huomasin asian vasta nyt, kun puhdistin työhakemistoni
tämän Makefile-korjauksen testausta varten. Kannattanee nähtävästi ainakin
välillä käyttää "make clean"-komentoa kehityksen lomassa, ettei tällaisia jää
huomaamatta.
Onneksi bugi ei ole erityisen vakava, tosin ikävä siinä mielessä että nuo
sanat tunnistuivat oikein versiossa 0.7.4. Jos haluatte tämän
jakelupaketeissa korjata, niin korjaus on siis seuraava:
--- trunk/suomimalaga/common/mor.inc 2007-05-15 13:42:00 UTC (rev 1424)
+++ trunk/suomimalaga/common/mor.inc 2007-05-15 19:38:01 UTC (rev 1425)
@@ -110,6 +110,9 @@
if ($i = 1) then
return yes;
end;
+ if $vasen.$i.vokaaliehto = no then
+ return yes;
+ end;
if (vokaali(first($sana)) and first($sana) = last($vasen.($i-1).alku))
then
return yes;
else
Samalla tuli sitten todetuksi, että ilmeisesti kukaan muu kuin minä ei
käyttänyt tuota voikkotest-ohjelmaa viimeisenä viikkona ennen julkaisua,
koska tuo yllä oleva korjaus oli olemassa vain omalla koneellani, ja se olisi
tarvittu kaikkien testitapausten läpimenoon ...
Harri
More information about the devel
mailing list