LoginSignup
4
1

portsnap とか svnlite とかの代わりは gitup がいいらしいですよ

Last updated at Posted at 2023-12-24

取得(clone/pull)に特化した軽量バージョンマネージャー gitup

Advent Calendar 2023 二日目

で portsnap が無くなったよ!ネタがありました。今まで ports ツリーの管理に portsnap を使っていて、開発マシンでもないのにいろいろ依存pkgが同時に入ってしまう git は入れたくないなぁという人は結構多いかもしれません。
2023/12/01 に行われたFreeBSD ワークショップでも話題になり、その時 ワークショップ主催 の佐藤先生が紹介したのが gitup (ports:net/gitup)というコマンドです。
ファイルの取得(clone/pull)専用のコマンドで、/usr/src や /usr/ports を最新に同期することに特化したコマンドです。git より依存するライブラリが少なくサイズも小さいので、git よりも気楽に入れられるでしょう。

使い方

pkg が用意されているので pkg install でインストールできます。

# pkg install gitup

ports は net/gitup です。

ports ツリーを取得するには gitup ports とします。/usr/src は current のソースツリーならば gitup current 、リリースならば gitup release です。単純ですね。
ですが、インストール直後にいきなり実行すると設定ファイルが無いよと怒られてしまいます。

# gitup ports
gitup: load_config: cannot load /usr/local/etc/gitup.conf: Inappropriate file type or format

設定ファイルは /usr/local/etc/gitup.conf です。gitup の pkg/ports をインストールすると /usr/local/etc/gitup.conf.sample もインストールされているので、それをコピーします。デフォルトのサーバーで、ローカルパスとして /usr/ports や /usr/src を使用するならば特に変更しなくても使えます。
設定ファイルが用意できたら実行可能です。
再度 git portsを実行してみましょう。

# gitup ports
# Host: git.freebsd.org
# Port: 443
# Repository Path: /ports.git
# Target Directory: /usr/ports
# Want: 375ae40f4dff2904b15d9a55fb3241f683dede7c
# Branch: main
# Action: clone
 + /usr/ports/.arcconfig
 + /usr/ports/.gitignore
 + /usr/ports/.hooks/pre-commit
 + /usr/ports/.hooks/pre-commit.d/check_category_makefile
 + /usr/ports/.hooks/pre-commit.d/check_created_by
〜(中略)〜
 + /usr/ports/x11/zenity/distinfo
 + /usr/ports/x11/zenity/pkg-descr
 + /usr/ports/x11/zenity/pkg-plist
#
# Please review the following file(s) for important changes.
#       /usr/ports/UPDATING
#       /usr/ports/mail/dspam/files/UPDATING
#
# Done.

これで ports の取得ができました。差分取得も同じコマンド gitup portsで OK です。
同様に /usr/src の取得/更新も、current ならば gitup current で行えます。

gitup は FreeBSD のベースに入れるという話もあるようです。portsnap や svnlite の代替を探している方は試してみてはいかがでしょうか。

4
1
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
4
1