2010-04-12

MacPorts 用のオレオレリポジトリの運用例

ホスト www.exapmle.com の /srv/www/example/macports (http://www.example.com/macports/, rsync://www.example.com/macports/) にセットアップすると仮定する.ディストリビューションは debian を用いる.まずディレクトリを準備する.

deb$ mkdir /srv/www/example/macports
deb$ cd /srv/www/example/macports
deb$ mkdir portfiles distfiles

/srv/www/example/macports/portfiles を rsync プロトコルでアクセスできるようにする.

deb# vi /etc/default/rsync
RSYNC_ENABLE=inetd
deb# vi /etc/inetd.conf
rsync  stream tcp  nowait  root  /usr/bin/rsync rsyncd --daemon
deb# cp /usr/share/doc/rsync/examples/rsyncd.conf /etc
deb# vi /etc/rsyncd.conf
[macports]
    path = /srv/www/example/macports
deb# /etc/init.d/openbsd-inetd restart
deb# /etc/init.d/rsync restart

Portfile を更新する.

osx$ rsync -avzh www.example.com:/srv/www/example/macports .
osx$ cd macports/portfiles
osx$ mkdir -p sysutils/samplepackage
osx$ cp somewhere/Portfile sysutils/samplepackage
osx$ portindex
osx$ rsync -avzh ./ www.example.com:/srv/www/example/macports/portfiles

パッケージ本体を更新する.

osx$ rsync samplepackage-1.2.3.tar.gz www.example.com:/srv/www/example/macports/distfiles

ports クライアントを設定する.

osx# vi /opt/local/etc/macports/sources.conf
rsync://www.example.com/macports/portfiles/
rsync://rsync.macports.org/release/ports/ [default]
osx# port -v sync
osx# port install samplepackage

Portfile の準備のしかた

osx$ rsync samplepackage-1.2.3.tar.gz www.example.com:/srv/www/example/macports/distfiles
osx$ mkdir temp; cd temp
osx$ vi Portfile
...
master_sites        http://www.example.com/macports/distfiles/
...
osx$ port -d checksum
...
checksums           md5     3b55d5016728cfb4e76b0af952b73fff \
                    sha1    51c9e64d720732a016f39475f00ca939c6bfd512 \
                    rmd160  cd74cc78de6adedb3278aa435b374695c70d92d9
...
osx$ vi Portfile
( paste above checksums )
osx$ port -d build

0 件のコメント:

コメントを投稿