[Pkg-zsh-devel] How to proceed with zsh's watch file?

Bart Martens bartm at debian.org
Fri Dec 21 08:26:02 UTC 2012


Axel,

On Fri, Dec 21, 2012 at 02:51:45AM +0100, Axel Beckert wrote:
> Hi,
> 
> our current watch file looks like this:
> 
> version=3
> opts=dversionmangle=s/~ds\d+$// \
> ftp://ftp.zsh.org/pub/zsh-([\d.]+)\.tar\.bz2
> 
> For me, that's a perfectly fine watch file.

I have now tested the watch files included in zsh 4.3.17-1 and zsh 5.0.0-2
again, and they currently produce valid results, so I have deleted the separate
watch files.

> 
> Nevertheless Bart Martens (Cc'ed) suggests to use this one:
> 
> version=3
> opts=dversionmangle=s/~ds\d+$//,uversionmangle=s/-(doc)$/~$1/ \
> http://sf.net/zsh/zsh-(\d.*)\.(?:tgz|zip|tar\.(?:gz|bz2|xz))
> 
> (from http://qa.debian.org/cgi-bin/watchfile.cgi?package=zsh)

The included watch files probably produced errors or wrong results at that
time.  For example, maybe the ftp server was temporarily down.

> 
> I strongly disagree to drop the zsh.org URL from the watch file and
> I'm also a little bit surprised that Bart favours the SourceForge
> mirror over upstream's FTP server and drops that one completely.

The homepage http://www.zsh.org/ suggests sourceforge for "global".  If the ftp
server was down at that time, then writing a new watch file based on
sourceforge was the obvious choice.

> 
> Additionally I think his uversionmangle is just wrong: zsh-doc
> tarballs are nothing which deserves the use of a "~". And they are not
> relevant for the Debian package as we generate our documentation from
> sources anyway.

This would produce 5.0.0-doc :

  version=3
  http://sf.net/zsh/zsh-(\d.*)\.(?:tgz|tbz2|tar\.(?:gz|bz2|xz))

The uversionmangle pushes the doc results away, so this produces 5.0.0 :

  version=3
  opts=uversionmangle=s/-(doc)$/~$1/ \
  http://sf.net/zsh/zsh-(\d.*)\.(?:tgz|tbz2|tar\.(?:gz|bz2|xz))

This also produces 5.0.0 but if upstream would start using versions with dashes
then it would not select them :

  version=3
  http://sf.net/zsh/zsh-(\d[^-]*)\.(?:tgz|tbz2|tar\.(?:gz|bz2|xz))

> I also don't see why we should change from [\d.]+ to \d.* for version
> matching. The current rule is stricter. Maybe he changed it to match
> the doc tarballs, too, or such.

Of course [\d.]+ is more strict.  If upstream would start using versions with
dashes or letters then these versions would not be selected.

> The only advantage (or disadvantage depending on the point of view) of
> the SF mirror is IMHO that PWS usually uploads new release tar balls
> to SF only after he made them available for last-minute testing on
> ftp.zsh.org, so they show up on the SF mirror network slightly later.
> But the difference is usually just hours.

The ftp server is marked as "master site" on the homepage, while sourceforge is
not, so one could argue that the ftp server is preferred.  If it's not down.

> E.g. 5.0.1 is already up on both sites.

There's also a delay from Debian's copying information from sourceforge, so
using http://sf.net/zsh/zsh-... sometimes selects old results.

> So in case we would like to use SF's mirror in addition to the
> official archive in the watch file, I suggest to use a watch file like
> this:
> 
> version=3
> opts=dversionmangle=s/~ds\d+$// \
> ftp://ftp.zsh.org/pub/zsh-([\d.]+)\.tar\.bz2
> opts=dversionmangle=s/~ds\d+$// \
> http://sf.net/zsh/zsh-([\d.]+)\.tar\.(?:gz|bz2|xz)

I have tested this now, and it looks good.

> Any opinions or comments?

Yes.  You are free to use or ignore the separate watch files.  The message on
the PTS automatically disappears when newer uploads contain watch files
producing valid results.  Package maintainers are welcome to contact me about
the separate watch files I wrote for their packages.

Regards,

Bart Martens



More information about the Pkg-zsh-devel mailing list