FS#62733 - Disable "Flag out-of-date" button for VCS packages

Attached to Project: AUR web interface
Opened by UnicornDarkness (Xorg) - Friday, 24 May 2019, 15:27 GMT
Last edited by Lukas Fleischer (lfleischer) - Saturday, 26 October 2019, 00:18 GMT
Task Type Feature Request
Category Backend
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version 4.7.0
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

I am not blaming specific people, but some people don't read the wiki and don't understand how makepkg works, so they still flag VCS packages out-of-date when they think an update is available.

However, the wiki[1] is clear about that:
"Note: VCS packages are not considered out-of-date when the pkgver changes, do not flag them as the maintainer will merely unflag the package and ignore you."

So it disturbs package maintainer for nothing. And a lot a VCS packages are flagged out-of-date for nothing, see [2].

I think the "Flag out-of-date" button should be disabled for VCS packages, and if something is broken, people can still leave a comment.


[1] https://wiki.archlinux.org/index.php/Arch_User_Repository#Flagging_packages_out-of-date
[2] https://aur.archlinux.org/packages/?O=0&SeB=nd&K=-git&outdated=on&SB=v&SO=d&PP=50&do_Search=Go
This task depends upon

Closed by  Lukas Fleischer (lfleischer)
Saturday, 26 October 2019, 00:18 GMT
Reason for closing:  Implemented
Additional comments about closing:  Implemented in 4.8.0.
Comment by Lukas Fleischer (lfleischer) - Friday, 24 May 2019, 15:54 GMT
What implementation do you suggest? An option that allows a package maintainer to turn of the "flag out-of-date" feature?
Comment by UnicornDarkness (Xorg) - Friday, 24 May 2019, 16:12 GMT
It can be a solution, but for VCS packages only.

Or I was thinking about automatically detect if a package uses a VCS source (maybe by searching a suffix in pkgname, like -git or -svn, or by checking if pkgver() function exists in PKGBUILD). If it is a VCS package, then the "Flag out-of-date" feature will be unavailable.

But the term "unavailable" must be defined:
1. Remove the link?
2. Grey and disable the link?
3. Leave the link but redirect to a different page with a different message (e.g. "You can not flag this package out-of-date because XXX")

The last one seems more civilized: it is better if we can explain to people why they can't flag out-of-date a VCS package (e.g. invite people to read the wiki page).
Comment by Lukas Fleischer (lfleischer) - Friday, 24 May 2019, 16:21 GMT
There is no reliable way to detect VCS packages and there will be errors. An automated detection without any manual fallback is not the solution.

Having a different page with a different message sounds good to me.
Comment by UnicornDarkness (Xorg) - Friday, 24 May 2019, 17:02 GMT
Ok, I guess an automated detection can be used to automatically disable the "Flag out-of-date" feature. It can be done when a new package is submitted, or on every push (to automatically enable this feature for existing packages).

As fallback, if a package maintainer still want the "Flag out-of-date" feature (e.g. a false positive by automated detection), then he should be able to manually reactivate it.

In my opinion, such changes should not affect versioned packages: it must not be possible to disable "Flag out-of-date" feature for versioned package in any case.
Comment by Lukas Fleischer (lfleischer) - Friday, 24 May 2019, 17:05 GMT
Again, we cannot reliably detect versioned packages, so what you suggest in your last sentence is not possible.
Comment by Eli Schwartz (eschwartz) - Friday, 24 May 2019, 22:43 GMT
The first package in your search link I clicked on was https://aur.archlinux.org/packages/gocode-git/ and it is legitimately flagged out of date.

Disabling OOD flags and saying "if there are real issues, use the comments", is a bit of an odd solution, because we could also say the exact same thing about stable packages that are out of date.
Users will just leave the same comments that they'd otherwise put in the out of date comment.
Comment by Lukas Fleischer (lfleischer) - Friday, 24 May 2019, 23:45 GMT
So, here's an alternative suggestion: we could try to auto-detect VCS packages and display a BOLD warning ("This is a VCS package. Please do not flag this package out-of-date when the package version in the AUR does not match the most recent commit.") when flagging such a package out-of-date. Opinions on that?
Comment by UnicornDarkness (Xorg) - Saturday, 25 May 2019, 08:31 GMT
All right Lukas, it is a good compromise. The bold warning is fine for me.

According to the VCS package guidelines[1], the convention for naming VCS packages is the following:
"Suffix pkgname with -cvs, -svn, -hg, -darcs, -bzr, -git etc"
I guess matching of one those 6 regex can be used to try to auto-detect VCS packages.


[1] https://wiki.archlinux.org/index.php/VCS_package_guidelines

Comment by UnicornDarkness (Xorg) - Saturday, 01 June 2019, 21:57 GMT
I see that it is done on pu branch.
Thank you very much Lukas for your job.
Comment by Lukas Fleischer (lfleischer) - Sunday, 02 June 2019, 03:47 GMT
It is actually already live. You can give it a try.
Comment by UnicornDarkness (Xorg) - Sunday, 02 June 2019, 07:14 GMT
All right. I have tested on some packages (VCS and non-VCS), and it seems good.
You should allow this string to be translated. :)

Loading...