summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlavi Pantaleev <s.pantaleev@gmail.com>2011-06-24 18:38:40 +0200
committerLukas Fleischer <archlinux@cryptocrack.de>2011-06-25 11:29:56 +0200
commit2131d3cb8b8b12c28efdebe1d288274d84663076 (patch)
tree8e395508caeaf9eefee8dca6cecec1e36455a13a
parentb60a30af7144d92dd6ee0fbcb16929d95d09d676 (diff)
downloadaur-2131d3cb8b8b12c28efdebe1d288274d84663076.tar.gz
aur-2131d3cb8b8b12c28efdebe1d288274d84663076.tar.xz
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>
-rw-r--r--web/html/pkgsubmit.php16
1 files changed, 10 insertions, 6 deletions
diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php
index b5fe3b7e..95772386 100644
--- a/web/html/pkgsubmit.php
+++ b/web/html/pkgsubmit.php
@@ -303,6 +303,12 @@ if ($uid):
$result = db_query($q, $dbh);
$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) {
# This is an overwrite of an existing package, the database ID
# needs to be preserved so that any votes are retained. However,
@@ -325,10 +331,9 @@ if ($uid):
}
# 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['pkgver']),
- mysql_real_escape_string($new_pkgbuild['pkgrel']),
+ mysql_real_escape_string($pkg_version),
mysql_real_escape_string($new_pkgbuild['license']),
mysql_real_escape_string($new_pkgbuild['pkgdesc']),
mysql_real_escape_string($new_pkgbuild['url']),
@@ -339,11 +344,10 @@ if ($uid):
} else {
# 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['license']),
- mysql_real_escape_string($new_pkgbuild['pkgver']),
- mysql_real_escape_string($new_pkgbuild['pkgrel']),
+ mysql_real_escape_string($pkg_version),
mysql_real_escape_string($_REQUEST['category']),
mysql_real_escape_string($new_pkgbuild['pkgdesc']),
mysql_real_escape_string($new_pkgbuild['url']),