Hex Artifact Content
Not logged in

Artifact 3f93973052ff38249260755151902ab9f6c40db3:

Wiki page [Experiment: mmmv_silkexec] by martin_vahi on 2017-01-09 17:30:10.
0000: 44 20 32 30 31 37 2d 30 31 2d 30 39 54 31 37 3a  D 2017-01-09T17:
0010: 33 30 3a 31 30 2e 36 38 36 0a 4c 20 45 78 70 65  30:10.686.L Expe
0020: 72 69 6d 65 6e 74 3a 5c 73 6d 6d 6d 76 5f 73 69  riment:\smmmv_si
0030: 6c 6b 65 78 65 63 0a 50 20 33 31 33 33 61 32 66  lkexec.P 3133a2f
0040: 61 66 35 37 38 33 61 64 61 30 33 33 36 38 32 38  af5783ada0336828
0050: 61 34 32 34 30 38 30 34 39 65 34 62 30 62 33 33  a42408049e4b0b33
0060: 66 0a 55 20 6d 61 72 74 69 6e 5f 76 61 68 69 0a  f.U martin_vahi.
0070: 57 20 31 30 37 34 30 0a 3c 70 3e 3c 62 3e 3c 66  W 10740.<p><b><f
0080: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30  ont color="#ff00
0090: 30 30 22 3e 43 75 72 72 65 6e 74 6c 79 20 63 6f  00">Currently co
00a0: 64 65 20 66 6f 72 20 74 68 65 20 6d 6d 6d 76 5f  de for the mmmv_
00b0: 73 69 6c 6b 65 78 65 63 20 64 6f 65 73 20 6e 6f  silkexec does no
00c0: 74 20 65 78 69 73 74 3c 2f 66 6f 6e 74 3e 3c 2f  t exist</font></
00d0: 62 3e 2c 0a 62 75 74 20 74 68 65 20 64 65 76 65  b>,.but the deve
00e0: 6c 6f 70 6d 65 6e 74 20 64 65 6c 69 76 65 72 61  lopment delivera
00f0: 62 6c 65 73 20 77 69 6c 6c 20 62 65 20 61 6d 6f  bles will be amo
0100: 6e 67 20 76 65 72 73 69 6f 6e 65 64 20 66 69 6c  ng versioned fil
0110: 65 73 2c 20 77 68 65 6e 20 69 74 20 62 65 63 6f  es, when it beco
0120: 6d 65 73 0a 61 76 61 69 6c 61 62 6c 65 2e 3c 2f  mes.available.</
0130: 70 3e 0a 0a 3c 70 3e 3c 62 72 3e 0a 3c 2f 70 3e  p>..<p><br>.</p>
0140: 0a 0a 3c 70 3e 41 20 3c 62 3e 6d 6d 6d 76 5f 73  ..<p>A <b>mmmv_s
0150: 69 6c 6b 65 78 65 63 20 61 70 70 6c 69 63 61 74  ilkexec applicat
0160: 69 6f 6e 20 28 68 65 72 65 61 66 74 65 72 3a 20  ion (hereafter: 
0170: 73 69 6c 6b 65 78 61 70 70 29 20 69 73 20 77 72  silkexapp) is wr
0180: 61 70 70 65 72 20 74 6f 20 6f 74 68 65 72 0a 61  apper to other.a
0190: 70 70 6c 69 63 61 74 69 6f 6e 73 3c 2f 62 3e 2c  pplications</b>,
01a0: 20 69 6e 63 6c 75 64 69 6e 67 20 6f 74 68 65 72   including other
01b0: 20 6d 6d 6d 76 5f 73 69 6c 6b 65 78 65 63 20 61   mmmv_silkexec a
01c0: 70 70 6c 69 63 61 74 69 6f 6e 73 2e 20 3c 62 3e  pplications. <b>
01d0: 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 0a 74  The purpose of.t
01e0: 68 65 20 77 72 61 70 70 69 6e 67 20 69 73 20 74  he wrapping is t
01f0: 6f 20 75 73 65 20 65 78 74 72 61 20 74 61 67 73  o use extra tags
0200: 20 61 6e 64 20 75 73 65 72 20 73 70 65 63 69 66   and user specif
0210: 69 63 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  ic configuration
0220: 20 70 61 72 61 6d 65 74 65 72 73 3c 2f 62 3e 0a   parameters</b>.
0230: 66 6f 72 20 75 73 69 6e 67 20 74 68 65 20 77 72  for using the wr
0240: 61 70 70 61 62 6c 65 20 61 70 70 6c 69 63 61 74  appable applicat
0250: 69 6f 6e 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54 68 65  ion.</p>..<p>The
0260: 20 6d 6d 6d 76 5f 73 69 6c 6b 65 78 65 63 20 70   mmmv_silkexec p
0270: 72 6f 6a 65 63 74 20 63 6f 6e 73 69 73 74 73 20  roject consists 
0280: 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  of the following
0290: 20 74 6f 6f 6c 73 3a 3c 2f 70 3e 0a 0a 3c 70 3e   tools:</p>..<p>
02a0: 3c 2f 70 3e 0a 3c 75 6c 3e 0a 3c 6c 69 3e 54 68  </p>.<ul>.<li>Th
02b0: 65 20 6d 6d 6d 76 5f 73 69 6c 6b 65 78 65 63 20  e mmmv_silkexec 
02c0: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
02d0: 6c 20 66 6f 72 20 65 78 65 63 75 74 69 6e 67 20  l for executing 
02e0: 73 69 6c 6b 65 78 61 70 70 73 20 62 79 0a 61 75  silkexapps by.au
02f0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 70 72 65 66  tomatically pref
0300: 69 78 69 6e 67 20 74 68 65 20 50 41 54 48 20 77  ixing the PATH w
0310: 69 74 68 20 61 20 73 69 6c 6b 65 78 61 70 70 20  ith a silkexapp 
0320: 73 70 65 63 69 66 69 63 20 50 41 54 48 20 76 61  specific PATH va
0330: 6c 75 65 2e 20 43 61 6c 6c 0a 73 79 6e 74 61 78  lue. Call.syntax
0340: 3a 20 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 3c 2f  : &nbsp;</li>.</
0350: 75 6c 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65  ul>..<blockquote
0360: 3e 6d 6d 6d 76 5f 73 69 6c 6b 65 78 65 63 20 26  >mmmv_silkexec &
0370: 6c 74 3b 66 75 6c 6c 20 70 61 74 68 20 6f 66 20  lt;full path of 
0380: 6f 72 20 61 20 6e 61 6d 65 20 6f 6e 20 74 68 65  or a name on the
0390: 20 50 41 54 48 26 67 74 3b 20 26 6c 74 3b 74 68   PATH&gt; &lt;th
03a0: 65 0a 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61  e.command line a
03b0: 72 67 73 20 6f 66 20 74 68 65 20 73 69 6c 6b 65  rgs of the silke
03c0: 78 61 70 70 26 67 74 3b 3c 2f 62 6c 6f 63 6b 71  xapp&gt;</blockq
03d0: 75 6f 74 65 3e 0a 0a 3c 64 69 76 3e 3c 62 72 3e  uote>..<div><br>
03e0: 0a 3c 2f 64 69 76 3e 0a 3c 75 6c 3e 0a 3c 6c 69  .</div>.<ul>.<li
03f0: 3e 41 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  >An application 
0400: 66 6f 72 20 6d 61 69 6e 74 61 69 6e 69 6e 67 20  for maintaining 
0410: 74 68 65 20 74 61 67 73 2c 20 66 6f 72 20 65 78  the tags, for ex
0420: 61 6d 70 6c 65 2c 20 74 65 73 74 65 72 20 73 70  ample, tester sp
0430: 65 63 69 66 69 63 20 74 65 73 74 0a 72 65 73 75  ecific test.resu
0440: 6c 74 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 6e  lts.</li>.<li>An
0450: 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 6f 72   application for
0460: 20 6d 61 69 6e 74 61 69 6e 69 6e 67 20 6d 6d 6d   maintaining mmm
0470: 76 5f 73 69 6c 6b 65 78 65 63 20 6c 6f 63 61 6c  v_silkexec local
0480: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 73 70   installation sp
0490: 65 63 69 66 69 63 0a 67 6c 6f 62 61 6c 20 63 6f  ecific.global co
04a0: 6e 66 69 67 75 72 61 74 69 6f 6e 20 61 6e 64 20  nfiguration and 
04b0: 74 68 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f  the collection o
04c0: 66 20 73 69 6c 6b 65 78 61 70 70 73 2e 3c 62 72  f silkexapps.<br
04d0: 3e 0a 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 3c  >.</li>.</ul>..<
04e0: 70 3e 3c 2f 70 3e 0a 0a 3c 70 3e 4e 6f 20 74 65  p></p>..<p>No te
04f0: 63 68 6e 69 63 61 6c 20 73 6f 6c 75 74 69 6f 6e  chnical solution
0500: 20 69 73 20 67 6f 69 6e 67 20 74 6f 20 63 6f 6d   is going to com
0510: 70 65 6e 73 61 74 65 20 66 6f 72 20 63 72 61 70  pensate for crap
0520: 70 79 20 77 6f 72 6b 2c 20 62 65 63 61 75 73 65  py work, because
0530: 0a 74 65 63 68 6e 69 63 61 6c 20 74 6f 6f 6c 73  .technical tools
0540: 20 63 61 6e 20 62 65 20 73 77 69 74 63 68 65 64   can be switched
0550: 20 6f 66 66 20 6f 72 20 74 68 65 20 6f 72 69 67   off or the orig
0560: 69 6e 61 6c 20 61 75 74 68 6f 72 73 20 6f 66 20  inal authors of 
0570: 73 6f 66 74 77 61 72 65 20 6d 61 79 0a 6c 65 61  software may.lea
0580: 76 65 20 65 64 67 65 20 63 61 73 65 73 20 6f 75  ve edge cases ou
0590: 74 20 6f 66 20 63 6f 6e 73 69 64 65 72 61 74 69  t of considerati
05a0: 6f 6e 2e 20 54 68 65 20 6d 61 69 6e 20 69 64 65  on. The main ide
05b0: 61 73 20 62 65 68 69 6e 64 20 74 68 65 20 6d 6d  as behind the mm
05c0: 6d 76 5f 73 69 6c 6b 65 78 65 63 0a 61 72 65 3c  mv_silkexec.are<
05d0: 62 3e 26 6e 62 73 70 3b 3c 2f 62 3e 74 6f 20 3c  b>&nbsp;</b>to <
05e0: 62 3e 61 6c 6c 6f 77 20 74 68 65 20 65 78 65 63  b>allow the exec
05f0: 75 74 69 6f 6e 20 6f 66 20 6f 6e 6c 79 20 74 68  ution of only th
0600: 6f 73 65 20 73 69 6c 6b 65 78 61 70 70 73 20 74  ose silkexapps t
0610: 68 61 74 20 68 61 76 65 0a 62 65 65 6e 20 74 65  hat have.been te
0620: 73 74 65 64 20 61 6e 64 2f 6f 72 20 76 65 72 69  sted and/or veri
0630: 66 69 65 64 20 62 79 20 74 72 75 73 74 65 64 20  fied by trusted 
0640: 70 61 72 74 69 65 73 3c 2f 62 3e 2c 20 74 68 65  parties</b>, the
0650: 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a  .<a href="https:
0660: 2f 2f 6e 69 78 6f 73 2e 6f 72 67 2f 6e 69 78 2f  //nixos.org/nix/
0670: 22 3e 4e 69 78 4f 53 20 70 61 63 6b 61 67 65 20  ">NixOS package 
0680: 6d 61 6e 61 67 65 72 3c 2f 61 3e 20 69 64 65 61  manager</a> idea
0690: 20 74 68 61 74 20 65 61 63 68 0a 61 70 70 6c 69   that each.appli
06a0: 63 61 74 69 6f 6e 20 69 73 20 65 78 65 63 75 74  cation is execut
06b0: 65 64 20 69 6e 20 61 6e 20 65 6e 76 69 72 6f 6e  ed in an environ
06c0: 6d 65 6e 74 2c 20 77 68 65 72 65 20 3c 62 3e 74  ment, where <b>t
06d0: 68 65 20 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41  he LD_LIBRARY_PA
06e0: 54 48 20 61 6e 64 20 74 68 65 0a 50 41 54 48 20  TH and the.PATH 
06f0: 68 61 76 65 20 73 69 6c 6b 65 78 61 70 70 20 73  have silkexapp s
0700: 70 65 63 69 66 69 63 20 70 72 65 66 69 78 65 73  pecific prefixes
0710: 3c 2f 62 3e 2c 20 74 68 65 20 72 65 6c 69 61 6e  </b>, the relian
0720: 63 65 20 6f 6e 20 6f 70 65 72 61 74 69 6e 67 20  ce on operating 
0730: 73 79 73 74 65 6d 0a 73 65 72 76 69 63 65 73 20  system.services 
0740: 69 73 26 6e 62 73 70 3b 3c 62 3e 6c 69 6d 69 74  is&nbsp;<b>limit
0750: 65 64 20 74 6f 20 74 68 65 20 55 4e 49 58 20 73  ed to the UNIX s
0760: 74 61 6e 64 61 72 64 3c 2f 62 3e 20 74 6f 20 67  tandard</b> to g
0770: 69 76 65 20 74 68 65 20 6d 6d 6d 76 5f 73 69 6c  ive the mmmv_sil
0780: 6b 65 78 65 63 0a 61 20 63 68 61 6e 63 65 20 74  kexec.a chance t
0790: 6f 20 62 65 20 70 6f 72 74 65 64 20 74 6f 20 61  o be ported to a
07a0: 6c 6c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73  ll operating sys
07b0: 74 65 6d 73 20 74 68 61 74 20 68 61 76 65 20 74  tems that have t
07c0: 68 65 20 55 4e 49 58 20 6c 61 79 65 72 20 3c 69  he UNIX layer <i
07d0: 3e 28 4c 69 6e 75 78 2c 0a 42 53 44 2c 20 47 4e  >(Linux,.BSD, GN
07e0: 55 20 48 75 72 64 2c 20 47 65 6e 6f 64 65 20 4f  U Hurd, Genode O
07f0: 53 2c 20 4d 69 6e 69 78 33 29 2c 3c 2f 69 3e 20  S, Minix3),</i> 
0800: 74 68 65 26 6e 62 73 70 3b 6d 6d 6d 76 5f 73 69  the&nbsp;mmmv_si
0810: 6c 6b 65 78 65 63 20 6d 75 73 74 20 62 65 20 66  lkexec must be f
0820: 75 6c 6c 79 20 3c 62 3e 75 73 61 62 6c 65 0a 77  ully <b>usable.w
0830: 69 74 68 6f 75 74 20 68 61 76 69 6e 67 20 61 6e  ithout having an
0840: 79 20 72 6f 6f 74 20 61 63 63 65 73 73 3c 2f 62  y root access</b
0850: 3e 2e 3c 2f 70 3e 0a 0a 3c 70 3e 3c 62 72 3e 0a  >.</p>..<p><br>.
0860: 3c 2f 70 3e 0a 0a 3c 70 3e 3c 62 72 3e 0a 3c 2f  </p>..<p><br>.</
0870: 70 3e 0a 0a 3c 68 31 3e 53 69 6c 6b 65 78 61 70  p>..<h1>Silkexap
0880: 70 20 46 6f 72 6d 61 74 3c 2f 68 31 3e 0a 0a 3c  p Format</h1>..<
0890: 70 3e 4e 6f 6e 65 20 6f 66 20 74 68 65 20 73 69  p>None of the si
08a0: 6c 6b 65 78 61 70 70 20 73 74 61 6e 64 61 72 64  lkexapp standard
08b0: 20 66 69 6c 65 20 61 6e 64 20 66 6f 6c 64 65 72   file and folder
08c0: 20 6e 61 6d 65 73 20 63 6f 6e 74 61 69 6e 20 61   names contain a
08d0: 6e 79 20 73 70 61 63 65 73 2c 0a 74 61 62 75 6c  ny spaces,.tabul
08e0: 61 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 73  ation characters
08f0: 2c 20 6c 69 6e 65 20 62 72 65 61 6b 73 2e 20 41  , line breaks. A
0900: 6c 6c 20 73 69 6c 6b 65 78 61 70 70 20 63 6f 6e  ll silkexapp con
0910: 66 69 67 75 72 61 74 69 6f 6e 20 74 65 78 74 20  figuration text 
0920: 66 69 6c 65 73 2c 20 74 68 65 0a 6f 6e 65 73 20  files, the.ones 
0930: 61 74 20 74 68 65 20 73 69 6c 6b 65 78 61 70 70  at the silkexapp
0940: 20 65 74 63 20 66 6f 6c 64 65 72 2c 20 61 72 65   etc folder, are
0950: 20 70 72 65 70 72 6f 63 65 73 73 65 64 20 62 79   preprocessed by
0960: 20 72 65 6d 6f 76 69 6e 67 20 61 6c 6c 20 73 70   removing all sp
0970: 61 63 65 73 2c 0a 74 61 62 75 6c 61 74 69 6f 6e  aces,.tabulation
0980: 20 63 68 61 72 61 63 74 65 72 73 2c 20 3c 62 3e   characters, <b>
0990: 73 69 6e 67 6c 65 2d 6c 69 6e 65 2d 63 6f 6d 6d  single-line-comm
09a0: 65 6e 74 73 20 74 68 61 74 20 73 74 61 72 74 20  ents that start 
09b0: 77 69 74 68 20 65 69 74 68 65 72 20 22 23 22 20  with either "#" 
09c0: 6f 72 0a 22 2f 2f 22 3c 2f 62 3e 2e 20 41 66 74  or."//"</b>. Aft
09d0: 65 72 20 74 68 65 20 73 69 6e 67 6c 65 2d 6c 69  er the single-li
09e0: 6e 65 2d 63 6f 6d 6d 65 6e 74 73 20 64 65 6c 65  ne-comments dele
09f0: 74 69 6f 6e 20 70 72 65 70 72 6f 63 65 73 73 69  tion preprocessi
0a00: 6e 67 20 73 74 65 70 20 61 6c 6c 20 6f 66 20 74  ng step all of t
0a10: 68 65 0a 6c 69 6e 65 62 72 65 61 6b 73 20 61 72  he.linebreaks ar
0a20: 65 20 64 65 6c 65 74 65 64 2c 20 65 78 63 65 70  e deleted, excep
0a30: 74 20 66 6f 72 20 74 68 65 20 6c 69 73 74 5f 6f  t for the list_o
0a40: 66 5f 69 6d 6d 65 64 69 61 74 65 5f 64 65 70 65  f_immediate_depe
0a50: 6e 64 65 6e 63 69 65 73 2e 74 78 74 2e 3c 2f 70  ndencies.txt.</p
0a60: 3e 0a 0a 3c 70 3e 3c 62 72 3e 0a 3c 2f 70 3e 0a  >..<p><br>.</p>.
0a70: 3c 70 72 65 3e 26 6c 74 3b 72 65 6c 61 74 65 69  <pre>&lt;relatei
0a80: 76 65 20 49 44 20 61 73 20 66 6f 6c 64 65 72 20  ve ID as folder 
0a90: 6e 61 6d 65 26 67 74 3b 3c 62 72 3e 0a 0d 0a 0d  name&gt;<br>....
0aa0: 0a 3c 2f 70 72 65 3e 0a 3c 70 72 65 3e 20 20 20  .</pre>.<pre>   
0ab0: 20 7c 3c 2f 70 72 65 3e 0a 3c 70 72 65 3e 20 20   |</pre>.<pre>  
0ac0: 20 20 2b 2d 2d 62 69 6e 20 20 23 20 69 73 20 61    +--bin  # is a
0ad0: 20 73 79 6d 6c 69 6e 6b 20 74 6f 20 74 68 65 20   symlink to the 
0ae0: 66 6f 6c 64 65 72 20 2e 2f 62 75 69 6c 64 2f 62  folder ./build/b
0af0: 69 6e 20 3c 2f 70 72 65 3e 0a 3c 70 72 65 3e 20  in </pre>.<pre> 
0b00: 20 20 20 7c 20 20 20 20 20 20 20 23 20 74 68 61     |       # tha
0b10: 74 20 67 65 74 73 20 63 72 65 61 74 65 64 20 62  t gets created b
0b20: 79 20 74 68 65 20 6d 6d 6d 76 5f 73 69 6c 6b 65  y the mmmv_silke
0b30: 78 65 63 20 61 66 74 65 72 20 74 68 65 20 62 75  xec after the bu
0b40: 69 6c 64 69 6e 67 20 6f 66 20 74 68 65 20 73 69  ilding of the si
0b50: 6c 6b 65 78 61 70 70 20 68 61 73 20 73 75 63 63  lkexapp has succ
0b60: 65 65 64 65 64 2e 3c 2f 70 72 65 3e 0a 3c 70 72  eeded.</pre>.<pr
0b70: 65 3e 20 20 20 20 7c 20 20 20 20 20 20 20 23 20  e>    |       # 
0b80: 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64  It is guaranteed
0b90: 20 74 6f 20 62 65 20 6d 69 73 73 69 6e 67 2c 20   to be missing, 
0ba0: 77 68 65 6e 20 61 20 70 72 6f 70 65 72 6c 79 20  when a properly 
0bb0: 63 6f 6e 73 74 72 75 63 74 65 64 20 62 75 69 6c  constructed buil
0bc0: 64 20 73 63 72 69 70 74 20 65 78 69 74 65 64 20  d script exited 
0bd0: 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 3c 2f  with an error.</
0be0: 70 72 65 3e 0a 3c 70 72 65 3e 20 20 20 20 7c 3c  pre>.<pre>    |<
0bf0: 2f 70 72 65 3e 0a 3c 70 72 65 3e 20 20 20 20 2b  /pre>.<pre>    +
0c00: 2d 2d 20 65 74 63 20 23 20 69 73 20 61 6e 20 6f  -- etc # is an o
0c10: 70 74 69 6f 6e 61 6c 20 66 6f 6c 64 65 72 3c 2f  ptional folder</
0c20: 70 72 65 3e 0a 3c 70 72 65 3e 20 20 20 20 7c 20  pre>.<pre>    | 
0c30: 20 20 20 2b 2d 2d 72 75 6e 74 69 6d 65 5f 65 6e     +--runtime_en
0c40: 76 69 72 6f 6e 6d 65 6e 74 20 23 20 69 73 20 61  vironment # is a
0c50: 6e 20 6f 70 74 69 6f 6e 61 6c 20 66 6f 6c 64 65  n optional folde
0c60: 72 3c 2f 70 72 65 3e 0a 3c 70 72 65 3e 20 20 20  r</pre>.<pre>   
0c70: 20 7c 20 20 20 20 7c 20 20 20 20 7c 3c 2f 70 72   |    |    |</pr
0c80: 65 3e 0a 3c 70 72 65 3e 3c 70 72 65 3e 20 20 20  e>.<pre><pre>   
0c90: 20 7c 20 20 20 20 7c 20 20 20 20 2b 2d 2d 6f 76   |    |    +--ov
0ca0: 65 72 72 69 64 69 6e 67 5f 76 61 6c 75 65 73 5f  erriding_values_
0cb0: 6f 66 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 5f 76  of_environment_v
0cc0: 61 72 69 61 62 6c 65 73 20 20 20 23 20 74 68 65  ariables   # the
0cd0: 20 65 78 69 73 74 65 6e 63 65 20 6f 66 20 74 68   existence of th
0ce0: 69 73 20 66 6f 6c 64 65 72 20 69 73 20 6f 70 74  is folder is opt
0cf0: 69 6f 6e 61 6c 3c 2f 70 72 65 3e 3c 70 72 65 3e  ional</pre><pre>
0d00: 20 20 20 20 7c 20 20 20 20 7c 20 20 20 20 7c 20      |    |    | 
0d10: 20 20 20 7c 23 20 41 6c 6c 20 66 69 6c 65 73 20     |# All files 
0d20: 69 6e 20 74 68 69 73 20 66 6f 6c 64 65 72 20 61  in this folder a
0d30: 72 65 20 6f 70 74 69 6f 6e 61 6c 2e 20 46 69 6c  re optional. Fil
0d40: 65 20 6e 61 6d 65 73 20 77 69 74 68 6f 75 74 20  e names without 
0d50: 74 68 65 20 22 2e 74 78 74 22 20 73 75 66 66 69  the ".txt" suffi
0d60: 78 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20 20  x</pre><pre>    
0d70: 7c 20 20 20 20 7c 20 20 20 20 7c 20 20 20 20 7c  |    |    |    |
0d80: 23 20 6d 75 73 74 20 6d 61 74 63 68 20 77 69 74  # must match wit
0d90: 68 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e  h the environmen
0da0: 74 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 2e  t variable name.
0db0: 20 46 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20   File names are 
0dc0: 63 61 73 65 20 73 65 6e 73 69 74 69 76 65 2e 3c  case sensitive.<
0dd0: 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c 20  /pre><pre>    | 
0de0: 20 20 20 7c 20 20 20 20 7c 20 20 20 20 2b 2d 2d     |    |    +--
0df0: 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 2e  LD_LIBRARY_PATH.
0e00: 74 78 74 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20  txt</pre><pre>  
0e10: 20 20 7c 20 20 20 20 7c 20 20 20 20 7c 20 20 20    |    |    |   
0e20: 20 2b 2d 2d 50 41 54 48 2e 74 78 74 3c 2f 70 72   +--PATH.txt</pr
0e30: 65 3e 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20  e><pre>    |    
0e40: 7c 20 20 20 20 7c 20 20 20 20 2b 2d 2d 43 46 4c  |    |    +--CFL
0e50: 41 47 53 2e 74 78 74 3c 2f 70 72 65 3e 3c 70 72  AGS.txt</pre><pr
0e60: 65 3e 20 20 20 20 7c 20 20 20 20 7c 20 20 20 20  e>    |    |    
0e70: 7c 20 20 20 20 2b 2d 2d 26 6c 74 3b 6f 74 68 65  |    +--&lt;othe
0e80: 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61  r environment va
0e90: 72 69 61 62 6c 65 73 26 67 74 3b 3c 2f 70 72 65  riables&gt;</pre
0ea0: 3e 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20 7c  ><pre>    |    |
0eb0: 20 20 20 20 7c 3c 2f 70 72 65 3e 3c 2f 70 72 65      |</pre></pre
0ec0: 3e 0a 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20  >.<pre>    |    
0ed0: 7c 20 20 20 20 2b 2d 2d 70 72 65 66 69 78 65 73  |    +--prefixes
0ee0: 5f 6f 66 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 5f  _of_environment_
0ef0: 76 61 72 69 61 62 6c 65 73 20 20 20 23 20 74 68  variables   # th
0f00: 65 20 65 78 69 73 74 65 6e 63 65 20 6f 66 20 74  e existence of t
0f10: 68 69 73 20 66 6f 6c 64 65 72 20 69 73 20 6f 70  his folder is op
0f20: 74 69 6f 6e 61 6c 3c 2f 70 72 65 3e 0a 3c 70 72  tional</pre>.<pr
0f30: 65 3e 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20  e><pre>    |    
0f40: 7c 20 20 20 20 20 20 20 20 20 7c 23 20 41 6c 6c  |         |# All
0f50: 20 66 69 6c 65 73 20 69 6e 20 74 68 69 73 20 66   files in this f
0f60: 6f 6c 64 65 72 20 61 72 65 20 6f 70 74 69 6f 6e  older are option
0f70: 61 6c 2e 20 46 69 6c 65 20 6e 61 6d 65 73 20 77  al. File names w
0f80: 69 74 68 6f 75 74 20 74 68 65 20 22 2e 74 78 74  ithout the ".txt
0f90: 22 20 73 75 66 66 69 78 3c 2f 70 72 65 3e 3c 70  " suffix</pre><p
0fa0: 72 65 3e 20 20 20 20 7c 20 20 20 20 7c 20 20 20  re>    |    |   
0fb0: 20 20 20 20 20 20 7c 23 20 6d 75 73 74 20 6d 61        |# must ma
0fc0: 74 63 68 20 77 69 74 68 20 74 68 65 20 65 6e 76  tch with the env
0fd0: 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c  ironment variabl
0fe0: 65 20 6e 61 6d 65 2e 20 46 69 6c 65 20 6e 61 6d  e name. File nam
0ff0: 65 73 20 61 72 65 20 63 61 73 65 20 73 65 6e 73  es are case sens
1000: 69 74 69 76 65 2e 3c 2f 70 72 65 3e 3c 2f 70 72  itive.</pre></pr
1010: 65 3e 0a 3c 70 72 65 3e 20 20 20 20 7c 20 20 20  e>.<pre>    |   
1020: 20 7c 20 20 20 20 20 20 20 20 20 2b 2d 2d 4c 44   |         +--LD
1030: 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 2e 74 78  _LIBRARY_PATH.tx
1040: 74 3c 2f 70 72 65 3e 0a 3c 70 72 65 3e 20 20 20  t</pre>.<pre>   
1050: 20 7c 20 20 20 20 7c 20 20 20 20 20 20 20 20 20   |    |         
1060: 2b 2d 2d 50 41 54 48 2e 74 78 74 3c 2f 70 72 65  +--PATH.txt</pre
1070: 3e 0a 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20  >.<pre>    |    
1080: 7c 20 20 20 20 20 20 20 20 20 2b 2d 2d 43 46 4c  |         +--CFL
1090: 41 47 53 2e 74 78 74 3c 2f 70 72 65 3e 0a 3c 70  AGS.txt</pre>.<p
10a0: 72 65 3e 20 20 20 20 7c 20 20 20 20 7c 20 20 20  re>    |    |   
10b0: 20 20 20 20 20 20 2b 2d 2d 26 6c 74 3b 6f 74 68        +--&lt;oth
10c0: 65 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  er environment v
10d0: 61 72 69 61 62 6c 65 73 26 67 74 3b 3c 2f 70 72  ariables&gt;</pr
10e0: 65 3e 0a 3c 70 72 65 3e 20 20 20 20 7c 20 20 20  e>.<pre>    |   
10f0: 20 7c 3c 2f 70 72 65 3e 0a 3c 70 72 65 3e 20 20   |</pre>.<pre>  
1100: 20 20 7c 20 20 20 20 2b 2d 2d 62 75 69 6c 64 74    |    +--buildt
1110: 69 6d 65 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 20  ime_environment 
1120: 23 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c  # is an optional
1130: 20 66 6f 6c 64 65 72 2e 3c 2f 70 72 65 3e 0a 3c   folder.</pre>.<
1140: 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c 20 20  pre><pre>    |  
1150: 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20    |             
1160: 20 20 20 20 20 20 20 20 20 20 20 23 20 54 68 65             # The
1170: 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 69 73   content of this
1180: 20 66 6f 6c 64 65 72 20 68 61 73 20 74 68 65 20   folder has the 
1190: 73 61 6d 65 20 66 6f 72 6d 61 74 3c 2f 70 72 65  same format</pre
11a0: 3e 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20 7c  ><pre>    |    |
11b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11c0: 20 20 20 20 20 20 20 20 23 20 61 73 20 64 6f 65          # as doe
11d0: 73 20 74 68 65 20 66 6f 6c 64 65 72 20 2e 2f 72  s the folder ./r
11e0: 75 6e 74 69 6d 65 5f 65 6e 76 69 72 6f 6e 6d 65  untime_environme
11f0: 6e 74 3c 2f 70 72 65 3e 3c 2f 70 72 65 3e 0a 3c  nt</pre></pre>.<
1200: 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c 20 20  pre><pre>    |  
1210: 20 20 7c 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20    |</pre><pre>  
1220: 20 20 7c 20 20 20 20 2b 2d 2d 6c 69 73 74 5f 6f    |    +--list_o
1230: 66 5f 69 6d 6d 65 64 69 61 74 65 5f 64 65 70 65  f_immediate_depe
1240: 6e 64 65 6e 63 69 65 73 2e 74 78 74 20 23 20 4f  ndencies.txt # O
1250: 70 74 69 6f 6e 61 6c 2e 20 49 66 20 65 78 69 73  ptional. If exis
1260: 74 73 2c 20 74 68 65 6e 20 3c 2f 70 72 65 3e 3c  ts, then </pre><
1270: 70 72 65 3e 20 20 20 20 7c 20 20 20 20 20 20 20  pre>    |       
1280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12a0: 20 20 20 23 20 74 68 65 72 65 20 69 73 20 6f 6e     # there is on
12b0: 65 20 3c 61 20 68 72 65 66 3d 22 2e 2f 77 69 6b  e <a href="./wik
12c0: 69 3f 6e 61 6d 65 3d 41 6c 67 6f 72 69 74 68 6d  i?name=Algorithm
12d0: 2b 61 6e 64 2b 49 6d 70 6c 65 6d 65 6e 74 61 74  +and+Implementat
12e0: 69 6f 6e 22 3e 53 69 6c 6b 74 6f 72 72 65 6e 74  ion">Silktorrent
12f0: 20 70 61 63 6b 65 74 3c 2f 61 3e 20 6e 61 6d 65   packet</a> name
1300: 20 70 65 72 20 6c 69 6e 65 2e 3c 2f 70 72 65 3e   per line.</pre>
1310: 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20 20 20  <pre>    |      
1320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1340: 20 20 20 20 23 20 49 6e 63 6c 75 64 65 73 20 62      # Includes b
1350: 75 69 6c 64 20 64 65 70 65 6e 64 65 6e 63 69 65  uild dependencie
1360: 73 2e 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20  s.</pre><pre>   
1370: 20 7c 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20   |</pre><pre>   
1380: 20 2b 2d 2d 73 72 63 20 23 20 41 66 74 65 72 20   +--src # After 
1390: 75 6e 70 61 63 6b 69 6e 67 20 69 74 20 69 73 20  unpacking it is 
13a0: 72 65 63 75 72 73 69 76 65 6c 79 20 73 65 74 20  recursively set 
13b0: 74 6f 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69  to file permissi
13c0: 6f 6e 73 20 30 34 41 42 2c 20 3c 2f 70 72 65 3e  ons 04AB, </pre>
13d0: 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20 7c 20  <pre>    |    | 
13e0: 23 20 77 68 65 72 65 20 41 2c 42 20 69 6e 53 65  # where A,B inSe
13f0: 74 7b 34 2c 30 7d 20 61 6e 64 20 65 61 63 68 20  t{4,0} and each 
1400: 6f 66 20 74 68 65 6d 2c 20 74 68 65 20 41 20 61  of them, the A a
1410: 6e 64 20 74 68 65 20 42 2c 20 69 73 20 3c 2f 70  nd the B, is </p
1420: 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c 20 20 20  re><pre>    |   
1430: 20 7c 20 23 20 64 65 74 65 72 6d 69 6e 65 64 20   | # determined 
1440: 62 79 20 6d 6d 6d 76 5f 73 69 6c 6b 65 78 65 63  by mmmv_silkexec
1450: 20 73 65 74 74 69 6e 67 73 2c 20 77 68 69 63 68   settings, which
1460: 20 61 72 65 20 6d 61 6e 69 70 75 6c 61 74 65 64   are manipulated
1470: 20 62 79 20 3c 2f 70 72 65 3e 3c 70 72 65 3e 20   by </pre><pre> 
1480: 20 20 20 7c 20 20 20 20 7c 20 23 20 6d 6d 6d 76     |    | # mmmv
1490: 5f 73 69 6c 6b 65 78 65 63 20 73 79 73 2d 63 6f  _silkexec sys-co
14a0: 6d 6d 61 6e 64 73 2e 20 45 76 65 72 79 74 68 69  mmands. Everythi
14b0: 6e 67 20 69 6e 20 74 68 65 20 74 68 69 73 20 66  ng in the this f
14c0: 6f 6c 64 65 72 2c 20 74 68 65 20 73 72 63 2c 3c  older, the src,<
14d0: 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c 20  /pre><pre>    | 
14e0: 20 20 20 7c 20 23 20 69 73 20 61 75 74 6f 6d 61     | # is automa
14f0: 74 69 63 61 6c 6c 79 20 63 6f 70 69 65 64 20 74  tically copied t
1500: 6f 20 74 68 65 20 62 75 69 6c 64 20 66 6f 6c 64  o the build fold
1510: 65 72 20 62 65 66 6f 72 65 20 62 75 69 6c 64 69  er before buildi
1520: 6e 67 2e 20 3c 2f 70 72 65 3e 3c 70 72 65 3e 20  ng. </pre><pre> 
1530: 20 20 20 7c 20 20 20 20 7c 3c 2f 70 72 65 3e 3c     |    |</pre><
1540: 70 72 65 3e 20 20 20 20 7c 20 20 20 20 2b 2d 2d  pre>    |    +--
1550: 73 69 6c 6b 65 78 61 70 70 5f 63 6f 6e 74 72 6f  silkexapp_contro
1560: 6c 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20 20  l</pre><pre>    
1570: 7c 20 20 20 20 7c 20 20 20 20 7c 3c 2f 70 72 65  |    |    |</pre
1580: 3e 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20 7c  ><pre>    |    |
1590: 20 20 20 20 2b 2d 2d 62 75 69 6c 64 5f 73 63 72      +--build_scr
15a0: 69 70 74 2e 62 61 73 68 20 23 20 69 73 20 65 78  ipt.bash # is ex
15b0: 65 63 75 74 65 64 20 61 73 20 61 20 63 6f 70 79  ecuted as a copy
15c0: 20 69 6e 20 74 68 65 20 73 75 62 66 6f 6c 64 65   in the subfolde
15d0: 72 20 6f 66 20 74 68 65 20 62 75 69 6c 64 20 66  r of the build f
15e0: 6f 6c 64 65 72 2e 20 3c 2f 70 72 65 3e 3c 70 72  older. </pre><pr
15f0: 65 3e 20 20 20 20 7c 20 20 20 20 7c 20 20 20 20  e>    |    |    
1600: 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  |               
1610: 20 20 20 20 20 23 20 42 75 69 6c 64 69 6e 67 20       # Building 
1620: 61 6c 77 61 79 73 20 69 6e 63 6c 75 64 65 73 20  always includes 
1630: 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 2e 20 49  bootstrapping. I
1640: 66 20 74 68 65 20 62 75 69 6c 64 20 66 61 69 6c  f the build fail
1650: 73 2c 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20  s,</pre><pre>   
1660: 20 7c 20 20 20 20 7c 20 20 20 20 7c 20 20 20 20   |    |    |    
1670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1680: 23 20 74 68 65 6e 20 74 68 65 20 62 75 69 6c 64  # then the build
1690: 5f 73 63 72 69 70 74 2e 62 61 73 68 20 6d 75 73  _script.bash mus
16a0: 74 20 65 78 69 74 20 77 69 74 68 20 61 20 6e 6f  t exit with a no
16b0: 6e 2d 30 20 65 72 72 6f 72 20 63 6f 64 65 2e 3c  n-0 error code.<
16c0: 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c 20  /pre><pre>    | 
16d0: 20 20 20 7c 20 20 20 20 7c 3c 2f 70 72 65 3e 3c     |    |</pre><
16e0: 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c 20 20  pre><pre>    |  
16f0: 20 20 7c 20 20 20 20 2b 2d 2d 72 75 6e 5f 61 6c    |    +--run_al
1700: 6c 5f 74 65 73 74 73 5f 61 6e 64 5f 65 78 69 74  l_tests_and_exit
1710: 5f 77 69 74 68 5f 30 5f 69 66 5f 61 6c 6c 5f 74  _with_0_if_all_t
1720: 65 73 74 73 5f 70 61 73 73 5f 74 31 2e 62 61 73  ests_pass_t1.bas
1730: 68 20 23 20 73 68 6f 75 6c 64 20 64 65 73 63 72  h # should descr
1740: 69 62 65 20 66 61 69 6c 75 72 65 73 20 61 74 20  ibe failures at 
1750: 73 74 64 6f 75 74 20 6f 72 20 73 74 64 65 72 72  stdout or stderr
1760: 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c  </pre><pre>    |
1770: 20 20 20 20 7c 20 20 20 20 7c 3c 2f 70 72 65 3e      |    |</pre>
1780: 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20 7c 20  <pre>    |    | 
1790: 20 20 20 2b 2d 2d 64 65 6c 65 74 65 5f 63 61 63     +--delete_cac
17a0: 68 65 5f 63 6f 6e 74 65 6e 74 5f 74 31 2e 62 61  he_content_t1.ba
17b0: 73 68 20 23 20 73 65 74 73 20 73 69 6c 6b 65 78  sh # sets silkex
17c0: 61 70 70 20 73 74 61 74 65 20 74 6f 20 61 73 20  app state to as 
17d0: 69 66 20 69 74 20 77 65 72 65 20 69 6e 73 74 61  if it were insta
17e0: 6c 6c 65 64 20 74 68 65 20 31 2e 20 74 69 6d 65  lled the 1. time
17f0: 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c  </pre><pre>    |
1800: 20 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20      |           
1810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1820: 20 20 20 20 20 20 20 20 20 23 20 49 66 20 62 75           # If bu
1830: 69 6c 64 20 73 75 63 63 65 65 64 73 20 61 6e 64  ild succeeds and
1840: 20 74 68 69 73 20 66 69 6c 65 20 65 78 69 73 74   this file exist
1850: 73 2c 20 74 68 65 6e 20 3c 2f 70 72 65 3e 3c 70  s, then </pre><p
1860: 72 65 3e 20 20 20 20 7c 20 20 20 20 7c 20 20 20  re>    |    |   
1870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1890: 20 23 20 69 74 20 69 73 20 61 75 74 6f 6d 61 74   # it is automat
18a0: 69 63 61 6c 6c 79 20 63 61 6c 6c 65 64 20 62 79  ically called by
18b0: 20 74 68 65 20 6d 6d 6d 76 5f 73 69 6c 6b 65 78   the mmmv_silkex
18c0: 65 63 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20  ec</pre><pre>   
18d0: 20 7c 20 20 20 20 7c 20 20 20 20 20 20 20 20 20   |    |         
18e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f0: 20 20 20 20 20 20 20 20 20 20 20 23 20 61 66 74             # aft
1900: 65 72 20 74 68 65 20 62 75 69 6c 64 2e 20 49 74  er the build. It
1910: 20 6d 75 73 74 20 62 65 20 61 62 6c 65 20 74 6f   must be able to
1920: 20 68 61 6e 64 6c 65 20 61 20 63 61 73 65 2c 20   handle a case, 
1930: 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 7c  </pre><pre>    |
1940: 20 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20      |           
1950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1960: 20 20 20 20 20 20 20 20 20 23 20 77 68 65 72 65           # where
1970: 20 74 68 65 72 65 20 69 73 20 6e 6f 20 63 6f 70   there is no cop
1980: 79 20 6f 66 20 74 68 65 20 63 61 63 68 65 2e 3c  y of the cache.<
1990: 2f 70 72 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e  /pre></pre><pre>
19a0: 20 20 20 20 7c 20 20 20 20 7c 3c 2f 70 72 65 3e      |    |</pre>
19b0: 3c 70 72 65 3e 20 20 20 20 7c 20 20 20 20 2b 2d  <pre>    |    +-
19c0: 2d 75 70 73 74 72 65 61 6d 5f 64 65 6c 69 76 65  -upstream_delive
19d0: 72 61 62 6c 65 73 20 23 20 69 73 20 61 20 66 6f  rables # is a fo
19e0: 6c 64 65 72 3c 2f 70 72 65 3e 3c 70 72 65 3e 20  lder</pre><pre> 
19f0: 20 20 20 7c 3c 2f 70 72 65 3e 3c 70 72 65 3e 20     |</pre><pre> 
1a00: 20 20 20 2b 2d 2d 62 75 69 6c 64 20 20 23 20 69     +--build  # i
1a10: 73 20 64 65 6c 65 74 65 64 20 62 79 20 74 68 65  s deleted by the
1a20: 20 6d 6d 6d 76 5f 73 69 6c 6b 65 78 65 63 20 65   mmmv_silkexec e
1a30: 76 65 72 79 20 74 69 6d 65 20 62 65 66 6f 72 65  very time before
1a40: 20 74 68 65 20 73 69 6c 6b 65 78 61 70 70 20 69   the silkexapp i
1a50: 73 20 62 75 69 6c 74 20 2e 3c 2f 70 72 65 3e 3c  s built .</pre><
1a60: 2f 70 72 65 3e 0a 3c 70 72 65 3e 3c 70 72 65 3e  /pre>.<pre><pre>
1a70: 20 20 20 20 20 20 20 20 20 7c 20 20 20 20 23 20           |    # 
1a80: 54 68 65 20 6d 6d 6d 76 5f 73 69 6c 6b 65 78 65  The mmmv_silkexe
1a90: 63 20 73 65 74 73 20 69 74 73 20 66 69 6c 65 20  c sets its file 
1aa0: 70 65 72 6d 69 73 73 69 6f 6e 73 20 72 65 63 75  permissions recu
1ab0: 72 73 69 76 65 6c 79 20 3c 2f 70 72 65 3e 3c 70  rsively </pre><p
1ac0: 72 65 3e 20 20 20 20 20 20 20 20 20 7c 20 20 20  re>         |   
1ad0: 20 23 20 74 6f 20 30 37 41 42 20 62 65 66 6f 72   # to 07AB befor
1ae0: 65 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20  e executing the 
1af0: 62 75 69 6c 64 5f 73 63 72 69 70 74 2e 62 61 73  build_script.bas
1b00: 68 2e 20 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20  h. </pre><pre>  
1b10: 20 20 20 20 20 20 20 7c 20 20 20 20 23 20 54 68         |    # Th
1b20: 65 20 41 20 61 6e 64 20 74 68 65 20 42 20 61 72  e A and the B ar
1b30: 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 77 69  e the same as wi
1b40: 74 68 20 74 68 65 20 73 72 63 20 66 6f 6c 64 65  th the src folde
1b50: 72 2e 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20 20  r.</pre><pre>   
1b60: 20 20 20 20 20 20 7c 20 3c 2f 70 72 65 3e 3c 70        | </pre><p
1b70: 72 65 3e 20 20 20 20 20 20 20 20 20 2b 2d 2d 62  re>         +--b
1b80: 69 6e 20 23 20 69 73 20 74 68 65 20 74 61 72 67  in # is the targ
1b90: 65 74 20 6f 66 20 74 68 65 20 73 69 6c 6b 65 78  et of the silkex
1ba0: 61 70 70 20 62 69 6e 20 66 6f 6c 64 65 72 20 73  app bin folder s
1bb0: 79 6d 6c 69 6e 6b 2e 20 54 68 69 73 20 66 6f 6c  ymlink. This fol
1bc0: 64 65 72 20 3c 2f 70 72 65 3e 3c 70 72 65 3e 20  der </pre><pre> 
1bd0: 20 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 23          |      #
1be0: 20 69 73 20 63 72 65 61 74 65 64 20 61 75 74 6f   is created auto
1bf0: 6d 61 74 69 63 61 6c 6c 79 20 62 65 66 6f 72 65  matically before
1c00: 20 74 68 65 20 62 75 69 6c 64 5f 73 63 72 69 70   the build_scrip
1c10: 74 2e 62 61 73 68 20 69 73 20 72 75 6e 2e 3c 2f  t.bash is run.</
1c20: 70 72 65 3e 3c 70 72 65 3e 20 20 20 20 20 20 20  pre><pre>       
1c30: 20 20 7c 3c 2f 70 72 65 3e 3c 70 72 65 3e 20 20    |</pre><pre>  
1c40: 20 20 20 20 20 20 20 2b 2d 2d 73 69 6c 6b 65 78         +--silkex
1c50: 61 70 70 5f 63 6f 6e 74 72 6f 6c 20 20 23 20 63  app_control  # c
1c60: 6f 70 79 20 6f 66 20 74 68 65 20 66 6f 6c 64 65  opy of the folde
1c70: 72 20 66 72 6f 6d 20 74 68 65 20 73 72 63 3c 2f  r from the src</
1c80: 70 72 65 3e 3c 70 72 65 3e 3c 62 72 3e 0a 0d 0a  pre><pre><br>...
1c90: 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 70 72 65 3e  ..</pre>..</pre>
1ca0: 0a 0a 3c 70 3e 53 69 6c 6b 65 78 61 70 70 73 20  ..<p>Silkexapps 
1cb0: 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 2f 75 6e  are installed/un
1cc0: 70 61 63 6b 65 64 20 74 6f 3c 2f 70 3e 0a 3c 75  packed to</p>.<u
1cd0: 6c 3e 0a 3c 6c 69 3e 7e 2f 2e 73 69 6c 6b 74 6f  l>.<li>~/.silkto
1ce0: 72 72 65 6e 74 2f 6d 6d 6d 76 5f 73 69 6c 6b 65  rrent/mmmv_silke
1cf0: 78 65 63 2f 73 69 6c 6b 65 78 61 70 70 73 2f 26  xec/silkexapps/&
1d00: 6c 74 3b 76 61 72 69 6f 75 73 20 66 6f 6c 64 65  lt;various folde
1d10: 72 73 20 74 68 61 74 20 68 61 76 65 20 74 68 65  rs that have the
1d20: 69 72 0a 6e 61 6d 65 20 64 65 72 69 76 65 64 20  ir.name derived 
1d30: 66 72 6f 6d 20 73 69 6c 6b 65 78 61 70 70 20 53  from silkexapp S
1d40: 69 6c 6b 74 6f 72 72 65 6e 74 20 70 61 63 6b 65  ilktorrent packe
1d50: 74 20 6e 61 6d 65 26 67 74 3b 2f 26 6c 74 3b 53  t name&gt;/&lt;S
1d60: 69 6c 6b 65 78 61 70 70 0a 53 69 6c 6b 74 6f 72  ilkexapp.Silktor
1d70: 72 65 6e 74 20 70 61 63 6b 65 74 20 6e 61 6d 65  rent packet name
1d80: 26 67 74 3b 5f 64 69 72 3c 2f 6c 69 3e 0a 3c 2f  &gt;_dir</li>.</
1d90: 75 6c 3e 0a 0a 3c 70 3e 54 6f 20 6d 61 6b 65 20  ul>..<p>To make 
1da0: 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 73  it possible to s
1db0: 68 61 72 65 20 73 69 6c 6b 65 78 61 70 70 73 20  hare silkexapps 
1dc0: 62 65 74 77 65 65 6e 20 64 69 66 66 65 72 65 6e  between differen
1dd0: 74 20 75 73 65 72 73 20 6f 66 20 61 20 73 61 6d  t users of a sam
1de0: 65 0a 73 79 73 74 65 6d 2c 20 70 61 63 6b 61 67  e.system, packag
1df0: 65 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 74  es are allowed t
1e00: 6f 20 61 73 73 75 6d 65 20 74 68 61 74 20 74 68  o assume that th
1e10: 65 79 20 68 61 76 65 20 77 72 69 74 65 20 61 63  ey have write ac
1e20: 63 65 73 73 20 6f 6e 6c 79 20 74 6f 26 6e 62 73  cess only to&nbs
1e30: 70 3b 3c 2f 70 3e 0a 0a 3c 70 3e 3c 2f 70 3e 0a  p;</p>..<p></p>.
1e40: 3c 75 6c 3e 0a 3c 6c 69 3e 2f 74 6d 70 3c 2f 6c  <ul>.<li>/tmp</l
1e50: 69 3e 0a 3c 6c 69 3e 7e 2f 2e 73 69 6c 6b 74 6f  i>.<li>~/.silkto
1e60: 72 72 65 6e 74 2f 6d 6d 6d 76 5f 73 69 6c 6b 65  rrent/mmmv_silke
1e70: 78 65 63 2f 61 70 70 6c 69 63 61 74 69 6f 6e 73  xec/applications
1e80: 5f 77 72 69 74 65 5f 61 72 65 61 2f 26 6c 74 3b  _write_area/&lt;
1e90: 60 77 68 6f 61 6d 69 60 26 67 74 3b 2f 26 6c 74  `whoami`&gt;/&lt
1ea0: 3b 72 65 6c 61 74 69 76 65 0a 70 61 74 68 20 66  ;relative.path f
1eb0: 72 6f 6d 20 70 61 63 6b 61 67 65 20 63 6f 6c 6c  rom package coll
1ec0: 65 63 74 69 6f 6e 20 72 6f 6f 74 26 67 74 3b 3c  ection root&gt;<
1ed0: 2f 6c 69 3e 0a 3c 6c 69 3e 26 6c 74 3b 6c 69 73  /li>.<li>&lt;lis
1ee0: 74 20 6f 66 20 66 6f 6c 64 65 72 73 20 74 68 61  t of folders tha
1ef0: 74 20 63 61 6e 20 62 65 20 71 75 65 72 69 65 64  t can be queried
1f00: 20 62 79 20 22 6d 6d 6d 76 5f 73 69 6c 6b 65 78   by "mmmv_silkex
1f10: 65 63 20 73 79 73 5f 26 6c 74 3b 73 6f 6d 65 74  ec sys_&lt;somet
1f20: 68 69 6e 67 26 67 74 3b 2c 0a 66 6f 72 20 65 78  hing&gt;,.for ex
1f30: 61 6d 70 6c 65 3a 20 6d 6d 6d 76 5f 73 69 6c 6b  ample: mmmv_silk
1f40: 65 78 65 63 20 73 79 73 5f 73 5f 66 70 5f 72 61  exec sys_s_fp_ra
1f50: 6d 64 69 73 6b 5f 31 20 26 67 74 3b 3c 2f 6c 69  mdisk_1 &gt;</li
1f60: 3e 0a 3c 2f 75 6c 3e 0a 0a 3c 70 3e 3c 2f 70 3e  >.</ul>..<p></p>
1f70: 0a 0a 3c 70 3e 54 68 65 20 6d 6d 6d 76 5f 73 69  ..<p>The mmmv_si
1f80: 6c 6b 65 78 65 63 20 70 72 65 70 72 6f 63 65 73  lkexec preproces
1f90: 73 65 73 20 73 69 6c 6b 65 78 61 70 70 20 6e 61  ses silkexapp na
1fa0: 6d 65 73 20 62 79 20 72 65 6d 6f 76 69 6e 67 20  mes by removing 
1fb0: 61 20 73 69 6e 67 6c 65 20 69 6e 73 74 61 6e 63  a single instanc
1fc0: 65 0a 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69  e.of the followi
1fd0: 6e 67 20 70 72 65 66 69 78 65 73 3a 20 22 73 79  ng prefixes: "sy
1fe0: 73 5f 22 2c 20 22 75 73 72 5f 22 2e 20 41 20 73  s_", "usr_". A s
1ff0: 69 6c 6b 65 78 61 70 70 20 74 68 61 74 20 69 73  ilkexapp that is
2000: 20 6f 6e 20 50 41 54 48 20 61 6e 64 20 68 61 73   on PATH and has
2010: 0a 61 20 6e 61 6d 65 20 6f 66 20 22 73 79 73 5f  .a name of "sys_
2020: 66 6f 6f 22 20 73 68 6f 75 6c 64 20 62 65 20 65  foo" should be e
2030: 78 65 63 75 74 65 64 20 61 73 20 22 6d 6d 6d 76  xecuted as "mmmv
2040: 5f 73 69 6c 6b 65 78 65 63 20 75 73 72 5f 73 79  _silkexec usr_sy
2050: 73 5f 66 6f 6f 22 2e 20 54 68 65 0a 70 72 65 66  s_foo". The.pref
2060: 69 78 20 22 73 79 73 5f 22 20 69 73 20 72 65 73  ix "sys_" is res
2070: 65 72 76 65 64 20 66 6f 72 20 6d 6d 6d 76 5f 73  erved for mmmv_s
2080: 69 6c 6b 65 78 65 63 20 63 6f 6d 6d 61 6e 64 73  ilkexec commands
2090: 2e 20 50 72 65 70 72 6f 63 65 73 73 69 6e 67 20  . Preprocessing 
20a0: 69 73 20 6e 6f 74 0a 61 70 70 6c 69 65 64 2c 20  is not.applied, 
20b0: 77 68 65 6e 20 74 68 65 20 73 69 6c 6b 65 78 61  when the silkexa
20c0: 70 70 20 65 78 65 63 75 74 61 62 6c 65 20 69 73  pp executable is
20d0: 20 72 65 66 65 72 72 65 64 20 74 68 72 6f 75 67   referred throug
20e0: 68 20 61 20 66 75 6c 6c 20 70 61 74 68 2e 20 26  h a full path. &
20f0: 6e 62 73 70 3b 54 68 65 0a 6d 6d 6d 76 5f 73 69  nbsp;The.mmmv_si
2100: 6c 6b 65 78 65 63 20 73 65 74 73 20 74 68 65 20  lkexec sets the 
2110: 76 61 6c 75 65 73 20 6f 66 20 73 69 6c 6b 65 78  values of silkex
2120: 61 70 70 20 72 75 6e 74 69 6d 65 20 61 6e 64 20  app runtime and 
2130: 62 75 69 6c 64 74 69 6d 65 20 65 6e 69 72 6f 6e  buildtime eniron
2140: 6d 65 6e 74 0a 76 61 72 69 61 62 6c 65 73 20 61  ment.variables a
2150: 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20  ccording to the 
2160: 66 6f 6c 6c 6f 77 69 6e 67 20 70 72 65 63 65 64  following preced
2170: 65 6e 63 65 3a 26 6e 62 73 70 3b 3c 2f 70 3e 0a  ence:&nbsp;</p>.
2180: 0a 3c 70 3e 3c 2f 70 3e 0a 3c 6f 6c 3e 0a 3c 6c  .<p></p>.<ol>.<l
2190: 69 3e 49 66 20 63 6f 6e 66 69 67 75 72 61 74 69  i>If configurati
21a0: 6f 6e 20 65 78 69 73 74 73 2c 20 6f 76 65 72 72  on exists, overr
21b0: 69 64 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66  ide the value of
21c0: 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74   the environment
21d0: 20 76 61 72 69 61 62 6c 65 2e 3c 2f 6c 69 3e 0a   variable.</li>.
21e0: 3c 6c 69 3e 50 72 65 66 69 78 20 74 68 65 20 76  <li>Prefix the v
21f0: 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 73 74  alue from the st
2200: 65 70 20 31 20 77 69 74 68 20 74 68 65 20 76 61  ep 1 with the va
2210: 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e  lue from the con
2220: 66 69 67 75 72 61 74 69 6f 6e 0a 66 69 6c 65 2e  figuration.file.
2230: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 50 72 65 66 69 78  </li>.<li>Prefix
2240: 20 74 68 65 20 76 61 6c 75 65 20 66 72 6f 6d 20   the value from 
2250: 74 68 65 20 73 74 65 70 20 32 20 77 69 74 68 20  the step 2 with 
2260: 74 68 65 20 66 75 6c 6c 20 70 61 74 68 20 6f 66  the full path of
2270: 20 74 68 65 20 73 69 6c 6b 65 78 61 70 70 20 62   the silkexapp b
2280: 69 6e 0a 66 6f 6c 64 65 72 2e 3c 2f 6c 69 3e 0a  in.folder.</li>.
2290: 3c 6c 69 3e 26 6c 74 3b 45 78 65 63 75 74 65 20  <li>&lt;Execute 
22a0: 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 66  the executable f
22b0: 72 6f 6d 20 74 68 65 20 73 69 6c 6b 65 78 61 70  rom the silkexap
22c0: 70 20 62 69 6e 20 66 6f 6c 64 65 72 20 6f 72 20  p bin folder or 
22d0: 64 69 61 67 6e 6f 73 74 69 63 73 0a 66 6f 6c 64  diagnostics.fold
22e0: 65 72 2e 26 67 74 3b 3c 2f 6c 69 3e 0a 3c 2f 6f  er.&gt;</li>.</o
22f0: 6c 3e 0a 0a 3c 70 3e 3c 2f 70 3e 0a 0a 3c 70 3e  l>..<p></p>..<p>
2300: 3c 62 72 3e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 3c 62  <br>.</p>..<p><b
2310: 72 3e 0a 3c 2f 70 3e 0a 0a 3c 68 31 3e 54 65 73  r>.</p>..<h1>Tes
2320: 74 69 6e 67 20 28 49 6e 63 6c 75 64 69 6e 67 20  ting (Including 
2330: 56 65 72 69 66 69 63 61 74 69 6f 6e 20 61 6e 64  Verification and
2340: 20 41 75 64 69 74 73 29 3c 2f 68 31 3e 0a 0a 3c   Audits)</h1>..<
2350: 70 3e 54 68 65 20 65 78 65 63 75 74 61 62 6c 65  p>The executable
2360: 20 6d 6d 6d 76 5f 73 69 6c 6b 65 78 65 63 20 61   mmmv_silkexec a
2370: 70 70 6c 69 63 61 74 69 6f 6e 20 6d 75 73 74 20  pplication must 
2380: 68 61 76 65 20 6f 6e 6c 79 20 64 65 70 65 6e 64  have only depend
2390: 65 6e 63 69 65 73 20 74 68 61 74 0a 68 61 76 65  encies that.have
23a0: 20 61 6c 73 6f 20 62 65 65 6e 20 76 65 72 69 66   also been verif
23b0: 69 65 64 20 61 6e 64 2f 6f 72 20 74 65 73 74 65  ied and/or teste
23c0: 64 20 62 79 20 74 72 75 73 74 65 64 20 70 61 72  d by trusted par
23d0: 74 69 65 73 2e 26 6e 62 73 70 3b 3c 2f 70 3e 0a  ties.&nbsp;</p>.
23e0: 0a 3c 70 3e 44 69 66 66 65 72 65 6e 74 20 70 61  .<p>Different pa
23f0: 72 74 69 65 73 20 74 72 75 73 74 20 64 69 66 66  rties trust diff
2400: 65 72 65 6e 74 20 6f 74 68 65 72 20 70 61 72 74  erent other part
2410: 69 65 73 2e 20 54 72 75 73 74 20 69 73 20 61 20  ies. Trust is a 
2420: 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c  multidimensional
2430: 0a 76 61 6c 75 65 2e 20 41 20 76 65 72 79 20 6b  .value. A very k
2440: 69 6e 64 68 65 61 72 74 65 64 20 61 6e 64 20 6e  indhearted and n
2450: 6f 74 20 63 6f 72 72 75 70 74 20 70 65 72 73 6f  ot corrupt perso
2460: 6e 20 63 61 6e 20 62 65 20 74 6f 74 61 6c 6c 79  n can be totally
2470: 20 75 6e 74 72 75 73 74 77 6f 72 74 68 79 0a 66   untrustworthy.f
2480: 72 6f 6d 20 74 68 65 69 72 20 63 61 70 61 62 69  rom their capabi
2490: 6c 69 74 69 65 73 20 70 6f 69 6e 74 20 6f 66 20  lities point of 
24a0: 76 69 65 77 2e 20 4f 6e 20 74 68 65 20 6f 74 68  view. On the oth
24b0: 65 72 20 68 61 6e 64 2c 20 73 6f 6d 65 74 69 6d  er hand, sometim
24c0: 65 73 2c 20 61 74 20 73 6f 6d 65 0a 6e 61 72 72  es, at some.narr
24d0: 6f 77 20 63 6f 6e 74 65 78 74 73 2c 20 65 6e 65  ow contexts, ene
24e0: 6d 69 65 73 20 63 61 6e 20 62 65 20 6d 6f 72 65  mies can be more
24f0: 20 74 72 75 73 74 77 6f 72 74 68 79 20 74 68 61   trustworthy tha
2500: 6e 20 66 72 69 65 6e 64 73 2e 20 46 6f 72 20 65  n friends. For e
2510: 78 61 6d 70 6c 65 2c 0a 65 6e 65 6d 69 65 73 20  xample,.enemies 
2520: 6d 69 67 68 74 20 68 61 76 65 20 61 20 67 6f 6f  might have a goo
2530: 64 20 74 72 61 63 6b 20 72 65 63 6f 72 64 20 6f  d track record o
2540: 66 20 66 69 6e 65 20 73 6b 69 6c 6c 73 20 61 6e  f fine skills an
2550: 64 20 62 65 69 6e 67 20 72 69 67 6f 72 6f 75 73  d being rigorous
2560: 20 61 6e 64 0a 74 68 65 79 20 6d 69 67 68 74 20   and.they might 
2570: 75 73 65 20 73 6f 6d 65 20 63 6f 6d 70 6f 6e 65  use some compone
2580: 6e 74 2c 20 73 6f 66 74 77 61 72 65 20 70 61 63  nt, software pac
2590: 6b 61 67 65 2c 20 61 74 20 73 6f 6d 65 20 73 65  kage, at some se
25a0: 63 75 72 69 74 79 20 77 69 73 65 0a 65 78 74 72  curity wise.extr
25b0: 65 6d 65 6c 79 20 63 72 69 74 69 63 61 6c 20 72  emely critical r
25c0: 6f 6c 65 2c 20 77 68 69 6c 65 20 62 65 69 6e 67  ole, while being
25d0: 20 76 65 72 79 20 72 69 67 6f 72 6f 75 73 20 61   very rigorous a
25e0: 74 20 74 68 65 20 63 6f 6e 73 74 72 75 63 74 69  t the constructi
25f0: 6f 6e 20 6f 66 20 74 68 65 69 72 0a 73 6f 66 74  on of their.soft
2600: 77 61 72 65 20 63 6f 6d 70 6f 6e 65 6e 74 2e 3c  ware component.<
2610: 62 72 3e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 47 69 76  br>.</p>..<p>Giv
2620: 65 6e 20 74 68 61 74 0a 3c 61 20 68 72 65 66 3d  en that.<a href=
2630: 22 68 74 74 70 3a 2f 2f 6d 61 72 74 69 6e 2e 73  "http://martin.s
2640: 6f 66 74 66 31 2e 63 6f 6d 2f 67 2f 79 65 6c 6c  oftf1.com/g/yell
2650: 6f 77 5f 73 6f 61 70 5f 6f 70 65 72 61 5f 62 6c  ow_soap_opera_bl
2660: 6f 67 2f 74 68 65 2d 66 75 74 75 72 65 2d 6f 66  og/the-future-of
2670: 2d 73 65 63 75 72 69 74 79 2d 61 75 64 69 74 73  -security-audits
2680: 2d 65 70 69 73 6f 64 65 2d 30 22 3e 74 68 65 0a  -episode-0">the.
2690: 6f 6e 6c 79 20 70 72 6f 70 65 72 20 77 61 79 20  only proper way 
26a0: 74 6f 20 76 65 72 69 66 79 2f 72 65 76 69 65 77  to verify/review
26b0: 20 63 6f 64 65 20 69 73 20 61 20 66 75 6c 6c 79   code is a fully
26c0: 20 61 75 74 6f 6d 61 74 65 64 20 77 61 79 3c 2f   automated way</
26d0: 61 3e 3c 69 3e 28 3c 61 20 68 72 65 66 3d 22 68  a><i>(<a href="h
26e0: 74 74 70 73 3a 2f 2f 61 72 63 68 69 76 65 2e 69  ttps://archive.i
26f0: 73 2f 68 33 48 4a 34 22 3e 61 72 63 68 69 76 61  s/h3HJ4">archiva
2700: 6c 0a 63 6f 70 79 3c 2f 61 3e 29 3c 2f 69 3e 2c  l.copy</a>)</i>,
2710: 20 74 68 65 72 65 20 68 61 73 20 74 6f 20 62 65   there has to be
2720: 20 61 20 77 61 79 20 74 6f 20 73 75 62 73 63 72   a way to subscr
2730: 69 62 65 20 74 6f 20 74 68 65 20 74 65 73 74 69  ibe to the testi
2740: 6e 67 2f 76 65 72 69 66 69 63 61 74 69 6f 6e 0a  ng/verification.
2750: 73 79 73 74 65 6d 20 6f 66 20 74 68 65 20 74 72  system of the tr
2760: 75 73 74 65 64 20 70 61 72 74 69 65 73 2e 20 54  usted parties. T
2770: 6f 20 61 76 6f 69 64 20 61 20 44 65 6e 69 61 6c  o avoid a Denial
2780: 20 6f 66 20 53 65 72 76 69 63 65 20 61 74 74 61   of Service atta
2790: 63 6b 20 62 79 20 68 61 63 6b 69 6e 67 0a 69 6e  ck by hacking.in
27a0: 74 6f 20 74 68 65 20 74 65 73 74 69 6e 67 2f 76  to the testing/v
27b0: 65 72 69 66 69 63 61 74 69 6f 6e 20 73 79 73 74  erification syst
27c0: 65 6d 73 20 6f 66 20 6f 6e 65 20 6f 66 20 74 68  ems of one of th
27d0: 65 20 74 72 75 73 74 65 64 20 70 61 72 74 69 65  e trusted partie
27e0: 73 2c 20 74 68 65 20 6c 6f 63 61 6c 0a 73 65 74  s, the local.set
27f0: 74 69 6e 67 73 20 6f 66 20 74 68 65 20 6d 6d 6d  tings of the mmm
2800: 76 5f 73 69 6c 6b 65 78 65 63 20 73 68 6f 75 6c  v_silkexec shoul
2810: 64 20 74 72 65 61 74 20 61 20 74 65 73 74 20 66  d treat a test f
2820: 61 69 6c 75 72 65 20 6f 66 20 61 20 66 6f 72 6d  ailure of a form
2830: 65 72 6c 79 0a 61 63 63 65 70 74 65 64 20 63 6f  erly.accepted co
2840: 6d 70 6f 6e 65 6e 74 20 61 73 20 61 20 74 69 6d  mponent as a tim
2850: 65 64 20 77 61 72 6e 69 6e 67 2c 20 77 68 65 72  ed warning, wher
2860: 65 20 74 68 65 20 77 61 72 6e 69 6e 67 20 73 74  e the warning st
2870: 61 74 65 20 6d 6f 76 65 73 20 74 6f 20 61 0a 62  ate moves to a.b
2880: 6c 6f 63 6b 65 64 2f 66 61 69 6c 65 64 20 73 74  locked/failed st
2890: 61 74 65 20 77 69 74 68 20 61 20 64 65 6c 61 79  ate with a delay
28a0: 2e 20 54 68 65 20 64 65 6c 61 79 20 67 69 76 65  . The delay give
28b0: 73 20 74 68 65 20 74 72 75 73 74 65 64 20 70 61  s the trusted pa
28c0: 72 74 79 20 74 69 6d 65 20 74 6f 0a 68 61 6e 64  rty time to.hand
28d0: 6c 65 20 74 68 65 20 68 61 63 6b 2e 3c 2f 70 3e  le the hack.</p>
28e0: 0a 0a 3c 70 3e 3c 62 72 3e 0a 3c 2f 70 3e 0a 0a  ..<p><br>.</p>..
28f0: 3c 70 3e 3c 62 72 3e 0a 3c 2f 70 3e 0a 0a 3c 68  <p><br>.</p>..<h
2900: 31 3e 43 6f 6d 70 6f 6e 65 6e 74 73 20 74 6f 20  1>Components to 
2910: 53 74 75 64 79 3c 2f 68 31 3e 0a 0a 3c 70 3e 3c  Study</h1>..<p><
2920: 2f 70 3e 0a 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20  /p>.<ul>.<li><a 
2930: 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 66 69  href="https://fi
2940: 72 65 6a 61 69 6c 2e 77 6f 72 64 70 72 65 73 73  rejail.wordpress
2950: 2e 63 6f 6d 2f 22 3e 46 69 72 65 6a 61 69 6c 3c  .com/">Firejail<
2960: 2f 61 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74  /a> (<a href="ht
2970: 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d  tps://github.com
2980: 2f 6e 65 74 62 6c 75 65 33 30 2f 66 69 72 65 6a  /netblue30/firej
2990: 61 69 6c 22 3e 73 72 63 3c 2f 61 3e 29 0a 69 73  ail">src</a>).is
29a0: 20 61 20 4c 69 6e 75 78 20 73 70 65 63 69 66 69   a Linux specifi
29b0: 63 20 63 6f 6d 70 6f 6e 65 6e 74 2c 20 62 75 74  c component, but
29c0: 20 69 74 20 6d 69 67 68 74 20 62 65 20 61 20 75   it might be a u
29d0: 73 65 66 75 6c 20 61 64 64 2d 6f 6e 20 6f 6e 20  seful add-on on 
29e0: 4c 69 6e 75 78 2e 3c 2f 6c 69 3e 0a 3c 2f 75 6c  Linux.</li>.</ul
29f0: 3e 0a 0a 3c 70 3e 3c 2f 70 3e 0a 0a 3c 70 3e 3c  >..<p></p>..<p><
2a00: 62 72 3e 0a 3c 2f 70 3e 0a 0a 3c 68 31 3e 3c 61  br>.</p>..<h1><a
2a10: 20 68 72 65 66 3d 22 2e 2f 77 69 6b 69 3f 6e 61   href="./wiki?na
2a20: 6d 65 3d 45 78 70 65 72 69 6d 65 6e 74 3a 2b 6d  me=Experiment:+m
2a30: 6d 6d 76 5f 73 69 6c 6b 65 78 65 63 3a 2b 52 65  mmv_silkexec:+Re
2a40: 66 65 72 65 6e 63 65 73 22 3e 52 65 66 65 72 65  ferences">Refere
2a50: 6e 63 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 3c  nces</a></h1>..<
2a60: 70 3e 3c 62 72 3e 0a 3c 2f 70 3e 0a 0a 5a 20 35  p><br>.</p>..Z 5
2a70: 63 32 39 61 31 39 61 64 64 62 35 38 34 33 39 62  c29a19addb58439b
2a80: 33 32 32 38 64 31 38 61 64 65 33 34 35 61 37 0a  3228d18ade345a7.