2009年9月15日火曜日

(FreeBSD) portsでPostgreSQL 8.3、8.4をインストールしたとき、.cshrc、.profileがコピーされない

以前から、あれ?なんか変だな・・・と思ってたんですが、portsで、postgresql83-server もしくは postgresql84-serverをインストールしたとき、~pgsql/.profile ~pgsql/.cshrc が作られないんです。



以前は、これらのファイルが作られていたと思ったんですけど・・・



あー、これで納得?!



# grep cshrc /usr/ports/databases/postgresql*-server/Makefile
/usr/ports/databases/postgresql73-server/Makefile:SUB_FILES+=   dot.cshrc dot.profile
/usr/ports/databases/postgresql73-server/Makefile:.    for i in profile cshrc
/usr/ports/databases/postgresql74-server/Makefile:SUB_FILES+=   dot.cshrc dot.profile
/usr/ports/databases/postgresql74-server/Makefile:.    for i in profile cshrc
/usr/ports/databases/postgresql80-server/Makefile:SUB_FILES+=   dot.cshrc dot.profile
/usr/ports/databases/postgresql80-server/Makefile:.    for i in profile cshrc
/usr/ports/databases/postgresql81-server/Makefile:SUB_FILES+=   dot.cshrc dot.profile
/usr/ports/databases/postgresql81-server/Makefile:.    for i in profile cshrc
/usr/ports/databases/postgresql82-server/Makefile:SUB_FILES+=   dot.cshrc dot.profile
/usr/ports/databases/postgresql82-server/Makefile:.    for i in profile cshrc



せっかくこれらのファイルが用意されてるのに・・・
/usr/ports/databases/postgresql83-server/files/dot.cshrc.in
/usr/ports/databases/postgresql83-server/files/dot.profile.in
/usr/ports/databases/postgresql84-server/files/dot.cshrc.in
/usr/ports/databases/postgresql84-server/files/dot.profile.in
どこにもインストールされないみたいです。忘れちゃったのかなぁ?



これらのファイルがないと、su pgsqlしてinitdbしたとき、エラーになっちゃうので、Unix系OSの超初心者は戸惑うかも。



昔のバージョンでは、たとえば
http://www.freebsd.org/cgi/cvsweb.cgi/ports/databases/postgresql73-server/Makefile?rev=1.153;content-type=text%2Fx-cvsweb-markup
にあるように



.    for i in profile cshrc
${INSTALL_DATA} ${WRKDIR}/dot.$i ${PREFIX}/share/postgresql/dot.$i.dist; \
${INSTALL_DATA} -o pgsql -g pgsql ${WRKDIR}/dot.$i ~pgsql/dot.$i.dist ; \
if [ ! -f ~pgsql/.$i ]; then \
${CP} -p ~pgsql/dot.$i.dist ~pgsql/.$i; \
fi

.    endfor


という風に、ファイルをコピーしてくれてました。
あれ?でも上書きインストールしてるじゃん・・・



0 件のコメント:

コメントを投稿