2021/08/28(土)FreeBSD13 からのソースコードによるOS更新は、gitup が最も手軽
2021/08/28 5:00
その厄介さを払拭するメンテナンスツールが既に用意されていたのでした。
この手の情報が数えるほどしかなく、日本語による情報を当方が見つけたのはここだけです → KNCN weblog /usr/src を gitup で取得する
#見落としの可能性もあるのでご容赦を・・
これは、OSの標準コマンドではないので、出来る限り最新のports から、
# cd /usr/ports/net/gitupとかやって、インストールします。インストール後、 /usr/local/etc/gitup.conf を以下のように適宜編集します:
# make install
# make clean
# rehash
(一部抜粋)
# $FreeBSD$ # # Default configuration options for gitup.conf. { "defaults" : { "host" : "git.freebsd.org", "port" : 443, # "proxy_host" : "", # "proxy_port" : 0, # "proxy_username" : "", # "proxy_password" : "", # "source_address" : "", "low_memory" : false, "display_depth" : 0, "verbosity" : 1, "work_directory" : "/var/db/gitup", }, "ports" : { "repository_path" : "/ports.git", "branch" : "main", "target_directory" : "/usr/ports", "ignores" : [ "distfiles", "packages", ], }, "release" : { "repository_path" : "/src.git", "branch" : "releng/13.0", "target_directory" : "/usr/src", "ignores" : [ "sys/amd64/conf", "sys/arm64/conf", "sys/i386/conf", "sys/pc98/conf", "sys/powerpc/conf", "sys/riscv/conf", "sys/sparc64/conf", ] }, "stable" : { "repository_path" : "/src.git", "branch" : "stable/13", "target_directory" : "/usr/src", "ignores" : [ "sys/amd64/conf", "sys/arm64/conf", "sys/i386/conf", "sys/pc98/conf", "sys/powerpc/conf", "sys/riscv/conf", "sys/sparc64/conf", ] },見ての通り、JSON 形式な設定ファイル。
初めてだと JSON 形式に面食らうんですが、割と直感的に変更できます。
gitup.conf を編集後、
# gitup releaseとやれば、今まで同様の /usr/src 配下へのソースコード取得、
今後は、ports ツリーもgit 管理になるらしいので、そうなった際は、
# gitup portsで、従来のように /usr/ports 配下への取得が出来るようです。
ただ、ports ツリーの取得は、前処理・後処理があるので、portsnap のほうが使い勝手は良いです。
〔参考〕portsnap が更新しない場合の対処法
尚、新規取得時も更新時も同じコマンドラインで出来ます。