Re: Uscan: watch and changelog
On Friday, 29 March 2024 17:39:04 CET c.buhtz@posteo.jp wrote:
>
> On 2024-03-29 16:23 Carsten Schoenert <c.schoenert@t-online.de> wrote:
> > You need to use "opts=mode=git, ...", see the man page of uscan.
>
> Are you sure. For example this watch file do not use "opts="
> https://sources.debian.org/src/backintime/1.4.3-1/debian/watch/
If I look at your releases page, I see that you have one release that you will
probably be wanting to package:
https://codeberg.org/buhtz/hyperorg/releases
However, uscan seems to be driven by the debian/changelog and debian/watch
files, with the former supplying the version or release to be searched for,
and the latter specifying the mechanism by which the searching will occur.
So, I imagine that your debian/changelog would need an entry starting with
something like this:
hyperorg (0.1.0-1) unstable; urgency=low
If you hadn't tagged a release in the repository, then you would probably have
to invent a suitable version number based on the changeset identifier.
Something like this perhaps:
hyperorg (0.1.0+git20240329.4a77811214-1) unstable; urgency=low
Here, I've used the changeset identifier of 4a77811214 which is the latest
commit that I can see, and that hopefully serves to illustrate the principle.
I suppose that the watch file would then need to use the "mode=git" option.
[...]
> > And uscan will find the most recent version matching the regexp.
>
> I see 3 different regex patterns in this line. Why?
I must admit to just copying the recommended patterns for my packaging
exercises, largely because although I can happily explore the process of
downloading a Web page - in your case, the one mentioned above - and parsing
the HTML to get at the download links, I assume that someone has already done
that hard work.
But to answer your question, what is happening is that the release or version
from the changelog is transformed into something that might appear on the
downloaded page. You need to get from "hyperorg-0.1.0-1" to this:
https://codeberg.org/buhtz/hyperorg/archive/v0.1.0.tar.gz
Or if a specific changeset is involved, the process is a bit more complicated,
but would involve transforming "hyperorg-0.1.0+git20240329.4a77811214-1" into
this:
https://codeberg.org/buhtz/hyperorg/archive/
4a77811214e5bd73247a197dbb5d1a4367c99109.tar.gz
To summarise, uscan is just searching a page listing releases or, in the
second case, a specific Web page for an appropriate download that it can then
obtain.
Hope this helps a little!
Paul
Reply to: