[aur-dev] [PATCH] Group package dependencies by their type

Lukas Fleischer archlinux at cryptocrack.de
Sat Aug 9 16:21:53 EDT 2014


On Sat, 09 Aug 2014 at 21:28:03, Mathieu Gaborit wrote:
> Sort dependencies by type, implements feature request in FS#40888
> 
> Dependencies are fetched like before and a sort is applied on dependencies type if
> $deps array is not empty. Display is adjusted accordingly.
> [...]

I like the suggestions but the implementation has some flaws. For
example, checkdepends appear before (regular) dependencies and packages
with the same dependency type are not sorted alphabetically (note that
PHP's sort functions are not stable). How about the following patch?

-- >8 --

 web/template/pkg_details.php | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/web/template/pkg_details.php b/web/template/pkg_details.php
index 7f01d2f..8a3cbcc 100644
--- a/web/template/pkg_details.php
+++ b/web/template/pkg_details.php
@@ -29,6 +29,16 @@ $grps = pkg_groups($row["ID"]);
 $deps = pkg_dependencies($row["ID"]);
 $requiredby = pkg_required($row["Name"]);
 
+usort($deps, function($x, $y) {
+	if ($x[1] == "depends" && $y[1] != "depends") {
+		return -1;
+	}
+	if ($y[1] == "depends" && $x[1] != "depends") {
+		return 1;
+	}
+	return $x[1] == $y[1] ? strcmp($x[0], $y[0]) : strcmp($x[1], $y[1]);
+});
+
 $rels = pkg_relations($row["ID"]);
 $rels_c = $rels_p = $rels_r = array();
 foreach ($rels as $rel) {
-- 
2.0.4


More information about the aur-dev mailing list