From bd597a933a4e59f07035127a34077793a0095f45 Mon Sep 17 00:00:00 2001 From: Bob Mottram <bob@robotics.uk.to> Date: Thu, 3 Nov 2016 11:44:11 +0000 Subject: [PATCH] Option to mirror a single app --- man/freedombone-mirrors.1.gz | Bin 811 -> 846 bytes src/freedombone-mirrors | 28 ++++++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/man/freedombone-mirrors.1.gz b/man/freedombone-mirrors.1.gz index 0c929f9fe0f0f2b744e34dc701b320eb8e5918e9..45a8b8eaaf418a045047e69411e75decf0ace03a 100644 GIT binary patch literal 846 zcmV-U1F`%ciwFS6A{$r$1FclwkJ?5Me)nH7@=IO{G*>A~QPl>LE6|1mVaVxniK4MR zwl~;2*6#W^r2g?8uYH75X`X@*Kh`_neBaDBGu+N0Gejv@F>4xB${02lUP5^F3jRV3 zS3kde6+$TQKfm3Boh9?a!V-0ZWf%m*Xb$1cWO*G1m*74PV9wS-t{fPu*}|bvNdc}P zs11Lm#6e0m>C^)29xl4OS*@c*bQy9mut%N1y_}=cqsEk<VNk<;W|W6{x>uvM2R5lZ zt>C^oUV1Rlbb$LK*?%;*f3X&z_CsSupL;s*uA{e`#d^C~-GsrmQ1(B}o0>Hs=%$Lv z0B1mtj*Q0gn{MS;_z8PR8e>SiQV2<9<V#{_$`wsKgxdlgs7%VkmYxS5$PhS&q(Gh1 zPrwFp20Y-=|Beabl9N59pfp&n2rATC=yU}?pw%xN5ZYslBKr4$h8vy!0b6OtQ*jcm zBrb)5%G$z_oA$PVS1jq3?i34sF%MT>o=|m4=OD&-P>C>&kEgS?%~nd;_g<6=qEzUh zA?8PD6IHnHZ&rX0s7j1WFO=oTKqIgsUg`tV7sItt=m@Zpr`o9monk%gJGF}@Gcn>; zs$|Gt)52LfC7rP3+RpSkea*a&M1e<dsiu@+Q}!Jj2LZ_If(3)%PU?~fIF^=sNch@_ z&k?Ms5dp1<THOCfxnQ>^*h~uDjYw}*$RvR;-BU0rU!Dhr{$j$~87?J2Q|ZN>CC^0< zgv+}x%f)81+C*R0lPJ1fZQg}2GR$st#%`Eod2n9AQ%2u#gl^1a1)Oh%w)bSdtF;^2 zQ*;*r-4J&Je45K3SY+OM6{fz2^r$*Now^q{(l!(uic!QtEzfq8TP`tL83I3$smd}k zom-#hZQTQy`YH#*X}1Xiu3I<#C>i~Fk?qpkbGn<!PTPpNj1vX91$1rl!nxXxN29#k z0y2Ul5mA`ryfGtXZF7Q}?6&jOCJd$=!;+mdSix^G$8QYBEMsAZ&3@?k_h1;CU_D!p zX6xA)t|z~~zPkS9wLhIISCO@t(-@}9!BukG6xH<MLz<a+@t!|!Q(M2?|4nMkW=A%9 Y@1t%h9(%&V_j#`1Uz0K&$x{XZ0E!};`2YX_ literal 811 zcmV+`1JwK<iwFQWE3Z}n1FcliZrer>e7~<)@Fg!5mAF8V3PBSoaV52pC5TcC*A0Rr zxg@XR-4b_4%L4N8T^?!0Mx3__0wf%7cV}j281EKPSj3!kN(M(-SxeTzD~K*$!=KW? z#miT(BZ&C>$M<`%cW7TYSV_~$IuasI77$%cSC^4^uH8Q)SdjBjDi0PLa&W9vR)Mb& z8cY9T<{`%hP40lq&@Q>TT5pnN@_ftD$em0Ew|p*@8Mn6n0;2|Q3#&q#hkK25?npN0 zry6ec>A43ZgGabMq5Ed&%P{@pW%6OW-0YU?t4QoB<$eI#He^78X?2Pgr~th8XpOAD z(^Q@q4ugfPwHA%9c|HrlKU_OkzG~ALt}E$56|4q1d|G%!i{J^eN}3XX0kTjM$fG=k z|0zORQ+B`{lmSN?K}%y8POtA#I`hH<N_XnIFx>-4ORdS@!H%_m&>|zvbvaa6Hx5qJ zcDK2?CLXU$&zRw}S4anX4Am=B0{h@jWsEdEozJ?hI;jUL9aHYe3LOokbPwGiEf2#@ z4f0N^TBda%N_=FY<+e<o^#R$i?u}K_BgmGY8m}_x6`6S0)IOQc*>^iu$zr%>7_;(< zH{sBCn;Ccp&4O*1LFnE=&9RVeJ#1_u1n}n>#|d%6x@6qEU`2ZC4i<uf`v#5=f}#pM z?vxA{Gcw*%%>@SQfTEi|%qn>>M5~*xtL1jP-X>o+(<HfGZ$CybwnTpX2uz$6rFcyB zJTYuWLT`VL=Hs+>OG5i|YUePWtNRM*!_^1toEIUMMevB0c@P`#RloSN%xTN|O7;tH zlvmy1>>}1-Nu^`AhUDa`DA4w{dOEjTGsrxsEaF+8P(e+%_Wz5<5PMGj;G@}o&hMHn zyTE#8P&$yl8(w+exXE~2_HpH`jG07bv&V}WE9csCtLc8XSZ^aSqZC%;y_Fi?rj)+7 zloI>b#qA;X^t*^tD>n1Zc)poW;Bxxgn~Td|--Oed@*16!B~D<r8eL@9ZKY>-pYy^l ps!#OyE_cm`!(XU&WcTQjPoe4>(@6l#c%RM^{{iUc3Zd%-003Z1kM#fm diff --git a/src/freedombone-mirrors b/src/freedombone-mirrors index 11511b33e..ee422b54d 100755 --- a/src/freedombone-mirrors +++ b/src/freedombone-mirrors @@ -38,6 +38,9 @@ MINIMUM_PASSWORD_LENGTH=$(cat /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-u CONFIGURATION_FILE="$HOME/${PROJECT_NAME}.cfg" +# used to mirror a single application +SYNC_SINGLE_APP= + # if this is blank then just use the default repos FRIENDS_MIRRORS_SERVER= UTILS_REPOS= @@ -120,10 +123,25 @@ function enable_mirrors_via_onion { function update_installed_apps_repos { INSTALLED_APPS_REPOS=() - FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-* function_check app_is_installed + # only deal with a single app + if [ $SYNC_SINGLE_APP ]; then + if [[ "$(app_is_installed ${SYNC_SINGLE_APP})" == "1" ]]; then + filename=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-${SYNC_SINGLE_APP} + APP_REPOS=($(cat ${MAIN_COMMAND} $filename | grep "_REPO=\"" | grep -v "(cat " | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g')) + for line in "${APP_REPOS[@]}" + do + INSTALLED_APPS_REPOS+=("${line}") + done + fi + return + fi + + # all apps currently installed + FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-* + # for all the app scripts for filename in $FILES do @@ -203,7 +221,9 @@ function sync_mirrors_base { } function sync_mirrors_repos { - sync_mirrors_base "${UTILS_REPOS[@]}" + if [ ! $SYNC_SINGLE_APP ]; then + sync_mirrors_base "${UTILS_REPOS[@]}" + fi sync_mirrors_base "${INSTALLED_APPS_REPOS[@]}" } @@ -238,6 +258,10 @@ case $key in shift FRIENDS_MIRRORS_SSH_PORT=${1} ;; + -a|--app) + shift + SYNC_SINGLE_APP="${1}" + ;; *) # unknown option ;; -- GitLab