1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FreeBSD gitup のトラブルシュート

1
Last updated at Posted at 2026-05-12

FreeBSD gitup のトラブルシュート

  • gitup とはなんですか ⇒ 便利そうなGUIではありません。 ⇒ portsnap とか svnlite とかの代わりは gitup がいいらしいですよ
  • portsnap はもう 終わりました (2026/04/30) Recommended usage of git instead of portsnap
  • 手元の機材を 全部 gitup ports に変更(そういえば、cvsup から portsnap に入れ替えたのいつだか覚えてない大昔)
  • 2026/05/08 頃から、 gitup ports で ports を拾っていたのがエラーになっています。
  • 最近 pkg ではセキュリティアップデートが間に合ってない(python3.11は放置な)のでports でコンパイルして間に合わせています
  • nginx-full いれると色々入りすぎるから ports がいいのだが 手元で ports更新が出来ていません
  • portsnap が未だ生きているので、戻したところもあり。

何が起きてるのか


# Scanning local repository...
# Host: git.freebsd.org
# Port: 443
# Repository Path: /ports.git
# Target Directory: /usr/ports
# Have: ae83ddf02de2c9adf8d2765a6dcb1b43d490a0af
# Want: 8e2222c5a1e9046687b6a2b7f631b9b94a25084b
# Branch: main
gitup: process_command: read failure:

HTTP/1.1 200 OK
Server: nginx/1.28.3
Date: Tue, 12 May 2026 07:28:28 GMT
Content-Type: application/x-git-upload-pack-result
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Fri, 01 Jan 1980 00:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache, max-age=0, must-revalidate
0011shallow-info
0001000dpackfile
2004PACK
: Invalid argument
  • なにかが壊れた?
  • "Invalid argument" これだけじゃ分かりませんでした。

とりあえず足掻く

  • /usr/ports 全消し ⇒ 効果なし
  • /var/db/gitup/ 以下全消し ⇒ 効果なし

検索してみる。

× "足掻く” のと同じことを進められる (by ChatGPT)

メーリングリストで

  • git コマンドで github repo. で拾ったら問題なかった。
  • github repo から取る設定 gitup.conf にしてみるといいよ

解決patch

  • FreeBSD-ports の mirror が他にあればそこにしてもいいのですが、取り敢えず githubにしました。
-- gitup.conf.sample	2026-04-24 23:35:41.000000000 +0900
+++ gitup.conf	2026-05-12 15:39:31.815924000 +0900
@@ -17,7 +17,8 @@
 	},
 
 	"ports" : {
-		"repository_path"  : "/ports.git",
+                "host"             : "github.com",
+		"repository_path"  : "/freebsd/freebsd-ports.git",
 		"branch"           : "main",
 		"target_directory" : "/usr/ports",
 		"ignores"          : [],

暫定開通・結果

  • 2026/05/12 現在、この方法で expat-2.8.0 (CVE-2026-41080) 対応した 2.8.1 を取得できてます。
  • そのうち FreeBSD-ports 公式 repoが治ることを期待します。

gitup の修正

  1. bufferの拡大
  2. HTTP レスポンスコード判定の位置を変更。
    以前はレスポンス先頭が HTTP/1. で始まる場合だけステータスコードを確認。
    修正後は session->response の先頭16バイト以内から HTTP/1. を探し、
    見つかればステータスコードを読む。
    200 は成功扱い。proxy 利用時は従来通り 2xx 全般を成功扱い。

pkg 配布が望まれる

  • 残念ながら、latest でも gitup-1.0 (中身は 0.99) パッケージなのでコンパイルが必要です。そうなると gitup以外の方法で portsを更新するか、repoを変えるかのどちらか。

  • github repo に差し替えた後もエラーになることがあり、0.99(1.0)は1.01に速やかに更新されることが望ましい

  • 依存はないみたいに書いてありましたが、opensslに依存します。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?