summaryrefslogtreecommitdiffstats
path: root/web/html/pkgsubmit.php
diff options
context:
space:
mode:
Diffstat (limited to 'web/html/pkgsubmit.php')
-rw-r--r--web/html/pkgsubmit.php18
1 files changed, 16 insertions, 2 deletions
diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php
index 11206e1f..3df38d82 100644
--- a/web/html/pkgsubmit.php
+++ b/web/html/pkgsubmit.php
@@ -155,7 +155,10 @@ if ($uid):
'makedepends' => array(),
'checkdepends' => array(),
'optdepends' => array(),
- 'source' => array()
+ 'source' => array(),
+ 'conflicts' => array(),
+ 'provides' => array(),
+ 'replaces' => array()
);
/* Fall-through case. */
case 'epoch':
@@ -171,6 +174,9 @@ if ($uid):
case 'makedepends':
case 'checkdepends':
case 'optdepends':
+ case 'conflicts':
+ case 'provides':
+ case 'replaces':
$section_info[$key][] = $value;
break;
}
@@ -190,7 +196,7 @@ if ($uid):
if (!isset($pkgbase_info['pkgbase'])) {
$pkgbase_info['pkgbase'] = $pkgbase_info['pkgname'];
}
- foreach (array('source', 'depends', 'makedepends', 'checkdepends', 'optdepends') as $array_opt) {
+ foreach (array('source', 'depends', 'makedepends', 'checkdepends', 'optdepends', 'conflicts', 'provides', 'replaces') as $array_opt) {
if (empty($pkgbase_info[$array_opt])) {
$pkgbase_info[$array_opt] = array();
} else {
@@ -359,6 +365,14 @@ if ($uid):
}
}
+ foreach (array('conflicts', 'provides', 'replaces') as $reltype) {
+ foreach ($pi[$reltype] as $rel) {
+ $relpkgname = preg_replace("/(<|=|>).*/", "", $rel);
+ $relcondition = str_replace($relpkgname, "", $rel);
+ pkg_add_rel($pkgid, $reltype, $relpkgname, $relcondition);
+ }
+ }
+
foreach ($pi['source'] as $src) {
pkg_add_src($pkgid, $src);
}