summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2017-09-07 03:27:55 +0200
committerDaniil Baturin <daniil@baturin.org>2017-09-07 03:27:55 +0200
commit41752cbef7b9e647feaa4a889c29fe76ca3a4c9f (patch)
tree7ad4bc50921dff36fa59474e4d07215fc347c13a
parent08ecdea5e7b838e94b6654eb165f0f652ebbb584 (diff)
downloadvyos-1x-41752cbef7b9e647feaa4a889c29fe76ca3a4c9f.tar.gz
vyos-1x-41752cbef7b9e647feaa4a889c29fe76ca3a4c9f.zip
Add interface definition for cron and enable templates building in the makefiles.
-rw-r--r--Makefile13
-rw-r--r--debian/control2
-rwxr-xr-xdebian/rules12
-rw-r--r--interface-definitions/cron.xml69
4 files changed, 94 insertions, 2 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000..2c7b28c56
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,13 @@
+TMPL_DIR := templates
+
+.PHONY: interface_definitions
+.ONESHELL:
+interface_definitions:
+ find $(CURDIR)/interface-definitions/ -type f | xargs -I {} $(CURDIR)/scripts/build-command-templates {} $(CURDIR)/schema/interface_definition.rng $(TMPL_DIR)
+
+.PHONY: all
+all: interface_definitions
+
+.PHONY: clean
+clean:
+ rm -rf $(TMPL_DIR)/*
diff --git a/debian/control b/debian/control
index 71169b1e5..33de6b7ef 100644
--- a/debian/control
+++ b/debian/control
@@ -8,6 +8,6 @@ Standards-Version: 3.9.6
Package: vyos-1x
Architecture: all
-Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}
+Depends: python3, ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}
Description: VyOS configuration scripts and data
VyOS configuration scripts, interface definitions, and everything
diff --git a/debian/rules b/debian/rules
index e76b80267..f070f1f5e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,11 +1,21 @@
#!/usr/bin/make -f
+DIR := debian/vyos-1x
+VYOS_SBIN_DIR := opt/vyatta/sbin/
+VYOS_CFG_TMPL_DIR := /opt/vyatta/share/vyatta-cfg/templates
+
%:
dh $@ --with python3, --with quilt
override_dh_auto_build:
+ make
override_dh_auto_install:
dh_install -pvyos-1x
- cd python; python3 setup.py install --install-layout=deb --root ../debian/vyos-1x; cd ..
+ cd python; python3 setup.py install --install-layout=deb --root $(DIR); cd ..
+
+ mkdir -p $(DIR)/$(VYOS_SBIN_DIR)
+ cp -r src/conf-mode/* $(DIR)/$(VYOS_SBIN_DIR)
+ mkdir -p $(DIR)/$(VYOS_CFG_TMPL_DIR)
+ cp -r templates/* $(DIR)/$(VYOS_CFG_TMPL_DIR)
diff --git a/interface-definitions/cron.xml b/interface-definitions/cron.xml
new file mode 100644
index 000000000..1982ac87c
--- /dev/null
+++ b/interface-definitions/cron.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+
+<!-- Cron configuration -->
+
+<interfaceDefinition>
+ <node name="system" owner="vyos-update-cron">
+ <children>
+ <node name="task-scheduler">
+ <children>
+ <tagNode name="task">
+ <properties>
+ <help>Scheduled task</help>
+ <valueHelp>
+ <format>&lt;string&gt;</format>
+ <description>Task name</description>
+ </valueHelp>
+ <priority>999</priority>
+ </properties>
+ <children>
+ <leafNode name="crontab-spec">
+ <properties>
+ <help>UNIX crontab time specification string</help>
+ </properties>
+ </leafNode>
+ <leafNode name="interval">
+ <properties>
+ <help>Execution interval</help>
+ </properties>
+ </leafNode>
+ <node name="executable">
+ <properties>
+ <help>Executable path and arguments</help>
+ </properties>
+ <children>
+ <leafNode name="path">
+ <properties>
+ <help>Path to executable</help>
+ </properties>
+ </leafNode>
+ <leafNode name="arguments">
+ <properties>
+ <help>Arguments passed to the executable</help>
+ <valueHelp>
+ <format>&lt;minutes&gt;</format>
+ <description>Execution interval in minutes</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;minutes&gt;m</format>
+ <description>Execution interval in minutes</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;hours&gt;h</format>
+ <description>Execution interval in hours</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;days&gt;d</format>
+ <description>Execution interval in days</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>