Problem with liveupdate (zlib)

Ryan Schmidt ryandesign at macports.org
Sat Jul 14 20:47:54 PDT 2007


On Jul 11, 2007, at 10:41, Simon Ruderich wrote:

> I'm having some problems with liveupdate.
>
> The first was to find some documentation about it. I only found it in
> "man portfile" and it wasn't very precise (for example regarding the
> regex syntax).

That's the only place I know of where it's documented. I expect that  
the regex syntax is standard PCRE syntax, but things like slashes and  
other special symbols need to be escaped from the TCL interpreter.


> The second is even regex of some Portfiles in the repository are not
> working. For example the zlib port (and others). It uses this regex:
>
> "<B> *${name} (\\d+(?:\\.\\d+)*)</B>"
>
> But it isn't working and I don't know why; it should match the text on
> the webpage.
> After I changed it to the following it worked:
>
> "<B> *${name} (\[0-9\]+(?:\\.\[0-9\]+)*)</B>"
>
> Is \d and such special characters allowed or not? I'm not sure  
> about it.

I'm sorry, I didn't see your message and already fixed the zlib  
liveupdate. I changed it to this:

livecheck.regex "${name}-(\\\\d+(?:\\\\.\\\\d+)*)\\\\.tar\\\\.bz2"

I'm having a hard time figuring out, however, why I need *4* slashes  
every time PCRE syntax would lead me to expect to need only one. One  
doubled slash will be to escape it from the TCL string, but why it  
needs to be doubled again, I'm not sure.

I have a sneaking suspicion that something in the livecheck processor  
changed between MacPorts 1.4.42 and 1.5.0 to cause this, because I  
had to fix the livecheck of several of my ports recently.


> PS: I attached a patch for zlib to fix this problem. Also added  
> another
> patch to fix some whitespace and other minor issues in the zlib
> Portfile. CCing one of the maintainers.

Landon is the true maintainer of zlib. I only jumped in because I  
thought Landon had abandoned the port, but it turned out he hadn't.


I say it's bad form to do both whitespace changes and other changes  
in one commit. Makes it difficult to see later what functional  
changes were made, when a straightforward diff shows every line to  
have changed because of whitespace adjustments. Ideally, each change  
should be committed separately.


Also, whitespace is currently something of a personal preference of  
the maintainer. In fact, Landon has specifically complained before  
when the whitespace of the zlib port was changed without his consent.  
See:

http://trac.macosforge.org/projects/macports/changeset/23414

We should leave a port's whitespace up to its maintainer.


And, your diffs are difficult to read because they are in context  
format (well, the "whitespace and other minor issues" one is), and  
because they're pasted into the email, which has probably reformatted  
them some. Please submit unified diffs instead, ideally attached to a  
ticket in Trac, or if it must be by email, then as an attachment, not  
inline.






More information about the macports-dev mailing list