From 4ad43a2e5edb2625291e8b0da893ddad42bb2830 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 12 Mar 2018 10:52:54 +0100 Subject: web-scripts/mysql-issues.php new --- web-scripts/mysql-issues.php | 104 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100755 web-scripts/mysql-issues.php (limited to 'web-scripts/mysql-issues.php') diff --git a/web-scripts/mysql-issues.php b/web-scripts/mysql-issues.php new file mode 100755 index 0000000..56d4c27 --- /dev/null +++ b/web-scripts/mysql-issues.php @@ -0,0 +1,104 @@ + + +More and less critical issues with the database + + + +Start page
+connect_error) { + die("Connection failed: " . $mysql->connect_error); + } + + if (! $result = $mysql -> query( + "SELECT CONCAT(" . + "`repositories`.`name`,\"/\"," . + "`binary_packages`.`pkgname`,\"-\"," . + "IF(`binary_packages`.`epoch`=0,\"\",CONCAT(`binary_packages`.`epoch`,\":\"))," . + "`binary_packages`.`pkgver`,\"-\"," . + "`binary_packages`.`pkgrel`,\".\"," . + "`binary_packages`.`sub_pkgrel`,\"-\"," . + "`architectures`.`name`) AS `pkgfile`," . + "`install_targets`.`name` AS `install_target`," . + "IF(`binary_packages`.`is_to_be_deleted`,1,0) AS `is_to_be_deleted`" . + " FROM `binary_packages`" . + " JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`" . + " AND `repositories`.`is_on_master_mirror`" . + " JOIN `dependencies` ON `dependencies`.`dependent`=`binary_packages`.`id`" . + " JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id`" . + " AND `dependency_types`.`relevant_for_binary_packages`" . + " JOIN `install_targets` ON `dependencies`.`depending_on`=`install_targets`.`id`" . + " JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`" . + " WHERE NOT EXISTS (" . + "SELECT * FROM `install_target_providers`" . + " WHERE `install_target_providers`.`install_target` = `dependencies`.`depending_on`" . + ") ORDER BY `is_to_be_deleted`, `binary_packages`.`pkgname`" + )) + die($mysql -> error); + + if ($result -> num_rows > 0) { + + while ($row = $result->fetch_assoc()) { + if ($row["is_to_be_deleted"]==1) + print "(marked as to-be-deleted) "; + else + print ""; + print $row["pkgfile"] . " depends on " . $row["install_target"] . " which is not provided by any package.
\n"; + print "
"; + } + + } + + if (! $result = $mysql -> query( + "SELECT CONCAT(" . + "`repositories`.`name`,\"/\"," . + "`binary_packages`.`pkgname`,\"-\"," . + "IF(`binary_packages`.`epoch`=0,\"\",CONCAT(`binary_packages`.`epoch`,\":\"))," . + "`binary_packages`.`pkgver`,\"-\"," . + "`binary_packages`.`pkgrel`,\".\"," . + "`binary_packages`.`sub_pkgrel`,\"-\"," . + "`architectures`.`name`) AS `pkgfile`," . + "`install_targets`.`name` AS `install_target`," . + "`repository_stabilities`.`name` AS `stability`," . + "IF(`binary_packages`.`is_to_be_deleted`,1,0) AS `is_to_be_deleted`" . + " FROM `binary_packages`" . + " JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`" . + " AND `repositories`.`is_on_master_mirror`" . + " JOIN `repository_stabilities` ON `repositories`.`stability`=`repository_stabilities`.`id`" . + " JOIN `dependencies` ON `dependencies`.`dependent`=`binary_packages`.`id`" . + " JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id`" . + " AND `dependency_types`.`relevant_for_binary_packages`" . + " JOIN `install_targets` ON `dependencies`.`depending_on`=`install_targets`.`id`" . + " JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`" . + " WHERE EXISTS (" . + "SELECT * FROM `install_target_providers`" . + " WHERE `install_target_providers`.`install_target` = `dependencies`.`depending_on`" . + ")" . + " AND NOT EXISTS (" . + "SELECT * FROM `install_target_providers`" . + " JOIN `binary_packages` AS `prov_bp` ON `prov_bp`.`id`=`install_target_providers`.`package`" . + " JOIN `repositories` AS `prov_r` ON `prov_bp`.`repository`=`prov_r`.`id`" . + " JOIN `repository_stability_relations` ON `prov_r`.`stability`=`repository_stability_relations`.`more_stable`" . + " WHERE `install_target_providers`.`install_target` = `dependencies`.`depending_on`" . + " AND `repositories`.`stability`=`repository_stability_relations`.`less_stable`" . + ") ORDER BY `is_to_be_deleted`, `binary_packages`.`pkgname`" + )) + die($mysql -> error); + + if ($result -> num_rows > 0) { + while ($row = $result->fetch_assoc()) { + if ($row["is_to_be_deleted"]==1) + print "(marked as to-be-deleted) "; + else + print ""; + print $row["pkgfile"] . " depends on " . $row["install_target"] . " which is not provided by any package installable from enabled " . $row["stability"] . " repositories.
\n"; + print "
"; + } + + } + +?> + + -- cgit v1.2.3-54-g00ecf From 4264522c07923f306e119eed1b720eb82901ec36 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 15 Mar 2018 10:29:01 +0100 Subject: web-scripts/mysql-issues.php: add option to ignore haskell packages --- web-scripts/mysql-issues.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'web-scripts/mysql-issues.php') diff --git a/web-scripts/mysql-issues.php b/web-scripts/mysql-issues.php index 56d4c27..fc948a7 100755 --- a/web-scripts/mysql-issues.php +++ b/web-scripts/mysql-issues.php @@ -7,6 +7,11 @@ Start page
connect_error) { die("Connection failed: " . $mysql->connect_error); @@ -34,7 +39,9 @@ " WHERE NOT EXISTS (" . "SELECT * FROM `install_target_providers`" . " WHERE `install_target_providers`.`install_target` = `dependencies`.`depending_on`" . - ") ORDER BY `is_to_be_deleted`, `binary_packages`.`pkgname`" + ")" . + $ignore . + " ORDER BY `is_to_be_deleted`, `binary_packages`.`pkgname`" )) die($mysql -> error); @@ -83,7 +90,9 @@ " JOIN `repository_stability_relations` ON `prov_r`.`stability`=`repository_stability_relations`.`more_stable`" . " WHERE `install_target_providers`.`install_target` = `dependencies`.`depending_on`" . " AND `repositories`.`stability`=`repository_stability_relations`.`less_stable`" . - ") ORDER BY `is_to_be_deleted`, `binary_packages`.`pkgname`" + ")" . + $ignore . + " ORDER BY `is_to_be_deleted`, `binary_packages`.`pkgname`" )) die($mysql -> error); -- cgit v1.2.3-54-g00ecf From c058238e43130a9323de3bfde29639b747cd6578 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 16 Mar 2018 14:45:52 +0100 Subject: web-scripts/mysql-issues.php: add summary lines --- web-scripts/mysql-issues.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'web-scripts/mysql-issues.php') diff --git a/web-scripts/mysql-issues.php b/web-scripts/mysql-issues.php index fc948a7..8de8937 100755 --- a/web-scripts/mysql-issues.php +++ b/web-scripts/mysql-issues.php @@ -45,6 +45,8 @@ )) die($mysql -> error); + print "Found " . ($result -> num_rows) . " serious issues.
\n"; + if ($result -> num_rows > 0) { while ($row = $result->fetch_assoc()) { @@ -52,8 +54,8 @@ print "(marked as to-be-deleted) "; else print ""; - print $row["pkgfile"] . " depends on " . $row["install_target"] . " which is not provided by any package.
\n"; - print "
"; + print $row["pkgfile"] . " depends on " . $row["install_target"] . " which is not provided by any package.
"; + print "
\n"; } } @@ -96,14 +98,16 @@ )) die($mysql -> error); + print "Found " . ($result -> num_rows) . " stability issues.
\n"; + if ($result -> num_rows > 0) { while ($row = $result->fetch_assoc()) { if ($row["is_to_be_deleted"]==1) print "(marked as to-be-deleted) "; else print ""; - print $row["pkgfile"] . " depends on " . $row["install_target"] . " which is not provided by any package installable from enabled " . $row["stability"] . " repositories.
\n"; - print "
"; + print $row["pkgfile"] . " depends on " . $row["install_target"] . " which is not provided by any package installable from enabled " . $row["stability"] . " repositories.
"; + print "
\n"; } } -- cgit v1.2.3-54-g00ecf From 66914531d268cb27a7a70aa747eb11625ee1a098 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sat, 17 Mar 2018 18:05:13 +0100 Subject: web-scripts/mysql-issues.php: show by which package a broken package can be replaced --- web-scripts/mysql-issues.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'web-scripts/mysql-issues.php') diff --git a/web-scripts/mysql-issues.php b/web-scripts/mysql-issues.php index 8de8937..485bc21 100755 --- a/web-scripts/mysql-issues.php +++ b/web-scripts/mysql-issues.php @@ -27,7 +27,8 @@ "`binary_packages`.`sub_pkgrel`,\"-\"," . "`architectures`.`name`) AS `pkgfile`," . "`install_targets`.`name` AS `install_target`," . - "IF(`binary_packages`.`is_to_be_deleted`,1,0) AS `is_to_be_deleted`" . + "IF(`binary_packages`.`is_to_be_deleted`,1,0) AS `is_to_be_deleted`," . + "`subst_r`.`name` AS `subst_repository`" . " FROM `binary_packages`" . " JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`" . " AND `repositories`.`is_on_master_mirror`" . @@ -36,6 +37,13 @@ " AND `dependency_types`.`relevant_for_binary_packages`" . " JOIN `install_targets` ON `dependencies`.`depending_on`=`install_targets`.`id`" . " JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`" . + " LEFT JOIN (`binary_packages` AS `subst_bp`" . + " JOIN `repositories` AS `subst_r` ON `subst_bp`.`repository`=`subst_r`.`id`" . + " JOIN `repository_stability_relations` ON `repository_stability_relations`.`less_stable`=`subst_r`.`id`" . + ")" . + " ON `subst_bp`.`pkgname`=`binary_packages`.`pkgname`" . + " AND `subst_bp`.`id`!=`binary_packages`.`id`" . + " AND `repository_stability_relations`.`more_stable`=`repositories`.`id`" . " WHERE NOT EXISTS (" . "SELECT * FROM `install_target_providers`" . " WHERE `install_target_providers`.`install_target` = `dependencies`.`depending_on`" . @@ -54,7 +62,10 @@ print "(marked as to-be-deleted) "; else print ""; - print $row["pkgfile"] . " depends on " . $row["install_target"] . " which is not provided by any package.
"; + print $row["pkgfile"] . " depends on " . $row["install_target"] . " which is not provided by any package"; + if (isset($row["subst_repository"])) + print " - but can be replaced by the one in " . $row["subst_repository"]; + print ".
"; print "
\n"; } -- cgit v1.2.3-54-g00ecf From 5050d2272c44a1de655f914aa0181135d7de6f45 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sat, 17 Mar 2018 20:14:35 +0100 Subject: web-scripts/mysql-issues.php: show if a package is already rescheduled --- web-scripts/mysql-issues.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'web-scripts/mysql-issues.php') diff --git a/web-scripts/mysql-issues.php b/web-scripts/mysql-issues.php index 485bc21..2f1d99d 100755 --- a/web-scripts/mysql-issues.php +++ b/web-scripts/mysql-issues.php @@ -28,7 +28,8 @@ "`architectures`.`name`) AS `pkgfile`," . "`install_targets`.`name` AS `install_target`," . "IF(`binary_packages`.`is_to_be_deleted`,1,0) AS `is_to_be_deleted`," . - "`subst_r`.`name` AS `subst_repository`" . + "`subst_r`.`name` AS `subst_repository`," . + "`subst_buildlist_bp`.`id` AS `subst_buildlist`" . " FROM `binary_packages`" . " JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`" . " AND `repositories`.`is_on_master_mirror`" . @@ -44,6 +45,11 @@ " ON `subst_bp`.`pkgname`=`binary_packages`.`pkgname`" . " AND `subst_bp`.`id`!=`binary_packages`.`id`" . " AND `repository_stability_relations`.`more_stable`=`repositories`.`id`" . + " LEFT JOIN (`binary_packages` AS `subst_buildlist_bp`" . + " JOIN `repositories` AS `subst_buildlist_r`" . + " ON `subst_buildlist_bp`.`repository`=`subst_buildlist_r`.`id`" . + " AND `subst_buildlist_r`.`name`=\"build-list\"". + ") ON `subst_buildlist_bp`.`pkgname`=`binary_packages`.`pkgname`" . " WHERE NOT EXISTS (" . "SELECT * FROM `install_target_providers`" . " WHERE `install_target_providers`.`install_target` = `dependencies`.`depending_on`" . @@ -65,6 +71,8 @@ print $row["pkgfile"] . " depends on " . $row["install_target"] . " which is not provided by any package"; if (isset($row["subst_repository"])) print " - but can be replaced by the one in " . $row["subst_repository"]; + elseif (isset($row["subst_buildlist"])) + print " - but is already rescheduled"; print ".
"; print "
\n"; } -- cgit v1.2.3-54-g00ecf