automake, było - filon: SPECS fetchmail.spec,1.157,1.158
wrobell
wrobell w ite.pl
Pon, 11 Mar 2002, 01:22:51 CET
On Sun, Mar 10, 2002 at 09:34:38PM +0100, Paweł Sakowski wrote:
> W liście z nie, 10-03-2002, godz. 21:25, Tomasz Kłoczko pisze:
[...]
> > Jeżeli prostota tego wariantu nie jest jasna w porownaniu do dowolnego
> > innego to przyznam że nie ma już o czym dalej gadać.
>
> Zmiana jednej linijki w specu jest prostsza, niż grzebanie w programach.
> O poprawnym długookresowym rozwiązaniu dyskutować (z braku kompetencji)
> nie będę.
Problem w tym, że takich spec-y zdaje się, że jest więcej.
Nie śledziłem dokładnie wątku, więc niech ktoś mnie
ewentualnie poprawi.
Wiele źródeł programów przychodzi z plikami, które pochodzą
od starszego niż my mamy automake'a. Ponieważ nakładamy
jakieś patch-e na te źródła musimy wygenerować na nowo
configure i Makefile.in. Powinno wystarczyć wywołanie
'automake' (oprócz autoconf-a i reszty), ale nie ma tak
dobrze ponieważ do wygenerowania plików Makefile potrzebne
będą (może tylko sama ich obecność) pliki depcomp i compile
których nie ma bardzo często w źródłach interesujących nas
programów. W związku z tym trzeba wywołać 'automake -a -c'.
Tak było dotychczas. Problem w tym, że niektórzy z nas (ja!
ja! filon dzięki!) chcą mieć port na athlona. Z automake
przychodzą pliki config.*. Są one też w źródłach programów
- niestety przeterminowane. Samo 'automake -a -c' nie
wystarczy, jest potrzebna opcja -f, która spowoduje, że
nawet pliki, które istnieją zostaną zastąpione nowszymi
(-a == --add-missing). Niestety -f nie powoduje kopiowania
plików config.*.
filon proponuje
cp -f /usr/share/automake/config.* .
Niestety nie jest to zbyt dobre rozwiązanie. To tak
jakbyśmy zamiast 'automake -a -c' robili
cp -f /usr/share/automake/depcomp .
cp -f /usr/share/automake/compile .
cp -f /usr/share/automake/py-compile .
cp -f /usr/share/automake/install-sh .
Jest to złe rozwiązanie, ponieważ niektóre tak kopiowane
pliki mogą zmienić nazwę lub zniknąć (np.: obydwa config.*
zostaną zunifikowane w jeden skrypt config - to tylko
przykład) przy zmianie wersji automake'a i wtedy czeka nas
kupa roboty z poprawianiem speców.
Jeśli 'automake -a -c' dodaje do źródeł programów część
własnych plików to z opcją -f powinien nadpisywać je
wszystkie a nie tylko część. Ja bym to traktował jako błąd w
automake'u i załatał na miejscu filona, chyba, że inne mają
zdanie autorzy automake'a.
Jeśli coś rozumiem źle lub podałem niezgodnie z faktami, to
bijta byle równo puchło i symetria zachowana była.
wrobell <wrobell w ite.pl>
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: nie znany
Type: application/pgp-signature
Size: 232 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20040626/eeda23f5/attachment.bin
Więcej informacji o liście dyskusyjnej pld-devel-pl