ttt

getttyent

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

2009-09-15 05:43:49 | デジタル・インターネット

以前から、あれ?なんか変だな・・・と思ってたんですが、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

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