Check-in [51260e7f88]
Not logged in
Overview
Comment:First pass at auto-detection support for the ability to run CLR-based packages using the .NET Framework or Mono.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 51260e7f881cf26ecef3d40e1bcae2f0b469e786
User & Date: mistachkin on 2017-07-01 20:25:09
Other Links: manifest | tags
Context
2017-07-01
20:40
Add 'HelloWorld' MSIL-based package. check-in: d79f52abb9 user: mistachkin tags: trunk
20:25
First pass at auto-detection support for the ability to run CLR-based packages using the .NET Framework or Mono. check-in: 51260e7f88 user: mistachkin tags: trunk
03:46
Add support for more native platforms. Add support for the 'msil' meta-platform. check-in: 5f7af1c898 user: mistachkin tags: trunk
Changes

Modified client/1.0/neutral/pkgd.eagle from [b29a9ebd4f] to [1436a2a861].

276
277
278
279
280
281
282






















283
284
285
286
287
288
289
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







    #       library path.
    #
    variable viaInstall; # DEFAULT: false

    if {![info exists viaInstall]} then {
      set viaInstall false
    }

    #
    # NOTE: The command to use when attempting to verify that Mono and its
    #       associated runtimes are installed locally.  Generally, this is
    #       not needed on Windows machines.
    #
    variable monoInstalledCommand; # DEFAULT: mono --version

    if {![info exists monoInstalledCommand]} then {
      set monoInstalledCommand {mono --version}
    }

    #
    # NOTE: The regular expression pattern used when attempting to verify
    #       that Mono and its associated runtimes are installed locally.
    #       Generally, this is not needed on Windows machines.
    #
    variable monoInstalledPattern; # DEFAULT: ^Mono JIT compiler version \d+\.

    if {![info exists monoInstalledPattern]} then {
      set monoInstalledPattern {^Mono JIT compiler version \d+\.}
    }
  }

  #
  # NOTE: This procedure modifies the URN variables used by the package
  #       downloader client so that one or more alternative (private?)
  #       backend file servers may be used.  The serverId argument must
  #       consist only of alphanumeric characters and it must begin with
763
764
765
766
767
768
769
























































770
771
772
773
774
775
776
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







    #       within the auto-path.
    #
    addToAutoPath $language $directory

    return true
  }

  #
  # NOTE: This procedure attempts to verify that an instance of Mono and its
  #       associated runtimes are installed locally.  There are no arguments.
  #       The return value is non-zero if Mono appears to be installed and
  #       available for use; otherwise, the return value is zero.
  #
  proc isMonoInstalled {} {
    variable monoInstalledCommand
    variable monoInstalledPattern

    if {[isEagle]} then {
      if {[catch {
        eval exec -success Success $monoInstalledCommand
      } result]} then {
        return false
      }
    } else {
      if {[catch {
        eval exec $monoInstalledCommand
      } result]} then {
        return false
      }
    }

    if {![info exists result] || \
        ![regexp -- $monoInstalledPattern $result]} then {
      return false
    }

    return true
  }

  #
  # NOTE: This procedure attempts to verify that some runtime is available to
  #       run CLR applications locally (e.g. the .NET Framework or Mono JIT).
  #       There are no arguments.  The return value is non-zero if it appears
  #       that CLR applications should be runnable locally; otherwise, the
  #       return value is zero.
  #
  proc canUseMsilPlatform {} {
    if {[isWindows]} then {
      #
      # HACK: Assume that all Windows operating systems have a compatible
      #       version of the .NET Framework is installed -AND- that it can
      #       be used to run any CLR application.
      #
      return true
    } else {
      #
      # HACK: On all other platforms, assume that Mono can be used to run
      #       any CLR application.
      #
      return [isMonoInstalled]
    }
  }

  #
  # NOTE: This procedure verifies the combination of language and version
  #       specified by the caller.  The language argument must be one of the
  #       literal strings "eagle", "tcl", or "client".  The version argument
  #       must be one of the literal strings "8.4", "8.5", or "8.6" when the
  #       language is "tcl" -OR- the literal string "1.0" when the language
  #       is either "eagle" or "client".  The varName argument is the name
967
968
969
970
971
972
973
974
975
976






977













978

979
980
981
982
983
984
985
986
987
988
989
990
991
992








993
994
995
996
997
998
999
1045
1046
1047
1048
1049
1050
1051



1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071

1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085

1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100







-
-
-
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
-
+













-
+
+
+
+
+
+
+
+







            $language $version $localPackageName $localFileNames $localUsePgp]

        if {[string length $varName] > 0} then {
          upvar 1 $varName newPlatform
        }

        #
        # NOTE: Check the current platform and the neutral platform, in that
        #       order, to see if that platform is supported by the package
        #       being saught.  If so, return that platform.
        # NOTE: First, check the current platform and the neutral platform,
        #       in that order, to see if that platform is supported by the
        #       package being saught.
        #
        set thesePlatforms [list [getPlatform] neutral]

        #
        # NOTE: Next, optionally, allow the "msil" platform to be checked.
        #       Currently, this is always applicable on Windows; however,
        #       on all other platforms this depends on having Mono and its
        #       associated runtimes installed locally.
        #
        if {[canUseMsilPlatform]} then {
          lappend thesePlatforms msil
        }

        #
        # NOTE: Check each applicable platform, in order, stopping when a
        #       supported platform is found for the package being saught.
        #
        foreach thisPlatform [list [getPlatform] msil neutral] {
        foreach thisPlatform $thesePlatforms {
          if {[lsearch -exact $platforms $thisPlatform] != -1} then {
            set newPlatform $thisPlatform
            return
          }
        }

        #
        # NOTE: If this point is reached, there are no supported platforms
        #       that are compatible with the current one for the specified
        #       package.
        #
        error "could not automatically detect platform"
      }
      msil -
      msil {
        #
        # NOTE: Forbid the "msil" platform if it is not available for use.
        #
        if {![canUseMsilPlatform]} then {
          error "platform \"msil\" does not appear to be supported"
        }
      }
      neutral -
      win32-arm -
      win32-x86 -
      win64-arm64 -
      win64-ia64 -
      win64-x64 {
        #

Modified client/1.0/neutral/pkgd.eagle.asc from [53daed0b60] to [052c5a500c].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17













18
1
2
3
4













5
6
7
8
9
10
11
12
13
14
15
16
17
18




-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository

iQIcBAABCAAGBQJZVxrbAAoJEFAslq9JXcLZCP4QAJjq7pRySCfj2EWX/QY2yuyV
SVaHH4gN8V0BijiMTQGABqqkH3wRe/xu1jwmrf5oneo6foFKbUcG4rvL03UYXt4k
So7uvsz7uHgTfJYRzoRogudxCxf0W0uKUJiBRWH0qoK9IRsqPJDrKS64l6uBS9NV
LUyXuUhFJ9bUAFfB7vdwGYxfsI4GEqCp39tngR9Ld6I9pQvxBQzxNS5uXp7texGs
Tj57bvTw0ln29NKmO9Ind0/5++PK3zbDtMY1QfGCUx0LDwXSq/9GfIjk/kRtgyTx
iePynnjAE22hhm9n6pzBsF93RyB/2Kq3361PIltaiKykjLz6JsH7riIIZQc1Bjx3
1DUkg3Wvi+3y3KVa0Dy/GVHetYAEQgnqFY5lEDYMcnNhRII6fVPtTdBX6DPuYSZY
7NujpRYQWlRWXpneN1t/misDA4TT6Gz7QnpSxBx9/gexKNq/GnV3mog2PH0EEvXU
Nl8iJgTIN/uPorF3NOJwcy6eTgqA1AuZoidGLdGq26AmLP+9NUsnsMxu+ztcgHzd
ESsrspMxHcTEdIKAtYffJU0tDZ4r8D1g18QSDAiWh1X/Y8REB5FQT4ANQqfOHY7+
kbiltBbbuljQk30nuwnfKRoimt19fusUs/yDKu6lXAWaVxg03KrmG0iuuFqGj1oO
dcPxc8BGH6EYfRxry3GT
=EWC/
iQIcBAABCAAGBQJZWATvAAoJEFAslq9JXcLZmO8QAIsDwUkYGbRhIWh0igBLrjDk
RjiaWFdb96iHGcIftId6r9N+WTBLgqHk52eNa72HbAXIBL/cJ9qx4dj3k4QduP7r
h9La3yyzYsODrVWDODvd/v4OP9nSsizQUml10cE2j4B7Y52czYGm5NrvUi9bjUkX
AEkCowLjdVQmSOW/3sNqyU7TjbwdP/qRrKRvLwr6emxWb58f79BdEd7cXk4M2eT8
adSfI05qMwgw8h/0RIoSrluEHebrii/d/Q1Vp4Pm1gEBQ4v0m8Q4jqtMZpBX1KNw
umDdeCtjE1yihVxJdsR7HdaxpB9yZkqlFfSJpr5d2Dxx202f4QuYzL6Cy3LLxRuK
dMwhDOc2wltYyprD4Op0yInu0DcUg7nK2PlZ7LAIdoX11EcZLo2JCMVDtOVcQE9e
IqVEPlm62ejrtdJ2nbjBWBvsZU8tfjlaA202OLJfpZ9Xu9QIYEjNa1rPqARwUY4G
7LPGHZV4G8euE8mMMCR5XMeUl4wvE5OKdMDjPTatq5s1cei83JM9qvZi2xvpVN1d
KpF0C8GUbv4Z+lNcFEp5eEtf4/38p49CLU9gFFcgj0Ms1yHFBYqCm7TrN9lG527y
Txu+yArv22IdDrfWduVaw8c/tRCuyP7zl3hPb8PKAhvbwBXKXggiRocCT0bWlGjg
SVkO4hsVMeXzY7LatZ1R
=Oki/
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgd.eagle.harpy from [37450dd0a8] to [27a068b050].

17
18
19
20
21
22
23
24

25
26
27

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66




































67
68
17
18
19
20
21
22
23

24
25
26

27
28
29
30




































31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68







-
+


-
+



-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+


    THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED.
-->
<Certificate xmlns="https://eagle.to/2011/harpy"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Protocol>None</Protocol>
  <Vendor>Mistachkin Systems</Vendor>
  <Id>bbe901ce-bae8-4b6e-b6c3-5b302bf7960a</Id>
  <Id>dd78003f-f517-41af-b923-bb517e62b42a</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2017-07-01T03:45:08.9665235Z</TimeStamp>
  <TimeStamp>2017-07-01T20:23:53.1237500Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    f3m2jozpHjOj2qHzTQvMd3dNE5uV25R39vWe+y13fZDVjN2+JA6SXp5nxm9e61xaaGuT3DfAdEb8
    bky2kQroA/GRjyTtGOea6JEZDH4oZdnZbVtKQVDZwPuTPQxWhIc8zDBmWZBfokzWMJ8LZgb0oOxX
    H7bi674LdKaOv0Dxd9YUZxA/IAgD52JZ1J4qbcPyluuV/bRGJ+gxEsBiOzGV5fKy6JuobG9aMiw2
    0UKF3GJj97KwPH42n0fOGy6C8QydKNCuHZa4TCLEvW3QMQMzrjYl1cYt91CFxF/jGIOWxr5j5I6m
    jV2mtahmm/MMl4WqvdvG+bVZgr4GjkALiINp+HIKV9VQtVdtD5BH3BdOUhHr0+YOuXO5bPuBmREI
    GoVNli09XMrv71SoDAWifrzp7qvP9/g3XxKVSHtmmdh/DB5bPKMbtYPT1TQdtr8E9VBtefNXzTzI
    ltB0lwix0eLbcs2yTOt0F0eR2IRPAqhNjHNJPTLm7FSl8LXzuN04pnYdBIzW7w78UlRADs3PwoUd
    9MMlI9jTNpwYGvTmnR8Lz3JHdFEgDcIzI+9AVtfatWIK1qLsUq9WOnYR/1TWCRUblBk/JtEq4J0c
    H9kgzmN/7UMKs9zFL5pSuhdEPH981BPhTmaNO0tLbDW/oOc9gOfCDUa2Q9JU9BDt5k3FkpfMasLM
    +BqhY8JmS8YmFIrRX1ZdXddQVglDVGpNJmGlUpMhbtiuSzuIlqU8AcZHzhJGPBD/9Y7YnHcJn6Ac
    Ctp67AjPX5FMy3YMMWbKlnA5JAzQSTLt7Z01/+aCV5SQqpGtAKh6VD1Vi4OC550VUBdiZw+/RPsB
    3LMM1Yua8gmEEjcxO/OSLpjoasBz/Ul7smn33NudPxcK2GWQOVBxojeFE9BpPInuH6slqoBoi3e+
    gFaPuD9fIaUFiN7HhvJig+75dAb1CmSjRbwEGEijCh+72YntE1IVODNAzYZ/b8ftKqSyWISB87rK
    +xeiuVzTnSGwn4TQ5q+VByfkDAolI4RIV2a6H6lHZESNOayGaMQ+AqHkNKbST0Yobat2qyfAaSFe
    shZOr/2wAGzYzE9smcjY52aztGrHGM9L+cOvkHV9P8iLh6dG0nKTBimCwXWEiAVmV3b2sFlP6Dil
    2zgk0W24fvMyjuhG4uz0Zauui57spaY8C4XBIcsGt3DlYq6n8vqzovbMmau9kIAULLHChF6UzXbt
    5D/k6u04Z+/ct6P4TZhqaZe1uMAQfADfjqBngWQDnAK7JNsRcXW8gsNnRrXNeG7Ie2AgdIg4U3kM
    9apiOiPHX4pU8PMrEAqIfvDDTczrXDy5YT1nwZbpi/F3EF0oBUUqEpTpW6g0N89JtvPM/oJaCF3k
    hvAUEjWbfvj4Gz+apyYMr/up6fEOdm/reiYRMT+EFvHpT1CQUAYHis68YTcy3DEInqswuHvZEPUe
    gtf0gxzBJnAsgxtF7tQIkDE78gN8PWTZXmx0gW1peb9NjAljNAfWD25mxk9LirzGPfsnvwJfaxTy
    ivvId8H6vgrEyzGXnYGYbSxgAzNR7nQBZbx8DyOHn7ZADlhy76HTkZ6170PwrQ8FidI3pQjxzr7X
    T6KJmMv5P5KXLERbSMsaNyOprK4G0sPeUAGo55+wiVRJ7xlv0vCKKw5sfhLbP/a/v+p3iJrXOwDQ
    VnNnik5/+6u1rC6G0puiips5qT2qwzXCir+fgPfSNDkn/zxsupBEYZ9W7e9QSpMVgbexpp+YYED0
    9DxFjvaldmiCkObzbF+knhpzlxQs3CeK5IWxwSjaFxCTPCBt2AwL1OHq9hbo52fCkxfsge1WE5ao
    ssLm2vavawH7QLPH6IppGaDC71x/qbj4UmRce2C9vBS5z2ZRh3EKWmnOuvYiFLy0svk+Q0XKMbdn
    3HZ/z6Fws437cXMRyPkFz0LHDsEv041zmTS2F8vkywRulVz5jcVssLHZbC4Pt5KAZ4dcAKWCfg/m
    2/HVsbJUUKTFEEvlNHldHulE0b49yasmgtqB4JXamLN9AELA+QarxeXozxOXu3L5B0IcYvhz4iwl
    LcBshOf/0tTW9/3FDuDFL0U+2N6qgV6C7R7O/6b/qfZotDidUyPoflHfFjOyTuv74WEs4DXgVfO9
    0ARG4avOfaS7Ld9B86KoN2dUtLL9G+43R+5vbYgCTMd6DuYSCZgJ4dh+aYomVu2SMdieOWVjk9oA
    +XmQKFoiP4Au1TaiPQxAHriUIm+bdogVJqx9WQoPw/sgvZkXtwkyCCHs3f15waBq24fOC0KewD4d
    oyQTa8o7JORFhvvet5p4cV0cablF1s7JzZCkB/crwHLJxoALBCNZDLF8gmFidk5MIMjDyx2Ny+5H
    a1WZ80kmaed7eW8tICgNwFvpqE23oXCVGVzx7MuLotovqRl78z0tA6S2rdpTxkKv8Psu1aP9RPpg
    K6MMKEL2W6WpCMGkrFCK11VJPNZMcH6P7jGdhZjw6fOo36gvOXS36J3geIDymlON3wkCDYz4RiH/
    n3KFcg3ReyIGf3EmpXhN8sRvgN3SiWwvQRTzsQO6XPlIGJS/5vtEwbsbYUWCXoqCC6piaiziMiQc
    9e2zhTW+RCuv0SX3MDC5ZxEGAo4GDyQs2NrIjQyT9/Rhmr+O/rCjXk+MzG3J963xrDsLCY2WOT35
    oCcBhtB5TrJ/Uk0595ouLwKW0UPAdtb971VLSGVw8wyAbBqyWeq9hL5eKUF6zCAPq/LnlE4=
    WYA7+F6lTP525dYdArOt/XcVivPNz1XuipbNbrYZM2hLyZqdu3Upe7mzvT2ypXo6lUASeKADNy4D
    jvACScmkl5uSoutEjD8Sy4FS7lGcL6tD6RB4gCfYXJfQyA1S5jdEPu1XaP20FVt5w63fapYKORzG
    MdmXYGf3yjKDPYG6MFB5W7j/sbdKxKJzH6j4kOqdi2IbWsvss5RiBP/ClQGGlF4FW75weRI5z+Kf
    2hXBj8q9bCr2AeTkZVzeNq8ycANqSAqc5mLvDIGndHV0zfj9ueENlZU+Vp/38/afR/aSIzTu1Enr
    /LABQCIeSCgCWUjtWn8EukyeVQvY5AWb8xV4EijliOpDTmclHk+TCErvnXU8N1Ma5s6czYZ1GL1u
    jG5jOltLvX7AMFUS5g4Sv/9lT9KW3sKJOf8uYLT29yJRLAoAeWe3FfsQfaUweVJ6XrqA9uf3ZrCR
    qK6mW9LIY6AeZAe1e08prO44jwC23VfYhHAFkuitgDo/btSiP6nVWeYcMHwhTANsUQnsyUDBczMp
    LzKVDVKkWnM7TtqF55wlMVYfNhNYR6NiEujl8ht0duhpIS+zsNA9P0JLpbKsmcoIxv6vCQeZmHZU
    ug2QlKB/0N0xfSANiefIj3kESOCLAcg4FIYJuZJ7oSfbhZe6dNOq4Z/5SNLz8W5pZOoA2ZjWim1g
    sWRUf8aDcspathRmx5xU6F9BM/zDZSfJJKuzPwd1An/ziNN5gghRrr7t+UzeC+W/zmd6trH3hmRz
    kaZHG1HbJPOw+KnaTiZOD+zO8R0c2HW3/H344o+fUz3n3IGKtsCEXwGKAkYhWJ2Nz/D/XpXZHoOF
    TfEkY+mdBmVHGIqnqYeWN1huVX2/Y8A3dQyfwRLl81e0NQNRuaHmJJjISRWYa1MQggeCndJ358ro
    nQXtp4B38hoApWmsQ//zr5QG9Keq/VwpgzYHqsHlnOzsj0T93vsKkQAsnFGASsKSF2GLbtOaaV5d
    oPVbPwddiCGxbS1rMh8PNnztCVCcoBvfo38JoFtd2+K+X4O26hDlhWhq1ezo85gO8Zzq13LD+HIm
    yQCD7L9i6Pfv8rVbtFN1IcwDG0knKFnZq1/wznl9xH+Y+ze2xHUoWw8xo45bDyQVVbAn0uq2QMPj
    /FOB6FfNV5G9sTAUn4E4adIZl3naaIx0/0a6+rTIgeOLHzRpT3RNFS+r9CD04M1Uzw199r0+dMVB
    ExKbEpkpdCNdA58+yDQdqjD0CxYknGWen6dsdUOzdGGu6Jnsfeuk78jcG/nkfMSlye2F+/5zklSj
    UtzVGUXoVsl52ediLKCA3LEpu9mdybcBLPtNApZGz32jUy9Y6nIQiO52lK9FCoCYFN2YNXMdaqT+
    pDsA9yc4o+V0T8skdDjqjUyIopJqfJuAZnEGRx0YV28MvGkZUGEcSTWEBZvJWA7vGMKzPDoEWz9h
    MmzvyMp80tGhQ2tHMG13gdUcCntHpE0XZV4PWMIPeooBF6x6e1iJ/yjWk8Lf79ZrFZ1e0cSddNmG
    a4msS/s1qoRviqe29ZxRF+ruXk6GvZAhLuT4LGQilsBwLiDqNFWge3lLpHsV5jMug+rtCUfu2fuH
    YZUsqb1Qiho0lANGz3vtRkbFGjT90d/n1MH+PCoEv8mBhxJ6HtmFUo3GLKBD130UfNX+JiFHN5ny
    GINR0fP5+0ANbaLM42nDfU9K6Sb/zXvWZduAbrj5o+T5Flje3hbDaT8wno45DG1Ee4zl/0Jrb7Nr
    oH372AIhrJeRkSwRk/oVDuQ9aRlEj4K0k1F3RjGa7/Wv4KR80VSdIWsxjuJxh8UoMDc2P9SSn/xi
    0KzPRT48P4mcIm99eviua59ARUIaTSlxdYec96ywQMybiEL0TuRkcLL6/yZ0Eb3T3dN0ukcwY/hd
    qXwcvKgfIB4cg1E34OR6d5AVJMZFw2GScuQHJL9kmJT0DcnEl3cXetTQSgd04jy18cvp37UiupTQ
    trV4zGdZ8RIIynpcrMfrWW4dZdPL4Slwu/AiZ1NCvWT7HiAU0udL1xhzwtsjlAIks0/r7K0IZ/1k
    9VmViI3R8KFyew7ZR1ocYv8A7DAbkdJ3TK1zRsrfpfvHgSi18w3TOtjB1NV/84iGDT8jJ1AQFpW2
    f6lFTEW0NX2Lh78mPyUveaQ9WZhVEn0hRfafNNmS+MsLWb0Q3N0odWx04iPfa/WKdu+f3ors8MeO
    eUMPkBBemUJDWqx9o22+9sJqkrmWK/0aTG2DYagVkUef3q1v8c7zzRMMoQgtbypJJpk42eNlFFtZ
    WkJpQmCbEWBZGXNIiR9NM9hgQPGVE9EATee5m3ZUByqrKvNgDe+abptA7FA5of0o0x/62Yq9g+6l
    +Y6yDh98itLIeCbfthGgMz4G6cpNyY/qTbK1gxg0eSeH0Sxa/Qovc2FuL2YLXjQDoLq4sT9dSDZE
    ANUCOdmxsXtcX6tYiSTmO8+SxHRrA1ew1nbRTV2tcc3uGjRz+g3cFRcpyKlqd7jpmM8a0SNf/wIP
    mcbTN5BlqX288e5OvIj9uEOvvWPNL7fr9a76MDnA3eUGjKNL328X4jgsvfY+iHY/QXBvnZZclkaR
    Fxvqj8jfR5gxGFlKuQ8b2eN1zwvmH42rO45Gun98QQJ3dCFPSAUWPJgk91KtM+oFzCWCctDSKu8v
    aNEYM+bFZMIu19A9n40BX2GJ+HHjZ8TQBGnAzbYbU5s60Wq6+fuo2aMe769uwtFNDnbhuvA=
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgd.eagle.harpy.asc from [b85c14a06f] to [5ad4ccd236].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17













18
1
2
3
4













5
6
7
8
9
10
11
12
13
14
15
16
17
18




-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository

iQIcBAABCAAGBQJZVxreAAoJEFAslq9JXcLZgmsP/jCdQ3/yzbpSuU4pKdf4SgT5
iAuRb5hWGkdw/pZfjmY54pXqGSwYBCpobTqBa4m6F4CPpKBCzVakramF/4FAFNc7
iEM8odXntWuH7kDjR1T4DoYSOHiDa420/Xhnm0XglxyBBINlrLJlw4ZBPcm74VQm
Uq+YOh8zLG1JzM8m86eBCyTeWV+5ofnrkclmqrJQArOAJhn4OMtIxPVHJuBB9x5a
YzD9kYBW/+qsZAkBWZxEX7ezB5F8krk0P1O4MVEr0UxPD5DD0RJDRUhR9HdLMaHw
Z5zqOIjAo89hm0zKc1Q7rigdMODl/H0NoZnhU0rn1PfZ2WqRwhq/M9uf96CSxFE1
j1EiLHM597Y5yG34mzshx5J2pg+83INMlRZQe9CCTsO9nWZd5sMO46in6hRB95Tz
KLp1tJQ8d4Zn1rglmQMdDjLfnQbUhEEYSx0NKLu2JqH01mGrGmiyG60pQa/UQhKZ
mqrEBEqMB301/lvvF7u75I255M/kQiiDLCiHZIqwFguF8rPVfI+ePELBSJnkGOev
fC0vfHdMAkTxArlGc347x8aE5VO8cBmmseyadKhNK3yNWCme29TrWXJC1y7z0EXA
WprzAa8M54LbquVneUDbI9mOEDzYqAh86r6e+EApROw37xEN0+HWN7lOvwOcg5MN
QCiuSgwzvpk4lKtkzaDl
=ZMhV
iQIcBAABCAAGBQJZWATxAAoJEFAslq9JXcLZ4JcP/Aulat5GGiww8yUwlMmK6Yus
b8da/X31mGpYffqNdYGgLgjbK2/SU/kcbl3X5r3rxjlSmsKmoL+AfjQP2W0a97xP
Wy4t52l3quybL5Cb+luztBLoqR4TaSgKuRtDW85GKFIpBRAmRvJtzQ8oauy8nhva
QQlJVwF+SKUpj5Sr0ntxDYrtYni0ByoWV2eprdB276xsYsSkZGMzKlOakhVJVJIs
zQ6tcPE+x50zqw8D1hoT3o9Vc4itTeIU6/IhAST2tBUrulq443XRo25kxXTw9xeS
R91VvuyfeMRXy6HguoNmE+rtihBSwZepNRjbAMWz+QmXByyM1bWefffr0N7TMROu
jOXLW1vmF3ckEERKfcKcHhqC88UFxBrnhTJegCZPu+CV9PFb1GOCzS3Uy1oA9nBA
pgiBT9TwETplH4WRD+8nX6uU+oXJ/3Wxud8pXM22DmFcQ3aeajwA8Me4GEomH4k+
KZMFBRZKU1EgwURqi6XWnXyO20r4OMXZgakaritXX9Ryp8ZJ91Ku37yZKnonN68A
vEm2PpRpWOxXyMFThT58upfY0QcgTHFESrytuRPhhLWD5N+3AqJyg7aRnksAx+DP
sNBCuDzkFT5B71nqk9SWebmkIvdey/uZJTaI8zS/Rr8hZ0BqsV2Qav0qg5S0QeEj
1cvKa5DDkdKJWLzgO9MF
=GowX
-----END PGP SIGNATURE-----