diff --git a/.gitignore b/.gitignore index c1b73b0968..50273adb8d 100644 --- a/.gitignore +++ b/.gitignore @@ -237,17 +237,6 @@ tools/xenmon/xentrace_setmask tools/xenmon/xenbaked tools/xenpaging/xenpaging tools/xenpmd/xenpmd -tools/xenstore/xenstore -tools/xenstore/xenstore-chmod -tools/xenstore/xenstore-control -tools/xenstore/xenstore-exists -tools/xenstore/xenstore-list -tools/xenstore/xenstore-ls -tools/xenstore/xenstore-read -tools/xenstore/xenstore-rm -tools/xenstore/xenstore-watch -tools/xenstore/xenstore-write -tools/xenstore/xenstored tools/xentop/xentop tools/xentrace/xentrace_setsize tools/xentrace/tbctl diff --git a/MAINTAINERS b/MAINTAINERS index a0805d35cd..bf71ac144c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -669,7 +669,8 @@ F: tools/include/xenstore.h F: tools/include/xenstore_lib.h F: tools/include/xen-tools/xenstore-common.h F: tools/libs/store/ -F: tools/xenstore/ +F: tools/xenstored/ +F: tools/xs-clients/ XENTRACE M: George Dunlap diff --git a/stubdom/Makefile b/stubdom/Makefile index 23ea8bb92e..0ddfce1ba2 100644 --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -371,10 +371,10 @@ endef $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib)))) -xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common +xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common $(do_links) -xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common +xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common $(do_links) LINK_DIRS := xenstore xenstorepvh $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir)) diff --git a/tools/Makefile b/tools/Makefile index 311a9098d7..3a510663a0 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -8,7 +8,8 @@ SUBDIRS-y := SUBDIRS-y += libs SUBDIRS-y += flask SUBDIRS-y += fuzz -SUBDIRS-y += xenstore +SUBDIRS-y += xs-clients +SUBDIRS-$(XENSTORE_XENSTORED) += xenstored SUBDIRS-y += misc SUBDIRS-y += examples SUBDIRS-y += hotplug diff --git a/tools/xenstored/.gitignore b/tools/xenstored/.gitignore new file mode 100644 index 0000000000..cec482f21f --- /dev/null +++ b/tools/xenstored/.gitignore @@ -0,0 +1 @@ +/xenstored diff --git a/tools/xenstored/Makefile b/tools/xenstored/Makefile new file mode 100644 index 0000000000..e0897ed1ba --- /dev/null +++ b/tools/xenstored/Makefile @@ -0,0 +1,48 @@ +XEN_ROOT=$(CURDIR)/../.. +include $(XEN_ROOT)/tools/Rules.mk + +include Makefile.common + +xenstored: LDLIBS += $(LDLIBS_libxenevtchn) +xenstored: LDLIBS += $(LDLIBS_libxengnttab) +xenstored: LDLIBS += $(LDLIBS_libxenctrl) +xenstored: LDLIBS += -lrt +xenstored: LDLIBS += $(SOCKET_LIBS) + +ifeq ($(CONFIG_SYSTEMD),y) +$(XENSTORED_OBJS-y): CFLAGS += $(SYSTEMD_CFLAGS) +xenstored: LDLIBS += $(SYSTEMD_LIBS) +endif + +TARGETS := xenstored + +.PHONY: all +all: $(TARGETS) + +xenstored: $(XENSTORED_OBJS-y) + $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS) + +.PHONY: clean +clean:: + $(RM) $(TARGETS) $(DEPS_RM) + +.PHONY: distclean +distclean: clean + +.PHONY: TAGS +TAGS: + etags `find . -name '*.[ch]'` + +.PHONY: install +install: all + $(INSTALL_DIR) $(DESTDIR)$(sbindir) + $(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir) + +.PHONY: uninstall +uninstall: + rm -f $(DESTDIR)$(sbindir)/xenstored + if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \ + rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \ + fi + +-include $(DEPS_INCLUDE) diff --git a/tools/xenstore/Makefile.common b/tools/xenstored/Makefile.common similarity index 50% rename from tools/xenstore/Makefile.common rename to tools/xenstored/Makefile.common index 41973a8a5e..189ab81b8d 100644 --- a/tools/xenstore/Makefile.common +++ b/tools/xenstored/Makefile.common @@ -1,17 +1,16 @@ # Makefile shared with stubdom -XENSTORED_OBJS-y := xenstored_core.o xenstored_watch.o xenstored_domain.o -XENSTORED_OBJS-y += xenstored_transaction.o xenstored_control.o xenstored_lu.o +XENSTORED_OBJS-y := core.o watch.o domain.o +XENSTORED_OBJS-y += transaction.o control.o lu.o XENSTORED_OBJS-y += talloc.o utils.o hashtable.o -XENSTORED_OBJS-$(CONFIG_Linux) += xenstored_posix.o xenstored_lu_daemon.o -XENSTORED_OBJS-$(CONFIG_NetBSD) += xenstored_posix.o xenstored_lu_daemon.o -XENSTORED_OBJS-$(CONFIG_FreeBSD) += xenstored_posix.o xenstored_lu_daemon.o -XENSTORED_OBJS-$(CONFIG_MiniOS) += xenstored_minios.o xenstored_lu_minios.o +XENSTORED_OBJS-$(CONFIG_Linux) += posix.o lu_daemon.o +XENSTORED_OBJS-$(CONFIG_NetBSD) += posix.o lu_daemon.o +XENSTORED_OBJS-$(CONFIG_FreeBSD) += posix.o lu_daemon.o +XENSTORED_OBJS-$(CONFIG_MiniOS) += minios.o lu_minios.o # Include configure output (config.h) CFLAGS += -include $(XEN_ROOT)/tools/config.h -CFLAGS += -I./include CFLAGS += $(CFLAGS_libxenevtchn) CFLAGS += $(CFLAGS_libxenctrl) CFLAGS += $(CFLAGS_libxenguest) diff --git a/tools/xenstore/README b/tools/xenstored/README similarity index 100% rename from tools/xenstore/README rename to tools/xenstored/README diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstored/control.c similarity index 98% rename from tools/xenstore/xenstored_control.c rename to tools/xenstored/control.c index 3bdf2edc34..b2f64d674f 100644 --- a/tools/xenstore/xenstored_control.c +++ b/tools/xenstored/control.c @@ -27,10 +27,10 @@ #include "utils.h" #include "talloc.h" -#include "xenstored_core.h" -#include "xenstored_control.h" -#include "xenstored_domain.h" -#include "xenstored_lu.h" +#include "core.h" +#include "control.h" +#include "domain.h" +#include "lu.h" struct cmd_s { char *cmd; diff --git a/tools/xenstore/xenstored_control.h b/tools/xenstored/control.h similarity index 100% rename from tools/xenstore/xenstored_control.h rename to tools/xenstored/control.h diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstored/core.c similarity index 99% rename from tools/xenstore/xenstored_core.c rename to tools/xenstored/core.c index 7de4df2f28..092de76a2e 100644 --- a/tools/xenstore/xenstored_core.c +++ b/tools/xenstored/core.c @@ -47,12 +47,12 @@ #include "utils.h" #include "list.h" #include "talloc.h" -#include "xenstored_core.h" -#include "xenstored_watch.h" -#include "xenstored_transaction.h" -#include "xenstored_domain.h" -#include "xenstored_control.h" -#include "xenstored_lu.h" +#include "core.h" +#include "watch.h" +#include "transaction.h" +#include "domain.h" +#include "control.h" +#include "lu.h" #ifndef NO_SOCKETS #if defined(HAVE_SYSTEMD) @@ -64,7 +64,7 @@ #include #endif -extern xenevtchn_handle *xce_handle; /* in xenstored_domain.c */ +extern xenevtchn_handle *xce_handle; /* in domain.c */ static int xce_pollfd_idx = -1; static struct pollfd *fds; static unsigned int current_array_size; diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstored/core.h similarity index 100% rename from tools/xenstore/xenstored_core.h rename to tools/xenstored/core.h diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstored/domain.c similarity index 99% rename from tools/xenstore/xenstored_domain.c rename to tools/xenstored/domain.c index 1bf138c8b1..a6cd199fdc 100644 --- a/tools/xenstore/xenstored_domain.c +++ b/tools/xenstored/domain.c @@ -27,11 +27,11 @@ #include "utils.h" #include "talloc.h" -#include "xenstored_core.h" -#include "xenstored_domain.h" -#include "xenstored_transaction.h" -#include "xenstored_watch.h" -#include "xenstored_control.h" +#include "core.h" +#include "domain.h" +#include "transaction.h" +#include "watch.h" +#include "control.h" #include #include diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstored/domain.h similarity index 100% rename from tools/xenstore/xenstored_domain.h rename to tools/xenstored/domain.h diff --git a/tools/xenstore/hashtable.c b/tools/xenstored/hashtable.c similarity index 100% rename from tools/xenstore/hashtable.c rename to tools/xenstored/hashtable.c diff --git a/tools/xenstore/hashtable.h b/tools/xenstored/hashtable.h similarity index 100% rename from tools/xenstore/hashtable.h rename to tools/xenstored/hashtable.h diff --git a/tools/xenstore/list.h b/tools/xenstored/list.h similarity index 100% rename from tools/xenstore/list.h rename to tools/xenstored/list.h diff --git a/tools/xenstore/xenstored_lu.c b/tools/xenstored/lu.c similarity index 98% rename from tools/xenstore/xenstored_lu.c rename to tools/xenstored/lu.c index f7f76acbf9..2f41d10c95 100644 --- a/tools/xenstore/xenstored_lu.c +++ b/tools/xenstored/lu.c @@ -13,10 +13,10 @@ #include #include "talloc.h" -#include "xenstored_core.h" -#include "xenstored_domain.h" -#include "xenstored_lu.h" -#include "xenstored_watch.h" +#include "core.h" +#include "domain.h" +#include "lu.h" +#include "watch.h" #ifndef NO_LIVE_UPDATE struct live_update *lu_status; diff --git a/tools/xenstore/xenstored_lu.h b/tools/xenstored/lu.h similarity index 100% rename from tools/xenstore/xenstored_lu.h rename to tools/xenstored/lu.h diff --git a/tools/xenstore/xenstored_lu_daemon.c b/tools/xenstored/lu_daemon.c similarity index 97% rename from tools/xenstore/xenstored_lu_daemon.c rename to tools/xenstored/lu_daemon.c index 8c7522b0e1..71bcabadd3 100644 --- a/tools/xenstore/xenstored_lu_daemon.c +++ b/tools/xenstored/lu_daemon.c @@ -13,8 +13,8 @@ #include #include "talloc.h" -#include "xenstored_core.h" -#include "xenstored_lu.h" +#include "core.h" +#include "lu.h" #ifndef NO_LIVE_UPDATE void lu_get_dump_state(struct lu_dump_state *state) diff --git a/tools/xenstore/xenstored_lu_minios.c b/tools/xenstored/lu_minios.c similarity index 98% rename from tools/xenstore/xenstored_lu_minios.c rename to tools/xenstored/lu_minios.c index ae0483575e..ede8b4dd47 100644 --- a/tools/xenstore/xenstored_lu_minios.c +++ b/tools/xenstored/lu_minios.c @@ -14,7 +14,7 @@ #include #include "talloc.h" -#include "xenstored_lu.h" +#include "lu.h" /* Mini-OS only knows about MAP_ANON. */ #ifndef MAP_ANONYMOUS diff --git a/tools/xenstore/xenstored_minios.c b/tools/xenstored/minios.c similarity index 97% rename from tools/xenstore/xenstored_minios.c rename to tools/xenstored/minios.c index aa384e50c8..b5c3a205e6 100644 --- a/tools/xenstore/xenstored_minios.c +++ b/tools/xenstored/minios.c @@ -17,7 +17,7 @@ */ #include #include -#include "xenstored_core.h" +#include "core.h" #include void write_pidfile(const char *pidfile) diff --git a/tools/xenstore/xenstored_osdep.h b/tools/xenstored/osdep.h similarity index 100% rename from tools/xenstore/xenstored_osdep.h rename to tools/xenstored/osdep.h diff --git a/tools/xenstore/xenstored_posix.c b/tools/xenstored/posix.c similarity index 98% rename from tools/xenstore/xenstored_posix.c rename to tools/xenstored/posix.c index b20504d1b6..6ac45fdb45 100644 --- a/tools/xenstore/xenstored_posix.c +++ b/tools/xenstored/posix.c @@ -24,8 +24,8 @@ #include #include "utils.h" -#include "xenstored_core.h" -#include "xenstored_osdep.h" +#include "core.h" +#include "osdep.h" void write_pidfile(const char *pidfile) { diff --git a/tools/xenstore/talloc.c b/tools/xenstored/talloc.c similarity index 100% rename from tools/xenstore/talloc.c rename to tools/xenstored/talloc.c diff --git a/tools/xenstore/talloc.h b/tools/xenstored/talloc.h similarity index 100% rename from tools/xenstore/talloc.h rename to tools/xenstored/talloc.h diff --git a/tools/xenstore/talloc_guide.txt b/tools/xenstored/talloc_guide.txt similarity index 100% rename from tools/xenstore/talloc_guide.txt rename to tools/xenstored/talloc_guide.txt diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstored/transaction.c similarity index 99% rename from tools/xenstore/xenstored_transaction.c rename to tools/xenstored/transaction.c index 1f892b002d..167cd597fd 100644 --- a/tools/xenstore/xenstored_transaction.c +++ b/tools/xenstored/transaction.c @@ -30,9 +30,9 @@ #include #include "talloc.h" #include "list.h" -#include "xenstored_transaction.h" -#include "xenstored_watch.h" -#include "xenstored_domain.h" +#include "transaction.h" +#include "watch.h" +#include "domain.h" #include "xenstore_lib.h" #include "utils.h" diff --git a/tools/xenstore/xenstored_transaction.h b/tools/xenstored/transaction.h similarity index 98% rename from tools/xenstore/xenstored_transaction.h rename to tools/xenstored/transaction.h index b196b1ab07..90435b4fc9 100644 --- a/tools/xenstore/xenstored_transaction.h +++ b/tools/xenstored/transaction.h @@ -17,7 +17,7 @@ */ #ifndef _XENSTORED_TRANSACTION_H #define _XENSTORED_TRANSACTION_H -#include "xenstored_core.h" +#include "core.h" enum node_access_type { NODE_ACCESS_READ, diff --git a/tools/xenstore/utils.c b/tools/xenstored/utils.c similarity index 100% rename from tools/xenstore/utils.c rename to tools/xenstored/utils.c diff --git a/tools/xenstore/utils.h b/tools/xenstored/utils.h similarity index 100% rename from tools/xenstore/utils.h rename to tools/xenstored/utils.h diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstored/watch.c similarity index 98% rename from tools/xenstore/xenstored_watch.c rename to tools/xenstored/watch.c index 7d4d097cf9..b66a9f1a39 100644 --- a/tools/xenstore/xenstored_watch.c +++ b/tools/xenstored/watch.c @@ -25,11 +25,11 @@ #include #include "talloc.h" #include "list.h" -#include "xenstored_watch.h" +#include "watch.h" #include "xenstore_lib.h" #include "utils.h" -#include "xenstored_domain.h" -#include "xenstored_transaction.h" +#include "domain.h" +#include "transaction.h" struct watch { diff --git a/tools/xenstore/xenstored_watch.h b/tools/xenstored/watch.h similarity index 98% rename from tools/xenstore/xenstored_watch.h rename to tools/xenstored/watch.h index ea247997ad..d9ac6a334a 100644 --- a/tools/xenstore/xenstored_watch.h +++ b/tools/xenstored/watch.h @@ -19,7 +19,7 @@ #ifndef _XENSTORED_WATCH_H #define _XENSTORED_WATCH_H -#include "xenstored_core.h" +#include "core.h" int do_watch(const void *ctx, struct connection *conn, struct buffered_data *in); diff --git a/tools/xenstore/include/xenstore_state.h b/tools/xenstored/xenstore_state.h similarity index 100% rename from tools/xenstore/include/xenstore_state.h rename to tools/xenstored/xenstore_state.h diff --git a/tools/xs-clients/.gitignore b/tools/xs-clients/.gitignore new file mode 100644 index 0000000000..6a0a7941d5 --- /dev/null +++ b/tools/xs-clients/.gitignore @@ -0,0 +1,10 @@ +/xenstore +/xenstore-chmod +/xenstore-control +/xenstore-exists +/xenstore-list +/xenstore-ls +/xenstore-read +/xenstore-rm +/xenstore-watch +/xenstore-write diff --git a/tools/xenstore/Makefile b/tools/xs-clients/Makefile similarity index 62% rename from tools/xenstore/Makefile rename to tools/xs-clients/Makefile index dc39b6cb31..4e78d365e0 100644 --- a/tools/xenstore/Makefile +++ b/tools/xs-clients/Makefile @@ -1,18 +1,11 @@ XEN_ROOT=$(CURDIR)/../.. include $(XEN_ROOT)/tools/Rules.mk -include Makefile.common - -xenstored: LDLIBS += $(LDLIBS_libxenevtchn) -xenstored: LDLIBS += $(LDLIBS_libxengnttab) -xenstored: LDLIBS += $(LDLIBS_libxenctrl) -xenstored: LDLIBS += -lrt -xenstored: LDLIBS += $(SOCKET_LIBS) - -ifeq ($(CONFIG_SYSTEMD),y) -$(XENSTORED_OBJS-y): CFLAGS += $(SYSTEMD_CFLAGS) -xenstored: LDLIBS += $(SYSTEMD_LIBS) -endif +CFLAGS += -include $(XEN_ROOT)/tools/config.h +CFLAGS += $(CFLAGS_libxenctrl) +CFLAGS += $(CFLAGS_libxenguest) +CFLAGS += $(CFLAGS_libxentoolcore) +CFLAGS += $(CFLAGS_libxenstore) xenstore: LDLIBS += $(LDLIBS_libxenstore) xenstore: LDLIBS += $(LDLIBS_libxentoolcore) @@ -28,9 +21,6 @@ CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmo CLIENTS += xenstore-write xenstore-ls xenstore-watch TARGETS := xenstore $(CLIENTS) xenstore-control -ifeq ($(XENSTORE_XENSTORED),y) -TARGETS += xenstored -endif .PHONY: all all: $(TARGETS) @@ -38,9 +28,6 @@ all: $(TARGETS) .PHONY: clients clients: xenstore $(CLIENTS) xenstore-control -xenstored: $(XENSTORED_OBJS-y) - $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS) - $(CLIENTS): xenstore ln -f xenstore $@ @@ -64,10 +51,6 @@ TAGS: .PHONY: install install: all $(INSTALL_DIR) $(DESTDIR)$(bindir) -ifeq ($(XENSTORE_XENSTORED),y) - $(INSTALL_DIR) $(DESTDIR)$(sbindir) - $(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir) -endif $(INSTALL_PROG) xenstore-control $(DESTDIR)$(bindir) $(INSTALL_PROG) xenstore $(DESTDIR)$(bindir) set -e ; for c in $(CLIENTS) ; do \ @@ -79,23 +62,8 @@ uninstall: rm -f $(addprefix $(DESTDIR)$(bindir)/, $(CLIENTS)) rm -f $(DESTDIR)$(bindir)/xenstore rm -f $(DESTDIR)$(bindir)/xenstore-control -ifeq ($(XENSTORE_XENSTORED),y) - rm -f $(DESTDIR)$(sbindir)/xenstored -endif if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \ rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \ fi -.PHONY: clients-uninstall -clients-uninstall: - rm -f $(addprefix $(DESTDIR)$(bindir)/, $(CLIENTS)) - -.PHONY: clients-install -clients-install: clients - $(INSTALL_DIR) $(DESTDIR)$(bindir) - $(INSTALL_PROG) xenstore $(DESTDIR)$(bindir) - set -e ; for c in $(CLIENTS) ; do \ - ln -f $(DESTDIR)$(bindir)/xenstore $(DESTDIR)$(bindir)/$${c} ; \ - done - -include $(DEPS_INCLUDE) diff --git a/tools/xenstore/xenstore_client.c b/tools/xs-clients/xenstore_client.c similarity index 100% rename from tools/xenstore/xenstore_client.c rename to tools/xs-clients/xenstore_client.c diff --git a/tools/xenstore/xenstore_control.c b/tools/xs-clients/xenstore_control.c similarity index 100% rename from tools/xenstore/xenstore_control.c rename to tools/xs-clients/xenstore_control.c