From 67230ecacae88388a6635998ea41bb40af23a032 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Thu, 15 Jun 2017 12:33:16 +0100 Subject: [PATCH] Include repos within the image --- src/freedombone-app-cryptpad | 12 +++++- src/freedombone-app-dokuwiki | 13 ++++++- src/freedombone-app-etherpad | 13 ++++++- src/freedombone-app-friendica | 13 ++++++- src/freedombone-app-gnusocial | 39 +++++++++++++++++--- src/freedombone-app-htmly | 11 +++++- src/freedombone-app-hubzilla | 27 +++++++++++--- src/freedombone-app-koel | 13 ++++++- src/freedombone-app-librevault | 10 ++++- src/freedombone-app-lychee | 11 +++++- src/freedombone-app-mailpile | 11 +++++- src/freedombone-app-matrix | 13 ++++++- src/freedombone-app-mediagoblin | 12 +++++- src/freedombone-app-movim | 13 ++++++- src/freedombone-app-nextcloud | 13 ++++++- src/freedombone-app-pihole | 11 +++++- src/freedombone-app-postactiv | 13 ++++++- src/freedombone-app-profanity | 31 ++++++++++++++-- src/freedombone-app-rss | 26 +++++++++++-- src/freedombone-app-searx | 13 ++++++- src/freedombone-app-tox | 55 ++++++++++++++++++++++++---- src/freedombone-app-turtl | 11 +++++- src/freedombone-app-xmpp | 9 ----- src/freedombone-app-zeronet | 11 +++++- src/freedombone-image-customise | 41 +++++++++++++++++++++ src/freedombone-utils-gnusocialtools | 26 +++++++++++-- 26 files changed, 404 insertions(+), 67 deletions(-) diff --git a/src/freedombone-app-cryptpad b/src/freedombone-app-cryptpad index 2e4a7fbd..2f48ecfe 100755 --- a/src/freedombone-app-cryptpad +++ b/src/freedombone-app-cryptpad @@ -191,8 +191,16 @@ function install_cryptpad_main { rm -rf $CRYPTPAD_DIR fi - function_check git_clone - git_clone $CRYPTPAD_REPO $CRYPTPAD_DIR + if [ -d /repos/cryptpad ]; then + mkdir $CRYPTPAD_DIR + cp -r -p /repos/cryptpad/* $CRYPTPAD_DIR + cd $CRYPTPAD_DIR + git pull + else + function_check git_clone + git_clone $CRYPTPAD_REPO $CRYPTPAD_DIR + fi + if [ ! -d $CRYPTPAD_DIR ]; then echo $'Unable to clone cryptpad repo' exit 783251 diff --git a/src/freedombone-app-dokuwiki b/src/freedombone-app-dokuwiki index 7f1a1882..66c4fc2b 100755 --- a/src/freedombone-app-dokuwiki +++ b/src/freedombone-app-dokuwiki @@ -324,8 +324,17 @@ function install_dokuwiki { if [ ! -f /var/www/$DOKUWIKI_DOMAIN_NAME/htdocs/install.php ]; then cd /var/www/$DOKUWIKI_DOMAIN_NAME - function_check git_clone - git_clone $DOKUWIKI_REPO /var/www/$DOKUWIKI_DOMAIN_NAME/htdocs + + if [ -d /repos/dokuwiki ]; then + mkdir /var/www/$DOKUWIKI_DOMAIN_NAME/htdocs + cp -r -p /repos/dokuwiki/* /var/www/$DOKUWIKI_DOMAIN_NAME/htdocs + cd /var/www/$DOKUWIKI_DOMAIN_NAME/htdocs + git pull + else + function_check git_clone + git_clone $DOKUWIKI_REPO /var/www/$DOKUWIKI_DOMAIN_NAME/htdocs + fi + cd /var/www/$DOKUWIKI_DOMAIN_NAME/htdocs git checkout $DOKUWIKI_COMMIT -b $DOKUWIKI_COMMIT set_completion_param "dokuwiki commit" "$DOKUWIKI_COMMIT" diff --git a/src/freedombone-app-etherpad b/src/freedombone-app-etherpad index a584f407..5ace641b 100755 --- a/src/freedombone-app-etherpad +++ b/src/freedombone-app-etherpad @@ -487,8 +487,17 @@ function install_etherpad { mkdir /var/www/$ETHERPAD_DOMAIN_NAME fi if [ ! -d /var/www/$ETHERPAD_DOMAIN_NAME/htdocs ]; then - function_check git_clone - git_clone $ETHERPAD_REPO /var/www/$ETHERPAD_DOMAIN_NAME/htdocs + + if [ -d /repos/etherpad ]; then + mkdir /var/www/$ETHERPAD_DOMAIN_NAME/htdocs + cp -r -p /repos/etherpad/* /var/www/$ETHERPAD_DOMAIN_NAME/htdocs + cd /var/www/$ETHERPAD_DOMAIN_NAME/htdocs + git pull + else + function_check git_clone + git_clone $ETHERPAD_REPO /var/www/$ETHERPAD_DOMAIN_NAME/htdocs + fi + if [ ! -d /var/www/$ETHERPAD_DOMAIN_NAME/htdocs ]; then echo $'Unable to clone etherpad repo' exit 56382 diff --git a/src/freedombone-app-friendica b/src/freedombone-app-friendica index 56b3f234..c6c3d4b4 100755 --- a/src/freedombone-app-friendica +++ b/src/freedombone-app-friendica @@ -345,8 +345,17 @@ function install_friendica { if [ ! -f $FRIENDICA_PATH/index.php ]; then cd $INSTALL_DIR - function_check git_clone - git_clone $FRIENDICA_REPO friendica + + if [ -d /repos/friendica ]; then + mkdir friendica + cp -r -p /repos/friendica/* friendica + cd friendica + git pull + else + function_check git_clone + git_clone $FRIENDICA_REPO friendica + fi + git checkout $FRIENDICA_COMMIT -b $FRIENDICA_COMMIT set_completion_param "friendica commit" "$FRIENDICA_COMMIT" diff --git a/src/freedombone-app-gnusocial b/src/freedombone-app-gnusocial index 6ca47283..d8913a24 100755 --- a/src/freedombone-app-gnusocial +++ b/src/freedombone-app-gnusocial @@ -551,8 +551,17 @@ function install_gnusocial_main { mkdir /var/www/$GNUSOCIAL_DOMAIN_NAME fi if [ ! -d /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs ]; then - function_check git_clone - git_clone $GNUSOCIAL_REPO /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs + + if [ -d /repos/gnusocial ]; then + mkdir /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs + cp -r -p /repos/gnusocial/* /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs + cd /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs + git pull + else + function_check git_clone + git_clone $GNUSOCIAL_REPO /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs + fi + if [ ! -d /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs ]; then echo $'Unable to clone gnusocial repo' exit 87525 @@ -809,8 +818,17 @@ function install_gnusocial_plugin_sharings { fi cd /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs/local/plugins - function_check git_clone - git_clone $SHARINGS_REPO Sharings + + if [ -d /repos/sharings ]; then + mkdir Sharings + cp -r -p /repos/sharings/* Sharings + cd Sharings + git pull + else + function_check git_clone + git_clone $SHARINGS_REPO Sharings + fi + if [ ! -d /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs/local/plugins/Sharings ]; then echo $'Unable to clone gnusocial sharings plugin' exit 36738 @@ -926,8 +944,17 @@ function install_gnusocial_markdown { fi cd $GNUSOCIAL_PATH/local/plugins - function_check git_clone - git_clone $GNUSOCIAL_MARKDOWN_REPO Markdown + + if [ -d /repos/gnusocial-markdown ]; then + mkdir Markdown + cp -r -p /repos/gnusocial-markdown/* Markdown + cd Markdown + git pull + else + function_check git_clone + git_clone $GNUSOCIAL_MARKDOWN_REPO Markdown + fi + cd $GNUSOCIAL_PATH/local/plugins/Markdown git checkout $GNUSOCIAL_MARKDOWN_COMMIT -b $GNUSOCIAL_MARKDOWN_COMMIT diff --git a/src/freedombone-app-htmly b/src/freedombone-app-htmly index 4c9eccfe..10371321 100755 --- a/src/freedombone-app-htmly +++ b/src/freedombone-app-htmly @@ -579,7 +579,16 @@ function install_htmly_from_repo { fi cd /var/www/$HTMLY_DOMAIN_NAME - git_clone $HTMLY_REPO htdocs + + if [ -d /repos/htmly ]; then + mkdir htdocs + cp -r -p /repos/htmly/* htdocs + cd htdocs + git pull + else + git_clone $HTMLY_REPO htdocs + fi + cd htdocs git checkout $HTMLY_COMMIT -b $HTMLY_COMMIT set_completion_param "htmly commit" "$HTMLY_COMMIT" diff --git a/src/freedombone-app-hubzilla b/src/freedombone-app-hubzilla index 3dec2ba1..f847fed4 100755 --- a/src/freedombone-app-hubzilla +++ b/src/freedombone-app-hubzilla @@ -337,22 +337,39 @@ function install_hubzilla { if [ ! -f $HUBZILLA_PATH/index.php ]; then cd $INSTALL_DIR - function_check git_clone - git_clone $HUBZILLA_REPO hubzilla + + if [ -d /repos/hubzilla ]; then + mkdir hubzilla + cp -r -p /repos/hubzilla/* hubzilla + cd hubzilla + git pull + else + function_check git_clone + git_clone $HUBZILLA_REPO hubzilla + fi + git checkout $HUBZILLA_COMMIT -b $HUBZILLA_COMMIT set_completion_param "hubzilla commit" "$HUBZILLA_COMMIT" rm -rf $HUBZILLA_PATH mv hubzilla $HUBZILLA_PATH - git_clone $HUBZILLA_ADDONS_REPO $HUBZILLA_PATH/addon + if [ -d /repos/hubzilla-addons ]; then + mkdir $HUBZILLA_PATH/addon + cp -r -p /repos/hubzilla-addons/* $HUBZILLA_PATH/addon + cd $HUBZILLA_PATH/addon + git pull + else + git_clone $HUBZILLA_ADDONS_REPO $HUBZILLA_PATH/addon + fi + cd $HUBZILLA_PATH/addon git checkout $HUBZILLA_ADDONS_COMMIT -b $HUBZILLA_ADDONS_COMMIT set_completion_param "hubzilla addons commit" "$HUBZILLA_ADDONS_COMMIT" # some extra themes - git_clone $HUBZILLA_THEMES_REPO $HUBZILLA_PATH/redmatrix-themes1 - cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/ + #git_clone $HUBZILLA_THEMES_REPO $HUBZILLA_PATH/redmatrix-themes1 + #cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/ chown -R www-data:www-data $HUBZILLA_PATH fi diff --git a/src/freedombone-app-koel b/src/freedombone-app-koel index aa7794e1..4d56c3ef 100755 --- a/src/freedombone-app-koel +++ b/src/freedombone-app-koel @@ -487,8 +487,17 @@ function install_koel_main { mkdir /var/www/$KOEL_DOMAIN_NAME fi if [ ! -d /var/www/$KOEL_DOMAIN_NAME/htdocs ]; then - function_check git_clone - git_clone $KOEL_REPO /var/www/$KOEL_DOMAIN_NAME/htdocs + + if [ -d /repos/koel ]; then + mkdir /var/www/$KOEL_DOMAIN_NAME/htdocs + cp -r -p /repos/koel/* /var/www/$KOEL_DOMAIN_NAME/htdocs + cd /var/www/$KOEL_DOMAIN_NAME/htdocs + git pull + else + function_check git_clone + git_clone $KOEL_REPO /var/www/$KOEL_DOMAIN_NAME/htdocs + fi + if [ ! -d /var/www/$KOEL_DOMAIN_NAME/htdocs ]; then echo $'Unable to clone koel repo' exit 365735 diff --git a/src/freedombone-app-librevault b/src/freedombone-app-librevault index 0dcfbdd2..8125a972 100755 --- a/src/freedombone-app-librevault +++ b/src/freedombone-app-librevault @@ -250,7 +250,15 @@ function install_librevault { set_completion_param "Protobuf commit" "$PROTOBUF_COMMIT" - git_clone $LIBREVAULT_REPO $INSTALL_DIR/librevault + if [ -d /repos/librevault ]; then + mkdir $INSTALL_DIR/librevault + cp -r -p /repos/librevault/* $INSTALL_DIR/librevault + cd $INSTALL_DIR/librevault + git pull + else + git_clone $LIBREVAULT_REPO $INSTALL_DIR/librevault + fi + cd $INSTALL_DIR/librevault git checkout $LIBREVAULT_COMMIT -b $LIBREVAULT_COMMIT git submodule update --init --recursive diff --git a/src/freedombone-app-lychee b/src/freedombone-app-lychee index 81328ac3..e50977d7 100755 --- a/src/freedombone-app-lychee +++ b/src/freedombone-app-lychee @@ -369,7 +369,16 @@ function install_lychee_from_repo { fi cd /var/www/$LYCHEE_DOMAIN_NAME - git_clone $LYCHEE_REPO htdocs + + if [ -d /repos/lychee ]; then + mkdir htdocs + cp -r -p /repos/lychee/* htdocs + cd htdocs + git pull + else + git_clone $LYCHEE_REPO htdocs + fi + cd htdocs git checkout $LYCHEE_COMMIT -b $LYCHEE_COMMIT set_completion_param "lychee commit" "$LYCHEE_COMMIT" diff --git a/src/freedombone-app-mailpile b/src/freedombone-app-mailpile index c6a3f8b6..18c1df36 100755 --- a/src/freedombone-app-mailpile +++ b/src/freedombone-app-mailpile @@ -272,7 +272,16 @@ function install_mailpile { if [ -d /var/www/$MAILPILE_DOMAIN_NAME/mail ]; then rm -rf /var/www/$MAILPILE_DOMAIN_NAME/mail fi - git_clone $MAILPILE_REPO mail + + if [ -d /repos/mailpile ]; then + mkdir mail + cp -r -p /repos/mailpile/* mail + cd mail + git pull + else + git_clone $MAILPILE_REPO mail + fi + cd mail git checkout $MAILPILE_COMMIT -b $MAILPILE_COMMIT set_completion_param "mailpile commit" "$MAILPILE_COMMIT" diff --git a/src/freedombone-app-matrix b/src/freedombone-app-matrix index 05ce85ff..a3c0731b 100755 --- a/src/freedombone-app-matrix +++ b/src/freedombone-app-matrix @@ -506,8 +506,17 @@ function remove_matrix { function install_home_server { if [ ! -d /etc/matrix ]; then - function_check git_clone - git_clone $MATRIX_REPO /etc/matrix + + if [ -d /repos/matrix ]; then + mkdir /etc/matrix + cp -r -p /repos/matrix/* /etc/matrix + cd /etc/matrix + git pull + else + function_check git_clone + git_clone $MATRIX_REPO /etc/matrix + fi + if [ ! -d /etc/matrix ]; then echo $'Unable to clone matrix repo' exit 6724683 diff --git a/src/freedombone-app-mediagoblin b/src/freedombone-app-mediagoblin index 3d1ab5af..58ecf801 100755 --- a/src/freedombone-app-mediagoblin +++ b/src/freedombone-app-mediagoblin @@ -281,7 +281,17 @@ function install_mediagoblin { chown -hR mediagoblin:www-data $MEDIAGOBLIN_BASE_DIR chown -hR mediagoblin:www-data /var/lib/mediagoblin chmod -R g+wx /var/lib/mediagoblin - su -c "cd $MEDIAGOBLIN_BASE_DIR && git clone $MEDIAGOBLIN_REPO $MEDIAGOBLIN_BASE_DIR/mediagoblin" - mediagoblin + + if [ -d /repos/mediagoblin ]; then + mkdir -p $MEDIAGOBLIN_BASE_DIR/mediagoblin + cp -r -p /repos/mediagoblin/* $MEDIAGOBLIN_BASE_DIR/mediagoblin + cd $MEDIAGOBLIN_BASE_DIR/mediagoblin + git pull + chown -R mediagoblin:mediagoblin $MEDIAGOBLIN_BASE_DIR/mediagoblin + else + su -c "cd $MEDIAGOBLIN_BASE_DIR && git clone $MEDIAGOBLIN_REPO $MEDIAGOBLIN_BASE_DIR/mediagoblin" - mediagoblin + fi + su -c "cd $MEDIAGOBLIN_BASE_DIR/mediagoblin && git checkout $MEDIAGOBLIN_COMMIT -b $MEDIAGOBLIN_COMMIT" - mediagoblin su -c "cd $MEDIAGOBLIN_BASE_DIR/mediagoblin && git submodule sync" - mediagoblin su -c "cd $MEDIAGOBLIN_BASE_DIR/mediagoblin && git submodule update --force --init --recursive" - mediagoblin diff --git a/src/freedombone-app-movim b/src/freedombone-app-movim index 09837c26..870a52b8 100755 --- a/src/freedombone-app-movim +++ b/src/freedombone-app-movim @@ -332,8 +332,17 @@ function install_movim { mkdir /var/www/$MOVIM_DOMAIN_NAME fi if [ ! -d /var/www/$MOVIM_DOMAIN_NAME/htdocs ]; then - function_check git_clone - git_clone $MOVIM_REPO /var/www/$MOVIM_DOMAIN_NAME/htdocs + + if [ -d /repos/movim ]; then + mkdir /var/www/$MOVIM_DOMAIN_NAME/htdocs + cp -r -p /repos/movim/* /var/www/$MOVIM_DOMAIN_NAME/htdocs + cd /var/www/$MOVIM_DOMAIN_NAME/htdocs + git pull + else + function_check git_clone + git_clone $MOVIM_REPO /var/www/$MOVIM_DOMAIN_NAME/htdocs + fi + if [ ! -d /var/www/$MOVIM_DOMAIN_NAME/htdocs ]; then echo $'Unable to clone movim repo' exit 76285 diff --git a/src/freedombone-app-nextcloud b/src/freedombone-app-nextcloud index 7cb927cf..4d996c8e 100755 --- a/src/freedombone-app-nextcloud +++ b/src/freedombone-app-nextcloud @@ -416,8 +416,17 @@ function install_nextcloud_main { mkdir /var/www/$NEXTCLOUD_DOMAIN_NAME fi if [ ! -d /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs ]; then - function_check git_clone - git_clone $NEXTCLOUD_REPO /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs + + if [ -d /repos/nextcloud ]; then + mkdir /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs + cp -r -p /repos/nextcloud/* /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs + cd /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs + git pull + else + function_check git_clone + git_clone $NEXTCLOUD_REPO /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs + fi + if [ ! -d /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs ]; then echo $'Unable to clone nextcloud repo' exit 87525 diff --git a/src/freedombone-app-pihole b/src/freedombone-app-pihole index e74b5c62..56239e9a 100755 --- a/src/freedombone-app-pihole +++ b/src/freedombone-app-pihole @@ -375,7 +375,16 @@ function install_pihole { if [ ! -d $INSTALL_DIR/pihole ]; then cd $INSTALL_DIR - git_clone $PIHOLE_REPO pihole + + if [ -d /repos/pihole ]; then + mkdir pihole + cp -r -p /repos/pihole/* pihole + cd pihole + git pull + else + git_clone $PIHOLE_REPO pihole + fi + if [ ! -d $INSTALL_DIR/pihole ]; then exit 523925 fi diff --git a/src/freedombone-app-postactiv b/src/freedombone-app-postactiv index bde70ad3..6fb40f90 100755 --- a/src/freedombone-app-postactiv +++ b/src/freedombone-app-postactiv @@ -548,8 +548,17 @@ function install_postactiv_main { mkdir /var/www/$POSTACTIV_DOMAIN_NAME fi if [ ! -d /var/www/$POSTACTIV_DOMAIN_NAME/htdocs ]; then - function_check git_clone - git_clone $POSTACTIV_REPO /var/www/$POSTACTIV_DOMAIN_NAME/htdocs + + if [ -d /repos/postactiv ]; then + mkdir /var/www/$POSTACTIV_DOMAIN_NAME/htdocs + cp -r -p /repos/postactiv/* /var/www/$POSTACTIV_DOMAIN_NAME/htdocs + cd /var/www/$POSTACTIV_DOMAIN_NAME/htdocs + git pull + else + function_check git_clone + git_clone $POSTACTIV_REPO /var/www/$POSTACTIV_DOMAIN_NAME/htdocs + fi + if [ ! -d /var/www/$POSTACTIV_DOMAIN_NAME/htdocs ]; then echo $'Unable to clone postactiv repo' exit 87525 diff --git a/src/freedombone-app-profanity b/src/freedombone-app-profanity index 4615cfa1..45fb1eee 100755 --- a/src/freedombone-app-profanity +++ b/src/freedombone-app-profanity @@ -198,7 +198,15 @@ function install_profanity { apt-get -yq install libotr5-dev libgpgme11-dev python-dev libreadline-dev # dependency for profanity not available in debian - git_clone $LIBMESODE_REPO $INSTALL_DIR/libmesode + if [ -d /repos/libmesode ]; then + mkdir $INSTALL_DIR/libmesode + cp -r -p /repos/libmesode/* $INSTALL_DIR/libmesode + cd $INSTALL_DIR/libmesode + git pull + else + git_clone $LIBMESODE_REPO $INSTALL_DIR/libmesode + fi + cd $INSTALL_DIR/libmesode git checkout $LIBMESODE_COMMIT -b $LIBMESODE_COMMIT ./bootstrap.sh @@ -208,7 +216,15 @@ function install_profanity { cp /usr/local/lib/libmesode* /usr/lib # build profanity - git_clone $PROFANITY_REPO $INSTALL_DIR/profanity + if [ -d /repos/profanity ]; then + mkdir $INSTALL_DIR/profanity + cp -r -p /repos/profanity/* $INSTALL_DIR/profanity + cd $INSTALL_DIR/profanity + git pull + else + git_clone $PROFANITY_REPO $INSTALL_DIR/profanity + fi + cd $INSTALL_DIR/profanity git checkout $PROFANITY_COMMIT -b $PROFANITY_COMMIT ./bootstrap.sh @@ -223,7 +239,16 @@ function install_profanity { # install the omemo plugin apt-get -yq install python-pip python-setuptools clang libffi-dev libssl-dev python-dev - git_clone $PROFANITY_OMEMO_PLUGIN_REPO $INSTALL_DIR/profanity-omemo-plugin + + if [ -d /repos/profanity-omemo ]; then + mkdir $INSTALL_DIR/profanity-omemo-plugin + cp -r -p /repos/profanity-omemo/* $INSTALL_DIR/profanity-omemo-plugin + cd $INSTALL_DIR/profanity-omemo-plugin + git pull + else + git_clone $PROFANITY_OMEMO_PLUGIN_REPO $INSTALL_DIR/profanity-omemo-plugin + fi + cd $INSTALL_DIR/profanity-omemo-plugin git checkout $PROFANITY_OMEMO_PLUGIN_COMMIT -b $PROFANITY_OMEMO_PLUGIN_COMMIT if [ ! -f $INSTALL_DIR/profanity-omemo-plugin/deploy/prof_omemo_plugin.py ]; then diff --git a/src/freedombone-app-rss b/src/freedombone-app-rss index ee4a75ce..f2677f89 100755 --- a/src/freedombone-app-rss +++ b/src/freedombone-app-rss @@ -321,8 +321,17 @@ function install_rss_main { mkdir /etc/share fi cd /etc/share - function_check git_clone - git_clone $RSS_READER_REPO tt-rss + + if [ -d /repos/rss ]; then + mkdir tt-rss + cp -r -p /repos/rss/* tt-rss + cd tt-rss + git pull + else + function_check git_clone + git_clone $RSS_READER_REPO tt-rss + fi + if [ ! -d $RSS_READER_PATH ]; then echo $'Could not clone RSS reader repo' exit 52925 @@ -596,8 +605,17 @@ function install_rss_mobile_reader { fi cd /etc/share - function_check git_clone - git_clone $RSS_MOBILE_READER_REPO ttrss-mobile + + if [ -d /repos/rss-mobile ]; then + mkdir ttrss-mobile + cp -r -p /repos/rss-mobile/* ttrss-mobile + cd ttrss-mobile + git pull + else + function_check git_clone + git_clone $RSS_MOBILE_READER_REPO ttrss-mobile + fi + if [ ! -d $RSS_MOBILE_READER_PATH ]; then echo $'Could not clone RSS mobile reader repo' exit 24816 diff --git a/src/freedombone-app-searx b/src/freedombone-app-searx index 7b4c0280..c5f1008a 100755 --- a/src/freedombone-app-searx +++ b/src/freedombone-app-searx @@ -878,8 +878,17 @@ function install_searx { # clone the repo cd $SEARX_PATH - function_check git_clone - git_clone $SEARX_REPO searx + + if [ -d /repos/searx ]; then + mkdir searx + cp -r -p /repos/searx/* searx + cd searx + git pull + else + function_check git_clone + git_clone $SEARX_REPO searx + fi + git checkout $SEARX_COMMIT -b $SEARX_COMMIT set_completion_param "searx commit" "$SEARX_COMMIT" diff --git a/src/freedombone-app-tox b/src/freedombone-app-tox index 722ccc8b..bc25d360 100755 --- a/src/freedombone-app-tox +++ b/src/freedombone-app-tox @@ -127,7 +127,15 @@ function mesh_tox_qtox { mesh_install_ffmpeg - git clone $QTOX_REPO ${rootdir}$INSTALL_DIR/qtox + if [ -d /repos/qtox ]; then + mkdir ${rootdir}$INSTALL_DIR/qtox + cp -r -p /repos/qtox/* ${rootdir}$INSTALL_DIR/qtox + cd ${rootdir}$INSTALL_DIR/qtox + git pull + else + git clone $QTOX_REPO ${rootdir}$INSTALL_DIR/qtox + fi + if [ ! -d ${rootdir}$INSTALL_DIR/qtox ]; then exit 72428 fi @@ -323,8 +331,17 @@ function tox_avahi { # install a command to obtain the Tox ID cd $INSTALL_DIR - function_check git_clone - git_clone $TOXID_REPO $INSTALL_DIR/toxid + + if [ -d /repos/toxid ]; then + mkdir $INSTALL_DIR/toxid + cp -r -p /repos/toxid/* $INSTALL_DIR/toxid + cd $INSTALL_DIR/toxid + git pull + else + function_check git_clone + git_clone $TOXID_REPO $INSTALL_DIR/toxid + fi + if [ ! -d $INSTALL_DIR/toxid ]; then exit 63921 fi @@ -457,9 +474,16 @@ function mesh_tox_node { mkdir -p ${rootdir}${INSTALL_DIR} fi if [ ! -d ${rootdir}${INSTALL_DIR}/toxcore ]; then - git clone ${TOXCORE_REPO} ${rootdir}${INSTALL_DIR}/toxcore - if [ ! "$?" = "0" ]; then - exit 429252 + if [ -d /repos/toxcore ]; then + mkdir ${rootdir}${INSTALL_DIR}/toxcore + cp -r -p /repos/toxcore/* ${rootdir}${INSTALL_DIR}/toxcore + cd ${rootdir}${INSTALL_DIR}/toxcore + git pull + else + git clone ${TOXCORE_REPO} ${rootdir}${INSTALL_DIR}/toxcore + if [ ! "$?" = "0" ]; then + exit 429252 + fi fi fi cd ${rootdir}$INSTALL_DIR/toxcore @@ -580,7 +604,15 @@ function mesh_tox_avahi { mkdir -p ${rootdir}${INSTALL_DIR} fi - git clone ${TOXID_REPO} ${rootdir}${INSTALL_DIR}/toxid + if [ -d /repos/toxid ]; then + mkdir ${rootdir}${INSTALL_DIR}/toxid + cp -r -p /repos/toxid/* ${rootdir}${INSTALL_DIR}/toxid + cd ${rootdir}${INSTALL_DIR}/toxid + git pull + else + git clone ${TOXID_REPO} ${rootdir}${INSTALL_DIR}/toxid + fi + if [ ! -d ${rootdir}${INSTALL_DIR}/toxid ]; then echo $'Unable to clone toxid repo' exit 768352 @@ -647,7 +679,14 @@ function mesh_tox_client { TEMP_SCRIPT=/tmp/$TEMP_SCRIPT_NAME echo '#!/bin/bash' > $TEMP_SCRIPT echo "mkdir -p $INSTALL_DIR" >> $TEMP_SCRIPT - echo "git clone $TOXIC_REPO $INSTALL_DIR/toxic" >> $TEMP_SCRIPT + echo 'if [ -d /repos/toxic ]; then' >> $TEMP_SCRIPT + echo " mkdir $INSTALL_DIR/toxic" >> $TEMP_SCRIPT + echo " cp -r -p /repos/toxic/* $INSTALL_DIR/toxic" >> $TEMP_SCRIPT + echo " cd $INSTALL_DIR/toxic" >> $TEMP_SCRIPT + echo ' git pull' >> $TEMP_SCRIPT + echo 'else' >> $TEMP_SCRIPT + echo " git clone $TOXIC_REPO $INSTALL_DIR/toxic" >> $TEMP_SCRIPT + echo 'fi' echo "cd $INSTALL_DIR/toxic" >> $TEMP_SCRIPT echo "git checkout $TOXIC_COMMIT -b $TOXIC_COMMIT" >> $TEMP_SCRIPT echo 'make' >> $TEMP_SCRIPT diff --git a/src/freedombone-app-turtl b/src/freedombone-app-turtl index 5ecbfbf2..92364831 100755 --- a/src/freedombone-app-turtl +++ b/src/freedombone-app-turtl @@ -596,7 +596,16 @@ __ENDCONFIG__ # install turtl API cd $TURTL_BASE_DIR/ - git clone $TURTL_REPO $TURTL_BASE_DIR/api + + if [ -d /repos/turtl ]; then + mkdir $TURTL_BASE_DIR/api + cp -r -p /repos/turtl/* $TURTL_BASE_DIR/api + cd $TURTL_BASE_DIR/api + git pull + else + git clone $TURTL_REPO $TURTL_BASE_DIR/api + fi + cd $TURTL_BASE_DIR/api git checkout $TURTL_COMMIT -b $TURTL_COMMIT set_completion_param "turtl commit" "$TURTL_COMMIT" diff --git a/src/freedombone-app-xmpp b/src/freedombone-app-xmpp index 5d203348..eb60b34d 100755 --- a/src/freedombone-app-xmpp +++ b/src/freedombone-app-xmpp @@ -50,15 +50,6 @@ prosody_nightly_url="https://prosody.im/nightly/${prosody_latest_version}/latest prosody_modules_filename='prosody-modules-20170514.tar.gz' prosody_modules_hash='ef404c203317cc0de6da7aaec4f21765a57f630adfbf082cf2dd92b881c15f86' -LIBMESODE_REPO="https://github.com/boothj5/libmesode" -LIBMESODE_COMMIT='e3db0e9bfba61b2d82193874343a94a88f910800' - -PROFANITY_REPO="https://github.com/boothj5/profanity" -PROFANITY_COMMIT='2fafaec8a7dc9bc01ee894d83214590598b32914' - -PROFANITY_OMEMO_PLUGIN_REPO="https://github.com/ReneVolution/profanity-omemo-plugin" -PROFANITY_OMEMO_PLUGIN_COMMIT='3ec8ec173656bed9761b740b086123e07c749548' - xmpp_variables=(ONION_ONLY INSTALLED_WITHIN_DOCKER XMPP_CIPHERS diff --git a/src/freedombone-app-zeronet b/src/freedombone-app-zeronet index 9da52aa7..ff7a5696 100755 --- a/src/freedombone-app-zeronet +++ b/src/freedombone-app-zeronet @@ -432,7 +432,16 @@ function mesh_zeronet { chroot "$rootdir" pip install msgpack-python --upgrade chroot "$rootdir" useradd -d $MESH_INSTALL_DIR/zeronet/ -s /bin/false zeronet - git clone $ZERONET_REPO $rootdir$MESH_INSTALL_DIR/zeronet + + if [ -d /repos/zeronet ]; then + mkdir $rootdir$MESH_INSTALL_DIR/zeronet + cp -r -p /repos/zeronet/* $rootdir$MESH_INSTALL_DIR/zeronet + cd $rootdir$MESH_INSTALL_DIR/zeronet + git pull + else + git clone $ZERONET_REPO $rootdir$MESH_INSTALL_DIR/zeronet + fi + if [ ! -d $rootdir$MESH_INSTALL_DIR/zeronet ]; then echo 'WARNING: Unable to clone zeronet' return diff --git a/src/freedombone-image-customise b/src/freedombone-image-customise index 9ff7d320..27e82f68 100755 --- a/src/freedombone-image-customise +++ b/src/freedombone-image-customise @@ -1221,6 +1221,46 @@ function image_install_nodejs { fi } +function image_preinstall_repos { + if [ ! -d $rootdir/repos ]; then + mkdir $rootdir/repos + fi + git clone $CRYPTPAD_REPO $rootdir/repos/cryptpad + git clone $DOKUWIKI_REPO $rootdir/repos/dokuwiki + git clone $ETHERPAD_REPO $rootdir/repos/etherpad + git clone $FRIENDICA_REPO $rootdir/repos/friendica + git clone $GNUSOCIAL_REPO $rootdir/repos/gnusocial + git clone $GNUSOCIAL_MARKDOWN_REPO $rootdir/repos/gnusocial-markdown + git clone $QVITTER_THEME_REPO $rootdir/repos/qvitter + git clone $PLEROMA_REPO $rootdir/repos/pleroma + git clone $POSTACTIV_REPO $rootdir/repos/postactiv + git clone $SHARINGS_REPO $rootdir/repos/sharings + git clone $HTMLY_REPO $rootdir/repos/htmly + git clone $HUBZILLA_REPO $rootdir/repos/hubzilla + git clone $HUBZILLA_ADDONS_REPO $rootdir/repos/hubzilla-addons + git clone $KOEL_REPO $rootdir/repos/koel + #git clone $LIBREVAULT_REPO $rootdir/repos/librevault + git clone $LYCHEE_REPO $rootdir/repos/lychee + git clone $MAILPILE_REPO $rootdir/repos/mailpile + git clone $MATRIX_REPO $rootdir/repos/matrix + git clone $MEDIAGOBLIN_REPO $rootdir/repos/mediagoblin + #git clone $MOVIM_REPO $rootdir/repos/movim + git clone $NEXTCLOUD_REPO $rootdir/repos/nextcloud + git clone $PIHOLE_REPO $rootdir/repos/pihole + git clone $PROFANITY_REPO $rootdir/repos/profanity + git clone $LIBMESODE_REPO $rootdir/repos/libmesode + git clone $PROFANITY_OMEMO_PLUGIN_REPO $rootdir/repos/profanity-omemo + git clone $RSS_READER_REPO $rootdir/repos/rss + git clone $RSS_MOBILE_READER_REPO $rootdir/repos/rss-mobile + git clone $SEARX_REPO $rootdir/repos/searx + git clone $TOXCORE_REPO $rootdir/repos/toxcore + git clone $TOXID_REPO $rootdir/repos/toxid + git clone $TOXIC_REPO $rootdir/repos/toxic + git clone $QTOX_REPO $rootdir/repos/qtox + git clone $TURTL_REPO $rootdir/repos/turtl + #git clone $ZERONET_REPO $rootdir/repos/zeronet +} + ############################################################################## @@ -1401,6 +1441,7 @@ configure_user_interface image_setup_utils image_install_inadyn image_install_nodejs +image_preinstall_repos # remove downloaded packages chroot $rootdir apt-get -y autoremove diff --git a/src/freedombone-utils-gnusocialtools b/src/freedombone-utils-gnusocialtools index cf7153e1..41bd3651 100755 --- a/src/freedombone-utils-gnusocialtools +++ b/src/freedombone-utils-gnusocialtools @@ -211,8 +211,17 @@ function install_qvitter { fi cd /var/www/${domain_name}/htdocs/local/plugins - function_check git_clone - git_clone $QVITTER_THEME_REPO Qvitter + + if [ -d /repos/qvitter ]; then + mkdir Qvitter + cp -r -p /repos/qvitter/* Qvitter + cd Qvitter + git pull + else + function_check git_clone + git_clone $QVITTER_THEME_REPO Qvitter + fi + cd /var/www/${domain_name}/htdocs/local/plugins/Qvitter git checkout $QVITTER_THEME_COMMIT -b $QVITTER_THEME_COMMIT @@ -332,8 +341,17 @@ function install_pleroma_front_end { title="$4" if [ ! -d $INSTALL_DIR/pleroma ]; then - function_check git_clone - git_clone $PLEROMA_REPO $INSTALL_DIR/pleroma + + if [ -d /repos/pleroma ]; then + mkdir -p $INSTALL_DIR/pleroma + cp -r -p /repos/pleroma/* $INSTALL_DIR/pleroma + cd $INSTALL_DIR/pleroma + git pull + else + function_check git_clone + git_clone $PLEROMA_REPO $INSTALL_DIR/pleroma + fi + if [ ! -d $INSTALL_DIR/pleroma ]; then echo $'Unable to clone pleroma repo' exit 682252