[BSD] REINPLACE_CMD vs. SED
Gabor Kovesdan
gabor at FreeBSD.org
2007. Aug. 22., Sze, 16:47:44 CEST
Tátrai_József escribió:
> Sziasztok,
>
> A következő érdekes problémával találtam szembe magam: egyes portok
> forditásakor a make kiadása után megáll a folyamat egy '-e: not found'
> üzenettel.
>
> Addig tureszoltam, amig találtam egy megoldást, ami szépen működik mindenhol:
> a Makefile-okban a REINPLACE_CMD-t le kell cserélni SED-re.
> Ez önmagában még nem gond, ha egyesével kell forditgatni, de mondjuk egy
> frissitést ez teljesen lehetetlenné tesz ez a módszer.
>
> Van valakinek valami ötlete,hogyan lehetne ezt valami globális módon
> átirni,ohgy ne kelljen mindig portonként megadni?
>
> make -V SED
/usr/bin/sed
> make -V REINPLACE_CMD
/usr/bin/sed -i.bak
Jelenleg ennyi a különbség a kettő között, a szokás az, hogy ha fájlokat
inplace editelünk, akkor az utóbbit, ha meg pipe-olunk a sed-nek, akkor
az utóbbit használjuk, igazából történetileg volt vmi jelentősége,
asszem régebbi FreeBSD 4.X sed-je nem tudott inplace editelni, ezért a
USE_REINPLACE beállítása esetén behúzta dependencyként a megfelelő sed
verziót és arra állította a REINPLACE_CMD-t, de a jelenleg támogatott
FreeBSD verziókon már működnie kell mindennek úgy, ahogy van. Esetleg
egy régi verziót használsz?
A make.conf-ban így tudod beállítani:
REINPLACE_CMD=/usr/bin/sed
vagy REINPLACE_EDIT= ${SED}
Üdv,
--
Gabor Kovesdan
FreeBSD Volunteer
EMAIL: gabor at FreeBSD.org .:|:. gabor at kovesdan.org
WEB: http://people.FreeBSD.org/~gabor .:|:. http://kovesdan.org
További információk a(z) BSD levelezőlistáról