summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--web/html/pkgsubmit.php35
1 files changed, 29 insertions, 6 deletions
diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php
index e87279ea..b2a26f78 100644
--- a/web/html/pkgsubmit.php
+++ b/web/html/pkgsubmit.php
@@ -277,6 +277,35 @@ if ($uid):
}
}
+ # Determine the full package version with epoch
+ if (!$error) {
+ 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']);
+ }
+ }
+
+ # The DB schema imposes limitations on number of allowed characters
+ # Print error message when these limitations are exceeded
+ if (!$error) {
+ if (strlen($pkg_name) > 64) {
+ $error = __("Error - Package name cannot be greater than %d characters", 64);
+ }
+ if (strlen($new_pkgbuild['url']) > 255) {
+ $error = __("Error - Package URL cannot be greater than %d characters", 255);
+ }
+ if (strlen($new_pkgbuild['pkgdesc']) > 255) {
+ $error = __("Error - Package description cannot be greater than %d characters", 255);
+ }
+ if (strlen($new_pkgbuild['license']) > 40) {
+ $error = __("Error - Package license cannot be greater than %d characters", 40);
+ }
+ if (strlen($pkg_version) > 32) {
+ $error = __("Error - Package version cannot be greater than %d characters", 32);
+ }
+ }
+
if (isset($pkg_name)) {
$incoming_pkgdir = INCOMING_DIR . substr($pkg_name, 0, 2) . "/" . $pkg_name;
}
@@ -324,12 +353,6 @@ if ($uid):
$pdata = pkgdetails_by_pkgname($new_pkgbuild['pkgname'], $dbh);
- 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']);
- }
-
# Check the category to use, "1" meaning "none" (or "keep category" for
# existing packages).
if (isset($_POST['category'])) {