Highlight feature of DP: livecheck

Paul Guyot <[email protected]>
Newsgroups gmane.os.opendarwin.darwinports
Message-ID <[email protected]>
Hi all,

This is the second feature of DP I would like to stress on. Livecheck.

This feature is meant for developers but users can take advantage of  
it, too.
With this feature, developers (and users) can track updates of ports.

Port is invoked with the livecheck target:
sudo port livecheck mkvtoolnix
sudo port livecheck maintainer:[email protected]

This doesn't output anything if the port is updated, it returns a  
warning if livecheck found a newer (actually different) version on  
the Internet.

For example:
avr-binutils seems to have been updated (port version: 2.16.1_5, new  
version: 2.16.1_6)

The livecheck method consists in checking the Web for information  
about the port and extracting the current version of the port from a  
web page.

If nothing is mentioned in the port, livecheck will:
- check sourceforge project file releases if the software is  
obviously hosted on sourceforge
- check freshmeat otherwise

There is a special case for the perl group. The versions of ports  
based on the perl group (most ports in the perl category) are tested  
against the page on CPAN.

In many cases, the software ported isn't on freshmeat or freshmeat is  
lagging. Developers of such ports can then customize the livecheck by  
making modifications to the portfile. The full details are described  
in the portfile(7) man page, but here is a couple of examples:

mkvtoolnix version is found on the web page.
# regular expression-based check (the expression is matched against  
each line)
livecheck.check		regex
# url of the web page to retrieve.
livecheck.url		http://www.bunkus.org/videotools/mkvtoolnix/source.html
# expression used to retrieve the version. The first match is the  
current version of the software.
livecheck.regex		${name} (\[0-9.\]+)

#keychain port uses a check against the md5 sum of the home page  
because the page never changes except when there is a new release.
livecheck.check      md5
livecheck.url        ${homepage}
livecheck.md5        07a3ad8a4a7457f581c6fd134ca7d522

Paul
-- 
Ministre ultraplénipotentiaire en disponibilité.
Mobile. Sans baignoire fixe.
http://www.kallisys.com/
http://www-poleia.lip6.fr/~guyot/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.