|
发表于 2007-10-21 21:34:11
|
显示全部楼层
Post by robin_-2004
我是直接安装到DESTDIR=/下的,打的包全是错的,今天又从新弄了一遍。
还有一些不懂的,每次在
#make install DESTDIR=/xxx 后,
#cd /xxx
#makepkg scim-1.4.7-i686-1xc.tgz
#installpkg scim-1.4.7-i686-1xc.tgz
在安装scim-pinyin之前应该把 /usr /etc两个文件夹删除了吧,再把tgz包移到其其它文件夹?
还有生成的install文件夹是否有用?
不用的,当然要保证在执行 make install DESTDIR=/xxx 之前, /xxx 目录下没有其他的文件(夹),否则在安装制作的软件包的时候,这些垃圾文件(?)也会被安装到系统中的。
生成的 install 文件夹下面 是安装时的信息文件(slack-desc) 和 安装脚本(doinst.sh)
其中 doinst.sh 一般包含了软件包中符号链接维护信息(标准的 tgz 安装包是没有符号链接文件的)和其他的安装后配置软件包。如:
/var/log/scripts/mysql-5.0.37-i486-1 #这是mysql软件包中的安装脚本(BTW:slackware 会将所有的软件包的安装脚本备份到 /var/log/scripts 目录下)
######## content of /var/log/scripts/mysql-5.0.37-i486-1
# Install the info files for this package
# 安装 info 文件
if [ -x /usr/bin/install-info ]
then
/usr/bin/install-info --info-dir=/usr/info /usr/info/mysql.info.gz 2>/dev/null
fi
config() {
NEW="$1"
OLD="`dirname $NEW`/`basename $NEW .new`"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
# 配置 mysqld 的配置文件
# config 的意思是:如果不存在 rc.mysqld 文件,就直接重命名 rc.mysqld.new 为rc.mysqld, 如果 rc.mysqld.new 与 rc.mysqld 的md5值相同,则删除 rc.mysqld.new,否则就啥也不做了
config etc/rc.d/rc.mysqld.new
# 这个是符号链接的维护
( cd usr/lib/mysql ; rm -rf libmysqlclient_r.so.15 )
( cd usr/lib/mysql ; ln -sf libmysqlclient_r.so.15.0.0 libmysqlclient_r.so.15 )
( cd usr/lib/mysql ; rm -rf libmysqlclient.so )
( cd usr/lib/mysql ; ln -sf libmysqlclient.so.15.0.0 libmysqlclient.so )
( cd usr/lib/mysql ; rm -rf libmysqlclient.so.15 )
( cd usr/lib/mysql ; ln -sf libmysqlclient.so.15.0.0 libmysqlclient.so.15 )
( cd usr/lib/mysql ; rm -rf libmysqlclient_r.so )
( cd usr/lib/mysql ; ln -sf libmysqlclient_r.so.15.0.0 libmysqlclient_r.so )
( cd usr/lib ; rm -rf libmysqlclient_r.so.15 )
( cd usr/lib ; ln -sf mysql/libmysqlclient_r.so.15 libmysqlclient_r.so.15 )
( cd usr/lib ; rm -rf libmysqlclient.so )
( cd usr/lib ; ln -sf mysql/libmysqlclient.so libmysqlclient.so )
( cd usr/lib ; rm -rf libmysqlclient.so.15 )
( cd usr/lib ; ln -sf mysql/libmysqlclient.so.15 libmysqlclient.so.15 )
( cd usr/lib ; rm -rf libmysqlclient_r.so )
( cd usr/lib ; ln -sf mysql/libmysqlclient_r.so libmysqlclient_r.so ) |
|