Created attachment 222849 [details] run.sh Testcase: math/py-osqp update between r566579 and r566580. Please run the attached run.sh: > $ sh run.sh > Updating '.': > U Makefile > U distinfo > Updated to revision 566580. > Updating '.': > U Makefile > U distinfo > Updated to revision 566579. > ===> License APACHE20 accepted by the user > ===> License APACHE20 accepted by the user > ===> py37-osqp-0.6.2.p0 depends on file: /usr/local/sbin/pkg - found > ===> Fetching all distfiles required by py37-osqp-0.6.2.p0 for building > looks fine. portlint says "looks fine." when the version goes backwards: > $ pkg version -t 0.6.2 0.6.2.post0 > >
(In reply to Yuri Victorovich from comment #0) If we need it, we need a code the size of poudriere, I think :)
(In reply to Tatsuki Makino from comment #1) > If we need it, we need a code the size of poudriere, I think :) I have a vague memory that portlint used to warn about version going backwards. It's just one pkg command invocation.
(In reply to Yuri Victorovich from comment #2) I didn't know that such a function existed :) < > symbols are hard to understand, so I ran it as root :) # pkg version -t 0.6.1 0.6.2.p0 < # pkg version -t 0.6.2 0.6.2.p0 > # pkg version -t 0.6.3 0.6.2.p0 > Isn't pkg version returning wrong result?
(In reply to Tatsuki Makino from comment #3) It could be. I don't know how is this comparison defined.
(In reply to Yuri Victorovich from comment #4) Example 5.1 of Porter's Handbook says a bit about it. pkg-1.16.3/libpkg/pkg_version.c takes care of that. Doesn't this mean that DISTVERSION=0.6.2.post0 is being rewritten as 0.6.2.p0 and treated as a 0.6.2 pre-release 0? 0.6.2 pre-release 0 < 0.6.2 is correct.
Would you like to have the following in portlint? print qq(some information to explain the inclusion of characters that lower the priority\n) if $newversion =~ m/(^|\.)[A-Za-z]/;