>>> Is there documentation of the mp-specific commands >>> somewhere, that I overlooked? Things like "system"? >>> I found the definition in macports/base/src/pextlib1.0/Pextlib.c, >>> eventually, but it is still a bit uncomfortable. In this case e.g. >>> I wanted to see if it returns output from stdout and >>> exit code. > > I think this should be documented in this section in the guide, but it is > not. > <http://guide.macports.org/#reference.tcl-extensions> > > What is missing besides 'system'?
There is this init function in Pextlib.c: http://trac.macports.org/browser/trunk/base/src/pextlib1.0/Pextlib.c#L1167 In that all command named get registered with the appropriate function pointers. I think a few are missing from the guide. flock, readdir, sedstr, mkstemp, mktemp, fs-traverse, filemap, rpm-vercomp, compat, umask, sudo, mkfifo, unixsocketpair, mkchannelfromfd, pipe, curl, symlink, unsetenv, readline, rl_history, various uid and gid related ones (of which some _are_ mentioned in the guide), tracelib. Did I miss anything? Florian > >> I'm not aware of documentation. I generally just look at other ports or >> parts of base that do what I want and copy it. > > Looking at other Portfiles is always possible, but it is not a replacement > for documentation. > >> If you want to get output from the command, use exec. For example, see >> the nspr port which does: >> >> set mylibs [exec ${destroot}${prefix}/bin/nspr-config --libs] >> >> To catch errors you can use catch, like src/port1.0/portutil.tcl does in >> MacPorts base: >> >> if {[catch {exec cp $tmpfile $file} error]} { >> global errorInfo >> ui_debug "$errorInfo" >> ui_error "reinplace: $error" >> file delete "$tmpfile" >> return -code error "reinplace copy failed" >> } > > But exec and catch are usual Tcl stuff, which are documented in 'man n exec' > and 'man n catch'. > > MacPorts adds its own commands for use in Portfiles with Pextlib and they > should be documented. > > Rainer > -- Florian Ebeling [EMAIL PROTECTED] _______________________________________________ macports-dev mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev
