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

Re: About different opinions of version numbering schemes containg '.' and '-' (Was: [devteam-bioc] BioConductor phyloseq defines relation to not yet existing ade4 version])



Hi Dirk,

On Sat, Jun 02, 2018 at 07:11:16AM -0500, Dirk Eddelbuettel wrote:
> | I was digging in my archive about another issue where a dash '-' in a
> | version number creates an issue in our packaging.  I could imagine that
> 
> IIRC a really loooooong time ago it did -- I think when Charles wrote
> cran2deb as a Summer of Code project I may have recommended the regexp switch
> from - to . yet I think we have not needed it for a long time.

I think the point of this discussion was whether to use a dash at all.
I'm fine with this - my point is a different one.
 
> | we include some list in dh-update-R where we do the needed replacements
> | (currently for ade4 and quantmod) even if I'd prefer if upstream would
> | stop using "random signs" instead of the proper version released version
> | number.
> 
> That is unnecessarily strong language that not only "not helps" but
> distracts.

May be I did not made my point clear enough:

   https://cran.r-project.org/web/packages/ade4/index.html
 has
    Version:  1.7-11

but

   https://bioconductor.org/packages/release/bioc/html/phyloseq.html
 refers to
   Imports  ade4 (>= 1.7.4)

There wa never ever any version 1.7.4.  I do not mind about the usage of
a dash.  I simply think that the strings of used version numbers and
references need to match.
 
> R (at CRAN) check these things too (which I why I am very surprised about
> that Graham found with tseries and about which I will follow up with
> upstream).

Same with quantmod.  It has version 0.4-13 and tseries is erroneously
refering to quantmod (>= 0.4.9).  That's simply a bug/typo that should
be fixed.
 
> Consider the following R code (!!)
> 
>    R> p1 <- as.package_version("4.1-9")
>    R> p2 <- as.package_version("4.1.13")
>    R> p1 < p2
>    [1] TRUE
>    R> p1 > p2
>    [1] FALSE
>    R> 
> 
> so R itself is perfectly capably to treat version Depends (in something
> modeled strongly on what we do). And it seems to do just what we do:

Even if R is able to do this, I consider it very bad style to use
different strings for the version.  And I consider it not nice to insist
on this habit even if it causes trouble for third party if it comes very
cheap to create consistency.
 
> edd@rob:~$ dpkg --compare-versions 4.1-9 lt 4.1.13 && echo TRUE
> TRUE
> edd@rob:~$ dpkg --compare-versions 4.1-9 gt 4.1.13 && echo TRUE
> edd@rob:~$ 
> 
> I think we both allow 1.2-3 and 1.2.3 and Debian can build 1.2-3-1 and
> 1.2.3-1 equaly well off them.

In the case I quotet it is

> p1 <- as.package_version("1.7-11")
> p2 <- as.package_version("1.7.4")
> p1 < p2
[1] FALSE

  $ dpkg --compare-versions 1.7-11 lt 1.7.4 && echo TRUE
  TRUE

while it is simply false.

So issues are to be expected when choosing '-' and '.' at random.

Kind regards

    Andreas.


-- 
http://fam-tille.de


Reply to: