Selaa lähdekoodia

Upgrading radicale

Bob Mottram 8 vuotta sitten
vanhempi
commit
3c03c08413
1 muutettua tiedostoa jossa 59 lisäystä ja 2 poistoa
  1. 59
    2
      src/freedombone-app-radicale

+ 59
- 2
src/freedombone-app-radicale Näytä tiedosto

@@ -36,6 +36,7 @@ VARIANTS='full full-vim'
36 36
 IN_DEFAULT_INSTALL=1
37 37
 SHOW_ON_ABOUT=1
38 38
 
39
+RADICALE_DOWNLOAD_URL='http://pypi.python.org/packages/source/R/Radicale/Radicale-'
39 40
 RADICALE_VERSION='1.1.1'
40 41
 RADICALE_HASH='e2c9812913c464ab88ae1f66b29e81f87a4cc6ee1c94d167b33508c530dab4b0'
41 42
 RADICALE_PASSWORD=
@@ -108,7 +109,56 @@ function reconfigure_radicale {
108 109
 }
109 110
 
110 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 164
 function backup_local_radicale {
@@ -260,7 +310,7 @@ function install_radicale {
260 310
 
261 311
     # get the source
262 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 315
     # check the hash
266 316
     hash=$(sha256sum Radicale-${RADICALE_VERSION}.tar.gz | awk -F ' ' '{print $1}')
@@ -419,6 +469,13 @@ function install_radicale {
419 469
         sed -i "s|Your Radicale password is.*|Your Radicale password is: ${RADICALE_PASSWORD}|g" /home/$MY_USERNAME/README
420 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 479
     APP_INSTALLED=1
423 480
 }
424 481