livechecking ...

Peter Danecek Peter.Danecek at bo.ingv.it
Thu Dec 12 09:39:28 PST 2013


Hi all,

I have some questions concerning livecheck. 

(1) livecheck default behaviour

I started introducing the livecheck part only recently (after having found in other ports) and am now going back to older ports and realise that if you did not care before, it most like would leave the port with broken livechecking.

From the Guide I understand that the "fallback default" is `freecode`. Is this what works for most ports  out of the box? Or have all these ports now an explicit livecheck section?

I now started using something like the following and so far it works in most cases. The assumption here is, that newer versions will go into a similar download directory (page) as where the current version comes from.

{{{
livecheck.type      regex
livecheck.url       [lindex ${master_sites} 0]
livecheck.regex     ">${_name}-(\\d+(\\.\\d+)+)\\${extract.suffix}<"
}}}

Wouldn't it make sense to something similar into the default `livecheck` sequence? 

However, implementing it exactly this way has one problem. When mirrors (predefined site lists) are used in `master_sites` code above will fail. It would be necessary to expand to the list provided by "mirror_sites.tcl" first.


(2) livecheck only for main port

Recently, a committer added the following code block to one of my ports. 

if {${name} ne ${subport}} {
[...]
    livecheck.type      none
} else {
    livecheck.type      regex
    livecheck.url       https://pypi.python.org/pypi/${real_name}
    livecheck.regex     ${real_name}-(\[0-9.\]+)${extract.suffix}
}

This disables livechecking for subports and enables it only for the main port. I am wondering why this is useful. I usually just added livechecking at the end, observed no problems so far.


(3) For the globus ports it would be very useful to have the possibility to check a set of URLs (actually 2) extract the pattern according to the regex, concat the results and evaluate for the version in the in the usual way. I am thinking of a specification of this kind (in analogy to licences):

{{{
livecheck.type      regex
livecheck.url       { http://www.globus.org/ftppub/gt5/5.2/5.2.5/packages/src/ \
                      http://www.globus.org/ftppub/gt5/5.2/5.2.5/updates/src/  }
livecheck.regex     ">${_name}-(\\d+(\\.\\d+)+)\\${extract.suffix}<"

Would something like this be TOO difficult to implement?
Where should I go and look to get some better idea?

Thanks a lot!
~petr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1762 bytes
Desc: not available
URL: <https://lists.macosforge.org/pipermail/macports-dev/attachments/20131212/3d2df9e2/attachment-0001.p7s>


More information about the macports-dev mailing list