From 229df46f2a9905b8f91600b78c4eb09aa6bd05a3 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Thu, 30 Jun 2016 16:04:55 +0100 Subject: [PATCH] Move commit function to separate script --- src/freedombone | 94 ------------------------------- src/freedombone-utils-git | 114 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 94 deletions(-) diff --git a/src/freedombone b/src/freedombone index 3d741b13..15a7c26f 100755 --- a/src/freedombone +++ b/src/freedombone @@ -1578,100 +1578,6 @@ function rss_reader_modifications { chmod a+x $RSS_READER_PATH } -function set_repo_commit { - repo_dir=$1 - repo_commit_name=$2 - repo_commit=$3 - repo_url=$4 - if [ -d $repo_dir ]; then - if grep -q "$repo_commit_name" $COMPLETION_FILE; then - CURRENT_REPO_COMMIT=$(grep "$repo_commit_name" $COMPLETION_FILE | awk -F ':' '{print $2}') - if [[ "$CURRENT_REPO_COMMIT" != "$repo_commit" ]]; then - cd $repo_dir - git_pull $repo_url $repo_commit - - # application specific stuff after updating the repo - if [[ $repo_dir == *"www"* ]]; then - chown -R www-data:www-data $repo_dir - fi - if [[ $repo_dir == *"cjdns" ]]; then - ./do - fi - if [[ $repo_dir == *"tlsdate" ]]; then - cd $INSTALL_DIR/tlsdate - make clean - ./configure - if [ ! "$?" = "0" ]; then - echo $'Failed to configure tlsdate' - exit 727824 - fi - make - if [ ! "$?" = "0" ]; then - echo $'Failed to build tlsdate' - exit 728752 - fi - make install - fi - if [[ $repo_dir == *"gpgit" ]]; then - cp gpgit.pl /usr/bin/gpgit.pl - fi - if [[ $repo_dir == *"cleanup-maildir" ]]; then - cp $INSTALL_DIR/cleanup-maildir/cleanup-maildir /usr/bin - fi - if [[ $repo_dir == *"nginx_ensite" ]]; then - make install - fi - if [[ $repo_dir == *"gogs" ]]; then - git checkout master - go get -u ./... - if [ ! "$?" = "0" ]; then - echo $'Failed to get gogs' - exit 52792 - fi - git checkout $repo_commit - go build - if [ ! "$?" = "0" ]; then - echo $'Failed to build gogs' - exit 36226 - fi - systemctl restart gogs - fi - if [[ $repo_dir == *"toxcore" ]]; then - sed -i 's|ExecStart=.*|ExecStart=/usr/local/bin/tox-bootstrapd --config /etc/tox-bootstrapd.conf|g' $rootdir/etc/systemd/system/tox-bootstrapd.service - autoreconf -i - ./configure --enable-daemon - make - make install - systemctl daemon-reload - systemctl restart tox-bootstrapd.service - fi - if [[ $repo_dir == *"toxic" ]]; then - make - make install - fi - if [[ $repo_dir == $RSS_READER_PATH ]]; then - rss_reader_modifications - fi - if [[ $repo_dir == *"inadyn" ]]; then - ./configure - USE_OPENSSL=1 make - make install - systemctl restart inadyn - fi - if [[ $repo_dir == *"ipfs" ]]; then - chown -R git:git /home/git - systemctl restart ipfs - systemctl daemon-reload - fi - - sed -i "s/${repo_commit_name}.*/${repo_commit_name}:$repo_commit/g" $COMPLETION_FILE - fi - else - echo "${repo_commit_name}:${repo_commit}" >> $COMPLETION_FILE - fi - fi -} - function wait_for_onion_service { onion_service_name="$1" diff --git a/src/freedombone-utils-git b/src/freedombone-utils-git index 9d173d89..ee138a6a 100755 --- a/src/freedombone-utils-git +++ b/src/freedombone-utils-git @@ -88,4 +88,118 @@ function git_pull { fi } +# This might be replaced in future with a separate rss reader script +function rss_reader_modifications { + # modify the rss reader to use a socks5 proxy rather than a http proxy + if [ ! -d $RSS_READER_PATH ]; then + return + fi + + # ensure that socks5 proxy is used + if ! grep -q "CURLOPT_PROXYTYPE" $RSS_READER_PATH/plugins/af_unburn/init.php; then + sed -i '/curl_setopt($ch, CURLOPT_PROXY, _CURL_HTTP_PROXY);/a \\t\t\t\t\tcurl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);' $RSS_READER_PATH/plugins/af_unburn/init.php + fi + if ! grep -q "CURLOPT_PROXYTYPE" $RSS_READER_PATH/include/functions.php; then + sed -i '/curl_setopt($ch, CURLOPT_PROXY, _CURL_HTTP_PROXY);/a \\t\t\t\tcurl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);' $RSS_READER_PATH/include/functions.php + fi + chown -R www-data:www-data $RSS_READER_PATH + chmod a+x $RSS_READER_PATH +} + +# This ensures that a given repo is on a given commit +# If it isn't then it attempts to upgrade +function set_repo_commit { + repo_dir=$1 + repo_commit_name=$2 + repo_commit=$3 + repo_url=$4 + if [ -d $repo_dir ]; then + if grep -q "$repo_commit_name" $COMPLETION_FILE; then + CURRENT_REPO_COMMIT=$(grep "$repo_commit_name" $COMPLETION_FILE | awk -F ':' '{print $2}') + if [[ "$CURRENT_REPO_COMMIT" != "$repo_commit" ]]; then + cd $repo_dir + git_pull $repo_url $repo_commit + + # application specific stuff after updating the repo + if [[ $repo_dir == *"www"* ]]; then + chown -R www-data:www-data $repo_dir + fi + if [[ $repo_dir == *"cjdns" ]]; then + ./do + fi + if [[ $repo_dir == *"tlsdate" ]]; then + cd $INSTALL_DIR/tlsdate + make clean + ./configure + if [ ! "$?" = "0" ]; then + echo $'Failed to configure tlsdate' + exit 727824 + fi + make + if [ ! "$?" = "0" ]; then + echo $'Failed to build tlsdate' + exit 728752 + fi + make install + fi + if [[ $repo_dir == *"gpgit" ]]; then + cp gpgit.pl /usr/bin/gpgit.pl + fi + if [[ $repo_dir == *"cleanup-maildir" ]]; then + cp $INSTALL_DIR/cleanup-maildir/cleanup-maildir /usr/bin + fi + if [[ $repo_dir == *"nginx_ensite" ]]; then + make install + fi + if [[ $repo_dir == *"gogs" ]]; then + git checkout master + go get -u ./... + if [ ! "$?" = "0" ]; then + echo $'Failed to get gogs' + exit 52792 + fi + git checkout $repo_commit + go build + if [ ! "$?" = "0" ]; then + echo $'Failed to build gogs' + exit 36226 + fi + systemctl restart gogs + fi + if [[ $repo_dir == *"toxcore" ]]; then + sed -i 's|ExecStart=.*|ExecStart=/usr/local/bin/tox-bootstrapd --config /etc/tox-bootstrapd.conf|g' $rootdir/etc/systemd/system/tox-bootstrapd.service + autoreconf -i + ./configure --enable-daemon + make + make install + systemctl daemon-reload + systemctl restart tox-bootstrapd.service + fi + if [[ $repo_dir == *"toxic" ]]; then + make + make install + fi + if [[ $repo_dir == $RSS_READER_PATH ]]; then + rss_reader_modifications + fi + if [[ $repo_dir == *"inadyn" ]]; then + ./configure + USE_OPENSSL=1 make + make install + systemctl restart inadyn + fi + if [[ $repo_dir == *"ipfs" ]]; then + chown -R git:git /home/git + systemctl restart ipfs + systemctl daemon-reload + fi + + sed -i "s/${repo_commit_name}.*/${repo_commit_name}:$repo_commit/g" $COMPLETION_FILE + fi + else + echo "${repo_commit_name}:${repo_commit}" >> $COMPLETION_FILE + fi + fi +} + # NOTE: deliberately no exit 0