2009年3月20日 星期五

tarball懶人包安裝法

tarball的方式確時另人望之卻步
因為得千里尋套件,無法解決相依問題
但可以為此些scripts來做安裝
當然相依性問題得由編譯的過程中自行解決

首先做一針對套件的解壓到安裝的script
按套件名為名稱
如libdv-1.0.0.tar.gz
而script就命名為 libdv.Build

#!/bin/sh
CWD=$(pwd)
TMP=${TMP:-/tmp}
if [ ! -d $TMP ]; then
mkdir -p $TMP
fi
PKG=$TMP/package-libdv
PKGNAME=libdv <-套件名這邊
VERSION=1.0.0 <-版本名這邊

if [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
fi

rm -rf $PKG
mkdir -p $PKG/usr
cd $TMP
rm -rf $PKGNAME-$VERSION
tar xzvf $CWD/$PKGNAME-$VERSION.tar.gz || exit 1 <-- 解壓縮這邊
cd $PKGNAME-$VERSION

chown -R root:root .
find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;

#以下是使用./configure的設定參數,請依照./configure --help的說明設定
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var

make || exit 1
make install || exit 1

以後只要遇到新版本就可以直接改版本號就可以無痛的安裝
最後就是再寫個script來負責處理相依性
例如mplayer需要ffmpg但ffmpg還要一堆如多媒體相關的程式庫,就用個script來做全編譯
#!/bin/sh
./a52.Build
./ffmpeg.Build
./mplayer.Build

當有找到新的套件只需執行本script就搞定啦

沒有留言: