From 897a08700ba3cd8efe86016acd62fe8146283e60 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Wed, 25 Jul 2018 21:15:16 -0700 Subject: [PATCH] opt: cygfuse: fuse3 --- opt/cygfuse/Makefile | 40 +++++- opt/cygfuse/dist/install.sh | 11 +- opt/cygfuse/dist/uninstall.sh | 9 +- opt/cygfuse/dist/x64/fuse-2.8-8.tar.xz | Bin 10744 -> 0 bytes opt/cygfuse/dist/x64/fuse-2.8-9.tar.xz | Bin 0 -> 10776 bytes opt/cygfuse/dist/x64/fuse3-3.2-1.tar.xz | Bin 0 -> 9332 bytes opt/cygfuse/dist/x86/fuse-2.8-8.tar.xz | Bin 11204 -> 0 bytes opt/cygfuse/dist/x86/fuse-2.8-9.tar.xz | Bin 0 -> 11352 bytes opt/cygfuse/dist/x86/fuse3-3.2-1.tar.xz | Bin 0 -> 9976 bytes opt/cygfuse/fuse3/Makefile | 29 ++++ opt/cygfuse/fuse3/cygfuse-test.c | 6 + opt/cygfuse/fuse3/cygfuse.c | 169 ++++++++++++++++++++++++ opt/cygfuse/fuse3/fuse3.cygport | 35 +++++ opt/cygfuse/fuse3/fuse3.pc.in | 9 ++ 14 files changed, 297 insertions(+), 11 deletions(-) delete mode 100644 opt/cygfuse/dist/x64/fuse-2.8-8.tar.xz create mode 100644 opt/cygfuse/dist/x64/fuse-2.8-9.tar.xz create mode 100644 opt/cygfuse/dist/x64/fuse3-3.2-1.tar.xz delete mode 100644 opt/cygfuse/dist/x86/fuse-2.8-8.tar.xz create mode 100644 opt/cygfuse/dist/x86/fuse-2.8-9.tar.xz create mode 100644 opt/cygfuse/dist/x86/fuse3-3.2-1.tar.xz create mode 100644 opt/cygfuse/fuse3/Makefile create mode 100644 opt/cygfuse/fuse3/cygfuse-test.c create mode 100644 opt/cygfuse/fuse3/cygfuse.c create mode 100644 opt/cygfuse/fuse3/fuse3.cygport create mode 100644 opt/cygfuse/fuse3/fuse3.pc.in diff --git a/opt/cygfuse/Makefile b/opt/cygfuse/Makefile index d127c328..f8fc26ed 100755 --- a/opt/cygfuse/Makefile +++ b/opt/cygfuse/Makefile @@ -6,21 +6,34 @@ usage: @echo "make cygport|dist" 1>&2 @exit 2 -.PHONY: cygport -cygport: +.PHONY: cygport dist clean +cygport: clean cygport2 cygport3 +dist: cygport dist2 dist3 +clean: rm -rf $(Build) + +.PHONY: cygport2 +cygport2: $(Build)/winfsp-work-$(Arch).tar.gz + cp fuse/fuse.cygport $(Build)/fuse.cygport + CYGPORT_SRC_URI=winfsp-work-$(Arch).tar.gz CYGPORT_SRC_DIR=winfsp-work-$(Arch) \ + cygport $(Build)/fuse.cygport download prep compile install package + +.PHONY: cygport3 +cygport3: $(Build)/winfsp-work-$(Arch).tar.gz + cp fuse3/fuse3.cygport $(Build)/fuse3.cygport + CYGPORT_SRC_URI=winfsp-work-$(Arch).tar.gz CYGPORT_SRC_DIR=winfsp-work-$(Arch) \ + cygport $(Build)/fuse3.cygport download prep compile install package + +$(Build)/winfsp-work-$(Arch).tar.gz: mkdir -p $(Build) ( \ cd `git rev-parse --show-toplevel` && \ Stash=`git stash create` && \ git archive --prefix=winfsp-work-$(Arch)/ --format=tar.gz $${Stash:-HEAD} \ ) > $(Build)/winfsp-work-$(Arch).tar.gz - cp fuse/fuse.cygport $(Build)/fuse.cygport - CYGPORT_SRC_URI=winfsp-work-$(Arch).tar.gz CYGPORT_SRC_DIR=winfsp-work-$(Arch) \ - cygport $(Build)/fuse.cygport download prep compile install package -.PHONY: dist -dist: cygport +.PHONY: dist2 +dist2: cygport2 case $(Arch) in \ x86_64) \ mkdir -p dist/x64 && \ @@ -31,3 +44,16 @@ dist: cygport rm -f dist/x86/fuse-*[0-9].tar.xz && \ cp build/fuse-*[0-9].$(Arch)/dist/fuse/fuse-*[0-9].tar.xz dist/x86 ;; \ esac + +.PHONY: dist3 +dist3: cygport3 + case $(Arch) in \ + x86_64) \ + mkdir -p dist/x64 && \ + rm -f dist/x64/fuse3-*[0-9].tar.xz && \ + cp build/fuse3-*[0-9].$(Arch)/dist/fuse3/fuse3-*[0-9].tar.xz dist/x64 ;; \ + i686) \ + mkdir -p dist/x86 && \ + rm -f dist/x86/fuse3-*[0-9].tar.xz && \ + cp build/fuse3-*[0-9].$(Arch)/dist/fuse3/fuse3-*[0-9].tar.xz dist/x86 ;; \ + esac diff --git a/opt/cygfuse/dist/install.sh b/opt/cygfuse/dist/install.sh index 460971c0..c9314437 100644 --- a/opt/cygfuse/dist/install.sh +++ b/opt/cygfuse/dist/install.sh @@ -1,8 +1,15 @@ cd "$(dirname "$0")" case $(uname -m) in x86_64) - tar -C/ -xaf x64/fuse-2.8-*.tar.xz ;; + tar -C/ -xaf x64/fuse-2.*.tar.xz + tar -C/ -xaf x64/fuse-3.*.tar.xz + ;; +i686) + tar -C/ -xaf x86/fuse-2.*.tar.xz + tar -C/ -xaf x86/fuse-3.*.tar.xz + ;; *) - tar -C/ -xaf x86/fuse-2.8-*.tar.xz ;; + echo unsupported architecture 1>&2 + exit 1 esac echo FUSE for Cygwin installed. diff --git a/opt/cygfuse/dist/uninstall.sh b/opt/cygfuse/dist/uninstall.sh index cbe55145..d2cf6a20 100644 --- a/opt/cygfuse/dist/uninstall.sh +++ b/opt/cygfuse/dist/uninstall.sh @@ -1,8 +1,13 @@ cd "$(dirname "$0")" case $(uname -m) in x86_64) - tar -taf x64/fuse-2.8-*.tar.xz | sed -e '/\/$/d' -e 's/.*/\/&/' | xargs rm -f ;; + tar -taf x64/fuse-2.*.tar.xz | sed -e '/\/$/d' -e 's/.*/\/&/' | xargs rm -f ;; + tar -taf x64/fuse-3.*.tar.xz | sed -e '/\/$/d' -e 's/.*/\/&/' | xargs rm -f ;; +i686) + tar -taf x86/fuse-2.*.tar.xz | sed -e '/\/$/d' -e 's/.*/\/&/' | xargs rm -f ;; + tar -taf x86/fuse-3.*.tar.xz | sed -e '/\/$/d' -e 's/.*/\/&/' | xargs rm -f ;; *) - tar -taf x86/fuse-2.8-*.tar.xz | sed -e '/\/$/d' -e 's/.*/\/&/' | xargs rm -f ;; + echo unsupported architecture 1>&2 + exit 1 esac echo FUSE for Cygwin uninstalled. diff --git a/opt/cygfuse/dist/x64/fuse-2.8-8.tar.xz b/opt/cygfuse/dist/x64/fuse-2.8-8.tar.xz deleted file mode 100644 index b1d63e56117a90c7c06723789807187d71576e19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10744 zcmVv_q%8LbDlOh@bHX$MEi;cF3D$yNg-d)&iS2L{Q5BjbNMRN#w)7-SG{t_{UfCfvUvWAq#D7nHt z*x@qE2Vi|3C~snnF8l4>A6zZv!?^G}1X|&wDNS*2A_9{5+{3bas}d(-?H8XJRh+Vb zY-~2tOGo=X^G+Usfq5`v$ODo|YI7l2J6nvHuC8+sCqc9?IdolTj_JqQ2RDh$BpU~LeqN`Ya zmw)oy=_!d3ct$m82_Z2?;)XyxyxbuNVgD%{<_r1p|GH#U8tgQ;f67+AehJJ(8!DOo z-q7AnMPW7x;y&Dv9}8AJBT)&8^wAl>m(lm$lsh12jAFh?sIVGkSZ{Eg3GsGeTaT@b zpi3Xz&ZL`0Q7C-_3wz$K!wp=>BY^P%b2WNFh;Pe_jzo7Fi-mwxeRdx;N_Za6&AqI`3Kgrb=$Us20%~hUJvRM!E91@#g1w})oBND zrvw}%_ZS9g9*N!tCN}^};}(K;CCR_%W!ZXyiET|Ms3hp;SX?~?j`US8*rFZ}f48o{ za<|qLk{>gY$UtD@{FL1rJeG0me7gAD4D}+7<`)dDS9&?{_r?jTlUd-l=%tGy1}ueG znP386$J2#v32;?1E_?GXpVvvPr*c_kB~l@!*TrFV4mI*iE@6&_BY~c&ATmb-0R8$U zD)Xg;`JH#pH)0G8>Z&UBP>WbpxC1S}&sS@UVZH$PKk-!i5nVA@5LCrJG45a?6cnthn4=x^0Au>wnYAY)z4t%R~aoh^r2%e+aN zP|jKY48oeZJKbW-3>ZdKxjwe0DS=>NzR)= z@i&3p2--n?mLfD{>daGFvARb$3ShlxS8o=5%PgX+X(>U$oxCg7T0uQ3quOy+51tBz zv?p&>W&K6yyK_UYA+HLRiTlmR)$hWOMi3{_=Ke5868O8d{Ggc#2L!0fDH!(0MI?AZ z(~k^g-B(V+X{#*1hf~&j)`5%&$RkZA-vfzyI*y9uuWQESmmp-IE?TPl86-&ec?V9b z!4^YvOgt9_=q-wY-DV}R5@U)0Lf0LnMZCknz7@Tu+?t~_(lXOwu6I8lAA2To0lk0~ zjzBVlE_yq1hSxPeBiK|EK{5l7PtI}whZ52yhts3reNBh?(p=#X=L&FUjtD#2ZDz~- z*>?NCdkBs1@jFH|2!+dHI5zx!w((TqwS35b*mtPr@JU?Q*l~dd4L}C_3|cy>IyOTs zn*$6m(Nsz!UYE|hVbGs>6WWVtOt^V%l$SZ9m5DTo&V;?FeG8vyA5+HEoewp$lJqs~ z#7#{3iHWW3`2)cbhXukgy!Pm*D)xB|*Wvoog6H-xX^2V;f5v=_BQ+L^*+WS50`QZW zkM+?jR8}q62QS>XWogxmsvvq^A#Xhx$qeNHFymoB%f zPXIqof1d)A@bc~vhNxhzH?@HFfeYiW^Uy#B0b3au274lD2MJQpQOH3Mn_u+aNQu<` znNpKZOGy*fOUW&x^|dP}7WN<4B8oP=UdV?$*&okg;B5qi@@ z8;J&c>1HReD{V!b zY=!A4ae=v1`eya+B77_Wo?yzIeG3pmRFu5}0^u0PT;F@|mDiBkcRe$CBGpzD3I$Z9wjIurp-eDS)OnDeR*)O$TYIp9v<* z)Xf3%ze0o+xt@&!!g1+`nl;u0_@cHheFrK~b%rYZHv(0ZI$lK-gIl%L0U|k;Q~Dj{ zC}2iH2+jIVw8b@}dGtsJxma-l2W&ppB0H7AY>31O75~R=RU46pBi|}=gUF;QRi$k! zrw!h|f06whVYd%-*&@RZ+y&?5-KZCA^}O^hT?dy<;rc96KFOr|=XK(8eYAW3aVon` zEGm6r2T=!w05dm#ipEU_J7&_t2&+^oa?A8?y6)^5pWioUF{}>7UDyNu&#Nc zW(=$}n?${-t;}uLG}m$8_xln3cJYb>Q=b^wmG2qbk|G)kvKu#!{c6%=Obw7om2AfM z)F-!AD3{dEp%TYeK7xl~!J`T290sL-@Zg;3R)Jz5TcpW_P<)Sr%OKvIJrcT7lP6(s_a$9k%B3Sj>MFYByQ@QW(tlO>s_9rj_dc)ky+ zi`WfClA6lY9m0$Pr9U(1(Js7oya7g{lmoa?_}P1A)hcv8_Yj4~qpe@Q% zC84R1;ep)vIc>878YVapbt;##lX%tt+kPqCl}jYB^m@9Mk<^oMK+z$vLF1cRG3Us& z=R}%->lG80ey#>)H+b1d5Qhcal0zm+p1^S9PdYbsO;jkOLJtygwSCXhF1 z^fN@Xp!ovhk1cC2#dyj)?mQx>xzX$za;-DvKeFGTHy2y|NdbQ{|F{==DGFr2nn1<+ za#r$u_x{C)L8B6PCu;$z_5+TzKX4*$s$43#f2$QfCp!4U#>7`})3rPbup@3HdP)Qw z-q0__VU~$ZOAmc#;=z}Sg^F8@OCEv7Ey7Cihl4+sOmI*TyJ`dnX2Qh z+Ffo->?{2wOQPlb_BQ44FZ!qPg{u`@W`-})&SY~Bk4?~kJ07N)+plH?M^eXv(?DHG zu_SMSw!m`*Spe58X+Ikm$&om7!*~?E>AGu%K!fO^W!C~~tPHFzXft2~14^Lf@}3$b zXcYgy!i#U@Z>rsh*pqBb!Of61bOtm7+F=LaWdn7t$HW@2TYeO@wVVJC}kH9};ug(&!qwkg4i zb;bW=FKgNMIGgROZg_O?HHPAjk-+WF1i<%2A=jxQGE?NhJ2m{Qhh}+t5Wl7#ZtbGG z-a4aKKZiBbw_UcVLQw(dw79RDRS-9SR9uT`ixuLi=}tLb)oq?C3C>v5v4=R(f5GdAgmd$ev|wAh&C4=OdZ^dW7JoFU*w-w zHQ|5u#fiJ)%59Y~c53U1g&QlCw<-g7A~CB|P%)``COs_|$UbC&lU=qSFpa4HBu|du zukX`RwvtJ1by)kYP6^QSu8UNtXq^yMoZsV~H?pNeovQcANX5l)l$Wp2)Qv7_yXpo; z&KrcWXB8x{YKXFjrWJ5YmPXxeH8jD|dVpY0d-U?oRM-Te4MN?gz@obA8n$SY6~zBW+~ zZ@5i7&uoO$tim|<^fC3!R#kH3lEcNvz(%kTkEI5Vi6uZT%O8|Wn@SIx*Uji-1OAsC zEVfVK%8U=MrT$o-ezicGBo5}ysVKjXmwi>kXi2nCos$ug>q;pvxfXa4U{lLSxOp)@ zD%EUB->8fW7oL-!drefFIbDD4G^-gzpOXforRZhdoAdWz*eqiV=K0#pNxKobPCG4@$% z`z?dvZzHK~*U&i#UdvOZNZmp8uG}g;8Na|!34>2dMYk?I7f0|1Bq5gp=h%PyHpnWG!$#l_15yx*19z{P=Ysc+kW z6lBtR%`~8Unae?04DS-VOC`B?cG(5XM$7UHz(H4|@`;Jt3It7vDXLK4_a89xe zMtexbi_n<)Sqq38+AM}TPN$6uBT|tqkaL_C1GUR&ywjgngyJ&?$a5B>p*vwZA0aS! zajO*@aLyQjt_f)v4rn~$6{7(u)ZGOUaUgf!gYbe9q>}Fw$5h@&<{CcxQnzKTo zO&!y|kw?hYJ$7Ch{?kX4>o!K^Ua(FHScsUBZ*U4i^9Jhg_z*gm2om@Zrq$m4X|EQs zxAF5*vv#Bq1f3~J<$Y#q0e0=aBcFGbYcNA;k9*UxQJ};BE)6b=52*mKI}9~E&wA13 z*>2e|#b4W{3TM%5T_#OK-8n@z&4hwvw`i!_wS}IdtSeu^h6x|h^97JoFYf4&jE*vJ zA6st|oX3NEim4%$t9-+nrk-k;5own3zz5ReaFw8z{1BEbj}~tkR%>C>IR0Z3SD3p^ zZh2{tNp0WtK7Bo);}^1MNGt{e;;1E~F!A8ojTBZL%$*&A^`4x!fM`$ z&2*8f`fIODb#!z~*H@jX9Wrvq-UT0vyv-e!X95l*Kwc`Z5B(5>rvU5{3j*b0G1H+{mCyVGEN* z3tCB;{}gXQRa#mT%z4Yi(#-ozfFZAlS<0(X)o;$4ML-)-pfT+5CR;(F?bjD`bw-)_3|iqnKRGL|L9(-MM-Gq8w2@LAMs)Bl;> zx%snU-$%CguAMdWkaT*BXxf(T7&1t4_~iao|86jaq*f{)q7o?OMWpVc)?5BtcC?UE z7VB4F;$ysji`k(76+tEH0Jx01g*9}$_)%7PA_+-AV-Ort!O!lT-sLtFylhEi%UX?k z!WL5%#Fx~K?VGXa>Dyr5G7SD9H;(~xFNmcM<%cyI+tbj%#O%|Mm;~lA0w&=f)tP|s z3ex~oy})>9osW(*V&(#_D%dij+S6RnwzEzY>`5|CFA3RllH%CN&9BhI%S_l&quhAS z(smHbir~!%DYeEZw~|@^_d;FhVbAIDSDd8HwSWeG+ev;WWRZ+c7Rso>ui9X;mwl}f%q0+U0#vI2b!sHfEG5yEuoPt`r-{(SFbOr{0#cd1z?E{ex9@X7;|DGIp= zPfREn`TOW`Pb^oSr2he_qw!2(B21)3=x-whUSNfIK<`aFI7tuiqR0;B|A^vhx`j0xI5+`P@OQNH7(jj&@NuG2))G1@a8r@E>q; zAW)o*&kAWAYub}23R|VE{rPpHiQ0c99il^0XmeM%KG~(@5@Si@ z{0lKp#bFpfH#gm~=n*PB69uc5Crt-km~(6f64n#X((u(;p2Rb#n}r*;JeaG`?soO3 zZFaY4SNX;c8FV~3P4V;EI-_Na@V8^I8ZU7xf8f4J4&i^9jOAuH8_*~8Qb;VbFF^mP zn;OhB0TjiF!)Z`N#oicvAnFO-aiQ~eMOr6*FFF#$?WU*R9SbJqh^)2dMfgAQtS>(L z3gibY!V7H*tU3M=nEQbgi`av&Kzkq=ZPfaeiqrh9xW8q^K#JX!;5h8XG|A$2+{Sb2 z&qWL&@=SDatp6|51vSAr?e~pJ>AWRhq8kE6*I-#6lJHWN(%v`A`mNou1(!RKvqndQg==}Ad4!`r zW$BoY*rQ3aMk>xd^Prnx2Qr=xM=%eh5zk-JeAnnr9scQnRcO{T8@?+oq&k^X2+^qXL9+S)B{+15560egs#>FnOhf#Er*rdDqot5`D5l0uTSZL^9 z@@0vuqFomUdZDyF7|N&v?lCSIaLz^!9<#P z;K}n<51^0$MUSq=n&3Fh=VHM%YVLT@Bbl1w7$}W!8o_mry_pvV>y1=}G)8O8hW8Eo zbSK7;E1i4Wfqp5k_G>Xxl_GtX_lzTR9iOY<6%m zjf19=!guKNJoy!pzjC^u@MHZJEMg8m6l3EpZBZvtwj2H}S65&hYAbcx0_0?UC9)aCYw?y;Yo zUy~0n2vWLITO57)mkgIt|G~4!v!gQ~*CuAbV9csY=ONs<>?rK}Z?&ALFbCuvjVoeB zi~n}24c%_DdGV0@w$yjPPeH?$JWY-0E-CtRWsaVxyWP4ZH?U)ODpJ&JX}ME~@nq}_ zH>rL2qT&}Jba;>49*1!_f(TH;{AC1*acQ}*LyR8l)90R)*=CaYe{ntiD=2@DwxVQ; zyy1c#a>3NACD}}$W1J}R)}z23l)M&kkenbbq1y^_0e!_d z3>$&}9zL#lWZ{9b$mm-1yw2zQjg*Qfiivf;HZ8sJXu(E?<8p{5GQ=0ls%O%2PD(@c zM=%|3Bom1gd!FGPD7saDy(LN7G^ErHu5V~wITtOInOYP{Lad^{XDC~rXX;$$K{UkOgIbAEN2`lL@W2P-ij!sgm@n_RP+ED z^b2?Qh4L*1KSbfx3x>FetiXSSoSb(8)B`iQkbZ;ubfg~Rl0)98FkL8z_bgFs(RbG!%WSTMC#la(~ND~{&<%U2Fs2jG1fd6@wD zp(q)4^=k}tlB!F8*G|ystnzS;F$_MxyJ0xApqGVUCptGxergSWV&6W6Xvr_1siz)| z%9qAw@B^U7xE(w+j~}@%wQW1e#}yf5tFjA;iTz;LtZ1B*9^G{S$lsWGaB;{$nOc7< zrj2e%eb?!GlewW@H`rGr9c;W3r&OYg?n`dZXZ}K)_4R!Eriv9Zi7(&`wGHy&?R_3C z{C&+opc&nhu+Ey)T_$_6dJL>8HeDD=G7HJL$T=tN$R!(kn~HSjI;y2)(%jka=hSKS zkZU@fTnIQN*IbRYMbQ;l&jp82OAHnus$Fo?-CKp92WpOU^0%(YJt8%Tq$Jw?XNyta zee39_b7SJ)gHEp>u9>|?*jbJ(uBo(cywYNVHZrB}Z?nP3bvS@3{5OAl4C6!gQE@J@ zuX&o>dM)nxVij>*+Bd@tASI>TnDQ~-fr`BJZnwDw{4zz*x<54R+P6&>OOhc|uY7B(9mafjxf@2L~^sKhUM5%LSxvmwSK$=GpsBx97S z%C}1#5W7q8_LUYri< zOs`wLO2}Mk#+CC6Ojh5IGolA#{m`pIRV7?7r+5xH%F+!mD^&bQ3L60PNoBrWw)Ii) zloQ=e+St9hX%~f#$kJ_AAx*$hg8(d~t?hL9FsUIWHKJ{?5sBCge;x|9jpIT%TP@`U z@B$PVTQe^IW1DeH;@B$rh!V4wqjbXq;{eoas|G0!4y*)yl5emXAkA$y(zx?Fj{aJC z*hMlJJB$AGJ%@`dyr0$|V`=dP}w>QNh)uemW^Q)C>!5VPofN4m z_*YKGvxiQD0ezmjZr-yt#S2+O}udM=SOuJWkMLX^LG*rso$ z-p8p5TvnL=B~#Qqb?ss;f$yuTd%BSM%JyYHTVR!)tk0i5-#&x;vK^OSP}NbrfiF_1 z%lzXm$Q(YNhylM8gD}j*TgDdzH7&Opa8F3xn57BrMz*fapLhavYMVpK*pM;XqL5iH zi5Xy4087LGN%AX;5{jlTM6)x?a^*k)$Tqy8)c*BmqUN(>IW-8V|Jo)*6_UZ<5Nsvd z&nm-gzrEM+Z4E0m6&G16k^L&$ii|^i0|?ERcp~8@AbP%tu?Mj0mo;sjC9y?xkd5Y5Pfg=qKl!k5vUi^sj zVcdv&&hHLlX+xG>l6)4IFST9)d=;=ldb-QY)W)P;T@Z+&$vwZjVSh2TMa|H`ZMMi? z%{m+T3DwFKbeb7O@(v;7%ZjrRzXR<5dAU3xU*JFqVh^kf{pL6Tu_cWhT~-T<*f%JI z>!`yIU<;}Ei%)uni#gi2T&9r4T&ptLhr9}uVr{hdQ1pR7gIY*wMWToLv>L^4sU zf#5jygY#zp%-hdw982H)~W8LA@OH#sG5Z^73DRcaL2t}$^!-5AYAzk83 ztib;oH2`-4vUD+$fCtb<*y2+B&kS4N;W62si&c=b8lT;`dC+1wk90Bi;GX)T@6|*% z)I{&^!GV-s5!jXsR(GeK+DEV$3}-j6Gy})k=4^ANNDF*kB*AEb%5{+5qqn~L@Y9Ow z&zxBba`fECM(V|Ou#TaG;dssc}$TViUUq5;taCPTh}4V_bZ5rUJ?rPax{Dux6NrMA22fKE>B z6b%SMg`;0sro0_S9FAEZ>#WCSveI2cKfZ*(^=!?s7b+YU5h($nWmovkFq@b&bE1R9qD?{-0O#|(^%uY0Kt{hk%aFUvMiZsKg-jl&={SZ)T%COVLU z#;B3&5m7pTDT%8w-7}^zflQlG}td$=&k%3?UhbYLp%fzN&5kyay`fcya9~F z`FZfwFb?8lYBKhDT6DW$M$qT{A@)iK3O_#tHjRSd%qm*3u-&Z#1F--K;JG@RZid-K z3oLU}KCn24gNcrv7t7SQ8^FIm^T-uC7e(L8)vZY6ns-b$hb0CVS| z>2a^6!pRtIVtUJJfA~N^9S)p!iB&tR2Od_RKZyo{hW_~PH3m!6Xh*L8Uh*?{ zL#<(mHtWPY7o1x%iKg=&MKyJ$=}~IHKMPI~QNh^Bd9;Z=QtGr}3(0Nr3IAL|ZCJIj zEpHYNHA6q{K3Damt)3yBHE~4@(rMet>8mclN!&;8Tb2?&#(E&YqLhP=2HSYnT`j27 z{Osug^8srT*8k)YlI;|~(}M(OPGshR2%=UTpN}jUQ!HAo z^JS2QWKE?qVv3%%({3!-Hk}bmYJzJ1Ep$_ewZP*JEHysVGs;iK>y!xR-6#j_3O<8V zc_nupnfpj@2*Fw&}h{Eynw|9 zZYl27dBPhX9^heF*Uj8n;uaB)6P6_5vIcdb#UE?rN0eA`{*`amc}Wvw258#31=|5s z3I~?D443nL5L{`f!LJ)C0~){Ow*kQ;~Z0E}~xZf8K6;jU}>%C&8>&|)@DsKlvd zDf|JrcYq$9*p0Y(&KnATf}$)ZQ>w%dx?<-qAs6diuFBf$U%Mm(Z6dee7=pl$cdkjU zh)QHpw5n@fqVAjH-><$Oxzw%Oc|C&1sllC+i)s1R7Zl=`?4{x#<5zfX&X~qCbr~&k zarT>o$$$QrzY6PL>A?L`3Md6SfP(cQc*knoR}L4q8RLn}DIsCRp0sFa$6dej+8}N9 z1y5p*?oKS2mQ@+pW~R;-zdC!SD?0xu)l;~HcxZDUMS~deavJ<#3`6#>@gu3(UUcOs zB8W1nUAp_b?Lf`H2>5=@NRb&;RX&X>*D-}cs>x65ADXRhp!BM|^380sPo{%+xXM7T q)CXZF00025m}1j!RIy$F0n<}}fCT`#R##cE#Ao{g000001X)_efzYe~ diff --git a/opt/cygfuse/dist/x64/fuse-2.8-9.tar.xz b/opt/cygfuse/dist/x64/fuse-2.8-9.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..8cc31fbdbb04d8724ad88919d43a0d1912225600 GIT binary patch literal 10776 zcmV+zD(BVxH+ooF000E$*0e?f03iVu0001VFXf}*KmRG%T>v_q%8LbDlOh@bHX$MEi;cF3D|&H9bS^l2Wf5_%^sZR4&<8G<(ovl0)+CgjU!OrEfXT8^Xwonc z%gVUf*1IKK8vx3tifDj9`9uL~eFNIKRsmUlFJ++{5S)rm_!D{b10w6d8ItIkmy&_h zHKF(bLrOE|$HXuTJNec~1*h1-^vSTniJKX;x0%1)PJjmNz-;dr2aPsLdUXGYab7Ko{$8M55qN+v(R{9Jis=d)r0(=ak<_gL4bc zWwmJm;SYbAvUs5H>)V2XCQ0seb-||9kOKaM*P7sdK_l3NBUm?Eca6s1w*o4raxAU<7jS1)ZcT?*N>_vKguhRO-Lb7Mbe=t%(IQVrzg1f9UguDpw%H^zfQu zalQcP?#>P%=QjAleOH;q<3$=Q!qw*;j$4Xj?DUw=dBhLhd8p`)1Wa5VRBSpa1;(h5 zg}+0{=3Fx6au&#?pY7c)d`cWx++58iI^1A8O0I$o5y)Ok98G>9GChB_*kEZ6e+z&* z*vWnfaFd&)HCrpd(0fF_+j?klw3|Urbh0FGO3ii3`+8 z!)B&>_mEP3FkfO_V+{D^!EI=){kFV2EVA|UhBfT|WCePsjRiQSFv zxB=1q3e)zBko(%kQ2>9rLC12m!kHsgInr(bjt8BroSvUAzmc$&Ho)9a|4ds{l*Lxu zhb%h1Ecb6R@3F)K7IX3Z7$vRM3A=_AJ?Te>7hJEhOV-Lkx&5woV2<6;U1OxoXf5su zIlI?S1zWGE{I0BdeKI`5H24z;;K&iIs=P#XFuekFjvkY_A4>%b*&ueECO`tO@f7CA zwxV~Jke8ox8?JkE%qWpo*NvQYzX2E2*$~#z+ExaD(yd-TR+UIQ{)_V;DQppzWH?_A z%Zt%|@s_Bb_%f)e0J-t7UMkm0yj8PZYNf?eHn7fPp8cVC+XC>|v5cCz*2J|wXL-F9 z<+oAcI6)rs>%G7Y#C+=|y~qw-Mrg5cR~z?XT%RVEbHDYvyWEwa`_{F!wM?_RbX^Hu zZ1zLc5|lksf7y-Vg@{8M8GIVw^U(~DH|@)I>ZXPNm2X&3O4X8b(u7y%(grdzU)())3!pnhH-CMvPNMj_< zFgK9?ric2mfshLceXA|^&4eW=|Gwf(EhDUhZt@>YI{LB6#55yiT^4ftsHJ~54%4N| z24WldRtUb&*+qdHaYArE4HvhC^fe^;ny3d%-bB2sY|Zaq&yvT<#CTS7Y_+Bz~GLL-j&HWqOzQc+OZ$YIU)5dqox`Fl^9mWW|Q zsB%>TqL%swRc&1>BD}>UX`gWgX8bOeDUjRX>&x%V(24V8tvLf5#(da%Hc1(mZMluY ztS9Sf`|aj}8YeNGmMudC7mcz4&*^ZoiX8N=G={Y3Ly2ko9aEIT6LOQ445@D?W`}lq zle8&XCJH0B@y`lYh40k=6B zngfU45rD(~OB*HhHEFJ?ifYhdFGxm`r(KvFPY&iNpuvBaORGTOmM3y8HG{^4=`z?I zz>3}S8x>5;x+8&WGypu+i3`-M&kHL3!N< zKE%K%baixe*x^KpE#tacmES^)xN0W9Ol?}fqSKyrx~$KN%!&s`JVu}@wA9Tr=GwTeW^0B^#^!AUwbPt1z(md zNiN~2GViBcLV;OhNG|Ry^=Abr#SH@ZTI~a|ldD@oZKc@rHRI8W*Jq2-O*0nsH3Fb< zvplX26f^uX%hVn;wi}tk(xa9<^bt&>y6Q@43X&u!4u$vw-BXYFY&OVS9fvt>eVMx3 zDIz;(XXX~Zle!LjE$saKaZpW8M#EGP&dBRB?RyUBI2S#}pPF%H(h{~g6$A&bwNdjV z_(I|Kksw`E3mh_Dv$GnQGYEu;Xv|1w;0(^_?Z$CoU9s=K-+TO+ov0{Bo)6$ts{t0k zhOY*GI@vhH?xySfc_Kz{It6c3rb0x?}4h2C6>2djYcMcSjRC)Vg*d{B4dzd2z$8Job@+ntk+olRu0Y5=%^y~ zl}x6?p76&pCw`ib68Q32rUoB_AeWrSggK?g<;W8t8+~Lbkg)Fden{y&-?= zHJH^BAK18?SJ@tCKWMqr?3&y~(hOM2FLGnW$K<4MLdfdQ-HmKBUeANvLE++OGs@Bl zN!h&}hkG(U7si4bZht&P%}>R7Uc-N{8HiBm7;XrumX4G;)GOU!5uYKc(!M3YOV|4n zE4D`k6ui;)w>8JXpEN}!@u!+ryH_$0GtAs2*F48`HPgTN_0u6ru5vmA2?)mrQ5qOc z7FRl^OD03dj}{`se~qjc$9HP0a&jj?+=^rWu}IxpZIvv%+X{D8Km#p|aI4$@QM4QAVLbRIsH)Ens9+ z)=Dh&V!X{K^3NjrS*lg08&m13#B8%0CIzRo3D5eI9H8*q7=exZS?eL}hoT!3nZ8fLp*$UL>;T26t%2*oT4j|v6^?(oUG41a!CY2;sqx#SiB|6+qUi~4lf?nEs z9jieaU!iieK+1v^8*1#FiLtAP0tiP>KbxKmQ$>Gn;QddPGed8v1RyD3eYiy*tNP(t zE1N-YfEE6(Mrv41Qxq_fA*q~~79Xx1U?WU|Eugk>u^>aa}u8{P0XK>$iRS!=7)NGED#$qQN?)NdhN&hPq$X#k~~m&b?4W#jN9Qrow9EbqYvGMTc}aGX>+( z%e=MUmGdKe76+)ruehy=-k5c!C0rJEt7o_($D<2_s6^C#kH}Jg; zW!MhuAs9h=U`XLB$Dfm>$3PhtmoZgN7n$g!Z8Av-Ur05-VJx7`o@+V>=glD0t;Ey0 z-pv^}=HGy}gBym_t*D0XvnYb&q*4f=TMb2bfs5!~`-}tYLIg2rW)6ujN&Ko>H@qp# zMl5>nqzt)`{b~Y!7Gu+9M4&9qjZmhyX zO&qo@%=1qpIpIz}m~%=}@{0)#N$_bk$S5xhA3`hJO<_kSMHQByy)v-CBo@THdqv*z z>j4`HAK}!r1YTd4&<;M&N<^`pXBUzBhOHbwK>RTc%6+YRsqjqD0bojhpJMPbOZiF! zOHzu}OTHa2H`u^JyO-^`bRJ`Z(SJ{;I7j?!U!Y<1SPPh*Le(6?*=_e%ragYX@CY14 zW4_3}7m32PWCUp#@*)5JER?|G+|zP%MnA){;wS|EC|(Cv9y%^j?sL6(Rer=P-x`E+ zf`xUS-&B4jDCj@6zGUftWf_qW&3{M0d43lJ`3iRMFOj_yZ4??9knf27OA%J`RDaic zGE!~GEZzP{aSgL)STdfmhKg4P=)9RBi6e{ddSUt$g%6IepN65*$mAx5Q?Rq2jN$d$ zU5FZKU@CY4qW!$@C*>&2SJHR&{g30Kh_&RUb1tfst$C&Az4hJjUybh!Hn^jOqlpm^ zA~u7_9pT(r1*lH`9L$4{-vay=d!2v25`2loZHJyMTOy0_-gc>r@BwhDE%ez4iKgf% zguX?HsbT=dXWs?bE~+}X7uG;zgnQ5Yqd`}^JC5Tp{;5K1+c_{xqf1uRNrz8=CN!ow zuTxjKiv_%d_Xu6(Vmlt+zIfA!Jm&wf6X05NS7Z8f4$OO5OyZIdpJR6DbPCel2@N@2 zuRCvRI-_sc%MINBiK_oUw*4d^j`tYzT&r==NUEPZ1bA^^>5aUnAuP$W6d(4jh0TvdI*)g_?nmMGr~)Kdc$Q}r9)H87)8n?}8M5iJzaU2yZrXUl2ZmuP~?X8Uj z8uQD+;~YNMue!cZHD|TnixoKglAIXxVFbuM=fXLfwwZ95SJDZQ)h`LmvcFYhKtCf& zs8T40nCRY0XHyBVhoJy^B{)a$r_%TdShUU=%vc#&&6^;@LI5a6=6IVmUGD$=$22Nb z%phcJ{M>A4&Y;z9psJ%8o zUD>vx`~6}18?Ez_V-L9_&^e<`8c1o=^WAfi%M|xSs5!NZYcCDt!*HqHuBQ>e3L?7(g8jB<7u`T1bQovf$w z?i$pfLpdB9(XKUmUaXAL6DvXRd@LElPBoexJmb4J>!t0ozOmE|OCwItV}MC*TrrC= zVfDvO>)YG7>iEYK3$-KSjBn#QA5-Z#d?$?XvEmm+H4((E#Pf)yx&Ggdn)l-y3pp5$ zr9UDmUVQFFw}9D~MkQWVh!j}=z0TV;B1v49kGSM%3WQa0`m5QlFfzQ_@Ze@Rb^C)Q z7Awst^&5uqSzEVFetEFo3#%GDp-dL|Lzc%D-O!hy+1uu6IqKV+$Ji+!-;<|;L7?U+ zp%P;7qPPfwasREEkfhkW%UgNV&HuM~7KAPTGa$T<7p*17WOGwUlb>(%%NpjA8C@oq zzj4r&W_K!3`|M7y__X(Q5>YgjclQi4n+1CU$UcCs$0c&q@% z7)8*!%tNO)y?ko!k0Rst7 zoHwiFETbkr`{v`w`ElgZ-5anrzSbBQ*`#L>8Yz*h2{-6ek0mkZD8k z6>L9uu=K|$8dn}FA1qjLjm;0mp^nsgezHHhmD@0vvO&nAz)Rg` zoXJu90k&nbW3P^MmAb{G>8?mcre%hN_hlX=g$6LkW~TSmA=pSC!L` z!bv*-ch?zyK-b~wvz#L$)?m%=0l5Jw4*!8kWZd)0=|$!!q($ZdKKV~=c_FyBzS2OSp!vb8`HNR<$J@F2n7=1iJu#dzys=gjj-_8k z(W*tp`-?K27mQLtCD{QMw^@$fQZ^J%$qo)ar2Td}NTRPU;wYI!8Jjj424Q8lhcrJ2 z-hUU9iORbg-?fLm2Qpr^et`l%FrJ^R zS?y|qp5nY&kT7N;p$<3R>B(eNO8oaQ2{T?3!rhUV2TTRlbe`RZ6E#P34xx0VCNzZz zPbdNPb+?g=TgSd8_Z|^~GO`Wbe=qtFgt$ZoPvNnZ31mfyq#H)~u;a~0hn1N&j$LSj zar+h{{puDFYLDH;%l)U?dy=)NOs?lz;G9Ir9g^zWhXVNjhioEP65L57QkdDSbgS}kqv=rGa{z@>XfJX!o zB~l4rjDG3f_xWwPjy;pcb4LN~OppiV>O(UlP~)@Th%#1|@I9QU`SAA73$P{m&EXvWH83kZ7o{DTJQ}L5$&?GS>XPDC3{@O8?;LIAV z!_=Af8{#1cguzbSv|X+_Uzeb~)J;piRy$`9FCGI0R=WCpOEoMNtbjKKjZ9imv%k{| zm1FZCUrzScImhsPye-Ra=(z=gS(OPuXXX{iDa=)A5%{OhRh1kKK3qdN1~nfK4t`B} zTIurVqOcMJh+YF@0$t0GGjh%IHZ>mS@AmQ6@hi0n<`K>`SaHA(n&YdSItpKe@-b$= zuAc@VE~LDZh`~y>_9Aci_`8Qo)^(|)^cw&R$*^u5uj^L`d=ltr!^52>UT$%HytoMY z?;7I2GQ1e-?sehkwLBls=F_i4%3zSx2ew@pa=#F-SU-G`w54Aqw7)-HGjcartU;!B zP27yPlxi1*{&JnrqKX<_s9x}P35jrC;F%pJHDp9~R$_)O{2jsOUM=cVSkc5xEZ!B1 z6GL8(paU)&EKD6q|E1pZ`-LLc@fV@68@IDSl=cqg5RM!_IX|!!GZ4(~Y9sm}okCRX3ULp84_Y*v=hI^)N+ z5PZ#-pQg;@&jbrHmJ4SEd4rJz!2^_uDv%ETv zPJ1pC?G5XN;_cw|9o8Lu{6nGsg*NPGBCnFa7Tfq%OD&F}Hn^gCbP(bh;B3#R!!cex z?}Mp%qrV44f@Is37nT9XzZmfs821B~7jl|!ChoXPy!Iw!MIAfkI*=;Nds}C9gTCS_ zbuCx_ZmiRhMYQoJNMy~PQ8BNRZEL)vS*DsXN}ssEp#L7mjCESfDET=( zt#vDIhwHS`w;`AyjB+alDeM!!s{xv3vL)QMC@tMNnqwZH+O%hAM|J>mMeJZ$!zJW! zf@uGFf-u8)$c+m@q^uG9Ll{tyg5@8oZQ1bS9pg<@Y#<6(eawZj#V?AMUaz-#AsLen$^2Q5yMEKbS1%lEvl@%Uo+jJK zpw7Pc%aoO}D>2k=2*&x4$buYo^6S$2!qN9b$`mcSSzB4)w2~ahztC?*sdN3$XZIw- z_c016W65zWD86_H9Bu%-z?mFmP_ozenBhThAMST>`IP(UB)z`BnWr0!3_12&A}E@} z7OA797btl?CBIa`EU8SjVpRKDYjEJIP%x82t~)E5;3TXX%kzE3mKvb0SmwP5vyPd~ zHq*xsU%|6xZ~ zXdQ6|7}1z!%XP%SB+luzfTS0%ue&G>ZS|#vOFZ!^BPs!QQr7@RD>G>gn%L#xiM`%O zamW@*fi2?LS}nY!Bbevn+b<0;5;>~x=y<(9_k8PYeWHKmiaeNT0mN2Q?~(xSVaX;1 z=GYMTT_N|9g49z_b^ggaHAAr|2iuAd1tvMc>d_@(M&I$nd1uTO{jr+8N@+P!&9_|t zpPN1!N^QNb&p`Y4Spnc}8a(^)a9oNy6l7Jyok7oJy;z?`GJRrf+tm^DI-z4b7W0gI zQyjqA&_;jlrZRt>(9E_sI?B`ehfTBJk>aHtW^7@KB=9U3QlN1SjJa`R?wJBh2LAB9 zt5TUf4NPPB8i39`k05CCdB5Yvtm^&^@k*74xA(H!aobWXxxP4AP~hW1D7m|fMs>VlD(=Xe=yXt8)dLQV3@?Meq z$_K<($m&Nn&SrzDK>onN??J%sQUi|<%z4Hr_%#&;4h(?`H;)5QA?E4TD@J)&bQ-3} z=L>5Mz6Cst_8GOM@q?naz|?Q4A$n*Ch_!&fdwpt06Mu$|L|<)|E9%;?362$iTrU-Z z_G)Edrw~j}40WT!Kk`ew*MUOd1PzFx<-a1>+qtXNxQIB%qRWSL&Sw1x&9aK$GLh0h zm~TTKhD@_aWB>E!^N_Pck~j)!pPzk6{0u>@2a#%p zxjvRuLq=a-r*6NY1{q*{1fl(Jb#~`=wRW&=aEf4nsPo$Ft>J~oFrP;V)pE>rU=+Rx`&O#?{@2FM=#(oLkYAXNOx7DT@#fF_EHKpEYCjT%SfAGjTw4 zk|TH-GeVx)kE*Seu?Vzja^YDkDay71Pt)poK6&Ez&jLkAM5n#J@zQ*uHwgo&CiQZ1 zKF-y1DpA1Zq(#q{rW(sq>nfmD4PmoVXMvL5Lfw4PEfN!jJIS|P=n|&COG9}1{q+_5 zMR|pjWyhJv=$#B(k!#V#_(%s?hWunFVku9Xbvf{u37DexDH~Avd~AW8szWip-ZZr! zZh3Cnf7e79+Ba>}hJ0|+1UQlJv;aD#uga8-y~(=7pfzt@p%=6AAjN)U69sEgfm#te zQ^A7^AAex=OEjYO{RKttWY{fNaGw`f?McV$}sqW>?)OFhPC;OQq#jw~im> zma-4GAT%}@Ok7k9-hA$+Wz-U!^8eSE!*I~Py@MQ($|j}NlM9A}whh**gMSe8#8^LG zCW;^Hi{N^?-qLWazC1z~0Y-n>7f+;*Ri$OO?v>PZxS(#TWQ`;z-le!26h!w-LUfc8 zt~iYV(_d*=i4KI@mFd3Y>d6@T&19{o@AX)~zDfwL;(H~-pDHdpnmISjh)}OG_Sxm( zxEkLjJ%XP%Zd1xEPHMYU1&HAiqbT*^l!nlyd?04U7r^c~S^cK`5)p6rGIPIq3vBfT z{57?ssdI?)&7dX{y9<>5L-$R=O@ShUV(t^0VVAuJu*A?8NfAkREdqHuWnqE@iUgNg=0CHV8BE*~U{ef@okMeagH}dP`R; z_5FhJg32{m)h>0#gNMn~r{B75eu|0Sg#cH+eeWY-3REBGCiQ-*^mv3`8G97vs2no+ zzNH8mJ9_trPb)DTfA07T=drhTrW46F1g}Fo@sf&k9v~_)cRr(v_q%8LbDlOh@bHX$MEi;cF3D|&H9bS@BB86-XLtFJS`xc%ijiBIsOM_+XPqtJX%XPnR0I&P)e z_t^CE?CWP@j3Euy#w=N=e)q@V+2Ts$Tf%-EV^ay1$W6|*0e2j4s5`hpom~6+NMUal zPNse}A)jYd2j(8J6Ge$JgHJT*DJD*VW)8~}jWA&C!GjSTe+xgT@4`iLt=}* z^wSIK5RT+ikBp67d=%o_inW&e>f5m3yVk?3;UpLA@y*}D^&;U5sj;mDzX@qDhA#-X z=kS>c#mcB5lqHaT85t3ZlR=u;aRjeLl3fc(Z)zm90ufK+nWFON{&0|Da%es$&@) zF=(FyYvFTJLpk5!&AJ%bq#WPn&s_q?@XV!P3d~f5?9&=g>~#t4>ar9BALG5q0dnNA z@RQL7TU+?<{R>8}W2I0JGn2wVM?9o=dDc0qvs!nQ~d0F#p_l%2Z4o`bi-<$t*SM0b<)YQKuF%PK|O*3Y1 zNC)4Dv`U>9a^5;S5zMZ7x}e(=3Z+C%HVYhKGRp3qqT?^ZS?|xd&9e_`gpe~bm}n~a zIQS=2E*YUPWJnCpA)fE|MSw9s{~_ZI406Fg@sQf~nKt}%m`qlM8A0(r)AY%})3pES zz>hJhsn9eXc;Tz#I4$;!mA5Tdp{wd0w}yX;Z+hPEbxn1DMRj)&pZwPdkUS})V4ven zE;!!V2i2;DLce=H7t!Qgs2XK)Osa@-3wU#vW^4AAUX|`&?v88h~qHI8$8c&S{E~oR(5t@G>#vSEl zgw=Fd9en(}m=kcb2IUGZEdIouL{LZ-I-cC6} zW2;OVqeILJXdJ;iCH!lWYO7z$7&eA zz`pf2r5T$e;RN65YB8)obI7LEbYysvto+ z^jpH44c@t(eY-Xj5XmM@JD-@Nd4&gHwTzqjraLEGAwc_kzLKWnYG6?jx}-a)v8ddq zKnKW+E%4w%=p@^+W(j$I+g7Y$H1cOo61VLPH`G*RR-L>t?;e?q&wS&i5~2>a996Ov z=;mIMF#r8=3ry5*4gE@qjIxQ&oCGxP)|bH>P*vwJvR+pF1GJn!@|nX+?5ejW;y+nX3SHk5T5{9$Ea)#D3yz;H?}cM7GzR&rN0jh;kvOmKI_D zY7KgiEK_M5q-D3*H9PI1e{&JPXYVFef|G?qC>YdQ#{^ypc>#xiJzgDNn_8KP?GEdg zvlQ=!l4ftIH;;*X&#?anl=v9g{Y=O$g&AJQqK2>iaX4KkHgkmw5NM&LabawR2dGeP zk}zyJaPw>2u|O%e{xybeO0fk>s3tZ8ELl1PHfn)1++(pEB`AYny%msXNh? ztrYR$@F2xo#KXh-gl40H*@@uSE~&P)ZwXl&8LHmf;6p2 z_d}kJSMzow7cn7Mplg2Ww0J5nLN{Oe*s-?2{#ouJsZr9SNccb;9CV^@?EyD1@m-_>a!txo#8dnk6D^5-j zHsn2%G4T_b=ohiG^3?`W^o|0;P!=3#QdTDpLUp?!Y>n$QM~yOWH2JX#fm9CT8yCJ8 z(l{;KoeMJCmlIjXn_`mu19_V}Im$H~-tmH9cYm|3DqHFu?Q|2G?}2bk-|8-v{7$BJ zaF{)vo2M)ntD$PzVqP8=YZ{v6szwQ$#zhD7aGGhrkNS*4ZB%Py=fQJ&me_Y$q`w*8GjV{_*(*zrgmKo6a}9e^Ud2 zB@p23per&|Cij+aCs6Wu{;ec(Fs?24Gv7gY;?gH5OB^G6*$=;)Y<=!d?9CZ1abSnefi$96stud?wm(H z275`WEkMB{O{$;*7mkSd=@$(`odq~a0#o|b|7b}C)gU$Y{^7#jY|W<{GstpaX8^p) zx513bAOZ3dU*E*T9gs_p?ns>*0>2tLznF*92lxhmAY608dbXvig2r9`jwN@OH4^?& z7xc{GhStYbkd}ZskrYCHrjdw-~A-aj%KgvGCc7OSBNay|&C~8P|p*epSJV;Ek1C zR%KZV+tuMcMP3f_eU+tHtp&y!NA6E;7E^uot&(2AytqVc#Mk z;O$&Hkz4%m4&*``YCZ(kyo<{lT=%g`o0OxL)u?OF-cIheQzks?Tqf{PZ5EXW2$ad2 z@SpF?)q|H1Ala-BA0>kBTQWWK`J(fVPz<@gqJRp?VYdNS1|Y-)jbXaQDX@BE;2!f+ zHLB~pm0?Io@3R1j!61}MDX11%vJR#T6kN|%?Qs^y1XlL`qbnNz6sgVXZCXp66g`20 z@hs=Gd_=IyXYFQCaXQZlmP7YaF5@KNcTA?g&3DKYDhv%9B3i$jnhQ$)aGw3c*CQ*Y<;0M3XE1snArpUlO!-|f0r z+(Wz~UZvlnEA!*;AvAn%M*nFoHTb+b*KUUMFz&?pVlS@SP(Q0IwQQM?A&R8HCw)7v zlOW8jiVE5t3izTJvaj%sia662;Q`2#hC5!8mz0aKz|Y=?C%X}gIu zpEAKBQ??kt1Gw9uJGnxi_GO371&X8{-qX0cBr5`4lEO;&dR+~Vsu`!Z{#>TMnBJK+_ zGWq=j{%43&4ST8HySMkkXwnW7`In1?D_xUj^+o}X9H+3>idto_i(k==Y~isv{VPEe z3Vz7I++I3pshqydBdDN|d}ezVF%1&)70-hB6{%4h=V5iuJ$-%%9j5uAO}*T4XMsg( z5Hew67V)&!kq!azV^Box40q3_f`W3V%2ndZgGOSMlbpvogZqwMztrY~USE}KTRtOK zi`vOe0UQSbb4zZGiV{&4+x*;WaSXT@lMZ$9p94&9TE4l1uQsQ@@+GTpy(qJ_?U#5x zT=#}^tGIvv-Ef3gzynIQ?S(o7DgPb`K_8vr0JuHUG8^X&$7Q?ECEVWQ+ZmD0YA|(G-H`dKXgIFF)r`_ zV(5=)st-$|B+uVEb}d}t4(Nu^Ilt}4eI`hpV;TT^>{k%~$+oOM``2lajE<3#n4D1R;~0+uGFcp~e)xYQ2s$D<)Az z^-h`gp+Lf0nuG^%d}ujx%wQvi8OMUzP5!EiY^u=h8y9RrEx{$$6-)v*D|U_*jZ;>O zc74NlKFu(x7{S!qKd&!`5J}I>IV3y0I3lQS1qaBum6?K``hG-fdG{3#ry~irb8A=F zlo{(YGk86or&XLT7#zJE*cS`4mL}Z#M>om6uUWZ&c?8L4kwI}a(L%p|9a&{>+wU(` z4cZB|zRrINv7HQ1$CR^=P|dtjLryj~YTxnts!J&;P4?=uo|QiC_&;LxD-kEaFYhr+<>r@(DsPbPPT5Q^)~E_fgnScFkT zV16bc>=blqn{!lld$};A{F(^$z*>i z6k_VLA-|zt=~AJcc$TBtDjreTUPNb8t%0DUSoboTyYHNlp0~5LGP%}xhP2ef{u`S51#0mL&Xb%|MxjV?AAqV2?s` z4UeK=lDJIVk$lUu21bADK_GWHW4SZS=}IcCNV;c}EhXu3$C(1|Fbjzu8&-z_rweO{ zwvR2)Y#C(&EEy?EEP_~DTGo7zIAOV33gg1Y?n7?vbp?*^&;0yVLM|(UUYD$|mL^4W zqYtbRT?^Ocg~iM$J<#|n#ckJ|mVlUy%ES4ElcGQEDcfe0>nf3cCc5M=_A5$2ny^N? zF$NCi&WIGrYWwja-!03*1)PM|q=v7SfD?`&r~$4UCK74^4@=oiA)R1~A)d5F&K*nh z&y3v|bT{bmlS;v&rRA^n!qIJW%fUS=NtsaPvAcIUl3vGKm&@&7Mm1m+g|tr zI@=2t*40j*qH%Fz+{46GZlih&rfXm})soM?i~_gn z5PLF9&STybuZFqw{5d-nZ6rz#lwDl{B7%?pXRC%QNiIP46c&4y5aV)CJs+{P$0+vz zrDGv5iIc6+1eIZ+!E5@9ZFbB1uQnGPpAz`BvGHVE)(rm?wXjK*x01trfENUnCmqFz9zyL;RZ=&6x_a>70jC^*?;Py0{q-IAZtF{a}U(p@C=g?ZeS}yucH{qV~bNy z{Y0xa{`98LWG-WkdtnhY{NC{u(OY=(^38iQGP(k`ClktHOshWCsqT|A&orcOB75xFBtYX>FG^+Z zPUISDpz@Kv8?BFjeSYV;UdZ3IR#0JOz=A2~&Azz6zksd{!Tw^be~ZrVTee0K=#Ct& zNTlC60Gk<~!<0oa*BRLqGCxD$Jre>&I&VXv^xxxX{H1q!`BxRnq^gD7MCyWO2cJ;? zy*m1#rg<5((MV!P(9nA8(a3ZNPVJKO<=k3}kteyXp(Ssk$-BPY^c0Re@kp1&DoBfc zPY3Y$99VjN36E$mes2q^IyLd|b!CL<%j^3q1$<6{OsuQtpO8Y_%*wZyuco1%!15=` zVTN#@L!HNylj=JC{wbfhJJM)+${Wm*qF$6crnL^&(BY73fwediFU~Jf5tN8D2w^Rl zf??*?@n|9?93b_s8M78`a#D=46pvjFUj4)5k=>_iCA|k;c)p5u8Rni0QHNUjKcp}s z!k1brlM|NZ2KnLE>C}4tN1YC%A66hX?CZ;7)YysjJ3cuIU;xl2OX^0ilGiQ5eO^tm z2UnXpf6Z2-k@Mjj^;l)i&xVxNX{w2xjA2#o#n`%J4#d6rkXWYj1xG-|w~6vxq6h1U z9u7@3a}fMG2G6*~m+7k|O)LExH=#3B5+(;lPh$@Egv%!%6 z`$-o}=XQXBnq7#*7vC@B^i8tEmC<^s45KVY{kF%i?4mf$;p&6ah9xd#gquDTs|~qB z6I8_4-yX-nJ74PhJ_i7hhq?KbX6Z)xTYY7#KYJk^Qdt^@(DbA2BSxNlpB81)HmX<+ zj$g|Hk-H9x`r5hKo)Sgeep>T)=Iv9`{}Ma5bXzf!=$w&Hgqe!bMbEq92B}FI^i@T) zk7`v$Ess~|?SV$*riH&+Ox0n!a33W>0PCDp@_m7d^w;WQ{M(98(@@iw4HL4q!p$0I z)s2z^lH{Q|2VmC+&<0a~-F=+9 zY`3*Qnj0=EU;JFnOd?gA>N)YCxmt@OoAlaks9J6Z%)wZa6?(X(IWkZ4L#XH310X$hoXL-=8koBkJx1na(3 z;N3y+_C>WZ5kxcmKqlJv;R?>#2nU#6cXA|)$KAwCTUTY*N6pD}R8)@Zjam0casN+a zxBX<>D!I`YejnMkA`)2rEvQ;w)$AnR)An2sxe@tzsR;C5l1u@Pjv&ueqnuiucsa@( z1$7;Kks%y@L$pvYEnYiAfe6_ALD74^%!<3YhAPc({U*9Gq%8px&;dx{(jGydr-p=J zSKw1NR=BLwP|FtM7wiw{K}imjno@$=pyq4nNwC;Pwx8In*()k|%nZlxLLVVYsBWf5r6g0neXk?@C{ z5z2szH?$b_ZLgHkREOei&J1Oo+i`a-xXoB_!&hLnzqm|-IgO*x8%qV_THdr~OrNBf zf>AG4?fr4!%+lyY=&Bgl_ws-|FK>5sdV%C)cAz%GxdnL_FVr)0@+Ys$65q<(ndb3u zlFGdHp^XDK=x~?W>5XzME7B2D`(O$y*B6EIg~S7=YO6v^ zA+Et{;}wb9E4)e3^7lz4*1vyaK7F~6-)D7xCP;qzFa_+zQonxI;4(l^F3D#nT~Wll z;E)o%36A{w*5{O3rCvtFETf}p{8>$7?ucHoIQ?v!0c0RF#aCKsqvHotXVW@*&PwOx z9MFOUD-erz$xI@u7>*|bMDqNrOD+p)sh6qU0cyef@nHY8@d-iKm_K&EYfGa)ujLEN z%PqR~6!$uM61+Eb=|v1U(2Yfr{E^Ld094;anz3C@5>t};MF@$V1Tc8j;!K8&Uy43G;m2sQ*UX0f`b2V7fD`LiGG(=_chU-A`?Le z9|P9HuDb*FX7vUL7(7n#CWl|yJ}Q{E11n8mUH*<=@2H=W*06$lX|2sV?(4a$>--og zO%W$hBGt}8Q2&=jA}6vmGUlF0IMJ2Zd|i=-=;-z3A&Fjb9@jQE{RF`&cX5rhZtBi38W1@JYsTtawU4N+Z#! z&VYB8Y==;(-AJ@fTTJ26l>UE=#!8nI&%DX^tM9>)m+1Y6#}ivFbHtGf=9f+emlyw5 zE(L21-LN>E@DOD8h3gv$D8o9gVa*zU{F^t$_+Uc*=czTs*M?64DbWhWtOxTT+L~R(gGIhQEd&!X+$2WU3Op%8QPM?1gbmW`tm@A|H@>&%O%30 z`3}L-OS*xn%BY$-tuxU3>HxGlId^KafiXY#{rs&HKXA1j%e?Nxnx*jgbT)}OQy?Y<@DyCJ^yEXGu zI=9I0%`Y-3Bzo?@M&i?4l0hkrHd=?>pCXUlXs>j=p!llM_56ValULf`O>Dxx*stwP zSGyfJ*16xqwnq2u61B6xjT%d8jA$|-Dc|E>dR5My?!ah=aPt5Y;Kt7Bb~OhcRhiEY zHQ;p)jJDnkU{!jz$ihf5n4fmNc;0*6NW8sGVBh-37M(PTy&iuo5=Z!r8X2e*H$JxN z&=r>hhVFVRxeDU~@MHT45M`)&uh&1mjSUn3wa;`Fs%*QLm<&^kTp|rgb+hZ42{4Q*9@D1(dn^2s=00002P iaNyn;3J@y*0nSK(umk|UHDAoJ#Ao{g000001X)^cCl_G= literal 0 HcmV?d00001 diff --git a/opt/cygfuse/dist/x86/fuse-2.8-8.tar.xz b/opt/cygfuse/dist/x86/fuse-2.8-8.tar.xz deleted file mode 100644 index c9c5a56c950269dcbb109cc6907a2a201b758ac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11204 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 diff --git a/opt/cygfuse/dist/x86/fuse-2.8-9.tar.xz b/opt/cygfuse/dist/x86/fuse-2.8-9.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..0104796c0709021146ae984179a1fd3c2164aac9 GIT binary patch literal 11352 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 C2S{}Q literal 0 HcmV?d00001 diff --git a/opt/cygfuse/fuse3/Makefile b/opt/cygfuse/fuse3/Makefile new file mode 100644 index 00000000..ad6e646d --- /dev/null +++ b/opt/cygfuse/fuse3/Makefile @@ -0,0 +1,29 @@ +Version = $(shell sed -n '/^VERSION=/s/VERSION=\(.*\)/\1/p' fuse3.cygport) +Arch = $(shell uname -m) +Build = build/$(Arch) +#Debug = -g + +.PHONY: build test +build: $(Build)/cygfuse-$(Version).dll $(Build)/fuse3.pc +test: $(Build)/cygfuse-test.exe + +$(Build)/cygfuse-$(Version).dll: cygfuse.c fuse3.cygport + @mkdir -p $(Build) + gcc $(Debug) \ + -shared -o $(Build)/cygfuse-$(Version).dll \ + -Wl,--out-implib=$(Build)/libfuse-$(Version).dll.a \ + -I../../../inc/fuse3 \ + cygfuse.c + [ -n "$(Debug)" ] || strip $(Build)/cygfuse-$(Version).dll + +$(Build)/fuse3.pc: fuse3.pc.in fuse3.cygport + @mkdir -p $(Build) + sed "s/@Version@/$(Version)/g" fuse3.pc.in > $(Build)/fuse3.pc + +$(Build)/cygfuse-test.exe: cygfuse-test.c $(Build)/cygfuse-$(Version).dll + @mkdir -p $(Build) + gcc $(Debug) \ + -o $(Build)/cygfuse-test.exe \ + -I../../../inc/fuse3 -DCYGFUSE \ + cygfuse-test.c \ + -L$(PWD)/$(Build) -lfuse-$(Version) diff --git a/opt/cygfuse/fuse3/cygfuse-test.c b/opt/cygfuse/fuse3/cygfuse-test.c new file mode 100644 index 00000000..993d8e61 --- /dev/null +++ b/opt/cygfuse/fuse3/cygfuse-test.c @@ -0,0 +1,6 @@ +#include + +int main() +{ + return !(FUSE_VERSION == fuse_version()); +} diff --git a/opt/cygfuse/fuse3/cygfuse.c b/opt/cygfuse/fuse3/cygfuse.c new file mode 100644 index 00000000..390abdcc --- /dev/null +++ b/opt/cygfuse/fuse3/cygfuse.c @@ -0,0 +1,169 @@ +/** + * @file fuse3/cygfuse.c + * + * @copyright 2015-2018 Bill Zissimopoulos + */ +/* + * This file is part of WinFsp. + * + * You can redistribute it and/or modify it under the terms of the GNU + * General Public License version 3 as published by the Free Software + * Foundation. + * + * Licensees holding a valid commercial license may use this file in + * accordance with the commercial license agreement provided with the + * software. + */ + +#include +#include +#include +#include +#include +#include + +static void *cygfuse_init_slow(int force); +static void *cygfuse_init_winfsp(); + +static pthread_mutex_t cygfuse_mutex = PTHREAD_MUTEX_INITIALIZER; +static void *cygfuse_handle = 0; + +static inline void *cygfuse_init_fast(void) +{ + void *handle = cygfuse_handle; + __sync_synchronize(); /* memory barrier */ + if (0 == handle) + handle = cygfuse_init_slow(0); + return handle; +} + +static void *cygfuse_init_slow(int force) +{ + void *handle; + pthread_mutex_lock(&cygfuse_mutex); + handle = cygfuse_handle; + if (force || 0 == handle) + { + handle = cygfuse_init_winfsp(); + __sync_synchronize(); /* memory barrier */ + cygfuse_handle = handle; + } + pthread_mutex_unlock(&cygfuse_mutex); + return handle; +} + +/* + * Unfortunately Cygwin fork is very fragile and cannot even correctly + * handle dlopen'ed DLL's if they are native (rather than Cygwin ones). + * + * So we have this very nasty hack where we reset the dlopen'ed handle + * immediately after daemonization. This will force cygfuse_init() to + * reload the WinFsp DLL and reset all API pointers in the daemonized + * process. + */ +static inline int cygfuse_daemon(int nochdir, int noclose) +{ + if (-1 == daemon(nochdir, noclose)) + return -1; + + /* force reload of WinFsp DLL to workaround fork() problems */ + cygfuse_init_slow(1); + + return 0; +} +#define daemon cygfuse_daemon + +#define FSP_FUSE_API static +#define FSP_FUSE_API_NAME(api) (* pfn_ ## api) +#define FSP_FUSE_API_CALL(api) (cygfuse_init_fast(), pfn_ ## api) +#define FSP_FUSE_SYM(proto, ...) __attribute__ ((visibility("default"))) proto { __VA_ARGS__ } +#include +#include +#include + +#if defined(__LP64__) +#define CYGFUSE_WINFSP_NAME "winfsp-x64.dll" +#else +#define CYGFUSE_WINFSP_NAME "winfsp-x86.dll" +#endif +#define CYGFUSE_WINFSP_PATH "bin\\" CYGFUSE_WINFSP_NAME +#define CYGFUSE_GET_API(h, n) \ + if (0 == (*(void **)&(pfn_ ## n) = dlsym(h, #n)))\ + return cygfuse_init_fail(); + +static void *cygfuse_init_fail(); +static void *cygfuse_init_winfsp() +{ + void *h; + + h = dlopen(CYGFUSE_WINFSP_NAME, RTLD_NOW); + if (0 == h) + { + char winpath[260], *psxpath; + int regfd, bytes; + + regfd = open("/proc/registry32/HKEY_LOCAL_MACHINE/Software/WinFsp/InstallDir", O_RDONLY); + if (-1 == regfd) + return cygfuse_init_fail(); + + bytes = read(regfd, winpath, sizeof winpath - sizeof CYGFUSE_WINFSP_PATH); + close(regfd); + if (-1 == bytes || 0 == bytes) + return cygfuse_init_fail(); + + if ('\0' == winpath[bytes - 1]) + bytes--; + memcpy(winpath + bytes, CYGFUSE_WINFSP_PATH, sizeof CYGFUSE_WINFSP_PATH); + + psxpath = (char *)cygwin_create_path(CCP_WIN_A_TO_POSIX | CCP_PROC_CYGDRIVE, winpath); + if (0 == psxpath) + return cygfuse_init_fail(); + + h = dlopen(psxpath, RTLD_NOW); + free(psxpath); + if (0 == h) + return cygfuse_init_fail(); + } + + /* winfsp_fuse.h */ + CYGFUSE_GET_API(h, fsp_fuse_signal_handler); + + /* fuse_common.h */ + CYGFUSE_GET_API(h, fsp_fuse3_parse_conn_info_opts); + CYGFUSE_GET_API(h, fsp_fuse3_apply_conn_info_opts); + CYGFUSE_GET_API(h, fsp_fuse3_version); + CYGFUSE_GET_API(h, fsp_fuse3_pkgversion); + CYGFUSE_GET_API(h, fsp_fuse_ntstatus_from_errno); + + /* fuse.h */ + CYGFUSE_GET_API(h, fsp_fuse3_main_real); + CYGFUSE_GET_API(h, fsp_fuse3_lib_help); + CYGFUSE_GET_API(h, fsp_fuse3_new_30); + CYGFUSE_GET_API(h, fsp_fuse3_new); + CYGFUSE_GET_API(h, fsp_fuse3_destroy); + CYGFUSE_GET_API(h, fsp_fuse3_mount); + CYGFUSE_GET_API(h, fsp_fuse3_unmount); + CYGFUSE_GET_API(h, fsp_fuse3_loop); + CYGFUSE_GET_API(h, fsp_fuse3_loop_mt_31); + CYGFUSE_GET_API(h, fsp_fuse3_loop_mt); + CYGFUSE_GET_API(h, fsp_fuse3_exit); + CYGFUSE_GET_API(h, fsp_fuse3_get_context); + + /* fuse_opt.h */ + CYGFUSE_GET_API(h, fsp_fuse_opt_parse); + CYGFUSE_GET_API(h, fsp_fuse_opt_add_arg); + CYGFUSE_GET_API(h, fsp_fuse_opt_insert_arg); + CYGFUSE_GET_API(h, fsp_fuse_opt_free_args); + CYGFUSE_GET_API(h, fsp_fuse_opt_add_opt); + CYGFUSE_GET_API(h, fsp_fuse_opt_add_opt_escaped); + CYGFUSE_GET_API(h, fsp_fuse_opt_match); + + return h; +} + +static void *cygfuse_init_fail() +{ + fprintf(stderr, "cygfuse: initialization failed: " CYGFUSE_WINFSP_NAME " not found\n"); + exit(1); + return 0; +} diff --git a/opt/cygfuse/fuse3/fuse3.cygport b/opt/cygfuse/fuse3/fuse3.cygport new file mode 100644 index 00000000..b7906db5 --- /dev/null +++ b/opt/cygfuse/fuse3/fuse3.cygport @@ -0,0 +1,35 @@ +NAME="fuse3" +VERSION=3.2 +RELEASE=1 +CATEGORY="Utils" +SUMMARY="WinFsp FUSE3 compatibility layer" +DESCRIPTION="Enables FUSE3 file systems to be run on Cygwin." +HOMEPAGE="http://www.secfs.net/winfsp/" + +SRC_URI=${CYGPORT_SRC_URI:-"https://github.com/billziss-gh/winfsp/archive/master.tar.gz"} +SRC_DIR=${CYGPORT_SRC_DIR:-winfsp-master} + +src_compile() +{ + lndirs + cd ${B}/opt/cygfuse/fuse3 + make +} + +src_install() +{ + cd ${B}/inc/fuse3 + includeinto fuse3 + doinclude fuse.h + doinclude fuse_common.h + doinclude fuse_opt.h + doinclude winfsp_fuse.h + + cd ${B}/opt/cygfuse/fuse3/build/$(ARCH) + dobin cygfuse-${VERSION}.dll + dolib libfuse-${VERSION}.dll.a + dosym libfuse-${VERSION}.dll.a /usr/lib/libfuse3.dll.a + dopkgconfig fuse3.pc +} + +RESTRICT="strip postinst-doc" diff --git a/opt/cygfuse/fuse3/fuse3.pc.in b/opt/cygfuse/fuse3/fuse3.pc.in new file mode 100644 index 00000000..ea9ff0b2 --- /dev/null +++ b/opt/cygfuse/fuse3/fuse3.pc.in @@ -0,0 +1,9 @@ +prefix=/usr +incdir=${prefix}/include/fuse3 + +Name: fuse +Description: WinFsp FUSE3 compatible API +Version: @Version@ +URL: http://www.secfs.net/winfsp/ +Libs: -lfuse-@Version@ +Cflags: -I"${incdir}" -DCYGFUSE