Reinplace
Craig Treleaven
ctreleaven at cogeco.ca
Mon Apr 2 10:39:26 PDT 2012
At 12:31 PM -0500 4/2/12, Ryan Schmidt wrote:
>On Apr 1, 2012, at 08:53, Craig Treleaven wrote:
>> At 10:20 AM -0400 3/31/12, Jeremy Lavergne wrote:
>>> > cd cd
>>>"/opt/local/var/macports/build/_Users_craigtreleaven_MacPortsTemp_Myth.25/mythtv/work/mythtv-v0.25-rc-0-g92f7d1f/mythtv"
>>>> sudo find . -name "Makefile" -exec sed -i '' 's/ -L / /g' {} \;
>>>>
>>>> This is what MacPorts Reinplace extension is for, right? Would
>>>>this be the right syntax?
>>>>
>>>> post-configure {
>>>> reinplace 's/ -L / /g' ${worksrcpath}/Makefile
>>>> }
>>>>
>>>> Reinplace will do a recursive search from the specified
>>>>directory on down, right?
>>>
>>> reinplace will only operate on the files you give to it. You need
>>>to give it a complete list or you might use it in conjunction with
>>>fs-traverse (see `man portfile`).
>>>
>>
>> I'm struggling with this. Did I mention I'm new to MacPorts AND
>>tcl? ;) What I've got so far is this:
>>
>> post-configure {
>> fs-traverse myfile ${configure.dir} {
>> if { [ file tail $myfile ] == "Makefile" } {
>> # ui_info "Removing any spurious -L
>>from ${myfile}"
>> reinplace "s/ -L / /g" ${myfile}
>> }
>> }
>> }
>>
>> The trouble is that it does the reinplace on less than half the 20
>>or so files that need it.
>
>Since you've subsequently noticed the same problem when running
>"find", I suspect your regular expression is not correct. I will try
>to build the port later and see if I can figure out what's going on.
Maybe that's the problem--it is not supposed to be a "regular
expression"; it is a literal string of 'space-hyphen-capital
ell-space'. Does hyphen have special meaning in a regex?
Craig
More information about the macports-dev
mailing list