[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: uscan roadmap



On 01/12/2021 12:50, Mattia Rizzolo wrote:
On Wed, Dec 01, 2021 at 12:39:41PM +0100, Geert Stappers wrote:
Summary: unhide redirectors

And not only.

On Wed, Dec 01, 2021 at 09:11:17AM +0100, Yadd wrote:
after few discussions with some devscripts maintainers, we decided to build
a new "version=5" format for debian/watch.

To be clear, this is a *very* non-ready proposal that we are getting
through the wider community.  Nothing of this is implemented anywhere.

    * URL and regex are separated
    * Some default values change. For example, `dversionmangle` default
      value will be "auto" (drop +dfsg, ~ds,...), uversionmangle=s/-/~/g,
      filenamemangle=s/.*?(\d[\d\.]*@ARCHIVE_EXT@)/@PACKAGE@-$1/...

I honestly would like to add website-aware functionalities to uscan,
such as exactly this.

I think the move from v4 to v5 is an excellent opportunity
to express in the watch file that there is a dependency on a redirector.
[..]
      Version: 5
      Source: https://qa.debian.org/watch/sourceforge/<project> <tar-name>-(.+)\.tar\.gz debian uupdate

I would like something like:
   Source: qa-redirector
   Source-Options:
    name: sourceforge
    project: <project>


Likewise, I would love if uscan could just learn how github, gitlab,
launchpad, etc are made so prople won't have to bother with sticking
urls into watchfiles, such as:

   Source: GitHub
   Source-Options:
    namespace: trendmicro
    project: tlsh
    match-on: tags|releases

OK, "Source" will be:
 * a keyword known by uscan DB
 * a URL for other websites

And what about default version value, "stable" (only digits), "semver" or "any" (== @ANY_VERSION@)

To go either matching on https://github.com/trendmicro/tlsh/tags or
https://github.com/trendmicro/tlsh/releases. using then Scheme (a name
that, tbh, I don't particularly like right now) for the tags or releases
regex.

And I think such change will allow removal of

        bare
            Disable all site specific special case code such as URL
            redirector uses and page content alterations.

from the uscan code and uscan manual page  (they are in /usr/bin/uscan )


The goal is to have documented that there are extra components being used.
Avoiding nasty surprises.

this feels like the opposite direction I'm proposing above :D

Seconded

Awareness of redirectors will get us more redirectors.
Those redirectors will help us to prevent that `uscan`
must get a javascript interpreter.

Possibly, I'm indeed kind of unimpressed that we grew a parse for
nodejs' package.json and perl's META.json.  Though I accepted it because
I saw some value, I'm totally in awe of universes where that is actually
needed..
This is very useful for package with components. This is the only way to be able to `uscan --download-current-version`.


Reply to: