[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