|
@@ -39,111 +39,112 @@ FRIENDS_MIRRORS_SERVER=
|
39
|
39
|
FRIENDS_MIRRORS_SSH_PORT=2222
|
40
|
40
|
|
41
|
41
|
function create_repo_sources {
|
42
|
|
- if grep -Fxq "create_repo_sources" $COMPLETION_FILE; then
|
43
|
|
- return
|
44
|
|
- fi
|
45
|
|
- rm -rf /var/lib/apt/lists/*
|
46
|
|
- apt-get clean
|
47
|
|
-
|
48
|
|
- echo "deb http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION} main" > /etc/apt/sources.list
|
49
|
|
- echo "deb-src http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION} main" >> /etc/apt/sources.list
|
50
|
|
- echo '' >> /etc/apt/sources.list
|
51
|
|
- echo "deb http://security.debian.org/ ${DEBIAN_VERSION}/updates main" >> /etc/apt/sources.list
|
52
|
|
- echo "deb-src http://security.debian.org/ ${DEBIAN_VERSION}/updates main" >> /etc/apt/sources.list
|
53
|
|
- echo '' >> /etc/apt/sources.list
|
54
|
|
- echo "deb http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION}-updates main" >> /etc/apt/sources.list
|
55
|
|
- echo "deb-src http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION}-updates main" >> /etc/apt/sources.list
|
56
|
|
- echo '' >> /etc/apt/sources.list
|
57
|
|
- echo "deb http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION}-backports main" >> /etc/apt/sources.list
|
58
|
|
- echo "deb-src http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION}-backports main" >> /etc/apt/sources.list
|
59
|
|
-
|
60
|
|
- apt-get update
|
61
|
|
- apt-get -y install apt-transport-https
|
62
|
|
-
|
63
|
|
- echo 'create_repo_sources' >> $COMPLETION_FILE
|
|
42
|
+ if grep -Fxq "create_repo_sources" $COMPLETION_FILE; then
|
|
43
|
+ return
|
|
44
|
+ fi
|
|
45
|
+ rm -rf /var/lib/apt/lists/*
|
|
46
|
+ apt-get clean
|
|
47
|
+
|
|
48
|
+ echo "deb http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION} main" > /etc/apt/sources.list
|
|
49
|
+ echo "deb-src http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION} main" >> /etc/apt/sources.list
|
|
50
|
+ echo '' >> /etc/apt/sources.list
|
|
51
|
+ echo "deb http://security.debian.org/ ${DEBIAN_VERSION}/updates main" >> /etc/apt/sources.list
|
|
52
|
+ echo "deb-src http://security.debian.org/ ${DEBIAN_VERSION}/updates main" >> /etc/apt/sources.list
|
|
53
|
+ echo '' >> /etc/apt/sources.list
|
|
54
|
+ echo "deb http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION}-updates main" >> /etc/apt/sources.list
|
|
55
|
+ echo "deb-src http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION}-updates main" >> /etc/apt/sources.list
|
|
56
|
+ echo '' >> /etc/apt/sources.list
|
|
57
|
+ echo "deb http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION}-backports main" >> /etc/apt/sources.list
|
|
58
|
+ echo "deb-src http://${DEBIAN_REPO}/debian/ ${DEBIAN_VERSION}-backports main" >> /etc/apt/sources.list
|
|
59
|
+
|
|
60
|
+ apt-get update
|
|
61
|
+ apt-get -y install apt-transport-https
|
|
62
|
+
|
|
63
|
+ echo 'create_repo_sources' >> $COMPLETION_FILE
|
64
|
64
|
}
|
65
|
65
|
|
66
|
66
|
function read_repo_servers {
|
67
|
|
- if [ -f $CONFIGURATION_FILE ]; then
|
68
|
|
- if grep -q "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE; then
|
69
|
|
- FRIENDS_MIRRORS_SERVER=$(grep "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
70
|
|
- fi
|
71
|
|
- if grep -q "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE; then
|
72
|
|
- FRIENDS_MIRRORS_SSH_PORT=$(grep "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
73
|
|
- fi
|
74
|
|
- if grep -q "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
|
75
|
|
- MY_MIRRORS_PASSWORD=$(grep "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
76
|
|
- fi
|
77
|
|
- if grep -q "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
|
78
|
|
- FRIENDS_MIRRORS_PASSWORD=$(grep "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
79
|
|
- fi
|
80
|
|
- fi
|
81
|
|
-
|
82
|
|
- if [ ! $FRIENDS_MIRRORS_SERVER ]; then
|
83
|
|
- return
|
84
|
|
- fi
|
85
|
|
- if [ ${#FRIENDS_MIRRORS_SERVER} -lt 2 ]; then
|
86
|
|
- return
|
87
|
|
- fi
|
88
|
|
-
|
89
|
|
- MAIN_COMMAND=/usr/local/bin/${PROJECT_NAME}
|
90
|
|
- if [ ! -f $MAIN_COMMAND ]; then
|
91
|
|
- MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
|
92
|
|
- fi
|
93
|
|
-
|
94
|
|
- REPOS=($(cat ${MAIN_COMMAND} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
|
95
|
|
-
|
96
|
|
- for line in "${REPOS[@]}"
|
97
|
|
- do
|
98
|
|
- repo_name=$(echo "$line" | awk -F '=' '{print $1}')
|
99
|
|
- mirrors_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
|
100
|
|
- friends_repo_url="ssh://mirrors@${FRIENDS_MIRRORS_SERVER}:${FRIENDS_MIRRORS_SSH_PORT}/home/mirrors/${mirrors_name}"
|
101
|
|
- ${repo_name}="${friends_repo_url}"
|
102
|
|
- done
|
|
67
|
+ read_config_param FRIENDS_MIRRORS_SERVER
|
|
68
|
+ read_config_param FRIENDS_MIRRORS_SSH_PORT
|
|
69
|
+ read_config_param MY_MIRRORS_PASSWORD
|
|
70
|
+ read_config_param FRIENDS_MIRRORS_PASSWORD
|
|
71
|
+
|
|
72
|
+ if [ ! $FRIENDS_MIRRORS_SERVER ]; then
|
|
73
|
+ return
|
|
74
|
+ fi
|
|
75
|
+ if [ ${#FRIENDS_MIRRORS_SERVER} -lt 2 ]; then
|
|
76
|
+ return
|
|
77
|
+ fi
|
|
78
|
+
|
|
79
|
+ APP_FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
|
|
80
|
+ for f in $APP_FILES
|
|
81
|
+ do
|
|
82
|
+ REPOS=($(cat ${f} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
|
|
83
|
+ for line in "${REPOS[@]}"
|
|
84
|
+ do
|
|
85
|
+ repo_name=$(echo "$line" | awk -F '=' '{print $1}')
|
|
86
|
+ mirrors_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
|
|
87
|
+ friends_repo_url="ssh://mirrors@${FRIENDS_MIRRORS_SERVER}:${FRIENDS_MIRRORS_SSH_PORT}/home/mirrors/${mirrors_name}"
|
|
88
|
+ export ${repo_name}="${friends_repo_url}"
|
|
89
|
+ done
|
|
90
|
+ done
|
|
91
|
+
|
|
92
|
+ APP_FILES=/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-*
|
|
93
|
+ for f in $APP_FILES
|
|
94
|
+ do
|
|
95
|
+ REPOS=($(cat ${f} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
|
|
96
|
+ for line in "${REPOS[@]}"
|
|
97
|
+ do
|
|
98
|
+ repo_name=$(echo "$line" | awk -F '=' '{print $1}')
|
|
99
|
+ mirrors_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
|
|
100
|
+ friends_repo_url="ssh://mirrors@${FRIENDS_MIRRORS_SERVER}:${FRIENDS_MIRRORS_SSH_PORT}/home/mirrors/${mirrors_name}"
|
|
101
|
+ export ${repo_name}="${friends_repo_url}"
|
|
102
|
+ done
|
|
103
|
+ done
|
103
|
104
|
}
|
104
|
105
|
|
105
|
106
|
# A command to create a git repository for a project
|
106
|
107
|
function create_git_project {
|
107
|
|
- if grep -Fxq "create_git_project" $COMPLETION_FILE; then
|
108
|
|
- return
|
109
|
|
- fi
|
110
|
|
- apt-get -y install git
|
111
|
|
-
|
112
|
|
- echo '#!/bin/bash' > /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
113
|
|
- echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
114
|
|
- echo 'GIT_PROJECT_NAME=$1' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
115
|
|
- echo 'if [ ! $GIT_PROJECT_NAME ]; then' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
116
|
|
- echo ' echo "Please specify a project name, without any spaces"' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
117
|
|
- echo ' exit 1' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
118
|
|
- echo 'fi' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
119
|
|
- echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
120
|
|
- echo 'if [ ! -d /home/$USER/projects/$GIT_PROJECT_NAME ]; then' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
121
|
|
- echo ' mkdir -p /home/$USER/projects/$GIT_PROJECT_NAME' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
122
|
|
- echo 'fi' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
123
|
|
- echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
124
|
|
- echo 'cd /home/$USER/projects/$GIT_PROJECT_NAME' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
125
|
|
- echo 'git init --bare' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
126
|
|
- echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
127
|
|
- echo -n 'echo "Your project has been created, ' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
128
|
|
- echo 'use the following command to clone the repository"' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
129
|
|
- echo -n " git clone ssh://$MY_USERNAME@$DEFAULT_DOMAIN_NAME:$SSH_PORT" >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
130
|
|
- echo '/home/$USER/projects/$GIT_PROJECT_NAME' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
131
|
|
- echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
132
|
|
- echo 'exit 0' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
133
|
|
- chmod +x /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
134
|
|
-
|
135
|
|
- echo 'create_git_project' >> $COMPLETION_FILE
|
|
108
|
+ if grep -Fxq "create_git_project" $COMPLETION_FILE; then
|
|
109
|
+ return
|
|
110
|
+ fi
|
|
111
|
+ apt-get -y install git
|
|
112
|
+
|
|
113
|
+ echo '#!/bin/bash' > /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
114
|
+ echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
115
|
+ echo 'GIT_PROJECT_NAME=$1' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
116
|
+ echo 'if [ ! $GIT_PROJECT_NAME ]; then' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
117
|
+ echo ' echo "Please specify a project name, without any spaces"' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
118
|
+ echo ' exit 1' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
119
|
+ echo 'fi' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
120
|
+ echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
121
|
+ echo 'if [ ! -d /home/$USER/projects/$GIT_PROJECT_NAME ]; then' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
122
|
+ echo ' mkdir -p /home/$USER/projects/$GIT_PROJECT_NAME' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
123
|
+ echo 'fi' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
124
|
+ echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
125
|
+ echo 'cd /home/$USER/projects/$GIT_PROJECT_NAME' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
126
|
+ echo 'git init --bare' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
127
|
+ echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
128
|
+ echo -n 'echo "Your project has been created, ' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
129
|
+ echo 'use the following command to clone the repository"' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
130
|
+ echo -n " git clone ssh://$MY_USERNAME@$DEFAULT_DOMAIN_NAME:$SSH_PORT" >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
131
|
+ echo '/home/$USER/projects/$GIT_PROJECT_NAME' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
132
|
+ echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
133
|
+ echo 'exit 0' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
134
|
+ chmod +x /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
135
|
+
|
|
136
|
+ echo 'create_git_project' >> $COMPLETION_FILE
|
136
|
137
|
}
|
137
|
138
|
|
138
|
139
|
function create_mirrors {
|
139
|
|
- if [ -d /home/trove ]; then
|
140
|
|
- userdel -r trove
|
141
|
|
- fi
|
142
|
|
- if grep -Fxq "create_mirrors" $COMPLETION_FILE; then
|
143
|
|
- return
|
144
|
|
- fi
|
145
|
|
- ${PROJECT_NAME}-mirrors
|
146
|
|
- echo 'create_mirrors' >> $COMPLETION_FILE
|
|
140
|
+ if [ -d /home/trove ]; then
|
|
141
|
+ userdel -r trove
|
|
142
|
+ fi
|
|
143
|
+ if grep -Fxq "create_mirrors" $COMPLETION_FILE; then
|
|
144
|
+ return
|
|
145
|
+ fi
|
|
146
|
+ ${PROJECT_NAME}-mirrors
|
|
147
|
+ echo 'create_mirrors' >> $COMPLETION_FILE
|
147
|
148
|
}
|
148
|
149
|
|
149
|
150
|
# NOTE: deliberately no exit 0
|