diff --git a/.gitignore b/.gitignore index ae66896..91daded 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,8 @@ test_mx_util test_mx_log test_mx_mysql +/web/pages/mxq/mxq + *~ gmon.out diff --git a/Makefile b/Makefile index 0638036..22fbb5c 100644 --- a/Makefile +++ b/Makefile @@ -39,6 +39,8 @@ ifeq ($(notdir ${LIBEXECDIR}),mxq) override LIBEXECDIR := $(patsubst %/,%,$(dir ${LIBEXECDIR})) endif +CGIDIR = ${LIBEXECDIR}/mxq/cgi + ############################################################################## MXQ_MYSQL_DEFAULT_FILE = ${SYSCONFDIR}/mxq/mysql.cnf @@ -101,6 +103,22 @@ quiet-install = $(call quiet-command,install -m ${1} ${2} ${3},"INSTALL ${3} [mo quiet-installdir = $(call quiet-command,install -m ${1} -d ${2}," MKDIR ${2} [mode=${1}]") quiet-installforuser = $(call quiet-command,install -m ${1} -o ${2} -g ${3} ${4} ${5},"INSTALL ${5} (user=${2} group=${3}) [mode=${1}]") +######################################################################## + +sed-rules = -e 's,@PREFIX@,${PREFIX},g' \ + -e 's,@EPREFIX@,${EPREFIX},g' \ + -e 's,@BINDIR@,${BINDIR},g' \ + -e 's,@SBINDIR@,${SBINDIR},g' \ + -e 's,@LIBDIR@,${LIBDIR},g' \ + -e 's,@SYSCONFDIR@,${SYSCONFDIR},g' \ + -e 's,@DEFCONFDIR@,${DEFCONFDIR},g' \ + -e 's,@LIBEXECDIR@,${LIBEXECDIR},g' \ + -e 's,@BEE_VERSION@,${BEE_VERSION},g' \ + -e 's,@DATADIR@,${DATADIR},g' \ + -e 's,@MXQ_VERSION@,${MXQ_VERSION},g' \ + -e 's,@MXQ_MYSQL_DEFAULT_FILE@,${MXQ_MYSQL_DEFAULT_FILE},g' \ + + ######################################################################## %.o: %.c Makefile @@ -111,6 +129,9 @@ quiet-installforuser = $(call quiet-command,install -m ${1} -o ${2} -g ${3} ${4} %: %.o $(call quiet-command,${CC} -o $@ $^ $(LDFLAGS) $(LDLIBS), " LINK $@") +%: %.in Makefile + $(call quiet-command,sed ${sed-rules} $< >$@, " GEN $@") + ######################################################################## .SECONDARY: @@ -121,7 +142,7 @@ manpages/%: manpages/%.xml $(call quiet-command,xmlto --stringparam man.output.quietly=1 man $^ -o manpages, " XMLTO $@") %: manpages/% Makefile - $(call quiet-command,sed -e "s/@MXQ_VERSION@/${MXQ_VERSION}/" $< >$@, " GEN $@") + $(call quiet-command,sed ${sed-rules} $< >$@, " GEN $@") ######################################################################## @@ -179,6 +200,7 @@ install:: $(call quiet-installdir,0755,${DESTDIR}${SBINDIR}) $(call quiet-installdir,0755,${DESTDIR}${SYSCONFDIR}/mxq) $(call quiet-installdir,0755,${DESTDIR}${MAN1DIR}) + $(call quiet-installdir,0755,${DESTDIR}${CGIDIR}) ######################################################################## @@ -419,6 +441,15 @@ clean: CLEAN += mxqsub.1 ######################################################################## +build: web/pages/mxq/mxq + +clean: CLEAN += web/pages/mxq/mxq + +install:: web/pages/mxq/mxq + $(call quiet-install,0755,$^,${DESTDIR}${CGIDIR}/mxq) + +######################################################################## + test_mx_util.o: $(mx_util.h) clean: CLEAN += test_mx_util.o diff --git a/web/pages/mxq/mxq b/web/pages/mxq/mxq.in similarity index 95% rename from web/pages/mxq/mxq rename to web/pages/mxq/mxq.in index 9722dc6..fa4dad8 100755 --- a/web/pages/mxq/mxq +++ b/web/pages/mxq/mxq.in @@ -76,7 +76,7 @@ EOF sub db_init { - $dbh= DBI->connect('DBI:mysql:mysql_read_default_file=/etc/mxq/mysql.cnf',undef,undef, { RaiseError => 1, AutoCommit => 1 }); + $dbh= DBI->connect('DBI:mysql:mysql_read_default_file=@MXQ_MYSQL_DEFAULT_FILE@',undef,undef, { RaiseError => 1, AutoCommit => 1 }); # mxq_group.h register_group_status( OK => 0, @@ -445,6 +445,32 @@ sub group_table { $sth->execute(@bind_args); $out.=group_table_rows($sth,\@head); + @cols=qw( + group_id + group_name + user_name + group_date_emd + group_status + group_jobs + group_jobs_finished + group_jobs_failed + group_jobs_cancelled + group_jobs_unknown + ); + + @head=qw( + group_id + group_name + user_name + date_end + group_status + jobs + finished + failed + cancelled + unknown + ); + $out .= '