From 0ff03eeb9bcf74bb0febbde389a19cbb33253338 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 25 Jan 2018 07:17:41 +0100 Subject: web-scripts/broken-packages.php: link to logs should be on reason, not on trial-count --- web-scripts/broken-packages.php | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php index 268e296..d88ba4d 100644 --- a/web-scripts/broken-packages.php +++ b/web-scripts/broken-packages.php @@ -58,18 +58,25 @@ foreach ($row as $key => $val) ); unset($reasons); - unset($last_log); $rows[$count]["trials"] = $fail_result -> num_rows; if ($rows[$count]["trials"] > 0) { while($fail_row = $fail_result->fetch_assoc()) { - $reasons[$fail_row["name"]] = $fail_row["name"]; - $last_log = $fail_row["log_file"]; + $reasons[$fail_row["name"]] = $fail_row["log_file"]; } } if (isset($reasons)) { $to_print=""; - foreach ($reasons as $reason) { - $to_print=$to_print.", ".$reason; + foreach ($reasons as $reason => $last_log) { + if (file_exists("/srv/http/build-logs/error/".$last_log)) { + $to_print= $to_print . + ", " . + $reason . + ""; + } else { + $to_print= $to_print . ", " . $reason; + } } $rows[$count]["fail_reasons"]=substr($to_print,2); } else { @@ -85,10 +92,6 @@ foreach ($row as $key => $val) $rows[$count]["git_revision"] = $row["git_revision"]; $rows[$count]["mod_git_revision"] = $row["mod_git_revision"]; $rows[$count]["name"] = $row["name"]; - if (isset($last_log)) - $rows[$count]["print_trials"]="". $rows[$count]["trials"] .""; - else - $rows[$count]["print_trials"]=$rows[$count]["trials"]; if ($row["is_blocked"]=="") { $rows[$count]["is_blocked"]=" "; } -- cgit v1.2.3-70-g09d2 From 72bc0636528e27b4e60c4274e03820a84d2954a2 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 25 Jan 2018 13:32:00 +0100 Subject: web-scripts/broken-packages.php: bugfix typo --- web-scripts/broken-packages.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php index d88ba4d..5351bcc 100644 --- a/web-scripts/broken-packages.php +++ b/web-scripts/broken-packages.php @@ -143,7 +143,7 @@ foreach ($row as $key => $val) print "

".$row["git_revision"]."

"; print "

".$row["mod_git_revision"]."

"; print "".$row["name"].""; - print "".$row["print_trials"].""; + print "".$row["trials"].""; print "".$row["loops"].""; // 0 print "".$row["fail_reasons"].""; -- cgit v1.2.3-70-g09d2 From 3658074d4134c1ab5204704a0c2900c272bea7f9 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 25 Jan 2018 14:02:49 +0100 Subject: web-scripts/broken-packages.php: huh, what did I do? --- web-scripts/broken-packages.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php index 5351bcc..515ec22 100644 --- a/web-scripts/broken-packages.php +++ b/web-scripts/broken-packages.php @@ -27,7 +27,7 @@ $result = $mysql -> query( "JOIN `binary_packages` `to_be_built` ON `to_be_built`.`id` = `install_target_providers`.`package` " . "JOIN `repositories` ON `to_be_built`.`repository` = `repositories`.`id` " . "WHERE `broken_bin`.`build_assignment`=`build_assignments`.`id` ". - "AND `repositories`.`name`=\"community-testing\"" . + "AND `repositories`.`name`=\"build-list\"" . ") AS `dependencies_pending`," . "(SELECT count(*) " . "FROM `build_dependency_loops` " . @@ -85,10 +85,10 @@ foreach ($row as $key => $val) $rows[$count]["loops"] = $row["loops"]; $rows[$count]["pkgbase"] = $row["pkgbase"]; - if ($row["dependencies_pending"]=="1") - $rows[$count]["pkgbase_print"] = "(" . $rows[$count]["pkgbase"] . ")"; - else + if ($row["dependencies_pending"]=="0") $rows[$count]["pkgbase_print"] = $rows[$count]["pkgbase"]; + else + $rows[$count]["pkgbase_print"] = "(" . $rows[$count]["pkgbase"] . ")"; $rows[$count]["git_revision"] = $row["git_revision"]; $rows[$count]["mod_git_revision"] = $row["mod_git_revision"]; $rows[$count]["name"] = $row["name"]; -- cgit v1.2.3-70-g09d2 From 046c477732d8bd8e1686bb01dd4b0bef881b1f72 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 26 Jan 2018 13:28:55 +0100 Subject: web-scripts/broken-packages.php: remove unneccessary "foreach" --- web-scripts/broken-packages.php | 2 -- 1 file changed, 2 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php index 515ec22..b23b9bb 100644 --- a/web-scripts/broken-packages.php +++ b/web-scripts/broken-packages.php @@ -44,8 +44,6 @@ if ($result -> num_rows > 0) { while($row = $result->fetch_assoc()) { -foreach ($row as $key => $val) - $fail_result = $mysql -> query( "SELECT " . "`fail_reasons`.`name`, " . -- cgit v1.2.3-70-g09d2 From c5999ea29f2ad3bc6513aaf0f740a2ed03f10e8c Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sat, 27 Jan 2018 09:16:54 +0100 Subject: web-scripts/broken-packages.php: only show packages on the build-list --- web-scripts/broken-packages.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php index b23b9bb..4980d17 100644 --- a/web-scripts/broken-packages.php +++ b/web-scripts/broken-packages.php @@ -13,7 +13,7 @@ if ($mysql->connect_error) { } $result = $mysql -> query( - "SELECT " . + "SELECT DISTINCT " . "`build_assignments`.`id`," . "`build_assignments`.`is_blocked`," . "`package_sources`.`pkgbase`," . @@ -36,7 +36,9 @@ $result = $mysql -> query( "FROM `build_assignments` " . "JOIN `package_sources` ON `build_assignments`.`package_source` = `package_sources`.`id` " . "JOIN `upstream_repositories` ON `package_sources`.`upstream_package_repository` = `upstream_repositories`.`id` " . - "WHERE `build_assignments`.`is_broken` OR `build_assignments`.`is_blocked` IS NOT NULL" + "JOIN `binary_packages` ON `binary_packages`.`build_assignment` = `build_assignments`.`id` " . + "JOIN `repositories` ON `binary_packages`.`repository` = `repositories`.`id` " . + "WHERE (`build_assignments`.`is_broken` OR `build_assignments`.`is_blocked` IS NOT NULL) AND `repositories`.`name`=\"build-list\"" ); if ($result -> num_rows > 0) { -- cgit v1.2.3-70-g09d2 From fd0d0003abae69107063b63ea26d6ce3feac9ecb Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 29 Jan 2018 23:08:33 +0100 Subject: web-scripts/broken-packages.php: fix link --- web-scripts/broken-packages.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php index 4980d17..b506cec 100644 --- a/web-scripts/broken-packages.php +++ b/web-scripts/broken-packages.php @@ -4,7 +4,7 @@ -build logs
+build logs
Date: Tue, 30 Jan 2018 11:33:50 +0100 Subject: web-scripts/broken-packages.php: do not count split packages depending on each other as dependencies --- web-scripts/broken-packages.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php index b506cec..4a42d92 100644 --- a/web-scripts/broken-packages.php +++ b/web-scripts/broken-packages.php @@ -27,7 +27,8 @@ $result = $mysql -> query( "JOIN `binary_packages` `to_be_built` ON `to_be_built`.`id` = `install_target_providers`.`package` " . "JOIN `repositories` ON `to_be_built`.`repository` = `repositories`.`id` " . "WHERE `broken_bin`.`build_assignment`=`build_assignments`.`id` ". - "AND `repositories`.`name`=\"build-list\"" . + "AND `repositories`.`name`=\"build-list\" " . + "AND `to_be_built`.`build_assignment`!=`build_assignments`.`id`" . ") AS `dependencies_pending`," . "(SELECT count(*) " . "FROM `build_dependency_loops` " . -- cgit v1.2.3-70-g09d2 From 3c733778909fd15af6308fda7f82fa995c6660b4 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 31 Jan 2018 11:16:52 +0100 Subject: web-scripts/broken-packages.php: add links to git repositories on respective file and commit (if relevant) --- web-scripts/broken-packages.php | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php index 4a42d92..3468681 100644 --- a/web-scripts/broken-packages.php +++ b/web-scripts/broken-packages.php @@ -19,7 +19,11 @@ $result = $mysql -> query( "`package_sources`.`pkgbase`," . "`package_sources`.`git_revision`," . "`package_sources`.`mod_git_revision`," . - "`upstream_repositories`.`name`," . + "`package_sources`.`uses_upstream`," . + "`package_sources`.`uses_modification`," . + "`upstream_repositories`.`name` AS `package_repository`," . + "`git_repositories`.`name` AS `git_repository`," . + "`architectures`.`name` AS `arch`," . "EXISTS (SELECT * " . "FROM `binary_packages` `broken_bin` " . "JOIN `dependencies` ON `dependencies`.`dependent` = `broken_bin`.`id` " . @@ -35,8 +39,10 @@ $result = $mysql -> query( "WHERE `build_dependency_loops`.`build_assignment`=`build_assignments`.`id`" . ") AS `loops` " . "FROM `build_assignments` " . + "JOIN `architectures` ON `build_assignments`.`architecture` = `architectures`.`id` " . "JOIN `package_sources` ON `build_assignments`.`package_source` = `package_sources`.`id` " . "JOIN `upstream_repositories` ON `package_sources`.`upstream_package_repository` = `upstream_repositories`.`id` " . + "JOIN `git_repositories` ON `upstream_repositories`.`git_repository`=`git_repositories`.`id` " . "JOIN `binary_packages` ON `binary_packages`.`build_assignment` = `build_assignments`.`id` " . "JOIN `repositories` ON `binary_packages`.`repository` = `repositories`.`id` " . "WHERE (`build_assignments`.`is_broken` OR `build_assignments`.`is_blocked` IS NOT NULL) AND `repositories`.`name`=\"build-list\"" @@ -90,9 +96,33 @@ if ($result -> num_rows > 0) { $rows[$count]["pkgbase_print"] = $rows[$count]["pkgbase"]; else $rows[$count]["pkgbase_print"] = "(" . $rows[$count]["pkgbase"] . ")"; - $rows[$count]["git_revision"] = $row["git_revision"]; - $rows[$count]["mod_git_revision"] = $row["mod_git_revision"]; - $rows[$count]["name"] = $row["name"]; + if ($row["uses_upstream"]) { + $rows[$count]["git_revision"] = + "" . + $row["git_revision"] . ""; + } else + $rows[$count]["git_revision"] = $row["git_revision"]; + if ($row["uses_modification"]) + $rows[$count]["mod_git_revision"] = + "" . + $row["mod_git_revision"] . ""; + else + $rows[$count]["mod_git_revision"] = $row["mod_git_revision"]; + $rows[$count]["package_repository"] = $row["package_repository"]; if ($row["is_blocked"]=="") { $rows[$count]["is_blocked"]=" "; } @@ -143,7 +173,7 @@ if ($result -> num_rows > 0) { print "".$row["pkgbase_print"].""; print "

".$row["git_revision"]."

"; print "

".$row["mod_git_revision"]."

"; - print "".$row["name"].""; + print "".$row["package_repository"].""; print "".$row["trials"].""; print "".$row["loops"].""; // 0 -- cgit v1.2.3-70-g09d2 From 296fc3012f41fd1380dec4a955b287dbb305f7ea Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 1 Feb 2018 11:54:49 +0100 Subject: web-scripts/todos.php new --- web-scripts/todos.php | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 web-scripts/todos.php (limited to 'web-scripts') diff --git a/web-scripts/todos.php b/web-scripts/todos.php new file mode 100644 index 0000000..6c3b555 --- /dev/null +++ b/web-scripts/todos.php @@ -0,0 +1,62 @@ +connect_error) { + die("Connection failed: " . $mysql->connect_error); +} + +$result = $mysql -> query( + "SELECT DISTINCT " . + "`todos`.`id`," . + "`todos`.`file`," . + "`todos`.`line`," . + "`todos`.`description` " . + "FROM `todos`;" +); + +if ($result -> num_rows > 0) { + + while ($row = $result->fetch_assoc()) + $knot_rows[$row["id"]] = + $row["file"]. " (line ".$row["line"]."):\\n".$row["description"]; + + unset($knots); + foreach ($knot_rows as $knot) + $knots=$knots . "\"" . $knot . "\";\n"; + +} + +$result = $mysql -> query( + "SELECT DISTINCT " . + "`todo_links`.`dependent`," . + "`todo_links`.`depending_on` " . + "FROM `todo_links`;" +); + +if ($result -> num_rows > 0) { + $count = 0; + while ($row = $result->fetch_assoc()) { + $link_rows[$count]["dependent"] = + $knot_rows[$row["dependent"]]; + $link_rows[$count]["depending_on"] = + $knot_rows[$row["depending_on"]]; + $count++; + } + + unset($edges); + foreach ($link_rows as $link) + $edges=$edges . "\"" . $link["depending_on"] . "\" -> \"" . $link["dependent"] . "\";\n"; +} + +header ("Content-type: image/png"); +passthru( + "dot -Tpng -o/dev/stdout /dev/stdin < -- cgit v1.2.3-70-g09d2 From faab202ee4659899c4f49753afcac87b0042feee Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 1 Feb 2018 12:13:13 +0100 Subject: web-scripts/todos.php: layout --- web-scripts/todos.php | 1 + 1 file changed, 1 insertion(+) (limited to 'web-scripts') diff --git a/web-scripts/todos.php b/web-scripts/todos.php index 6c3b555..123fa35 100644 --- a/web-scripts/todos.php +++ b/web-scripts/todos.php @@ -52,6 +52,7 @@ header ("Content-type: image/png"); passthru( "dot -Tpng -o/dev/stdout /dev/stdin < Date: Fri, 2 Feb 2018 16:19:20 +0100 Subject: web-scripts/build-list.php new --- web-scripts/build-list.php | 159 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 web-scripts/build-list.php (limited to 'web-scripts') diff --git a/web-scripts/build-list.php b/web-scripts/build-list.php new file mode 100644 index 0000000..1b5c359 --- /dev/null +++ b/web-scripts/build-list.php @@ -0,0 +1,159 @@ + + +List of scheduled package builds + + + +build logs
+connect_error) { + die("Connection failed: " . $mysql->connect_error); +} + +$result = $mysql -> query( + "SELECT DISTINCT " . + "`build_assignments`.`id`," . + "`build_assignments`.`is_blocked`," . + "`package_sources`.`pkgbase`," . + "`package_sources`.`git_revision`," . + "`package_sources`.`mod_git_revision`," . + "`package_sources`.`uses_upstream`," . + "`package_sources`.`uses_modification`," . + "`upstream_repositories`.`name` AS `package_repository`," . + "`git_repositories`.`name` AS `git_repository`," . + "`architectures`.`name` AS `arch`," . + "EXISTS (SELECT * " . + "FROM `binary_packages` `broken_bin` " . + "JOIN `dependencies` ON `dependencies`.`dependent` = `broken_bin`.`id` " . + "JOIN `install_target_providers` ON `install_target_providers`.`install_target` = `dependencies`.`depending_on` " . + "JOIN `binary_packages` `to_be_built` ON `to_be_built`.`id` = `install_target_providers`.`package` " . + "JOIN `repositories` ON `to_be_built`.`repository` = `repositories`.`id` " . + "WHERE `broken_bin`.`build_assignment`=`build_assignments`.`id` ". + "AND `repositories`.`name`=\"build-list\" " . + "AND `to_be_built`.`build_assignment`!=`build_assignments`.`id`" . + ") AS `dependencies_pending`," . + "(SELECT count(*) " . + "FROM `build_dependency_loops` " . + "WHERE `build_dependency_loops`.`build_assignment`=`build_assignments`.`id`" . + ") AS `loops` " . + "FROM `build_assignments` " . + "JOIN `architectures` ON `build_assignments`.`architecture` = `architectures`.`id` " . + "JOIN `package_sources` ON `build_assignments`.`package_source` = `package_sources`.`id` " . + "JOIN `upstream_repositories` ON `package_sources`.`upstream_package_repository` = `upstream_repositories`.`id` " . + "JOIN `git_repositories` ON `upstream_repositories`.`git_repository`=`git_repositories`.`id` " . + "JOIN `binary_packages` ON `binary_packages`.`build_assignment` = `build_assignments`.`id` " . + "JOIN `repositories` ON `binary_packages`.`repository` = `repositories`.`id` " . + "WHERE `repositories`.`name`=\"build-list\"" +); +if ($result -> num_rows > 0) { + + $count = 0; + + while($row = $result->fetch_assoc()) { + + $fail_result = $mysql -> query( + "SELECT " . + "`failed_builds`.`id` " . + "FROM `failed_builds` " . + "WHERE `failed_builds`.`build_assignment`=".$row["id"] + ); + + $rows[$count]["trials"] = $fail_result -> num_rows; + + $rows[$count]["loops"] = $row["loops"]; + $rows[$count]["pkgbase"] = $row["pkgbase"]; + if ($row["dependencies_pending"]=="0") + $rows[$count]["pkgbase_print"] = $rows[$count]["pkgbase"]; + else + $rows[$count]["pkgbase_print"] = "(" . $rows[$count]["pkgbase"] . ")"; + if ($row["uses_upstream"]) { + $rows[$count]["git_revision"] = + "" . + $row["git_revision"] . ""; + } else + $rows[$count]["git_revision"] = $row["git_revision"]; + if ($row["uses_modification"]) + $rows[$count]["mod_git_revision"] = + "" . + $row["mod_git_revision"] . ""; + else + $rows[$count]["mod_git_revision"] = $row["mod_git_revision"]; + $rows[$count]["package_repository"] = $row["package_repository"]; + if ($row["is_blocked"]=="") { + $rows[$count]["is_blocked"]=" "; + } + else { + $rows[$count]["is_blocked"] = preg_replace( + array ( + "/FS32#(\\d+)/", + "/FS#(\\d+)/" + ), + array ( + "$0", + "$0" + ), + $row["is_blocked"] + ); + } + $count++; + } + + usort( + $rows, + function (array $a, array $b) { + if ($a["trials"] < $b["trials"]) + return -1; + if ($a["trials"] > $b["trials"]) + return 1; + return strcmp($a["pkgbase"],$b["pkgbase"]); + } + ); + + print "\n"; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print "\n"; + + foreach($rows as $row) { + + print ""; + + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + + print "\n"; + } + + print "
packagegit revisionmodification git revisionpackage repositorycompilationsloopsblocked
".$row["pkgbase_print"]."

".$row["git_revision"]."

".$row["mod_git_revision"]."

".$row["package_repository"]."".$row["trials"]."".$row["loops"]."".$row["is_blocked"]."
\n"; +} + +?> + + -- cgit v1.2.3-70-g09d2 From 87c2fd5fdc4030ea86f7ef075f469b73ed0caf5f Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 6 Feb 2018 09:41:29 +0100 Subject: web-scripts/to-delete.php new --- web-scripts/to-delete.php | 62 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 web-scripts/to-delete.php (limited to 'web-scripts') diff --git a/web-scripts/to-delete.php b/web-scripts/to-delete.php new file mode 100644 index 0000000..3d732a1 --- /dev/null +++ b/web-scripts/to-delete.php @@ -0,0 +1,62 @@ + + +List of packages to be deleted + + + +connect_error) { + die("Connection failed: " . $mysql->connect_error); +} + +$result = $mysql -> query( + "SELECT DISTINCT " . + "`repositories`.`name` AS `repo`," . + "`is_there`.`pkgname`," . + "`is_there`.`epoch`," . + "`is_there`.`pkgver`," . + "`is_there`.`pkgrel`," . + "`is_there`.`sub_pkgrel`," . + "`architectures`.`name` AS `arch` " . + "FROM `binary_packages`AS `is_there` " . + "JOIN `binary_packages` AS `to_delete` ON `to_delete`.`pkgname`=`is_there`.`pkgname` " . + "JOIN `architectures` ON `is_there`.`architecture`=`architectures`.`id` " . + "JOIN `repositories` ON `is_there`.`repository`=`repositories`.`id` " . + "WHERE `to_delete`.`repository`=10 " . + "AND NOT `is_there`.`repository` IN (4,9,10)" +); +if ($result -> num_rows > 0) { + + $count = 0; + + while ($row = $result->fetch_assoc()) { + $rows[$count] = + $row["repo"] . "/" . + $row["pkgname"] . "-"; + if ($row["epoch"] != "0") + $rows[$count] = + $rows[$count] . + $row["epoch"] . ":"; + $rows[$count] = + $rows[$count] . + $row["pkgver"] . "-" . + $row["pkgrel"] . "." . + $row["sub_pkgrel"] . "-" . + $row["arch"] . ".pkg.tar.xz"; + $count++; + } + + sort($rows); + + foreach ($rows as $row) { + print $row."
\n"; + } +} else { + print "No packages are to be deleted.\n"; +} + +?> + + -- cgit v1.2.3-70-g09d2 From 13b337ad76ae67057d64fca920d23a5389ae2c0e Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 6 Feb 2018 09:49:08 +0100 Subject: web-scripts/todos.php: display "$" correctly --- web-scripts/todos.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'web-scripts') diff --git a/web-scripts/todos.php b/web-scripts/todos.php index 123fa35..e4ab2c9 100644 --- a/web-scripts/todos.php +++ b/web-scripts/todos.php @@ -48,9 +48,12 @@ if ($result -> num_rows > 0) { $edges=$edges . "\"" . $link["depending_on"] . "\" -> \"" . $link["dependent"] . "\";\n"; } +$knots = str_replace("\$","\\\$",$knots); +$edges = str_replace("\$","\\\$",$edges); + header ("Content-type: image/png"); passthru( - "dot -Tpng -o/dev/stdout /dev/stdin < Date: Tue, 6 Feb 2018 10:50:32 +0100 Subject: web-scripts/to-delete.php: use `is_to_be_deleted` column from `binary_packages` --- web-scripts/to-delete.php | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/to-delete.php b/web-scripts/to-delete.php index 3d732a1..dfa5a39 100644 --- a/web-scripts/to-delete.php +++ b/web-scripts/to-delete.php @@ -12,20 +12,19 @@ if ($mysql->connect_error) { } $result = $mysql -> query( - "SELECT DISTINCT " . + "SELECT " . "`repositories`.`name` AS `repo`," . - "`is_there`.`pkgname`," . - "`is_there`.`epoch`," . - "`is_there`.`pkgver`," . - "`is_there`.`pkgrel`," . - "`is_there`.`sub_pkgrel`," . + "`binary_packages`.`pkgname`," . + "`binary_packages`.`epoch`," . + "`binary_packages`.`pkgver`," . + "`binary_packages`.`pkgrel`," . + "`binary_packages`.`sub_pkgrel`," . "`architectures`.`name` AS `arch` " . - "FROM `binary_packages`AS `is_there` " . - "JOIN `binary_packages` AS `to_delete` ON `to_delete`.`pkgname`=`is_there`.`pkgname` " . - "JOIN `architectures` ON `is_there`.`architecture`=`architectures`.`id` " . - "JOIN `repositories` ON `is_there`.`repository`=`repositories`.`id` " . - "WHERE `to_delete`.`repository`=10 " . - "AND NOT `is_there`.`repository` IN (4,9,10)" + "FROM `binary_packages` " . + "JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id` " . + "JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id` " . + "WHERE `binary_packages`.`is_to_be_deleted` " . + "AND NOT `repositories`.`name` IN (\"build-support\",\"build-list\",\"deletion-list\")" ); if ($result -> num_rows > 0) { -- cgit v1.2.3-70-g09d2 From aa008f2bf3b5016ed8eaa3946f7e3cee9f739ce9 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 13 Feb 2018 21:19:44 +0100 Subject: web-scripts/broken-packages.php: correctly link git revision of upstream --- web-scripts/broken-packages.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php index 3468681..4dabf5c 100644 --- a/web-scripts/broken-packages.php +++ b/web-scripts/broken-packages.php @@ -109,7 +109,10 @@ if ($result -> num_rows > 0) { $rows[$count]["git_revision"] = $rows[$count]["git_revision"] . "x86_64"; $rows[$count]["git_revision"] = - $rows[$count]["git_revision"] . "/\">" . + $rows[$count]["git_revision"] . "?id=" . + $row["git_revision"]; + $rows[$count]["git_revision"] = + $rows[$count]["git_revision"] . "\">" . $row["git_revision"] . ""; } else $rows[$count]["git_revision"] = $row["git_revision"]; -- cgit v1.2.3-70-g09d2 From 6c68e125ed9307fa6628937e4ee162c641db1297 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 28 Feb 2018 21:56:02 +0100 Subject: web-scripts/dependencies.php new --- web-scripts/dependencies.php | 145 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 web-scripts/dependencies.php (limited to 'web-scripts') diff --git a/web-scripts/dependencies.php b/web-scripts/dependencies.php new file mode 100644 index 0000000..66221bd --- /dev/null +++ b/web-scripts/dependencies.php @@ -0,0 +1,145 @@ +connect_error) { + die("Connection failed: " . $mysql->connect_error); +} + +$match = ""; + +if (isset($_GET["a"])) + $match .= " AND `architectures`.`name`=from_base64(\"" . base64_encode($_GET["a"]) . "\")"; +if (isset($_GET["p"])) + $match .= " AND `binary_packages`.`pkgname`=from_base64(\"" . base64_encode($_GET["p"]) . "\")"; +if (isset($_GET["r"])) + $match .= " AND `repositories`.`name`=from_base64(\"" . base64_encode($_GET["r"]) . "\")"; + +$ignore_install_targets = " AND NOT `install_targets`.`name` IN (\"base\",\"base-devel\")"; + +if (! $result = $mysql -> query( + "CREATE TEMPORARY TABLE `cons` (" . + "`dep` BIGINT, " . + "`itp` BIGINT, " . + "UNIQUE KEY `content` (`dep`,`itp`)" . + ")")) + die($mysql->error); + +if (! $result = $mysql -> query( + "INSERT IGNORE INTO `cons` (`dep`,`itp`)" . + " SELECT `dependencies`.`id`,`install_target_providers`.`id`". + " FROM `binary_packages`" . + " JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`" . + " JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`" . + $match . + " JOIN `dependencies` ON `dependencies`.`dependent`=`binary_packages`.`id`" . + " JOIN `install_targets` ON `dependencies`.`depending_on`=`install_targets`.`id`" . + $ignore_install_targets . + " JOIN `install_target_providers` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" + )) + die($mysql->error); + +if (! $result = $mysql -> query( + "INSERT IGNORE INTO `cons` (`dep`,`itp`)" . + " SELECT `dependencies`.`id`,`install_target_providers`.`id`". + " FROM `binary_packages`" . + " JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`" . + " JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`" . + $match . + " JOIN `install_target_providers` ON `install_target_providers`.`package`=`binary_packages`.`id`" . + " JOIN `dependencies` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" + )) + die($mysql->error); + +unset($knots); +unset($edges); + +if (! $result = $mysql -> query( + "SELECT DISTINCT `install_target_providers`.`install_target`,`install_target_providers`.`package`" . + " FROM `cons`" . + " JOIN `install_target_providers` ON `cons`.`itp`=`install_target_providers`.`id`" + )) + die($mysql->error); + +if ($result -> num_rows > 0) + while ($row = $result->fetch_assoc()) + $edges .= "\"p" . $row["package"] . "\" -> \"i" . $row["install_target"] . "\" [color = \"#000080\"];\n"; + +if (! $result = $mysql -> query( + "SELECT DISTINCT `dependencies`.`dependent`,`dependencies`.`depending_on`,`dependency_types`.`name`" . + " FROM `cons`" . + " JOIN `dependencies` ON `cons`.`dep`=`dependencies`.`id`" . + " JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id`" + )) + die($mysql->error); + +if ($result -> num_rows > 0) + while ($row = $result->fetch_assoc()) + $edges .= "\"i" . $row["depending_on"] . "\" -> \"p" . $row["dependent"] . "\" [taillabel = \"" . $row["name"] . "\"];\n"; + +if (! $result = $mysql -> query( + "SELECT DISTINCT `install_targets`.`id`,`install_targets`.`name`" . + " FROM `cons`" . + " JOIN `dependencies` ON `cons`.`dep`=`dependencies`.`id`" . + " JOIN `install_targets` ON `dependencies`.`depending_on`=`install_targets`.`id`" + )) + die($mysql->error); + +if ($result -> num_rows > 0) + while ($row = $result->fetch_assoc()) + $knots .= "\"i" . $row["id"] . "\" [label = \"" . $row["name"] . "\", fontcolor=\"#000080\"];\n"; + +$pkgfile_query = + "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 `filename`"; + +if (! $result = $mysql -> query( + "SELECT DISTINCT `binary_packages`.`id`," . $pkgfile_query . + " FROM `cons`" . + " JOIN `dependencies` ON `cons`.`dep`=`dependencies`.`id`" . + " JOIN `binary_packages` ON `dependencies`.`dependent`=`binary_packages`.`id`" . + " JOIN `architectures` ON `architectures`.`id`=`binary_packages`.`architecture`" . + " JOIN `repositories` ON `repositories`.`id`=`binary_packages`.`repository`" + )) + die($mysql->error); + +if ($result -> num_rows > 0) + while ($row = $result->fetch_assoc()) + $knots .= "\"p" . $row["id"] . "\" [label = \"" . $row["filename"] . "\"];\n"; + +if (! $result = $mysql -> query( + "SELECT DISTINCT `binary_packages`.`id`," . $pkgfile_query . + " FROM `cons`" . + " JOIN `install_target_providers` ON `cons`.`itp`=`install_target_providers`.`id`" . + " JOIN `binary_packages` ON `install_target_providers`.`package`=`binary_packages`.`id`" . + " JOIN `architectures` ON `architectures`.`id`=`binary_packages`.`architecture`" . + " JOIN `repositories` ON `repositories`.`id`=`binary_packages`.`repository`" + )) + die($mysql->error); + +if ($result -> num_rows > 0) + while ($row = $result->fetch_assoc()) + $knots .= "\"p" . $row["id"] . "\" [label = \"" . $row["filename"] . "\"];\n"; + +$knots = str_replace("\$","\\\$",$knots); +$edges = str_replace("\$","\\\$",$edges); + +header ("Content-type: image/png"); +passthru( + "dot -Tpng -o/dev/stdout /dev/stdin < -- cgit v1.2.3-70-g09d2 From 1b15a4704e80853b99eef83a3e26e7735bec2f54 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 28 Feb 2018 22:32:07 +0100 Subject: web-scripts/dependencies.php: limit to 50 connections each --- web-scripts/dependencies.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/dependencies.php b/web-scripts/dependencies.php index 66221bd..4f12c52 100644 --- a/web-scripts/dependencies.php +++ b/web-scripts/dependencies.php @@ -34,7 +34,8 @@ if (! $result = $mysql -> query( " JOIN `dependencies` ON `dependencies`.`dependent`=`binary_packages`.`id`" . " JOIN `install_targets` ON `dependencies`.`depending_on`=`install_targets`.`id`" . $ignore_install_targets . - " JOIN `install_target_providers` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" + " JOIN `install_target_providers` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" . + " LIMIT 50" )) die($mysql->error); @@ -46,7 +47,8 @@ if (! $result = $mysql -> query( " JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`" . $match . " JOIN `install_target_providers` ON `install_target_providers`.`package`=`binary_packages`.`id`" . - " JOIN `dependencies` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" + " JOIN `dependencies` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" . + " LIMIT 50" )) die($mysql->error); -- cgit v1.2.3-70-g09d2 From 8523496fc17c8afbcfff49b1164a265532a4d9c3 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 9 Mar 2018 13:45:56 +0100 Subject: web-scripts/dependencies.php: accept pkgbase via "b=..." --- web-scripts/dependencies.php | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'web-scripts') diff --git a/web-scripts/dependencies.php b/web-scripts/dependencies.php index 4f12c52..ad9dbb8 100644 --- a/web-scripts/dependencies.php +++ b/web-scripts/dependencies.php @@ -9,6 +9,8 @@ $match = ""; if (isset($_GET["a"])) $match .= " AND `architectures`.`name`=from_base64(\"" . base64_encode($_GET["a"]) . "\")"; +if (isset($_GET["b"])) + $match .= " AND `package_sources`.`pkgbase`=from_base64(\"" . base64_encode($_GET["b"]) . "\")"; if (isset($_GET["p"])) $match .= " AND `binary_packages`.`pkgname`=from_base64(\"" . base64_encode($_GET["p"]) . "\")"; if (isset($_GET["r"])) @@ -30,6 +32,8 @@ if (! $result = $mysql -> query( " FROM `binary_packages`" . " JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`" . " JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`" . + " JOIN `build_assignments` ON `binary_packages`.`build_assignment`= `build_assignments`.`id`" . + " JOIN `package_sources` ON `build_assignments`.`package_source`= `package_sources`.`id`" . $match . " JOIN `dependencies` ON `dependencies`.`dependent`=`binary_packages`.`id`" . " JOIN `install_targets` ON `dependencies`.`depending_on`=`install_targets`.`id`" . @@ -45,6 +49,8 @@ if (! $result = $mysql -> query( " FROM `binary_packages`" . " JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`" . " JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`" . + " JOIN `build_assignments` ON `binary_packages`.`build_assignment`= `build_assignments`.`id`" . + " JOIN `package_sources` ON `build_assignments`.`package_source`= `package_sources`.`id`" . $match . " JOIN `install_target_providers` ON `install_target_providers`.`package`=`binary_packages`.`id`" . " JOIN `dependencies` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" . -- cgit v1.2.3-70-g09d2 From 1658d4718631b4186a405602596e344e0ab5cb05 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 9 Mar 2018 14:09:51 +0100 Subject: unify web-scripts/broken-packages.php and web-scripts/build-list.php --- web-scripts/broken-packages.php | 194 ---------------------------------------- web-scripts/build-list.php | 54 +++++++++-- 2 files changed, 48 insertions(+), 200 deletions(-) delete mode 100644 web-scripts/broken-packages.php (limited to 'web-scripts') diff --git a/web-scripts/broken-packages.php b/web-scripts/broken-packages.php deleted file mode 100644 index 4dabf5c..0000000 --- a/web-scripts/broken-packages.php +++ /dev/null @@ -1,194 +0,0 @@ - - -List of broken package builds - - - -build logs
-connect_error) { - die("Connection failed: " . $mysql->connect_error); -} - -$result = $mysql -> query( - "SELECT DISTINCT " . - "`build_assignments`.`id`," . - "`build_assignments`.`is_blocked`," . - "`package_sources`.`pkgbase`," . - "`package_sources`.`git_revision`," . - "`package_sources`.`mod_git_revision`," . - "`package_sources`.`uses_upstream`," . - "`package_sources`.`uses_modification`," . - "`upstream_repositories`.`name` AS `package_repository`," . - "`git_repositories`.`name` AS `git_repository`," . - "`architectures`.`name` AS `arch`," . - "EXISTS (SELECT * " . - "FROM `binary_packages` `broken_bin` " . - "JOIN `dependencies` ON `dependencies`.`dependent` = `broken_bin`.`id` " . - "JOIN `install_target_providers` ON `install_target_providers`.`install_target` = `dependencies`.`depending_on` " . - "JOIN `binary_packages` `to_be_built` ON `to_be_built`.`id` = `install_target_providers`.`package` " . - "JOIN `repositories` ON `to_be_built`.`repository` = `repositories`.`id` " . - "WHERE `broken_bin`.`build_assignment`=`build_assignments`.`id` ". - "AND `repositories`.`name`=\"build-list\" " . - "AND `to_be_built`.`build_assignment`!=`build_assignments`.`id`" . - ") AS `dependencies_pending`," . - "(SELECT count(*) " . - "FROM `build_dependency_loops` " . - "WHERE `build_dependency_loops`.`build_assignment`=`build_assignments`.`id`" . - ") AS `loops` " . - "FROM `build_assignments` " . - "JOIN `architectures` ON `build_assignments`.`architecture` = `architectures`.`id` " . - "JOIN `package_sources` ON `build_assignments`.`package_source` = `package_sources`.`id` " . - "JOIN `upstream_repositories` ON `package_sources`.`upstream_package_repository` = `upstream_repositories`.`id` " . - "JOIN `git_repositories` ON `upstream_repositories`.`git_repository`=`git_repositories`.`id` " . - "JOIN `binary_packages` ON `binary_packages`.`build_assignment` = `build_assignments`.`id` " . - "JOIN `repositories` ON `binary_packages`.`repository` = `repositories`.`id` " . - "WHERE (`build_assignments`.`is_broken` OR `build_assignments`.`is_blocked` IS NOT NULL) AND `repositories`.`name`=\"build-list\"" -); -if ($result -> num_rows > 0) { - - $count = 0; - - while($row = $result->fetch_assoc()) { - - $fail_result = $mysql -> query( - "SELECT " . - "`fail_reasons`.`name`, " . - "`failed_builds`.`log_file` " . - "FROM `failed_builds` " . - "JOIN `build_assignments` ON `failed_builds`.`build_assignment`=`build_assignments`.`id` ". - "JOIN `fail_reasons` ON `failed_builds`.`reason`=`fail_reasons`.`id` ". - "WHERE `build_assignments`.`id`=".$row["id"]." " . - "ORDER BY `failed_builds`.`date`" - ); - - unset($reasons); - $rows[$count]["trials"] = $fail_result -> num_rows; - if ($rows[$count]["trials"] > 0) { - while($fail_row = $fail_result->fetch_assoc()) { - $reasons[$fail_row["name"]] = $fail_row["log_file"]; - } - } - if (isset($reasons)) { - $to_print=""; - foreach ($reasons as $reason => $last_log) { - if (file_exists("/srv/http/build-logs/error/".$last_log)) { - $to_print= $to_print . - ", " . - $reason . - ""; - } else { - $to_print= $to_print . ", " . $reason; - } - } - $rows[$count]["fail_reasons"]=substr($to_print,2); - } else { - $rows[$count]["fail_reasons"]=" "; - } - - $rows[$count]["loops"] = $row["loops"]; - $rows[$count]["pkgbase"] = $row["pkgbase"]; - if ($row["dependencies_pending"]=="0") - $rows[$count]["pkgbase_print"] = $rows[$count]["pkgbase"]; - else - $rows[$count]["pkgbase_print"] = "(" . $rows[$count]["pkgbase"] . ")"; - if ($row["uses_upstream"]) { - $rows[$count]["git_revision"] = - "" . - $row["git_revision"] . ""; - } else - $rows[$count]["git_revision"] = $row["git_revision"]; - if ($row["uses_modification"]) - $rows[$count]["mod_git_revision"] = - "" . - $row["mod_git_revision"] . ""; - else - $rows[$count]["mod_git_revision"] = $row["mod_git_revision"]; - $rows[$count]["package_repository"] = $row["package_repository"]; - if ($row["is_blocked"]=="") { - $rows[$count]["is_blocked"]=" "; - } - else { - $rows[$count]["is_blocked"] = preg_replace( - array ( - "/FS32#(\\d+)/", - "/FS#(\\d+)/" - ), - array ( - "$0", - "$0" - ), - $row["is_blocked"] - ); - } - $count++; - } - - usort( - $rows, - function (array $a, array $b) { - if ($a["trials"] < $b["trials"]) - return -1; - if ($a["trials"] > $b["trials"]) - return 1; - return strcmp($a["pkgbase"],$b["pkgbase"]); - } - ); - - print "\n"; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; -// print ""; - print ""; - print ""; - print "\n"; - - foreach($rows as $row) { - - print ""; - - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; -// - print ""; - print ""; - - print "\n"; - } - - print "
packagegit revisionmodification git revisionpackage repositorycompilationsloopsdependentbuild errorblocked
".$row["pkgbase_print"]."

".$row["git_revision"]."

".$row["mod_git_revision"]."

".$row["package_repository"]."".$row["trials"]."".$row["loops"]."0".$row["fail_reasons"]."".$row["is_blocked"]."
\n"; -} - -?> - - diff --git a/web-scripts/build-list.php b/web-scripts/build-list.php index 1b5c359..0ca36b8 100644 --- a/web-scripts/build-list.php +++ b/web-scripts/build-list.php @@ -1,6 +1,11 @@ -List of scheduled package builds +List of scheduled package builds\n"; + else + print "List of broken package builds\n"; +?> @@ -12,6 +17,11 @@ if ($mysql->connect_error) { die("Connection failed: " . $mysql->connect_error); } +if (isset($_GET["all"])) + $match_broken = ""; +else + $match_broken = "AND (`build_assignments`.`is_broken` OR `build_assignments`.`is_blocked` IS NOT NULL)"; + $result = $mysql -> query( "SELECT DISTINCT " . "`build_assignments`.`id`," . @@ -45,7 +55,7 @@ $result = $mysql -> query( "JOIN `git_repositories` ON `upstream_repositories`.`git_repository`=`git_repositories`.`id` " . "JOIN `binary_packages` ON `binary_packages`.`build_assignment` = `build_assignments`.`id` " . "JOIN `repositories` ON `binary_packages`.`repository` = `repositories`.`id` " . - "WHERE `repositories`.`name`=\"build-list\"" + "WHERE `repositories`.`name`=\"build-list\"" . $match_broken ); if ($result -> num_rows > 0) { @@ -55,12 +65,39 @@ if ($result -> num_rows > 0) { $fail_result = $mysql -> query( "SELECT " . - "`failed_builds`.`id` " . + "`fail_reasons`.`name`, " . + "`failed_builds`.`log_file` " . "FROM `failed_builds` " . - "WHERE `failed_builds`.`build_assignment`=".$row["id"] + "JOIN `fail_reasons` ON `failed_builds`.`reason`=`fail_reasons`.`id` " . + "WHERE `failed_builds`.`build_assignment`=".$row["id"]." " . + "ORDER BY `failed_builds`.`date`" ); + unset($reasons); $rows[$count]["trials"] = $fail_result -> num_rows; + if ($rows[$count]["trials"] > 0) { + while($fail_row = $fail_result->fetch_assoc()) { + $reasons[$fail_row["name"]] = $fail_row["log_file"]; + } + } + if (isset($reasons)) { + $to_print=""; + foreach ($reasons as $reason => $last_log) { + if (file_exists("/srv/http/build-logs/error/".$last_log)) { + $to_print= $to_print . + ", " . + $reason . + ""; + } else { + $to_print= $to_print . ", " . $reason; + } + } + $rows[$count]["fail_reasons"]=substr($to_print,2); + } else { + $rows[$count]["fail_reasons"]=" "; + } $rows[$count]["loops"] = $row["loops"]; $rows[$count]["pkgbase"] = $row["pkgbase"]; @@ -81,7 +118,10 @@ if ($result -> num_rows > 0) { $rows[$count]["git_revision"] = $rows[$count]["git_revision"] . "x86_64"; $rows[$count]["git_revision"] = - $rows[$count]["git_revision"] . "/\">" . + $rows[$count]["git_revision"] . "?id=" . + $row["git_revision"]; + $rows[$count]["git_revision"] = + $rows[$count]["git_revision"] . "\">" . $row["git_revision"] . ""; } else $rows[$count]["git_revision"] = $row["git_revision"]; @@ -133,6 +173,7 @@ if ($result -> num_rows > 0) { print "package repository"; print "compilations"; print "loops"; + print "build error"; print "blocked"; print "\n"; @@ -140,12 +181,13 @@ if ($result -> num_rows > 0) { print ""; - print "".$row["pkgbase_print"].""; + print "".$row["pkgbase_print"].""; print "

".$row["git_revision"]."

"; print "

".$row["mod_git_revision"]."

"; print "".$row["package_repository"].""; print "".$row["trials"].""; print "".$row["loops"].""; + print "".$row["fail_reasons"].""; print "".$row["is_blocked"].""; print "\n"; -- cgit v1.2.3-70-g09d2 From 8a298d36658f1f34a3107c40dec9373edbf7171c Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 9 Mar 2018 14:13:22 +0100 Subject: web-scripts/build-list.php: "all" <-> "broken" --- web-scripts/build-list.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/build-list.php b/web-scripts/build-list.php index 0ca36b8..1bb985d 100644 --- a/web-scripts/build-list.php +++ b/web-scripts/build-list.php @@ -1,10 +1,10 @@ List of scheduled package builds\n"; - else + if (isset($_GET["broken"])) print "List of broken package builds\n"; + else + print "List of scheduled package builds\n"; ?> @@ -17,10 +17,10 @@ if ($mysql->connect_error) { die("Connection failed: " . $mysql->connect_error); } -if (isset($_GET["all"])) - $match_broken = ""; -else +if (isset($_GET["broken"])) $match_broken = "AND (`build_assignments`.`is_broken` OR `build_assignments`.`is_blocked` IS NOT NULL)"; +else + $match_broken = ""; $result = $mysql -> query( "SELECT DISTINCT " . -- cgit v1.2.3-70-g09d2 From 08f69a1eb1f6a71751cda4df67213fa086eeae53 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 9 Mar 2018 20:32:43 +0100 Subject: web-scripts/build-list.php: "?show=next" new --- web-scripts/build-list.php | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/build-list.php b/web-scripts/build-list.php index 1bb985d..98217de 100644 --- a/web-scripts/build-list.php +++ b/web-scripts/build-list.php @@ -1,27 +1,32 @@ List of broken package builds\n"; - else - print "List of scheduled package builds\n"; -?> - - - -build logs
-List of " . $to_show . " package builds\n"; +print "\n"; +print "\n"; +print "\n"; +print "build logs
\n"; $mysql = new mysqli("localhost", "webserver", "empty", "buildmaster"); if ($mysql->connect_error) { die("Connection failed: " . $mysql->connect_error); } -if (isset($_GET["broken"])) - $match_broken = "AND (`build_assignments`.`is_broken` OR `build_assignments`.`is_blocked` IS NOT NULL)"; -else - $match_broken = ""; - $result = $mysql -> query( "SELECT DISTINCT " . "`build_assignments`.`id`," . @@ -55,7 +60,7 @@ $result = $mysql -> query( "JOIN `git_repositories` ON `upstream_repositories`.`git_repository`=`git_repositories`.`id` " . "JOIN `binary_packages` ON `binary_packages`.`build_assignment` = `build_assignments`.`id` " . "JOIN `repositories` ON `binary_packages`.`repository` = `repositories`.`id` " . - "WHERE `repositories`.`name`=\"build-list\"" . $match_broken + "WHERE `repositories`.`name`=\"build-list\"" . $match ); if ($result -> num_rows > 0) { @@ -63,6 +68,11 @@ if ($result -> num_rows > 0) { while($row = $result->fetch_assoc()) { + if (($to_show == "next") && + ($row["loops"]==0) && + ($row["dependencies_pending"]==1)) + continue; + $fail_result = $mysql -> query( "SELECT " . "`fail_reasons`.`name`, " . -- cgit v1.2.3-70-g09d2 From 9714f8d729a53b4b55c72b7d6be3ba35148cdc6f Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sat, 10 Mar 2018 14:28:43 +0100 Subject: web-scripts/dependencies.php: colorize dependencies --- web-scripts/dependencies.php | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/dependencies.php b/web-scripts/dependencies.php index ad9dbb8..58d3e39 100644 --- a/web-scripts/dependencies.php +++ b/web-scripts/dependencies.php @@ -18,6 +18,14 @@ if (isset($_GET["r"])) $ignore_install_targets = " AND NOT `install_targets`.`name` IN (\"base\",\"base-devel\")"; +$colors["stable"]="#000000"; +$colors["testing"]="#008000"; +$colors["staging"]="#00ff00"; +$colors["standalone"]="#000000"; +$colors["unbuilt"]="#ff0000"; +$colors["forbidden"]="#808080"; +$colors["virtual"]="#800080"; + if (! $result = $mysql -> query( "CREATE TEMPORARY TABLE `cons` (" . "`dep` BIGINT, " . @@ -94,7 +102,7 @@ if (! $result = $mysql -> query( if ($result -> num_rows > 0) while ($row = $result->fetch_assoc()) - $knots .= "\"i" . $row["id"] . "\" [label = \"" . $row["name"] . "\", fontcolor=\"#000080\"];\n"; + $knots .= "\"i" . $row["id"] . "\" [label = \"" . $row["name"] . "\", fontcolor = \"#000080\"];\n"; $pkgfile_query = "CONCAT(". @@ -108,32 +116,40 @@ $pkgfile_query = ") AS `filename`"; if (! $result = $mysql -> query( - "SELECT DISTINCT `binary_packages`.`id`," . $pkgfile_query . + "SELECT DISTINCT " . + "`binary_packages`.`id`," . + "`repository_stabilities`.`name` AS `stability`," . + $pkgfile_query . " FROM `cons`" . " JOIN `dependencies` ON `cons`.`dep`=`dependencies`.`id`" . " JOIN `binary_packages` ON `dependencies`.`dependent`=`binary_packages`.`id`" . " JOIN `architectures` ON `architectures`.`id`=`binary_packages`.`architecture`" . - " JOIN `repositories` ON `repositories`.`id`=`binary_packages`.`repository`" + " JOIN `repositories` ON `repositories`.`id`=`binary_packages`.`repository`" . + " JOIN `repository_stabilities` ON `repository_stabilities`.`id`=`repositories`.`stability`" )) die($mysql->error); if ($result -> num_rows > 0) while ($row = $result->fetch_assoc()) - $knots .= "\"p" . $row["id"] . "\" [label = \"" . $row["filename"] . "\"];\n"; + $knots .= "\"p" . $row["id"] . "\" [label = \"" . $row["filename"] . "\", fontcolor = \"" . $colors[$row["stability"]] . "\"];\n"; if (! $result = $mysql -> query( - "SELECT DISTINCT `binary_packages`.`id`," . $pkgfile_query . + "SELECT DISTINCT " . + "`binary_packages`.`id`," . + "`repository_stabilities`.`name` AS `stability`," . + $pkgfile_query . " FROM `cons`" . " JOIN `install_target_providers` ON `cons`.`itp`=`install_target_providers`.`id`" . " JOIN `binary_packages` ON `install_target_providers`.`package`=`binary_packages`.`id`" . " JOIN `architectures` ON `architectures`.`id`=`binary_packages`.`architecture`" . - " JOIN `repositories` ON `repositories`.`id`=`binary_packages`.`repository`" + " JOIN `repositories` ON `repositories`.`id`=`binary_packages`.`repository`" . + " JOIN `repository_stabilities` ON `repository_stabilities`.`id`=`repositories`.`stability`" )) die($mysql->error); if ($result -> num_rows > 0) while ($row = $result->fetch_assoc()) - $knots .= "\"p" . $row["id"] . "\" [label = \"" . $row["filename"] . "\"];\n"; + $knots .= "\"p" . $row["id"] . "\" [label = \"" . $row["filename"] . "\", fontcolor = \"" . $colors[$row["stability"]] . "\"];\n"; $knots = str_replace("\$","\\\$",$knots); $edges = str_replace("\$","\\\$",$edges); -- cgit v1.2.3-70-g09d2 From 30e05f52359521ccc4fd387e14c4147a413a2049 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sat, 10 Mar 2018 14:30:04 +0100 Subject: web-scripts/build-list.php: add link to main page --- web-scripts/build-list.php | 1 + 1 file changed, 1 insertion(+) (limited to 'web-scripts') diff --git a/web-scripts/build-list.php b/web-scripts/build-list.php index 98217de..cd197eb 100644 --- a/web-scripts/build-list.php +++ b/web-scripts/build-list.php @@ -20,6 +20,7 @@ print "List of " . $to_show . " package builds\n"; print "\n"; print "\n"; print "\n"; +print "/\n"; print "build logs
\n"; $mysql = new mysqli("localhost", "webserver", "empty", "buildmaster"); -- cgit v1.2.3-70-g09d2 From e178be28f4219a3a65e3c1c41d882f5eeb400219 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sat, 10 Mar 2018 14:31:19 +0100 Subject: web-scripts/build-list.php: link to start page should be the other way round :-/ --- web-scripts/build-list.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'web-scripts') diff --git a/web-scripts/build-list.php b/web-scripts/build-list.php index cd197eb..b94970b 100644 --- a/web-scripts/build-list.php +++ b/web-scripts/build-list.php @@ -20,7 +20,7 @@ print "List of " . $to_show . " package builds\n"; print "\n"; print "\n"; print "\n"; -print "/\n"; +print "Start page\n"; print "build logs
\n"; $mysql = new mysqli("localhost", "webserver", "empty", "buildmaster"); -- cgit v1.2.3-70-g09d2 From 91353d076cb6f770980d1fee9faa7856fde5be32 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sat, 10 Mar 2018 14:59:36 +0100 Subject: web-scripts/dependencies.php: restrict to relevant dependencies --- web-scripts/dependencies.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/dependencies.php b/web-scripts/dependencies.php index 58d3e39..3a38ac8 100644 --- a/web-scripts/dependencies.php +++ b/web-scripts/dependencies.php @@ -26,6 +26,8 @@ $colors["unbuilt"]="#ff0000"; $colors["forbidden"]="#808080"; $colors["virtual"]="#800080"; +$limit=200; + if (! $result = $mysql -> query( "CREATE TEMPORARY TABLE `cons` (" . "`dep` BIGINT, " . @@ -39,15 +41,18 @@ if (! $result = $mysql -> query( " SELECT `dependencies`.`id`,`install_target_providers`.`id`". " FROM `binary_packages`" . " JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`" . + " JOIN `repository_stabilities` ON `repositories`.`stability`=`repository_stabilities`.`id`" . " JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`" . " JOIN `build_assignments` ON `binary_packages`.`build_assignment`= `build_assignments`.`id`" . " JOIN `package_sources` ON `build_assignments`.`package_source`= `package_sources`.`id`" . $match . " JOIN `dependencies` ON `dependencies`.`dependent`=`binary_packages`.`id`" . + " JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id`" . " JOIN `install_targets` ON `dependencies`.`depending_on`=`install_targets`.`id`" . $ignore_install_targets . " JOIN `install_target_providers` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" . - " LIMIT 50" + " WHERE (`dependency_types`.`relevant_for_binary_packages` OR `repository_stabilities`.`name`=\"unbuilt\")" . + " LIMIT " . $limit )) die($mysql->error); @@ -62,7 +67,12 @@ if (! $result = $mysql -> query( $match . " JOIN `install_target_providers` ON `install_target_providers`.`package`=`binary_packages`.`id`" . " JOIN `dependencies` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" . - " LIMIT 50" + " JOIN `binary_packages` AS `d_bp` ON `dependencies`.`dependent`=`d_bp`.`id`" . + " JOIN `repositories` AS `d_r` ON `d_bp`.`repository`=`d_r`.`id`" . + " JOIN `repository_stabilities` AS `d_rs` ON `d_r`.`stability`=`d_rs`.`id`" . + " JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id`" . + " WHERE (`dependency_types`.`relevant_for_binary_packages` OR `d_rs`.`name`=\"unbuilt\")" . + " LIMIT " . $limit )) die($mysql->error); -- cgit v1.2.3-70-g09d2 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') 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-70-g09d2 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') 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-70-g09d2 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') 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-70-g09d2 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') 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-70-g09d2 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') 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-70-g09d2 From 85201f7de2d131aba3c4e10852aed3e11f39fa0a Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 20 Mar 2018 11:28:28 +0100 Subject: web-scripts/statistics.php: take info from database --- web-scripts/statistics.php | 100 ++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 55 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/statistics.php b/web-scripts/statistics.php index 279aa39..1e4d89b 100644 --- a/web-scripts/statistics.php +++ b/web-scripts/statistics.php @@ -1,54 +1,44 @@ connect_error) { + die("Connection failed: " . $mysql->connect_error); +} +if (! $result = $mysql -> query( + "SELECT DISTINCT ". + "UNIX_TIMESTAMP(`statistics`.`date`) AS `date`," . + "`statistics`.`pending_tasks_count`," . + "`statistics`.`pending_packages_count`," . + "`statistics`.`staging_packages_count`," . + "`statistics`.`testing_packages_count`," . + "`statistics`.`tested_packages_count`," . + "`statistics`.`broken_tasks_count`," . + "`statistics`.`dependency_loops_count`," . + "`statistics`.`dependency_looped_tasks_count`," . + "`statistics`.`locked_tasks_count`," . + "`statistics`.`blocked_tasks_count`," . + "`statistics`.`next_tasks_count`" . + "FROM `statistics` " . + "WHERE `statistics`.`date`>=ADDTIME(NOW(),\"-7 00:00:00\") " . + "ORDER BY `statistics`.`date`" + )) + die($mysql->error); $t_min = -1; $t_max = -1; $val_max = -1; -foreach (explode("\n",trim(file_get_contents('/srv/http/statistics'))) as $val) { - $val = explode(" ",$val); - if (($t_min == -1) || ($t_min > $val[0])) - $t_min = $val[0]; - if (($t_max == -1) || ($t_max < $val[0])) - $t_max = $val[0]; - foreach ($columns as $id => $column) { - if (count($val) > $id+1) - $values[$column][$val[0]] = $val[$id+1]; - }; - foreach ($print_columns as $column) { - if (array_key_exists($column,$values)) - if (($val_max == -1) || ($val_max < $values[$column][$val[0]])) - $val_max = $values[$column][$val[0]]; - } +while($vals = $result->fetch_assoc()) { + if ($t_min == -1) + $t_min = $vals["date"]; + $t_max = $vals["date"]; + foreach ($vals as $column => $val) + if ($column != "date") { + $values[$column][$vals["date"]] = $val; + $val_max = max($val_max,$val); + } }; +$print_columns = array_keys($values); $max_len = 0; foreach ($print_columns as $column) { @@ -69,18 +59,18 @@ $im = @ImageCreate ($width + $legend_line_length + $max_len * ImageFontWidth(5), $background_color = ImageColorAllocate ($im, 255, 255, 255); $foreground_color = ImageColorAllocate ($im, 0, 0, 0); -$colors['stable'] = ImageColorAllocate ($im, 0, 0, 0); -$colors['tasks'] = ImageColorAllocate ($im, 0, 0, 128); -$colors['pending_packages'] = ImageColorAllocate ($im, 0, 0, 255); -$colors['staging'] = ImageColorAllocate ($im, 0, 100, 0); -$colors['testing'] = ImageColorAllocate ($im, 0, 200, 0); -$colors['tested'] = ImageColorAllocate ($im, 100, 255, 0); -$colors['broken'] = ImageColorAllocate ($im, 255, 0, 0); -$colors['loops'] = ImageColorAllocate ($im, 128, 128, 0); -$colors['looped_packages'] = ImageColorAllocate ($im, 255, 128, 128); -$colors['locked'] = ImageColorAllocate ($im, 128, 128, 128); -$colors['blocked'] = ImageColorAllocate ($im, 128, 0, 0); -$colors['next_pending'] = ImageColorAllocate ($im, 0, 255, 255); +$colors['stable_packages_count'] = ImageColorAllocate ($im, 0, 0, 0); +$colors['pending_tasks_count'] = ImageColorAllocate ($im, 0, 0, 128); +$colors['pending_packages_count'] = ImageColorAllocate ($im, 0, 0, 255); +$colors['staging_packages_count'] = ImageColorAllocate ($im, 0, 100, 0); +$colors['testing_packages_count'] = ImageColorAllocate ($im, 0, 200, 0); +$colors['tested_packages_count'] = ImageColorAllocate ($im, 100, 255, 0); +$colors['broken_tasks_count'] = ImageColorAllocate ($im, 255, 0, 0); +$colors['dependency_loops_count'] = ImageColorAllocate ($im, 128, 128, 0); +$colors['dependency_looped_tasks_count'] = ImageColorAllocate ($im, 255, 128, 128); +$colors['locked_tasks_count'] = ImageColorAllocate ($im, 128, 128, 128); +$colors['blocked_tasks_count'] = ImageColorAllocate ($im, 128, 0, 0); +$colors['next_tasks_count'] = ImageColorAllocate ($im, 0, 255, 255); function scale($x, $x_min, $x_max, $scale, $log) { if ($log) { -- cgit v1.2.3-70-g09d2 From e955c7d36c794056fd777398ac37c466cde8ddc3 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 20 Mar 2018 11:52:06 +0100 Subject: web-scripts/statistics.php: make legend nice(r) again --- web-scripts/statistics.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/statistics.php b/web-scripts/statistics.php index 1e4d89b..41b205f 100644 --- a/web-scripts/statistics.php +++ b/web-scripts/statistics.php @@ -51,7 +51,7 @@ $width = 1600; $height = 600; $border = 5; $legend_line_length = 10; -$legend_height = 3 * ImageFontHeight(5) + $legend_line_length; +$legend_height = 4 * ImageFontHeight(5) + $legend_line_length; $im = @ImageCreate ($width + $legend_line_length + $max_len * ImageFontWidth(5), $height + $legend_height) or die ("Cannot create new gd-image-stream"); @@ -118,13 +118,13 @@ function print_graph($data, $color) { ImageRectangle($im, $legend_line_length, 0, $width-1+$legend_line_length, $height-1, $foreground_color); -ImageString($im, 5, $legend_line_length, $height + $legend_line_length + 2*ImageFontHeight(5), "( ".trim(shell_exec("uptime | sed 's|^.*\\s\\(load\\)|\\1|'"))." )", $foreground_color); +ImageString($im, 5, $legend_line_length, $height + 2*$legend_line_length + 2*ImageFontHeight(5), "( ".trim(shell_exec("uptime | sed 's|^.*\\s\\(load\\)|\\1|'"))." )", $foreground_color); $xpos = $legend_line_length; foreach ($print_columns as $column) { print_graph($values[$column], $colors[$column]); - ImageString($im, 5, $xpos, $height + $legend_line_length + ImageFontHeight(5), $column, $colors[$column]); - $xpos += (strlen($column) + 1.75) * ImageFontWidth(5); + ImageString($im, 5, $xpos, $height + $legend_line_length + ImageFontHeight(5), substr($column,0,-strlen("_count")), $colors[$column]); + $xpos += (strlen($column) - strlen("_count") + 1.75) * ImageFontWidth(5); } ImageString($im, 5, $legend_line_length, $height + $legend_line_length, date('Y-m-d H:i', $t_min), $foreground_color); -- cgit v1.2.3-70-g09d2 From 301b04263a7d6343704b35bfd68961d536772daf Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 20 Mar 2018 12:02:57 +0100 Subject: web-scripts/statistics.php: remove obsolete comment --- web-scripts/statistics.php | 2 -- 1 file changed, 2 deletions(-) (limited to 'web-scripts') diff --git a/web-scripts/statistics.php b/web-scripts/statistics.php index 41b205f..01bbb52 100644 --- a/web-scripts/statistics.php +++ b/web-scripts/statistics.php @@ -164,6 +164,4 @@ header ("Content-type: image/png"); ImagePNG ($im); -// passthru('wc -l /srv/http/statistics'); - ?> -- cgit v1.2.3-70-g09d2 From 919d396328617ad13ffe3665d64d83325e078d16 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 21 Mar 2018 09:24:31 +0100 Subject: web-scripts/build-list.php: display which build slaves works on which task --- web-scripts/build-list.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'web-scripts') diff --git a/web-scripts/build-list.php b/web-scripts/build-list.php index b94970b..5cc7a47 100644 --- a/web-scripts/build-list.php +++ b/web-scripts/build-list.php @@ -53,7 +53,8 @@ $result = $mysql -> query( "(SELECT count(*) " . "FROM `build_dependency_loops` " . "WHERE `build_dependency_loops`.`build_assignment`=`build_assignments`.`id`" . - ") AS `loops` " . + ") AS `loops`, " . + "`build_slaves`.`name` AS `build_slave` " . "FROM `build_assignments` " . "JOIN `architectures` ON `build_assignments`.`architecture` = `architectures`.`id` " . "JOIN `package_sources` ON `build_assignments`.`package_source` = `package_sources`.`id` " . @@ -61,6 +62,7 @@ $result = $mysql -> query( "JOIN `git_repositories` ON `upstream_repositories`.`git_repository`=`git_repositories`.`id` " . "JOIN `binary_packages` ON `binary_packages`.`build_assignment` = `build_assignments`.`id` " . "JOIN `repositories` ON `binary_packages`.`repository` = `repositories`.`id` " . + "LEFT JOIN `build_slaves` ON `build_slaves`.`currently_building`=`build_assignments`.`id` " . "WHERE `repositories`.`name`=\"build-list\"" . $match ); if ($result -> num_rows > 0) { @@ -162,6 +164,10 @@ if ($result -> num_rows > 0) { $row["is_blocked"] ); } + if (isset($row["build_slave"])) + $rows[$count]["build_slave"] = $row["build_slave"]; + else + $rows[$count]["build_slave"] = " "; $count++; } @@ -186,6 +192,7 @@ if ($result -> num_rows > 0) { print "loops"; print "build error"; print "blocked"; + print "handed out to"; print "\n"; foreach($rows as $row) { @@ -200,6 +207,7 @@ if ($result -> num_rows > 0) { print "".$row["loops"].""; print "".$row["fail_reasons"].""; print "".$row["is_blocked"].""; + print "".$row["build_slave"].""; print "\n"; } -- cgit v1.2.3-70-g09d2 From 6f7e155ea0dd7f0e5894ec133be313bbdb4589ba Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 23 Mar 2018 09:14:32 +0100 Subject: web-scripts/statistics.php: add option to chose time axis differently --- web-scripts/statistics.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'web-scripts') diff --git a/web-scripts/statistics.php b/web-scripts/statistics.php index 01bbb52..c919f93 100644 --- a/web-scripts/statistics.php +++ b/web-scripts/statistics.php @@ -1,5 +1,10 @@ connect_error) { die("Connection failed: " . $mysql->connect_error); @@ -19,7 +24,7 @@ if (! $result = $mysql -> query( "`statistics`.`blocked_tasks_count`," . "`statistics`.`next_tasks_count`" . "FROM `statistics` " . - "WHERE `statistics`.`date`>=ADDTIME(NOW(),\"-7 00:00:00\") " . + "WHERE `statistics`.`date`>=ADDTIME(NOW()," . $min_time . ") " . "ORDER BY `statistics`.`date`" )) die($mysql->error); -- cgit v1.2.3-70-g09d2 From 4e2dbce045fa380a19d76d861c6d17654c10b786 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 23 Mar 2018 10:47:48 +0100 Subject: web-scripts/blacklist.php new --- web-scripts/blacklist.php | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 web-scripts/blacklist.php (limited to 'web-scripts') diff --git a/web-scripts/blacklist.php b/web-scripts/blacklist.php new file mode 100644 index 0000000..6ad46f4 --- /dev/null +++ b/web-scripts/blacklist.php @@ -0,0 +1,47 @@ + + +Blacklisted packages + + + + + +connect_error) { + die("Connection failed: " . $mysql->connect_error); +} +if ( ! $result = $mysql -> query( + "SELECT DISTINCT `architectures`.`name` AS `architecture`,`package_sources`.`pkgbase`,`build_assignments`.`is_black_listed` " . + "FROM `build_assignments` " . + "JOIN `architectures` ON `build_assignments`.`architecture`=`architectures`.`id` " . + "JOIN `package_sources` ON `build_assignments`.`package_source`=`package_sources`.`id` " . + "WHERE `build_assignments`.`is_black_listed` IS NOT NULL")) { + die($mysql->error); +} +if ($result -> num_rows > 0) { + while($row = $result->fetch_assoc()) { + print "\n"; + } +} +?> +
architecturepackagereason
"; + print $row["architecture"]; + print ""; + print $row["pkgbase"]; + print ""; + print preg_replace( + array ( + "/FS32#(\\d+)/", + "/FS#(\\d+)/" + ), + array ( + "$0", + "$0" + ), + $row["is_black_listed"] + ); + print "
+ + -- cgit v1.2.3-70-g09d2 From 865de4ebc3753e78cd1fe2083d213c364afe4000 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 23 Mar 2018 10:57:13 +0100 Subject: web-scripts/blacklist.php: order by pkgbase --- web-scripts/blacklist.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'web-scripts') diff --git a/web-scripts/blacklist.php b/web-scripts/blacklist.php index 6ad46f4..c2810c6 100644 --- a/web-scripts/blacklist.php +++ b/web-scripts/blacklist.php @@ -17,7 +17,8 @@ if ( ! $result = $mysql -> query( "FROM `build_assignments` " . "JOIN `architectures` ON `build_assignments`.`architecture`=`architectures`.`id` " . "JOIN `package_sources` ON `build_assignments`.`package_source`=`package_sources`.`id` " . - "WHERE `build_assignments`.`is_black_listed` IS NOT NULL")) { + "WHERE `build_assignments`.`is_black_listed` IS NOT NULL " . + "ORDER BY `package_sources`.`pkgbase`")) { die($mysql->error); } if ($result -> num_rows > 0) { -- cgit v1.2.3-70-g09d2