Adapter

kura@serek.arch.pwr.wroc.pl kura w serek.arch.pwr.wroc.pl
Wto, 16 Lis 1999, 01:47:33 CET


Do modułu SPECS wrzuciłem taki mały automat, który odwala część roboty
przy adaptowaniu speca z innej dystrybucji.

Adapter w tej chwili:
+ wstawia pierwszą linię ze słowami kluczowymi CVSa (chyba, że już jest)
+ robi ładne odstępy w preambule ;-)
+ ustawia BuildRoot
+ dodaje '-q' do %setup (chyba, że już jest)
+ zamienia 'mkdir -p' na 'install -d'
+ wywala parametry -m, -g i -u z 'install' (razem z argumentami)
+ usuwa z %install linie zaczynające się od chmod, chown lub chgrp
+ zamienia wszystkie bzip2 i gzip na 'gzip -9nf'
+ ustawia %defattr
+ wstawia słowa kluczowe CVS na początku %changelog'a

Wady:
- nie wstawia odpowiedniego Group(pl) - nie mam jeszcze pomysłu jak to zrobić
- nie zamienia kolejnych linii z 'install -d' czy 'gzip -9nf' na jedną
  długą (albo kilka pooddzielanych backslashami) - spróbuję zrobić jutro
- nie przerabia speca na używanie makr - muszę się jeszcze zastanowić jak
  to sprytnie rozwiązać
- nie działa 'adapter *.spec' - trzeba po kolei:
  for i in *.spec; do adapter $i > $i.tmp; mv $i.tmp $i; done

Cały skrypt ma 2.5 kilo i jest napisany w AWKu (testowałem na mawk i gawk).
Licencja to oczywiście GPL. Kogoś z szybkim podłączeniem do CVS prosiłbym
o zaaplikowanie adaptera na wszystkie spec'e (tylko niech go ktoś
najpierw przejży B-) ). Wszystkich proszę o komentarze, uwagi, poprawki
i co tam jeszcze.

PS I, pliss, poprawcie moje komentarze - wypociłem je po angielsku, ale
   na pewno jest masa błędów :-(
-- 
Michał 'kura' Kuratczyk <kura w pld.org.pl>
GC{S,M} d- s+:+ a18 C+++ UL++ P L+++ E---
W N++ w-- O- PGP t-- X+ b- DI+ G e- h* y?



Więcej informacji o liście dyskusyjnej pld-devel-pl