summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--templates/system/package/repository/node.def15
-rw-r--r--templates/system/package/repository/node.tag/password/node.def8
-rw-r--r--templates/system/package/repository/node.tag/url/node.def4
-rw-r--r--templates/system/package/repository/node.tag/username/node.def8
4 files changed, 29 insertions, 6 deletions
diff --git a/templates/system/package/repository/node.def b/templates/system/package/repository/node.def
index 8d753918..9c7697f8 100644
--- a/templates/system/package/repository/node.def
+++ b/templates/system/package/repository/node.def
@@ -2,15 +2,22 @@ tag:
type: txt
-help: Set name of a debian archive
+help: Set the name of a debian archive
commit:expression: $VAR(./url/) != ""; "Must configure the repository URL"
commit:expression: $VAR(./distribution/) != ""; "Must configure the repository distribution"
commit:expression: $VAR(./components/) != ""; "Must configure the repository components"
-update: sudo sh -c "touch /etc/apt/sources.list && \
-sed -i '\\!# $VAR(@) #!d' /etc/apt/sources.list && \
-echo \"deb $VAR(url/@)/ $VAR(distribution/@) $VAR(components/@) # $VAR(@) #\" >> /etc/apt/sources.list"
+update: sudo bash -c "set -x; touch /etc/apt/sources.list && \
+ sed -i '\\!# $VAR(@) #!d' /etc/apt/sources.list && \
+ echo \"deb $VAR(url/@) $VAR(distribution/@) $VAR(components/@) # $VAR(@) #\" >> /tmp/$$-sources.list && \
+ if [ $VAR(password/@) ] || [ $VAR(username/@) ]; \
+ then \
+ sed -i "s!://.*@!://!" /tmp/$$-sources.list; \
+ sed -i "s!://!://$VAR(username/@):$VAR(password/@)@!" /tmp/$$-sources.list; \
+ fi && \
+ cat /tmp/$$-sources.list>>/etc/apt/sources.list ; \
+ rm -f /tmp/$$-sources.list"
delete: sudo sh -c "touch /etc/apt/sources.list && \
sed -i '\\!# $VAR(@) #!d' /etc/apt/sources.list"
diff --git a/templates/system/package/repository/node.tag/password/node.def b/templates/system/package/repository/node.tag/password/node.def
new file mode 100644
index 00000000..34ccff27
--- /dev/null
+++ b/templates/system/package/repository/node.tag/password/node.def
@@ -0,0 +1,8 @@
+type: txt
+
+help: Repository password
+
+default: ""
+
+# need to prohibit '!' in url (sed delimiter)
+syntax:expression: pattern $VAR(@) "^[^!]*$" ; "Do not use '!' in url"
diff --git a/templates/system/package/repository/node.tag/url/node.def b/templates/system/package/repository/node.tag/url/node.def
index 9cb3a472..07021671 100644
--- a/templates/system/package/repository/node.tag/url/node.def
+++ b/templates/system/package/repository/node.tag/url/node.def
@@ -1,4 +1,4 @@
type: txt
-help: Set repository URL
+help: Repository URL
# need to prohibit '!' in url (sed delimiter)
-syntax:expression: pattern $VAR(@) "^[^!]+$" ; "Do not use '!' in url"
+syntax:expression: pattern $VAR(@) "^[^!]+$" ; "URL must not be null and must not contain '!'"
diff --git a/templates/system/package/repository/node.tag/username/node.def b/templates/system/package/repository/node.tag/username/node.def
new file mode 100644
index 00000000..d22dd7cb
--- /dev/null
+++ b/templates/system/package/repository/node.tag/username/node.def
@@ -0,0 +1,8 @@
+type: txt
+
+help: Repository username
+
+default: ""
+
+# need to prohibit '!' in url (sed delimiter)
+syntax:expression: pattern $VAR(@) "^[^!]*$" ; "Do not use '!' in url"