Browse Source

Upgrading radicale

Bob Mottram 8 years ago
parent
commit
3c03c08413
1 changed files with 59 additions and 2 deletions
  1. 59
    2
      src/freedombone-app-radicale

+ 59
- 2
src/freedombone-app-radicale View File

36
 IN_DEFAULT_INSTALL=1
36
 IN_DEFAULT_INSTALL=1
37
 SHOW_ON_ABOUT=1
37
 SHOW_ON_ABOUT=1
38
 
38
 
39
+RADICALE_DOWNLOAD_URL='http://pypi.python.org/packages/source/R/Radicale/Radicale-'
39
 RADICALE_VERSION='1.1.1'
40
 RADICALE_VERSION='1.1.1'
40
 RADICALE_HASH='e2c9812913c464ab88ae1f66b29e81f87a4cc6ee1c94d167b33508c530dab4b0'
41
 RADICALE_HASH='e2c9812913c464ab88ae1f66b29e81f87a4cc6ee1c94d167b33508c530dab4b0'
41
 RADICALE_PASSWORD=
42
 RADICALE_PASSWORD=
108
 }
109
 }
109
 
110
 
110
 function upgrade_radicale {
111
 function upgrade_radicale {
111
-    echo -n ''
112
+    if [ ! -f /usr/local/bin/radicale ]; then
113
+        return
114
+    fi
115
+
116
+    if ! grep -q "radicale version:" $COMPLETION_FILE; then
117
+        return
118
+    fi
119
+
120
+    CURR_RADICALE_VERSION=$(get_completion_param "radicale version")
121
+    if [[ "${CURR_RADICALE_VERSION}" == "${RADICALE_VERSION}" ]]; then
122
+        return
123
+    fi
124
+
125
+    # get the source
126
+    cd /var/www/radicale
127
+    wget ${RADICALE_DOWNLOAD_URL}${RADICALE_VERSION}.tar.gz
128
+
129
+    # check the hash
130
+    hash=$(sha256sum Radicale-${RADICALE_VERSION}.tar.gz | awk -F ' ' '{print $1}')
131
+    if [[ "$hash" != "$RADICALE_HASH" ]]; then
132
+        echo $'radicale hash does not match'
133
+        exit 638532
134
+    fi
135
+
136
+    tar -xzf Radicale-${RADICALE_VERSION}.tar.gz
137
+    if [ ! -d Radicale-${RADICALE_VERSION} ]; then
138
+        exit 73529
139
+    fi
140
+    rm Radicale-${RADICALE_VERSION}.tar.gz
141
+    cd Radicale-${RADICALE_VERSION}
142
+
143
+    # move the old command
144
+    mv /usr/local/bin/radicale /usr/local/bin/radicale_previous
145
+
146
+    # do the install
147
+    python setup.py install
148
+
149
+    # check for install success
150
+    if [ ! -f /usr/local/bin/radicale ]; then
151
+        mv /usr/local/bin/radicale_previous /usr/local/bin/radicale
152
+        echo $'Radicale did not upgrade'
153
+        exit 692353
154
+    fi
155
+
156
+    # remove the old source
157
+    rm -rf Radicale-${CURR_RADICALE_VERSION}
158
+
159
+    sed -i "s|radicale version.*|radicale version:$RADICALE_VERSION|g" ${COMPLETION_FILE}
160
+    chown -R www-data:www-data /var/www/radicale
161
+    systemctl restart radicale
112
 }
162
 }
113
 
163
 
114
 function backup_local_radicale {
164
 function backup_local_radicale {
260
 
310
 
261
     # get the source
311
     # get the source
262
     cd /var/www/radicale
312
     cd /var/www/radicale
263
-    wget http://pypi.python.org/packages/source/R/Radicale/Radicale-${RADICALE_VERSION}.tar.gz
313
+    wget ${RADICALE_DOWNLOAD_URL}${RADICALE_VERSION}.tar.gz
264
 
314
 
265
     # check the hash
315
     # check the hash
266
     hash=$(sha256sum Radicale-${RADICALE_VERSION}.tar.gz | awk -F ' ' '{print $1}')
316
     hash=$(sha256sum Radicale-${RADICALE_VERSION}.tar.gz | awk -F ' ' '{print $1}')
419
         sed -i "s|Your Radicale password is.*|Your Radicale password is: ${RADICALE_PASSWORD}|g" /home/$MY_USERNAME/README
469
         sed -i "s|Your Radicale password is.*|Your Radicale password is: ${RADICALE_PASSWORD}|g" /home/$MY_USERNAME/README
420
     fi
470
     fi
421
 
471
 
472
+    # keep track of the version so we can check for upgrades
473
+    if ! grep -q "radicale version:" ${COMPLETION_FILE}; then
474
+        echo "radicale version:${RADICALE_VERSION}" >> ${COMPLETION_FILE}
475
+    else
476
+        sed -i "s|radicale version.*|radicale version:${RADICALE_VERSION}|g" ${COMPLETION_FILE}
477
+    fi
478
+
422
     APP_INSTALLED=1
479
     APP_INSTALLED=1
423
 }
480
 }
424
 
481