mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 09:43:03 +00:00
Honor epoch field in PKGBUILD files.
The epoch field in PKGBUILD files was completely ignored until now, and the final Version field for a package consisted only of pkgver and pkgrel (example: 5.0-1) This means that rpc.php reported the version incorrectly for packages having epoch > 0. One case where this was a problem is that it confused AUR helpers wanting to examine all locally installed packages (with epoch > 0) and search the AUR for an updated version. The epoch field is taken into consideration now, and if not 0, will be prepended to the final Version field (example: 1:5.0-1) Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
parent
b60a30af71
commit
2131d3cb8b
1 changed files with 10 additions and 6 deletions
|
@ -303,6 +303,12 @@ if ($uid):
|
||||||
$result = db_query($q, $dbh);
|
$result = db_query($q, $dbh);
|
||||||
$pdata = mysql_fetch_assoc($result);
|
$pdata = mysql_fetch_assoc($result);
|
||||||
|
|
||||||
|
if (isset($new_pkgbuild['epoch']) && (int)$new_pkgbuild['epoch'] > 0) {
|
||||||
|
$pkg_version = sprintf('%d:%s-%s', $new_pkgbuild['epoch'], $new_pkgbuild['pkgver'], $new_pkgbuild['pkgrel']);
|
||||||
|
} else {
|
||||||
|
$pkg_version = sprintf('%s-%s', $new_pkgbuild['pkgver'], $new_pkgbuild['pkgrel']);
|
||||||
|
}
|
||||||
|
|
||||||
if ($pdata) {
|
if ($pdata) {
|
||||||
# This is an overwrite of an existing package, the database ID
|
# This is an overwrite of an existing package, the database ID
|
||||||
# needs to be preserved so that any votes are retained. However,
|
# needs to be preserved so that any votes are retained. However,
|
||||||
|
@ -325,10 +331,9 @@ if ($uid):
|
||||||
}
|
}
|
||||||
|
|
||||||
# Update package data
|
# Update package data
|
||||||
$q = sprintf("UPDATE Packages SET ModifiedTS = UNIX_TIMESTAMP(), Name = '%s', Version = '%s-%s', License = '%s', Description = '%s', URL = '%s', OutOfDateTS = NULL, MaintainerUID = %d WHERE ID = %d",
|
$q = sprintf("UPDATE Packages SET ModifiedTS = UNIX_TIMESTAMP(), Name = '%s', Version = '%s', License = '%s', Description = '%s', URL = '%s', OutOfDateTS = NULL, MaintainerUID = %d WHERE ID = %d",
|
||||||
mysql_real_escape_string($new_pkgbuild['pkgname']),
|
mysql_real_escape_string($new_pkgbuild['pkgname']),
|
||||||
mysql_real_escape_string($new_pkgbuild['pkgver']),
|
mysql_real_escape_string($pkg_version),
|
||||||
mysql_real_escape_string($new_pkgbuild['pkgrel']),
|
|
||||||
mysql_real_escape_string($new_pkgbuild['license']),
|
mysql_real_escape_string($new_pkgbuild['license']),
|
||||||
mysql_real_escape_string($new_pkgbuild['pkgdesc']),
|
mysql_real_escape_string($new_pkgbuild['pkgdesc']),
|
||||||
mysql_real_escape_string($new_pkgbuild['url']),
|
mysql_real_escape_string($new_pkgbuild['url']),
|
||||||
|
@ -339,11 +344,10 @@ if ($uid):
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
# This is a brand new package
|
# This is a brand new package
|
||||||
$q = sprintf("INSERT INTO Packages (Name, License, Version, CategoryID, Description, URL, SubmittedTS, ModifiedTS, SubmitterUID, MaintainerUID) VALUES ('%s', '%s', '%s-%s', %d, '%s', '%s', UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), %d, %d)",
|
$q = sprintf("INSERT INTO Packages (Name, License, Version, CategoryID, Description, URL, SubmittedTS, ModifiedTS, SubmitterUID, MaintainerUID) VALUES ('%s', '%s', '%s', %d, '%s', '%s', UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), %d, %d)",
|
||||||
mysql_real_escape_string($new_pkgbuild['pkgname']),
|
mysql_real_escape_string($new_pkgbuild['pkgname']),
|
||||||
mysql_real_escape_string($new_pkgbuild['license']),
|
mysql_real_escape_string($new_pkgbuild['license']),
|
||||||
mysql_real_escape_string($new_pkgbuild['pkgver']),
|
mysql_real_escape_string($pkg_version),
|
||||||
mysql_real_escape_string($new_pkgbuild['pkgrel']),
|
|
||||||
mysql_real_escape_string($_REQUEST['category']),
|
mysql_real_escape_string($_REQUEST['category']),
|
||||||
mysql_real_escape_string($new_pkgbuild['pkgdesc']),
|
mysql_real_escape_string($new_pkgbuild['pkgdesc']),
|
||||||
mysql_real_escape_string($new_pkgbuild['url']),
|
mysql_real_escape_string($new_pkgbuild['url']),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue