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

portsnap(8) が無くなったので git 経由で簡単同期

Posted at
1 / 9

誰得?

14.x-RELEASE で portsnap(8) が👋しよったけん、今後 git(1) が svnlite(1) っぽくユーザーランドに入る事に期待する代替スクリプトを書いてみたw


さんこぉ~しりょぉ~w


とりま、こんな感じw

PORTS.sh
#!/bin/sh
#
# portsnap 代替スクリプト 要:devel/git
# 2023/11/30 初版 by JE3KMZ

PORTSDIR=${PORTSDIR:-/usr/ports}
GIT_CMD=`/usr/bin/which git`
ret=$?
if /bin/test ${ret} -eq 1
        then
        /bin/echo "git not found."
        exit 1
fi

LIST=~/.ssh/known_hosts
/bin/test -f ${LIST} && /usr/bin/grep -q "git.freebsd.org" ${LIST}
ret=$?
if /bin/test ${ret} -eq 1
        then
        /usr/bin/ssh -oStrictHostKeyChecking=no -lanongit git.freebsd.org -T
fi

if /bin/test ! -d ${PORTSDIR}
        then
        /bin/mkdir -p ${PORTSDIR}
        ${GIT_CMD} clone ssh://anongit@git.freebsd.org/ports.git ${PORTSDIR}
        DIRCHECK=1
else
        DIRCHECK=0
fi
cd ${PORTSDIR}
/usr/bin/bmake fetchindex
if /bin/test ${DIRCHECK} -eq 0
        then
        ${GIT_CMD} pull --rebase
fi
exit 0

何をしちょるのか

序盤は必要なん、有無の確認と無いなら拾ってくる。
<ぼそ>ssh で接続なのは curl なライブラリ投入が面倒じゃけw</ぼそ>


PORTSDIR 変数のトコにファイルシステム上ディレクトリが無いなら git clone 実行👏
で、後から clone しなかった時の🚩建てちゃる🤗


INDEX-?? を拾って、過去に git clone し終わっちょるなら git pull 実行しおる cron(8) で回すコトを意識したリッチな仕様🎉


注:?? のトコは RELEASE の番号が入るけん、今回じゃと 14 が入る📀


おしまい

pkg install git の御呪いは入門者にお勧め✌
漢なデーモン使いは、https://github.com/git/git から😒

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