Display warning when flagging VCS packages

VCS packages should not be flagged out-of-date when the package version
does not match the most recent commit.

Implements FS#62733.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Lukas Fleischer 2019-05-25 12:48:58 -04:00
parent 5a66a381fb
commit fc9c519852
3 changed files with 34 additions and 0 deletions

View file

@ -367,6 +367,27 @@ function pkgbase_get_pkgnames($base_id) {
return $result->fetchAll(PDO::FETCH_COLUMN, 0);
}
/**
* Determine whether a package base is (or contains a) VCS package
*
* @param int $base_id The ID of the package base
*
* @return bool True if the package base is/contains a VCS package
*/
function pkgbase_is_vcs($base_id) {
$suffixes = array("-cvs", "-svn", "-git", "-hg", "-bzr", "-darcs");
$haystack = pkgbase_get_pkgnames($base_id);
array_push($haystack, pkgbase_name_from_id($base_id));
foreach ($haystack as $pkgname) {
foreach ($suffixes as $suffix) {
if (substr_compare($pkgname, $suffix, -strlen($suffix)) === 0) {
return true;
}
}
}
return false;
}
/**
* Delete all packages belonging to a package base
*