summaryrefslogtreecommitdiffstats
path: root/collab/viewcvs/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'collab/viewcvs/INSTALL')
-rwxr-xr-xcollab/viewcvs/INSTALL56
1 files changed, 56 insertions, 0 deletions
diff --git a/collab/viewcvs/INSTALL b/collab/viewcvs/INSTALL
new file mode 100755
index 0000000000..d9dc6d7638
--- /dev/null
+++ b/collab/viewcvs/INSTALL
@@ -0,0 +1,56 @@
+./viewcvs-install &&
+
+for CONF in `ls -1 /usr/share/$SPELL/*.conf.default`; do
+if ! [ -e ${CONF%.default} ]; then
+ cp -v $CONF ${CONF%.default} &&
+ chmod +r ${CONF%.default}
+ fi
+done &&
+
+# default answer has to be 'no' here because 'y' would
+# require further manual input
+message "${PROBLEM_COLOR}The following procedure may destroy your existing ViewCVS database${DEFAULT_COLOR}"
+if query "configure MySQL for query facility?${DEFAULT_COLOR}" "n"; then
+ message "${SPELL_COLOR}${SPELL}: ${QUERY_COLOR}MySQL database name?${DEFAULT_COLOR}\n"
+ read MY_DB
+ message "${SPELL_COLOR}${SPELL}: ${QUERY_COLOR}MySQL master user?${DEFAULT_COLOR}\n"
+ read MY_USER
+ message "${SPELL_COLOR}${SPELL}: ${QUERY_COLOR}MySQL user $MY_USER password?${DEFAULT_COLOR}\n"
+ read MY_USER_PASS
+ message "${SPELL_COLOR}${SPELL}: ${QUERY_COLOR}MySQL read-only user?${DEFAULT_COLOR}\n"
+ read MY_USER_RO
+ message "${SPELL_COLOR}${SPELL}: ${QUERY_COLOR}MySQL user $MY_USER_RO password?${DEFAULT_COLOR}\n"
+ read MY_USER_RO_PASS
+
+ SQL=/tmp/$SPELL.$$.sql
+ CONF=/tmp/$SPELL.$$.conf
+ if touch $SQL $SED $CONF && chmod 600 /tmp/$SPELL.$$.*; then
+ cat > $SQL << __EOF__
+GRANT USAGE ON *.* TO ${MY_USER}@localhost IDENTIFIED BY '$MY_USER_PASS';
+GRANT USAGE ON *.* TO ${MY_USER_RO}@localhost IDENTIFIED BY '$MY_USER_RO_PASS';
+GRANT ALL ON ${MY_DB}.* TO ${MY_USER}@localhost WITH GRANT OPTION;
+GRANT SELECT ON ${MY_DB}.* TO ${MY_USER_RO}@localhost;
+__EOF__
+
+ cat $SQL
+ if query "would you like to go ahead with the SQL above?" "y"; then
+ mysql -p < $SQL &&
+ echo -e "${MESSAGE_COLOR}Please enter same database name below, ${PROBLEM_COLOR}$MY_DB${DEFAULT_COLOR}" &&
+ /usr/share/$SPELL/make-database &&
+ cat /usr/share/$SPELL/$SPELL.conf > $CONF &&
+ cat $CONF | \
+ sed "s/\\W*\(host\)\\W*=.*/\1 = localhost/" | \
+ sed "s/\\W*\(database_name\)\\W*=.*/\1 = $MY_DB/" | \
+ sed "s/\\W*\(user\)\\W*=.*/\1 = $MY_USER/" | \
+ sed "s/\\W*\(passwd\)\\W*=.*/\1 = $MY_USER_PASS/" | \
+ sed "s/\\W*\(readonly_user\)\\W*=.*/\1 = $MY_USER_RO/" | \
+ sed "s/\\W*\(readonly_passwd\)\\W*=.*/\1 = $MY_USER_RO_PASS/" > \
+ /usr/share/$SPELL/$SPELL.conf
+ fi
+ fi
+
+ rm -f /tmp/$SPELL.$$.*
+
+ message "${MESSAGE_COLOR}By default, ViewCVS configuration files are readable by 'world'.${DEFAULT_COLOR}"
+ message "${MESSAGE_COLOR}So will be your just entered MySQL master and read-only users' passwords.${DEFAULT_COLOR}"
+fi