From 0d437aa61b8c95c6f29605e046ea3e49a37ca29f Mon Sep 17 00:00:00 2001 From: Clinton Ebadi Date: Wed, 16 Apr 2014 13:46:33 -0400 Subject: [PATCH] Initial domtool-config tool Query static configuration information from domtool at run time. Will be used for new installation bootstrap and make install. --- Makefile | 8 ++++++++ src/main-config.sml | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/main-config.sml diff --git a/Makefile b/Makefile index e23ac72..f9ebab0 100644 --- a/Makefile +++ b/Makefile @@ -121,6 +121,10 @@ src/fwtool.mlb: src/prefix.mlb src/sources src/suffix.mlb $(MAKE_MLB_BASE) >src/fwtool.mlb echo "main-fwtool.sml" >>src/fwtool.mlb +src/domtool-config.mlb: src/prefix.mlb src/sources src/suffix.mlb + $(MAKE_MLB_BASE) >src/domtool-config.mlb + echo "main-config.sml" >>src/domtool-config.mlb + openssl/smlnj/FFI/libssl.h.cm: openssl/openssl_sml.h cd openssl/smlnj ; ml-nlffigen -d FFI -lh LibsslH.libh -include ../libssl-h.sml \ -cm libssl.h.cm -D__builtin_va_list="void*" \ @@ -208,6 +212,9 @@ bin/webbw: $(COMMON_MLTON_DEPS) src/stats/webbw.mlb src/stats/*.sml bin/domtool-tail: $(COMMON_MLTON_DEPS) src/tail/tail.mlb src/tail/*.sml mlton -output bin/domtool-tail src/tail/tail.mlb +bin/domtool-config: $(COMMON_MLTON_DEPS) src/domtool-config.mlb src/main-config.sml + $(MLTON) -output bin/domtool-config src/domtool-config.mlb + elisp/domtool-tables.el: lib/*.dtl bin/domtool-doc bin/domtool-doc -basis -emacs >$@ @@ -244,6 +251,7 @@ install: install_sos -cp bin/webbw /usr/local/sbin/ -cp bin/domtool-tail /usr/local/bin/ -chmod +s /usr/local/bin/domtool-tail + cp bin/domtool-config /usr/local/bin/ cp src/plugins/domtool-postgres /usr/local/sbin/ cp src/plugins/domtool-mysql /usr/local/sbin/ -mkdir -p $(EMACS_DIR) diff --git a/src/main-config.sml b/src/main-config.sml new file mode 100644 index 0000000..93eef2a --- /dev/null +++ b/src/main-config.sml @@ -0,0 +1,38 @@ +(* HCoop Domtool (http://hcoop.sourceforge.net/) + * Copyright (c) 2014 Clinton Ebadi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + *) + +(* Configuration Value Queries *) + +(* Not entirely clear what belongs here and what belongs in + domtool-admin. + + Proposed dividing line: whatever can be deduced from the static + configuration can be queried with domtool-config, anything that + requires acessing the daemons goes through domtool-admin. +*) + +fun println x = (print x; print "\n") + +val _ = + (case CommandLine.arguments () of + ["-path", path] => (case path of + "shared-root" => println Config.sharedRoot + | "local-root" => println Config.localRoot + | "install-prefix" => println Config.installPrefix + | _ => print "Invalid path type\n") + | _ => print "Invalid command-line arguments\n") -- 2.20.1