diff options
Diffstat (limited to 'templates/system/package/repository')
5 files changed, 27 insertions, 11 deletions
diff --git a/templates/system/package/repository/node.def b/templates/system/package/repository/node.def index 17d5d162..40504bf1 100644 --- a/templates/system/package/repository/node.def +++ b/templates/system/package/repository/node.def @@ -8,16 +8,25 @@ 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" -create: sudo bash -c "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 \ +end: + if [ ${COMMIT_ACTION} = 'SET' -o ${COMMIT_ACTION} = 'ACTIVE' ]; then + if [ ${COMMIT_ACTION} = 'SET' ]; then + echo "Adding new entry to /etc/apt/sources.list..." + else + echo "Updating /etc/apt/sources.list..." + fi + sudo bash -c "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" + fi && \ + cat /tmp/$$-sources.list>>/etc/apt/sources.list ; \ + rm -f /tmp/$$-sources.list" + elif [ ${COMMIT_ACTION} = 'DELETE' ]; then + echo "Removing entry from /etc/apt/sources.list..." + sudo sh -c "touch /etc/apt/sources.list && \ + sed -i '\\!# $VAR(@) #!d' /etc/apt/sources.list" + fi diff --git a/templates/system/package/repository/node.tag/components/node.def b/templates/system/package/repository/node.tag/components/node.def index 60605b89..313ab614 100644 --- a/templates/system/package/repository/node.tag/components/node.def +++ b/templates/system/package/repository/node.tag/components/node.def @@ -1,4 +1,6 @@ type: txt + help: Set repository component names + # need to prohibit '!' in repo name (sed delimiter) syntax:expression: pattern $VAR(@) "^[^!]+$" ; "Do not use '!' in component name" diff --git a/templates/system/package/repository/node.tag/description/node.def b/templates/system/package/repository/node.tag/description/node.def index 8ebfacb0..613b0d28 100644 --- a/templates/system/package/repository/node.tag/description/node.def +++ b/templates/system/package/repository/node.tag/description/node.def @@ -1,2 +1,3 @@ type: txt + help: Set repository description diff --git a/templates/system/package/repository/node.tag/distribution/node.def b/templates/system/package/repository/node.tag/distribution/node.def index ce5219bc..353f59b6 100644 --- a/templates/system/package/repository/node.tag/distribution/node.def +++ b/templates/system/package/repository/node.tag/distribution/node.def @@ -1,4 +1,6 @@ type: txt + help: Set distribution name + # need to prohibit '!' in repo name (sed delimiter) syntax:expression: pattern $VAR(@) "^[^!]+$" ; "Do not use '!' in distribution name" diff --git a/templates/system/package/repository/node.tag/url/node.def b/templates/system/package/repository/node.tag/url/node.def index 07021671..3fad02e8 100644 --- a/templates/system/package/repository/node.tag/url/node.def +++ b/templates/system/package/repository/node.tag/url/node.def @@ -1,4 +1,6 @@ type: txt + help: Repository URL + # need to prohibit '!' in url (sed delimiter) syntax:expression: pattern $VAR(@) "^[^!]+$" ; "URL must not be null and must not contain '!'" |