port downloads file when livecheck.check = moddate
Paul Guyot
pguyot at kallisys.net
Sun Jul 15 22:50:53 PDT 2007
On Jul 16, 2007, at 3:26 AM, Ryan Schmidt wrote:
> For ImageMagick I had this livecheck defined:
>
> livecheck.check moddate
> livecheck.url ftp://ftp.imagemagick.net/pub/${name}/$
> {name}.tar.bz2
>
> When the portfile was up to date, "sudo port livecheck ImageMagick"
> returned quickly. However, when a new version of ImageMagick was
> available, that command took awhile, and I could see from my
> network traffic meter that it seemed to be downloading the entire
> archive before telling me the port was outdated.
>
> Why is MacPorts downloading the file I specified, when I only
> wanted it to check its modification date -- a check which MacPorts
> is obviously already doing correctly, else if would be downloading
> the archive every time I check. But it's not; it's only downloading
> it when its modification date has in fact changed.
This livecheck is based on Pextlib "curl isnewer" command, which
fetches a file with libcurl by saying please do not fetch it if what
you have is older than this date, which is something that only exists
with HTTP If-Modified-Since header and there is no FTP equivalent. At
least nothing is saved on disk there because the target file is /dev/
null. Using additional libcurl APIs, we might be able to improve this
and avoid an FTP fetch (or even a full HTTP fetch when the resource
is newer).
Paul
--
http://paul-guyot.com/
More information about the macports-dev
mailing list