Do not remove parentheses from the pkgname to make sure the split
package detection works properly.

Also, fix a regression introduced in 4bb6e88 (pkgsubmit.php: Simplify
package name validation, 2013-03-05) that resulted in the split package
error message never showing up.

Fixes FS#37496.

Signed-off-by: Lukas Fleischer <[email protected]>
---
 web/html/pkgsubmit.php | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php
index d2fe512..a2ec6dd 100644
--- a/web/html/pkgsubmit.php
+++ b/web/html/pkgsubmit.php
@@ -180,10 +180,12 @@ if ($uid):
                                }
 
                                if (!empty($lparts)) {
-                                       # this is a variable/value pair, strip 
out
-                                       # array parens and any quoting, except 
in pkgdesc
-                                       # for pkgdesc, only remove start/end 
pairs of " or '
-                                       if ($lparts[0]=="pkgdesc") {
+                                       # this is a variable/value pair, strip
+                                       # out array parens and any quoting,
+                                       # except in pkgdesc for pkgname or
+                                       # pkgdesc, only remove start/end pairs
+                                       # of " or '
+                                       if ($lparts[0] == "pkgname" || 
$lparts[0] == "pkgdesc") {
                                                if ($lparts[1]{0} == '"' &&
                                                                
$lparts[1]{strlen($lparts[1])-1} == '"') {
                                                        $pkgbuild[$lparts[0]] = 
substr($lparts[1], 1, -1);
@@ -286,8 +288,7 @@ if ($uid):
                        $pkg_name = $new_pkgbuild['pkgname'];
                        if ($pkg_name[0] == '(') {
                                $error = __("Error - The AUR does not support 
split packages!");
-                       }
-                       if (!preg_match("/^[a-z0-9][a-z0-9\.+_-]*$/", 
$pkg_name)) {
+                       } elseif (!preg_match("/^[a-z0-9][a-z0-9\.+_-]*$/", 
$pkg_name)) {
                                $error = __("Invalid name: only lowercase 
letters are allowed.");
                        }
                }
-- 
1.8.5.2

Reply via email to