非rootユーザでのPorts
以前大学の共用機でPortsを使うためにでっち上げた非rootユーザでのPortsインストールスクリプト。
今は使ってないので、動くか不明。
myports.csh
MYPORTS_DIRがPorts設定の保存先で、MYPORTS_PREFIXがインストール先。
set MYPORTS_DIR = $HOME/myports set MYPORTS_PREFIX = $HOME/local setenv LD_LIBRARY_PATH $MYPORTS_PREFIX/lib setenv PKG_CONFIG_PATH $MYPORTS_PREFIX/lib/pkgconfig:$MYPORTS_PREFIX/libdata/pkgconfig setenv GST_PLUGIN_PATH $MYPORTS_PREFIX/lib/gstreamer-0.10 setenv PYTHONPATH $MYPORTS_PREFIX/lib/python2.7/site-packages setenv LIBRARY_PATH $MYPORTS_PREFIX/lib setenv CPATH $MYPORTS_PREFIX/include setenv MANPATH `manpath`:$MYPORTS_PREFIX/man set options set options = ( "$options" PREFIX=$MYPORTS_PREFIX ) #set options = ( "$options" PORTSDIR=$MYPORTS_DIR/ports ) set options = ( "$options" PORTSDIR=/usr/ports ) set options = ( "$options" DISTDIR=$MYPORTS_DIR/ports/distfiles ) set options = ( "$options" WRKDIRPREFIX=$MYPORTS_DIR/ports ) set options = ( "$options" PKG_DBDIR=$MYPORTS_DIR/db/pkg ) set options = ( "$options" PORT_DBDIR=$MYPORTS_DIR/db/ports ) set options = ( "$options" \'LDCONFIG=/sbin/ldconfig -f $MYPORTS_DIR/run/ld-elf.so.hints\' ) set options = ( "$options" BINOWN=$USER BINGRP=$GROUP ) set options = ( "$options" SHAREOWN=$USER SHAREGRP=$GROUP ) set options = ( "$options" MANOWN=$USER MANGRP=$GROUP ) set options = ( "$options" BINMODE=0755 ) set options = ( "$options" SHAREMODE=0644 ) set options = ( "$options" MANMODE=0644 ) set options = ( "$options" INSTALL_AS_USER=yes ) set options = ( "$options" PYTHON_SITELIBDIR=$MYPORTS_PREFIX/lib/python2.7/site-packages ) set options = ( "$options" RUBY=$MYPORTS_PREFIX/bin/ruby ) #set options = ( "$options" TCL_INCLUDEDIR=$MYPORTS_PREFIX\''/include/tcl${TCL_VER}'\' ) #set options = ( "$options" TCL_LIBDIR=$MYPORTS_PREFIX\''/lib/tcl${TCL_VER}${_TCL_THREADS_SUFFIX}'\' ) #set options = ( "$options" TCLSH=$MYPORTS_PREFIX\''/bin/tclsh${TCL_VER}${_TCL_THREADS_SUFFIX}'\' ) #set options = ( "$options" TK_INCLUDEDIR=$MYPORTS_PREFIX\''/include/tk${TK_VER}'\' ) #set options = ( "$options" TK_LIBDIR=$MYPORTS_PREFIX\''/lib/tk${TK_VER}${_TCL_THREADS_SUFFIX}'\' ) #set options = ( "$options" WISH=$MYPORTS_PREFIX\''/bin/wish${TK_VER}${_TCL_THREADS_SUFFIX}'\' ) alias pmk make "$options" unset options #alias portsnap portsnap \ # -f $MYPORTS_DIR/etc/portsnap.conf \ # -d $MYPORTS_DIR/db/portsnap \ # -p $MYPORTS_DIR/current unset MYPORTS_DIR MYPORTS_PREFIX
準備
インストール先とPorts設定の保存先を作成する。
set MYPORTS_DIR = $HOME/myports set MYPORTS_PREFIX = $HOME/local mkdir $MYPORTS_DIR mkdir $MYPORTS_PREFIX
ldconfigのヒントファイルを作成する。
ldconfig -r | grep search | sed 's/^.*: // ; s/:/\\ /g' > $MYPORTS_DIR/etc/ld-elf.so.conf echo $MYPORTS_PREFIX/lib >> $MYPORTS_DIR/etc/ld-elf.so.conf ldconfig -elf -f $MYPORTS_DIR/run/ld-elf.so.hints -i -R $MYPORTS_DIR/etc/ld-elf.so.conf
以下のコマンドで共有ライブラリが正しく認識されているか確認する。
ldconfig -r -f $MYPORTS_DIR/run/ld-elf.so.hints
使用方法
ccacheをインストールする例:
source myports.csh cd /usr/ports/devel/ccache/ pmk install clean
インストールできないportも結構あるので注意。