From e7fe5ab5b83832ec54fcca72a175b0f96a941836 Mon Sep 17 00:00:00 2001 From: f Date: Wed, 18 Sep 2019 10:18:01 -0300 Subject: [PATCH] gem compiler --- Dockerfile | 21 ++++++++++++++++++++- gem-compiler.gem | Bin 0 -> 13312 bytes gemcompiler.sh | 13 +++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 gem-compiler.gem create mode 100644 gemcompiler.sh diff --git a/Dockerfile b/Dockerfile index 59c5898..e301e1b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,2 +1,21 @@ -FROM sutty/monit:latest +FROM sutty/sdk-ruby:latest MAINTAINER "f " + +ENV GEM=none +ENV VERSION=0 +ENV SUTTY=sutty.nl +ENV HTTP_BASIC_USER=sutty +ENV HTTP_BASIC_PASSWORD=gibberish + +COPY ./gem-compiler.gem /tmp/ +RUN gem install --no-user-install --no-document /tmp/gem-compiler.gem +RUN gem install --no-user-install --no-document --source https://rubygems.org geminabox + +COPY ./gemcompiler.sh /usr/local/bin/gemcompiler +RUN chmod 755 /usr/local/bin/gemcompiler + +RUN install -dm 2750 -o builder -g builder /srv/gems +VOLUME /srv/gems + +USER builder +ENTRYPOINT /usr/local/bin/gemcompiler diff --git a/gem-compiler.gem b/gem-compiler.gem new file mode 100644 index 0000000000000000000000000000000000000000..87185a1b8a085b20a7ce5d1cceb5855384b2e68e GIT binary patch literal 13312 zcmeHtRajh2yCv>Ua19PY8utJJf@`qg+IXOG3l700xVyVU;~rca3lQAhy(eep;+*Hd zn7KOtoQv2w{^B?J7``46{n};8U zlbe?ZzzyKx2k^oG{?`0`oEq@o<Ha^pNEL|!GZ-FV00$4zT2uKA!122`0&Rzs_)OQq#)pQ&aMBs$W!%+TM`Z4#dkMG! zg~gjPtDx_o?Cs>^8vJPq_uA)|@ zZeapd&G3`J)*({;)iXNk7PgbV2bvhh)`>&ypi$kCHH{1gc)!rg$%)1~lE{rpe8R~G zUY4`Lm5oJZ;;Rv~JQfqKTqCV~kf-2wAdc8~Ac4C%r(DZjz6;07N(j$HAHOmYwvRbM zb192PQP0K^`=5f4!Az$6JW}6~MiMKY(p9iHhYT-CO=`jij_`wqOJ_e?yO+B>yW1%) z%M85)fi-fIJEK>kD4D!f_*PGacnbo;~552^+8hX`AX=^9K5k|!^62f+fWCVrxpxd*M4qf5*U7Ul>lmIRr^Fa1DB7BjBAfeA(lR%pBh zJgNX4PKRr$h#9)Rrm9Q%l~=6kwA*Zesxmxs2!FQnc&u z?8PnfV1)EXyAb*(ru5E$u;HdgC>5&>lT;qVRd+Kv28~>`Z|f2YVhIm|6XgVWd3dqn zJA<<3#0(!TT`~Cszk&>TV-F8=`)plmIx2qV0@GDNi9`l{w@IuldKR$;LA-Jf}S%6G~P z=;lUG8Ix5gr<#s*I+-cxyw|ZmZuR_JwaDRSbk==Q+)E@jQ?ht|yRf*>b#Pho_UG2u zZ#VMoD4}WH#^KcZ9JSFX#IFmdlfySuC4ScztyEvJFzU?8{m=8$jxT*q=u-B>rOxM( zB~Wv|?10=^&S!OuLlDE2)J_5bzk%m5g?w*|CiruSI>Jb8>Zm|U0E*c+E;QOh!O2aj z2(_QeulhaxU&MkKopK+eb^Z4;WZ`UR z?x*OKNnsdh>&BN5$L#BTs7po!Uzl-%b}0lEcBiKNyPS6i`XXC6))x9tK|mSm2gN z7<^fRlyQm~1=KRd1;D{=$R=3VH?*)d{-knV%sSlD&^ znqk?}-O%jc-eji7BB=133iYf~xF`*k{*SPpX4H5G;Y@+9gnw|C)iduG?Cyd(5ZF~e zyv`dQ8kQ_}n-wL{H5J>M}{o#&g3l zI-Yha1B_t13v#n@JoC-ND(R*qu7FIF5qRf7*jliF;;VC<2u_T?zevd@vWFiv>d(BB zkevKg3mPW%!YR23nxdscsRZB}jgmuW!_^KYmN%SE-N1XjL(Ve`3b8KpJ3-5k9`y(* zY2S3cTlcSmBT^62*@~d`x(*!qs0J2kR`syrqi~UO!MvjV=Yete&N;o~%1X`s=Z|tz zFFdeXTduLMWjvAO^%|Yn+th8pSbp+|Mmx3w3!oY=ay(Cd64lV&*iU_DJR^)E-|fsx z%dB8OASh5Z3?WrZ@CB{6gS7nLrW5-q6}Awp#8egiXc%&}jI*a%*i2y~419lCDBf7` z?P$VPcG*DWUbslIt${^qAWDI0b%y4y-`wb~oTxwWIT0SEj`4t2A#iHuwI@BN)Bw=z zrAj|m?a6YuEYNGf_c$Rne^@a+#kkumAaMx*_qM&!mFa^*1!;l#+62bB4ezx`fx&dKj7FwcGHrww^} z=MoP?0-pD%BJR+VW9R}Cap+Kx)f@_t#0GfAk{%C%?>f8Sz_W*&eVT};7C-%?O0J-2 zIP5g|a$fJ~iFC`ZMK=5fXusDksvwR#V}vpwBY%3KW%h?RaXX-tvqmLswip2_dJ!lt zP;8L`mU7K32dxp@bgYy3qgIqAjC`J!MhE}c~`PS zCoP>S{ni%s%I;_&GorIHC?>AezQ5z;k$wMqwh&W59#4gS$Sh$R7sKT$Mz{bDy-hT! z@`I~nBwY~d_qsx@UErx?#IQZZH?FeLvBj{x{hP7Uslc$^#WxOU1ymA*hHPDLn=p64 zgk2AA?`uB@!ay!;?in%O&ZD8v6)N5pO%Hw+6qKSvP%(uU2lSS0yQCp|LISf0%-%m_ zW5ioR7(Z3|mwqr6qQ2#w5jOrhmPokW#dU%73dn4gYV{p1jZyO;K!?!r=NZ?oBeX8- zuR#@dIdE7ActP$j1+%Ro+e}pOS{xkpdNQMBkSeg%s+#%c*ShV_je7!PZRsvQ~K zk572mZO!BXR0@Ly<~TIpC0`Ancf*sdqX;4XwHh&lLyFlJJ^R?wTWO}@Mi+HI>r-#6;mEuOsdwZ{ke~r+=|uUnu+DTpa9a%CQ))x);~bX7E{^ zT*gT`l#62H15i4#z!nAT!(gF5nk%8qplzRDQfsnJur5kzcR`-Wc#BCq-$&9NJQqjNQJ(~ zU^=`8Fmu76Zkm$Q`x@6vPJw1+K~%^v)ugzq)Zr;kfyxciPq>6L78&cbF|vpFG^F&5 zU(!n6*OFCc5r5unwIcVRwM+adJ<>qcLeb(wCXPZnJmenw)(f+~&mg&w zm2_vq>G%-xQb%^)W3Fc+PKM)^Vh0PSWM5J>Fq+`UB$iG_)iM3OaT!heylF3)o=ee> z_zJuO$xN>pH%jU!ma~~S+N$^G0Or6>vuOl>kMI~qkC9M0T*SN`7gWOb|`zSz7OPb1|_!p{o2P_%p2}?;CyQg0cHctm%x)! z`gL{x#ED6U9_31yq%iAOT6pQs(`Y~6FEb`tSjWN77pWPY0Y2K=M++^;iLiB;G}zE` z=?zxO2;xf>;+$gyx>{=#A++KmcgiLIhf+z33FF*+9M1gDbiMPsvoZ)7BQB&r!CCpH zyeEXz%c+CpSJ;Tep^;ok<@e#@$STpv=H7OAu49Q{z23! zNOT52{It%d^=^wJ3*FxfB)RA_Y2IQ%2~3OP(^FWoTiLX4QK_}D78Zp9atwn(B{hY% z>!r2<9>o5_16zhLks$@WZTlFC8vsUL)RlA{9t6fIwaMg_atUp<`4_cQQDeglcfF#K zFYruG_`MrQ%4L^w0Fffw;@Q|Fo+mzh#N0*Dn1X$ARVe{IbW1}QzXTZbZLd!A6L-ze z3s%iwMEi5r$$^Rqsxe!iQUg2!|Col3muz?M&og!-#6>8oBwKvFR&*n` zJbL8m=5vlBBNTwQ)Hk-@oXtD$X!BauPx8*wH+C84dMB$}KR0;_qHxg&-8vh>3WAWSono$8Mxq$Ae|$-cAEeIc%W$=l{6&(h z8U1OzhmpZ!lMO)?=fESOe83vu(IjAV(-0h?Zvfr7DD%>c=%7CF=2 z{T$IB9{9vn4u)Kf4?(KK%T(|AOTvV?KMwec7pU)6e2s$|Oc_th=az&W=PGgw4^j{B z@&&ADmOB)iJTxVi;RZPkJR0!RnixXHv?ZMoteSB@Qit?n_4Wn&=PO+kKJGw1CMzgg zpx_O@i$aiBk$yp2?>up-A7hn~mVai?j|#o>cmJ~To}&q)EWwS$j4kR<<=3-cB$YU4 zive`1to34&>9n@pMW8e@wappxxHK0!^ojB2@$BnCEo@MhWR&0-T|RmI+k z8KqS%h3&vpOFUgHcT_!84vXIIQI&^?mhL?Qwm0g|UkCNFZlU$;=^Ycz3ttag1~>2Y za)HVg?{}{Wacr7gzQsn1Sm14G-`+@-;qVm@_+C_SZ_~S{*YrIMdS`!+gbc-SaY!a% z;_1Me6p_ZT{5c=9(IjmVSN~NciVeTT!8flz>>N&jo*;LV*rC@{u71;f!o z|2m0~3@)1L1U#0iozxc$Rx`rqOa@vBvR)%ayfkKUUSw*<)PN!q5FqVbHlGWIokza@T=FI4$D(L{IL>` z1GU#iBkZsUVc08X^1yQ+Sub-WEBk|ApDvcOheQF)& zf9xN7t;*`nsOmqjQ+u3v*2WuBLQ~?uc-}ZY%cu&f>VFMNhP2Newwivu@!ks$ZG3+E zQ9%Dv?_x)b;BnS1$b&h5-^Ryr-&N5VaGu2X_dgi3>yKZPE$Jb$a}~?O0rEUrdY)GR z6a3tF{W&XBij0S8953&*sM?1+dHtNG!42Ka@Cj(xnftlndB^H$1Q~WDm$lN=j)h+4 zv)cQb5jSqG=no#gL8a3lJ|z(PW+xMhk-y`F5LiUOUz}rtq@r@+kN`A6)Cg5=r~wE* zpx=Fiz_UvV+pzw?g)#bDTN>BZeQyqIcWi2`wl2b(4afV__mz`+zB^zx4kn=1a7{O1 z^}#>{_{^5*7fWCK^dCo@f#7_iAr*9zj>-;6)s5KThtf#Ru#Nt9XC+6LR#O?C-m@#G zlywg8L*{X}Oo9?6-yj}Gy`;Bwralq37mM4&`JC_JwnAV+KRZ%`=~mLURyI%&H+9R{ zseag`;kG>fGtw$w62(Cr`b@lO8OQ>bVWr)V;M*|}l@vby-LeMp@G;4+cq6IC!lnC% zy0D%7x1NafwY%!O46u9#_B_0CZO-glO?8#_DOBFCsO8QI>PPZivp~)|0Jv(1ns{s8 z!gxaeDk+L%q`e;01rtyBeo-V8x@YdHHQr<3M(`!iX{C5pJ`1~|FcLsCuT^I9QYwIB zS~;I#fIyD@Bmq$Mlxb;*#c>twTv`_HITvo4!?h{3$?8x*io{UYvqY+aEFB%sAoYtP zy+%JRCQtzZGq6$_3B^Zcs@sa)TsFMqM489aso&UyW&=$0Uw;h+)oN~Iv~si94rB_g zg;1WdPLCRsa1U^ThEHJXU)3HBbXeSQHphZ+Xnuvk57@cqU8HNzj3Uf&T_Ne3L*kHs zfgq$;$nWtO;r&I#RhSOG{GS4V!pfW6@f()k>3f^MhIzIbZlVBgRH>G$2%jLc3bj?^a8#etkZ%zZ zLoriw_{R3wWSaPC1C?Wb_scW6|8DQl0>au)YFKp6=NIqaP~$!4xgC5k7JcY=&{(9 zJyfP9!O8VI`&XxcBfRE}=hSHO3MYD!zRC*AGxD%} z!`<=|mX0FR-LRL?ugO?v&05{!V#@_OXQ#7CPb9`1scl)W&&_u{R_=Xb;UUn7ox>;_ z&<87<_>_sbz}(y8i&U%EI)E8U)Xaoeud({7qfBXGTh3J87;QuTYtD3h6E+SQj>mKb40nGN90teHHPB?B6a?%g z+bA29(lcLZ6bfFAFn+vMPozm6wM!O%NMQWK$DcdZbHttdku4+to-Zp`53j7LZ?L70;bq@1l*BC0f9A! z1e66^=IM#T;{W(JdkD|mjIwukPg81I}>O|$$ia%=p%syCwZdTJSGy?JV%!R zc^kOGMt~U-j$lVd-y~jXu;4WsyuD>`63jLtTZ*piibRnL$f+jQf*m0P3<7rrP)Gw7k@}=is5oP z53}|X5D4%;yKZQ&k)hyaKPl6M;BICdSQ{@>py?gUP)96WZO2#Lm(#wyx~u?)RUzDm zc9519z>gV5qlI^)LrC8qHP!i&T8op*1sn0z(lqWrWR7wf6a%hSLj;DyHR+wm>a{!p zlp(DzcV^RbP1|?kKCgq1S>8K zl$sq9;AI?2m*2Ea;Q1?DoNXB2- zONbO=GfmJEaF@ZZ^?q6o4Gs%p(bFyGequ!(@boAv{kNcK%Y0Rp{g`0miW^!F=O#9? zqYDh|jgMzX$>(d9u@o%!2c9EzPo5#yez9W9%zSH4mvXE$jqcy8Rs z1i-0nn!tW8Mgs1F3o9}YHcA_PV|Sh=e?M1>~Cxv#v9FTcCXoZ!|2!D21Q&SzfeA8zy2}wtA0B^OlZ0t zemS3Velr^Cr^}U8Jjcp$?{dnt#(RfbWV(-6K_^@ufp&_zhP3_hTjLAgj$f{_h~N5J z4)QOk&Fk9~njx&0e3&_~2BVHmUtPq){#-ao{N8g=a8 zxP-IQ>*>peMmK+#-)PD)x&QvHA3QmOZ7z2LBdX{bXg> z)Q4p28tcg#6$|5;wg(>})i8L=ZE>S#?xY&LMe<^sT_$m|MVS@VG?wR)%A9S6=cicn zu^eT;n5~dM1SK6khVmqKjUAd(gSYeT(da8Ob}j?7^X+N-^$)b@s-~im^!7Pd^1E31 z`XGlx2oTX}e#i_)Szy+E$@e#%gb0(V z2&Fy6>i4Xj8gpg!@OTkQFM*}kKknYh?KN&jR9J4%uFmJZxb2kZ_X0LwHVv8Fl2D0S z7n3Mc8omdo_rF8yzKr0RAI`q4^T44P2}*L0;F3r39`^m-WJ9Q8V4 z(iNACgE2?-+8X#U5uNi|Bx{{ebzRpbQi==1654I5K&0@j2+QwisctDn2dmuMxey|a z6`wS=ja_*|Af^%{_xr{r(sp%m%r=$AaR@8(3I-3pxF20ye@AG$X`X#8qC->k?$oDg z|855Sa?{D{u=W~0c&7E?&eKA^k0WYqaj5~d~Z_3;n6wbkqs$pr~2aJvP?NtJa#h$WKaf_XUuN-FJ z^GL>0ubHtSUt|x5E0m-?lG*T2=9TcPFkewM5%DX646}+?DXe3^qc}lKn!$;hGHxPS zlx8<}wP9J46(_O_RbOt0xuQKb`=i3OTO~-E%>I6fD;@bFn+0N^3myi)SG*9o)P|wP zkwYqR>WQ%h7^@JGn2Bd6$lQNtZ8{P$$F$Vhcbl|9r@T6@5pI8;nxHx8u^iDD1>zQOQwClbWH})nA&re#S~#I?isdF zTHKoTm(JI;e#B9D#bIyZTW;G2Aj_z5bYAuQ45DNE=gC*dxHv1JDiA=*e?B<$I(uAz z*LD>yc)OeG=Z%`KAHuyJyWV?O8ffvQ668u1|x+lc>JRE$Ni)@%5#GD<4UE?$umim-Z&L>@N zME|oc(A=mdMa5q_{75bemHdWyC>!VO?lV#BnfV%Y8TxiR`R4buR<&$5JoS2}P#J$p z*+;Gq_alwE!jmg}P??5^_nwkQv;*vMJ?kIdd+bg)*#ke&?qM3fh?@r~igdfQ5tYQn zLDBRMj-Qk!#&&Uhsj4$df68FsFg4V?Vssw-IPWPGr0r8QP{CiWqaexa;8sy{;{hh4 zB>d<$8bR_M8Sr|8l?2j7ABjv&BKRDkIZXkAoqg`?hu#<O6jB92e0Hv}m1XzlL~% z+h%^d=&C>*Cg{%;rxs3o*cKf0WJ!A5EpY6|TL({5#{~~qnWqy5;Gh+B{!^R!n|qUT_(-dma4xA7vD$hpGQC+T%t-;l6~yr?&m`7 z?@aa(L3-Km1h&x{G}1kdA*OYO=RS#csYj$x`ni{HI-WmBl8rWt4I1?er+h+ zcJd-*h$ThZ>r+Q940I2MRkB|>=Y7qPoz{E|6Xp?L!}Do8&@VkUp-R5?^1n!J(2bqF zW)kftIqaonh5tUZ<3@F2rqUwvWS27(o)Z%9!F_wj{n=hqU2Q>qy772FM%P^%O(ZVJ zmxvs8s;a<5OcLpiXg9%uPkL%E=5x@jG;-_JokMey*t)q9#@6PPXKaM*8eRbx$pT5& zXV2cUN6sG%1}}EyFr%c=$$~t*B~M3pP!dzMxkxlu*SW0NZe1#f0~V)eqW&vd2Cwnp z25sbXkL%b@LgQeLay(fo`si1o{FSR%YvT}PD_|c#-5w6#1$t(=Ln=w2lr3IBA*VvR7gL}akKZmGHXNcFCCVA6b zEcxG(b7cJ8mW+D3K(lf{;-$d{VK@^{1+SzyP26wESaA$2L6*3tKb5Cuaphd;^CTt% z@3QpgkmT%f7lqU#+?&&ZtARm+Ha~vWNVYxJv*6PwTe5xl!Mg9QahEY(%T{uhnx+j1 zNAD7JaIq&B=y(@)U}7&D(-Fyoz);;;JNf%}m5t%<{uP@2)b#pw^_lNfxKX|@`FpuT zQxEl}y*)QkdQG(8?s`cQo};II#MNud9|;MVm!G-MavnD}awZ@@5fJ^fVtj>|30;iS zk7Hi+|9B{fsi>RG3F`GZdcKAg2Wk5Wdl(u`7FRGI&3ZK-p_iiwx3Ca=`pt{9Aj%*F zjY6Jn!D{Z_R}Af<`nsk#k!Ib_FN0FF!DMBh=RnxIP5W>y#Lrfd(>YIH{$wrq3bqEM zyRbNmT{s)@JO+ZCJvFq(fofr5KTCa8r|`X>Uv$OZ>pWCws|Akz&<1RuF5VQ_@e1cE zntpM&Umi|5wH-p#;ZE`GGc=mVXVA@?p0!4?@35YLG?r$j7Q2}QvMq@|I}v1K?rCCg_ur!e`wwaC|3&``;Nj)^7yTCxAAs*4{nx)^ar~$L%OYM>86JS~ z`93?Jh{=guxVgQq&KV9G5{~G)byFBc?HR_pyX$TAt>yRb>nVZf8pqX5^ zJx#B%lwHCa(g&ep?>Sv1Y8ZHcfo6Y>pyx(+=IjJ6I8vOApnd?`E?7~gStbXyqVsFB zE7cueWIcrxP=nnJ**r&f)a>@%dx0Op?<>z3@%QCNQ9TnS>s3D32u#YSLA^d^kS-N( z6VJ24H%bp{u`*cEq1(|xb|XnDVaT1YPn;+6=;5V-@V~R2qX+kQXOrvoXZs4gNs9T# pE+ek_VFugrm?su?ksY({%;#bM9pB=gG5$f|9|ZnE;NOYB{{rtMH^%?~ literal 0 HcmV?d00001 diff --git a/gemcompiler.sh b/gemcompiler.sh new file mode 100644 index 0000000..be29e83 --- /dev/null +++ b/gemcompiler.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +cd /srv/gems + +test -f ${GEM}-${VERSION}.gem \ + || gem fetch --source=https://rubygems.org --platform=ruby \ + --version ${VERSION} ${GEM} + +test -f ${GEM}-${VERSION}-`uname -m`-linux.gem \ + || gem compile -V --prune ${GEM}-${VERSION}.gem + +gem inabox ${GEM}-${VERSION}-`uname -m`-linux.gem \ + --host https://${HTTP_BASIC_USER}:${HTTP_BASIC_PASSWORD}@gems.${SUTTY}