ASSP out of date

Ryan Schmidt ryandesign at macports.org
Thu Nov 6 01:52:39 PST 2008


On Nov 6, 2008, at 03:45, Scott Haneda wrote:

> This language is tcl I take it, which I have no experience with.

Yes, it's tcl. I didn't have much experience with it until MacPorts  
either. It's not too hard to learn. At its most basic, which suffices  
for many portfiles, it reads like a config file, which is a nice  
simplification. When you need more power, it's there.


> Is this acceptable in my testing:
> puts "+++++++OTHER DEBUG: worksrcdir: ${worksrcdir}"
>
> Seems to work like print or echo, I could not get the example  
> posted to this list to work:
> *You can "ui_info ${worksrcpath}" or "return -code error $ 
> {worksrcpath}" for example.*

Sorry, I forgot, ui_info stuff is only printed in debug mode. You  
could use ui_warn instead. return -code error "something" should work  
however.


> The old portfile had this line in it:
> set assp_base	${prefix}/var/assp
>
> If that is just setting a variable as I suspect it is, why, and  
> what is later needing it, how does it now since it is prepended  
> with 'assp_' which is specific to this portfile.

It is simply a variable called "assp_base". There is nothing prepended.

The variable is used in several places in the existing assp portfile.  
You can search the file for "assp_base" to see where.


> For some reason, someone in the past decided it was a good idea to  
> remove mac line endings.  While I am not sure it is needed now, for  
> 5 lines or so, it probably can not hurt.

It wasn't removing Mac line endings. It was converting DOS line  
endings (\r\n) to UNIX (\n) by removing \r.

> Is there a way to do this recursively?  There are alerady a ton of  
> new files, I would like to recursively hit .htm, .dat. and .txt and  
> be done with it:
>
> pre-patch {
> 	foreach file [glob -directory ${worksrcpath} *.pl *.sh docs/*.htm  
> *.txt rc/*.dat] {
> 		reinplace "s%\r%%" $file
> 	}
> }

fs-traverse is the MacPorts way of recursively finding files in a  
hierarchy. Search the existing ports for "fs-traverse" to see how  
it's used.


> In the past, we had this issue where no one knew why they were  
> removing the spaces from the file name, and I am about to do the  
> same, as I can not get it to work.
>
> Here is the error message, right where the first space in the file  
> name is
> DEBUG: cp: /tmp/Legacy: No such file or directory
>
> #configure {
> #	reinplace "s%^#!.*perl%#![binaryInPath perl]%" \
> #		${worksrcpath}/assp.pl \
> #		${worksrcpath}/move2num.pl \
> #		${worksrcpath}/rebuildspamdb.pl \
> #		${worksrcpath}/repair.pl \
> #		${worksrcpath}/stat.pl
> #	reinplace "s%/usr/local/assp%${assp_base}%" \
> #		${worksrcpath}/docs/Legacy - ASSP Documentation.htm \
> #		${worksrcpath}/stats.sh \
> #		${worksrcpath}/assp.pl \
> #		${worksrcpath}/rc/assp.dat \
> #		${worksrcpath}/rc/start.dat \
> #		${worksrcpath}/rc/stop.dat
> #	reinplace "s%/usr/local%${prefix}%" \
> #		${worksrcpath}/Legacy - ASSP Documentation.htm
> #}
>
> So, I have tried quotes, and escapes, so far, no luck.

Perhaps reinplace doesn't like paths with spaces. I didn't know that.  
I guess that could be a bug that we could fix.


> Does tcl not have a multi line comment?

Googling for "tcl multiline comment" the first result states "TCL has  
no native multi-line comment format" but it does show a workaround  
you can try if you want:

http://www.rosettacode.org/rosettacode/w/index.php?title=Comments


> Thanks, I will start working on the other suggestions.  Sorry about  
> this learning curve I am on here.




More information about the macports-users mailing list