summaryrefslogtreecommitdiff
path: root/templates/system/package/repository/node.def
blob: 40504bf1b79d104f39f50d485bb9b37f5ae8615f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
tag:

type: txt

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"

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"
    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