Commit f53ca79ba05711dc49d44c87b52ff7d885a1a7a6

Thomas de Grivel 2025-04-22T17:05:19

wip

diff --git a/home/ci/app/controllers/rbpkg_controller.kc3 b/home/ci/app/controllers/rbpkg_controller.kc3
index ce44f5b..d9a1d3d 100644
--- a/home/ci/app/controllers/rbpkg_controller.kc3
+++ b/home/ci/app/controllers/rbpkg_controller.kc3
@@ -13,8 +13,9 @@ defmodule RbpkgController do
     packages = Rbpkg.list_packages()
     if List.has?(packages, repo) do
       title = "ci.kmx.io - rbpkg repo #{repo} #{tree}"
-      info = Rbpkg.package_info(repo, tree)
-      page = RbpkgView.render_show_repo(repo, tree, info)
+      info = Rbpkg.info()
+      repo_info = Rbpkg.package_info(repo, tree)
+      page = RbpkgView.render_show_repo(repo, tree, info, repo_info)
       body = LayoutView.render("rbpkg-repo", title, page,
         Route.rbpkg(repo))
       %HTTP.Response{body: body}
@@ -31,7 +32,7 @@ defmodule RbpkgController do
       list = Str.split(url, "/")
       if request.method == GET ||
          request.method == HEAD do
-        if url == "" || ([] = ^ list) do
+        if url == "" || [] == list do
           index()
         else
           if [repo, tree, "host", host] = ^ list do
diff --git a/home/ci/app/models/rbpkg.kc3 b/home/ci/app/models/rbpkg.kc3
index 1820b3b..8ad2b56 100644
--- a/home/ci/app/models/rbpkg.kc3
+++ b/home/ci/app/models/rbpkg.kc3
@@ -1,17 +1,16 @@
 defmodule Rbpkg do
 
+  def info = fn () {
+    Tag.from_str(system(["rbpkg", "info"]))
+  }
+
   def list_packages = fn () {
     List.filter(Str.split(system(["rbpkg", "list"]), "\n"),
       fn (x) { if x != "" do x end })
   }
 
   def package_info = fn (repo, tree) {
-    Tag.from_str("""
-do
-  #{system(["rbpkg", "info", repo, tree])}
-  {info, repo_info}
-end
-""")
+    Tag.from_str(system(["rbpkg", "info", repo, tree]))
   }
 
 end
diff --git a/home/ci/app/templates/rbpkg/show_repo.html.ekc3 b/home/ci/app/templates/rbpkg/show_repo.html.ekc3
index 391f406..9d9060a 100644
--- a/home/ci/app/templates/rbpkg/show_repo.html.ekc3
+++ b/home/ci/app/templates/rbpkg/show_repo.html.ekc3
@@ -6,5 +6,7 @@
     <a href="<%= Route.rbpkg(repo, tree) %>"><%= tree %></a>
   </h1>
 
-  <pre><%= inspect(info) %></pre>
+  <pre>info = <%= info %></pre>
+
+  <pre>repo_info = <%= repo_info %></pre>
 </div>
diff --git a/home/ci/app/views/rbpkg_view.kc3 b/home/ci/app/views/rbpkg_view.kc3
index a9ac999..205881a 100644
--- a/home/ci/app/views/rbpkg_view.kc3
+++ b/home/ci/app/views/rbpkg_view.kc3
@@ -12,7 +12,7 @@ defmodule RbpkgView do
     EKC3.load("app/templates/rbpkg/show_repo.html.ekc3")
   }
 
-  def render_show_repo = fn (repo, tree, info) {
+  def render_show_repo = fn (repo, tree, info, repo_info) {
     EKC3.render(template_show_repo())
   }
 
diff --git a/lib/rbpkg.rb b/lib/rbpkg.rb
index 745d701..16871b5 100644
--- a/lib/rbpkg.rb
+++ b/lib/rbpkg.rb
@@ -278,12 +278,15 @@ EOF
   end
 
   def self.info(repo, tree)
-    global_info = inspect()
-    $log.puts global_info
-    puts "info = #{global_info}"
-    repo_info = Repos.repo(repo, tree).inspect
-    $log.puts repo_info
-    puts "repo_info = #{repo_info}"
+    if repo
+      repo_info = Repos.repo(repo, tree).inspect
+      $log.puts repo_info
+      puts "repo_info = #{repo_info}"
+    else
+      global_info = inspect()
+      $log.puts global_info
+      puts "info = #{global_info}"
+    end
   end
 
   def self.init(name, verbose_level, log_dir, status_dir)
@@ -300,7 +303,7 @@ EOF
   end
 
   def self.inspect
-    """%Rbpkg.Info{
+    """%{
   cc: #{cc.inspect},
   dir: #{dir.inspect},
   ncpu: #{ncpu.inspect},
diff --git a/lib/rbpkg/repo.rb b/lib/rbpkg/repo.rb
index 0238729..cea2126 100644
--- a/lib/rbpkg/repo.rb
+++ b/lib/rbpkg/repo.rb
@@ -242,21 +242,22 @@ class Rbpkg::Repo
   end
 
   def inspect
-    """%#{self.class.name.gsub(/::/, ".")}{
-    name: #{name.inspect},
-    dir: #{dir.inspect},
-    git_url: #{git_url.inspect},
-    src_dir: #{src_dir.inspect},
-    src_parent_dir: #{src_parent_dir.inspect},
-    head: #{tree.inspect},
-    hash: #{hash.inspect},
-    configure_env: #{configure_env.inspect},
-    make: #{make.inspect},
-    version:           #{version.inspect},
-    installed_version: #{installed_version.inspect},
-    dependencies: #{dependencies.inspect},
-    required_by: #{required_by.inspect}
-  }"""
+    """%{
+  name: #{name.inspect},
+  dir: #{dir.inspect},
+  git_url: #{git_url.inspect},
+  src_dir: #{src_dir.inspect},
+  src_parent_dir: #{src_parent_dir.inspect},
+  head: #{tree.inspect},
+  hash: #{hash.inspect},
+  configure_env: #{configure_env.inspect},
+  make: #{make.inspect},
+  make_cmd: #{make_cmd.inspect},
+  version:           #{version.inspect},
+  installed_version: #{installed_version.inspect},
+  dependencies: #{dependencies.inspect},
+  required_by: #{required_by.inspect}
+}"""
   end
 
   def install
@@ -463,7 +464,7 @@ class Rbpkg::Repo
     verbose 3, "repo(#{name.inspect}).test"
     build()
     if File.file?("#{src_dir}/Makefile")
-      cmd! "cd #{sh_quote(src_dir)} && make -j #{Rbpkg.ncpu} #{sh_quote(test_make_rule)}"
+      cmd! "cd #{sh_quote(src_dir)} && #{make_cmd} #{sh_quote(test_make_rule)}"
     end
   end