Check-in [3f6a616e8a]
Not logged in
Overview
Comment:Add initial support for platform-specific packages.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3f6a616e8a482535800f59b446de56d543d2dd20
User & Date: mistachkin on 2016-10-27 23:21:40
Other Links: manifest | tags
Context
2016-10-27
23:25
Fixup reference to the Eagle packages in externals given the new source tree layout. check-in: f0a1124bd2 user: mistachkin tags: trunk
23:21
Add initial support for platform-specific packages. check-in: 3f6a616e8a user: mistachkin tags: trunk
23:08
Move Garuda into the correct platform-specific directory. check-in: c8baa45aec user: mistachkin tags: trunk
Changes

Name change from client/1.0/VERSION to client/1.0/neutral/VERSION.

Name change from client/1.0/VERSION.asc to client/1.0/neutral/VERSION.asc.

Name change from client/1.0/license.terms to client/1.0/neutral/license.terms.

Name change from client/1.0/license.terms.asc to client/1.0/neutral/license.terms.asc.

Name change from client/1.0/pkgIndex.eagle to client/1.0/neutral/pkgIndex.eagle.

Name change from client/1.0/pkgIndex.eagle.asc to client/1.0/neutral/pkgIndex.eagle.asc.

Name change from client/1.0/pkgIndex.eagle.harpy to client/1.0/neutral/pkgIndex.eagle.harpy.

Name change from client/1.0/pkgIndex.eagle.harpy.asc to client/1.0/neutral/pkgIndex.eagle.harpy.asc.

Name change from client/1.0/pkgIndex.tcl to client/1.0/neutral/pkgIndex.tcl.

Name change from client/1.0/pkgIndex.tcl.asc to client/1.0/neutral/pkgIndex.tcl.asc.

Modified client/1.0/neutral/pkgd.eagle from [120bac8f62] to [c16bb4baaf].

634
635
636
637
638
639
640


































641
642
643
644
645
646
647
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681







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








      set isClient true
    } else {
      error "unsupported language"
    }
  }

  #
  # NOTE: This procedure verifies the platform specified by the caller.  The
  #       platform argument must be an empty string -OR- one of the literal
  #       strings "win32-arm", "win32-x86", "win64-arm64", "win64-ia64", or
  #       "win64-x64".  An empty string means that the associated entity does
  #       not require a specific platform.  Upon failure, a script error will
  #       be raised.  The return value is undefined.
  #
  proc verifyPlatform { platform varName } {
    switch -exact -- $platform {
      "" {
        #
        # NOTE: This platform name is supported; however, the name needs
        #       to be normalized to "neutral".
        #
        if {[string length $varName] > 0} then {
          upvar 1 $varName newPlatform; set newPlatform neutral
        }
      }
      win32-arm -
      win32-x86 -
      win64-arm64 -
      win64-ia64 -
      win64-x64 {
        #
        # NOTE: This platform name is supported verbatim, do nothing.
        #
      }
      default {
        error "unsupported platform"
      }
    }
  }

  #
  # NOTE: This procedure issues a request to an HTTP(S) server.  It returns
  #       the raw response data verbatim.  It may raise a script error.  It
  #       will always use the currently configured HTTP(S) login cookie, if
  #       any; therefore, it should really only be used for requests to the
  #       package file server.  The uri argument is the fully qualified URI
  #       to request.
833
834
835
836
837
838
839
840
841
842
843
844









845
846
847

848
849
850
851
852

853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868

869


870
871
872


873
874
875
876
877
878
879
867
868
869
870
871
872
873





874
875
876
877
878
879
880
881
882
883
884

885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908

909
910
911
912

913
914
915
916
917
918
919
920
921







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


-
+





+
















+
-
+
+


-
+
+








  #
  # NOTE: This procedure checks if there is a higher version available of the
  #       specified package on the package file server.  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 packageName argument
  #       is a directory name relative to the language and version-specific
  #       directory on the package file server and may be an empty string.  The
  #       usePgp argument should be non-zero when an OpenPGP signature file
  #       needs to be downloaded and verified for the downloaded file.
  #       the language is either "eagle" or "client".  The platform argument
  #       must be an empty string -OR- one of the literal strings "win32-arm",
  #       "win32-x86", "win64-arm64", "win64-ia64", or "win64-x64".  An empty
  #       string means that the associated package does not require a specific
  #       platform.  The packageName argument is a directory name relative to
  #       the language and version-specific directory on the package file
  #       server and may be an empty string.  The usePgp argument should be
  #       non-zero when an OpenPGP signature file needs to be downloaded and
  #       verified for the downloaded file.
  #
  # <public>
  proc checkForHigherVersion { language version packageName usePgp } {
  proc checkForHigherVersion { language version platform packageName usePgp } {
    variable clientDirectory
    variable persistentRootDirectory
    variable temporaryRootDirectory

    verifyLanguageAndVersion $language $version isClient
    verifyPlatform $platform platform

    set temporaryDirectory [file join \
        $temporaryRootDirectory [appendArgs \
        pkgd_ver_ [::PackageRepository::getUniqueSuffix]]]

    if {$isClient} then {
      set persistentDirectory $clientDirectory
    } else {
      verifyPersistentRootDirectory
      set persistentDirectory $persistentRootDirectory
    }

    set fileName [file join $packageName VERSION]
    set downloadFileName [file join $temporaryDirectory $fileName]

    file mkdir [file dirname $downloadFileName]

    downloadOneFile $language $version $fileName $downloadFileName $usePgp
    downloadOneFile $language $version $platform \
        $fileName $downloadFileName $usePgp

    if {$usePgp} then {
      downloadOneFile $language $version [appendArgs $fileName .asc] \
      downloadOneFile $language $version $platform \
          [appendArgs $fileName .asc] \
          [appendArgs $downloadFileName .asc] $usePgp
    }

    set localFileName [file join $persistentDirectory $fileName]

    set compare [package vcompare \
        [string trim [readFile $downloadFileName]] \
894
895
896
897
898
899
900
901
902
903
904
905
906










907
908


909
910
911
912
913
914
915
916
917

918
919
920
921
922
923
924
936
937
938
939
940
941
942






943
944
945
946
947
948
949
950
951
952
953

954
955
956
957
958
959
960
961
962
963

964
965
966
967
968
969
970
971







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

-
+
+








-
+







  #       verify the OpenPGP signatures.  When an OpenPGP signature file is
  #       downloaded, this procedure assumes the corresponding data file was
  #       already downloaded (i.e. since OpenPGP needs both to perform the
  #       signature checks).  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 fileName argument is a file
  #       name relative to the language and version-specific directory on the
  #       package file server.  The localFileName argument is the file name
  #       where the downloaded file should be written.  The usePgp argument
  #       should be non-zero when an OpenPGP signature file needs to be
  #       downloaded and verified for the downloaded file.
  #       is either "eagle" or "client".  The platform argument must be an
  #       empty string -OR- one of the literal strings "win32-arm",
  #       "win32-x86", "win64-arm64", "win64-ia64", or "win64-x64".  An empty
  #       string means that the associated package does not require a specific
  #       platform.  The fileName argument is a file name relative to the
  #       language and version-specific directory on the package file server.
  #       The localFileName argument is the file name where the downloaded
  #       file should be written.  The usePgp argument should be non-zero when
  #       an OpenPGP signature file needs to be downloaded and verified for
  #       the downloaded file.
  #
  proc downloadOneFile { language version fileName localFileName usePgp } {
  proc downloadOneFile {
          language version platform fileName localFileName usePgp } {
    variable baseUri
    variable downloadUri
    variable downloadUrn

    #
    # NOTE: First, build the full relative file name to download from
    #       the remote package repository.
    #
    set fileName [file join $language $version $fileName]
    set fileName [file join $language $version $platform $fileName]
    set uri [subst $downloadUri]

    #
    # NOTE: Then, in one step, download the file from the package file
    #       server and write it to the specified local file.
    #
    writeFile $localFileName [getPackageFile $uri]
942
943
944
945
946
947
948




949
950
951
952
953
954
955
956
957
958
959
960












961
962
963

964
965
966
967
968
969

970
971
972
973
974
975
976
989
990
991
992
993
994
995
996
997
998
999












1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013

1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028







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


-
+






+







  #
  # NOTE: This procedure attempts to download a list of files, optionally
  #       persistening them for subsequent uses by the target language.
  #       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 platform argument must be an empty string -OR-
  #       one of the literal strings "win32-arm", "win32-x86", "win64-arm64",
  #       "win64-ia64", or "win64-x64".  An empty string means that the
  #       associated package does not require a specific platform.  The
  #       or "client".  The fileNames argument must be a well-formed list
  #       of file names to download, each one relative to the language and
  #       version-specific directory on the package file server.  The
  #       options argument must be a dictionary of name/value pairs.  The
  #       -persistent option should be non-zero if the downloaded files
  #       should be saved to permanent storage for subsequent use.  The
  #       -usePgp option should be non-zero when an OpenPGP signature file
  #       needs to be downloaded and verified for each downloaded file.  The
  #       -useAutoPath option should be non-zero to modify the auto-path to
  #       include the temporary or persistent directories containing the
  #       downloaded files.  The -allowUpdate option should be non-zero to
  #       allow existing package files to be overwritten.
  #       fileNames argument must be a well-formed list of file names to
  #       download, each one relative to the language and version-specific
  #       directory on the package file server.  The options argument must
  #       be a dictionary of name/value pairs.  The -persistent option should
  #       be non-zero if the downloaded files should be saved to permanent
  #       storage for subsequent use.  The -usePgp option should be non-zero
  #       when an OpenPGP signature file needs to be downloaded and verified
  #       for each downloaded file.  The -useAutoPath option should be
  #       non-zero to modify the auto-path to include the temporary or
  #       persistent directories containing the downloaded files.  The
  #       -allowUpdate option should be non-zero to allow existing package
  #       files to be overwritten.
  #
  # <public>
  proc downloadFiles { language version fileNames options } {
  proc downloadFiles { language version platform fileNames options } {
    variable clientDirectory
    variable persistentRootDirectory
    variable temporaryRootDirectory
    variable viaInstall

    verifyLanguageAndVersion $language $version isClient
    verifyPlatform $platform platform

    set temporaryDirectory [file join \
        $temporaryRootDirectory [appendArgs \
        pkgd_lib_ [::PackageRepository::getUniqueSuffix]]]

    if {$isClient} then {
      set persistentDirectory $clientDirectory
1021
1022
1023
1024
1025
1026
1027

1028


1029
1030
1031
1032
1033
1034
1035


1036
1037
1038
1039
1040
1041
1042
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







+
-
+
+






-
+
+







      if {[file exists $downloadFileName]} then {
        error [appendArgs \
            "temporary file name \"" $downloadFileName \
            "\" already exists"]
      }

      file mkdir [file dirname $downloadFileName]

      downloadOneFile $language $version $fileName $downloadFileName $usePgp
      downloadOneFile $language $version $platform \
          $fileName $downloadFileName $usePgp

      lappend downloadedFileNames [list \
          $fileNameOnly $directory(temporary) $directory(persistent)]

      if {$usePgp && \
          ![isOpenPgpSignatureFileName $downloadFileName true]} then {
        downloadOneFile $language $version [appendArgs $fileName .asc] \
        downloadOneFile $language $version $platform \
            [appendArgs $fileName .asc] \
            [appendArgs $downloadFileName .asc] $usePgp

        lappend downloadedFileNames [list \
            [appendArgs $fileNameOnly .asc] $directory(temporary) \
            $directory(persistent)]
      }
    }

Modified client/1.0/neutral/pkgd.eagle.asc from [41eb5a0165] to [35e3d1c890].

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

iQIcBAABCAAGBQJYBrjcAAoJEFAslq9JXcLZSGgP/RVui2Xa4k1YcgF6QVACMzit
6s6uRh+ArmPiNdOzicBIkscIjlz9zeGNK7EYuFuCssSY//gzljMIUxqfXTzDxAxw
y0VB6AdfcHWNCDIN1IIFvuITNeHcJ57m0CKxQmYvmI+0wcNK7CD4+2tvoaHAvt+D
TwXA4FaZe6A6gYqnmNCvjIT2QKjA7KLQqwm74keh9bL4NY6eOWFrRpq2FkH6o75q
J/X0WErNeO856eqBxGtmPG+Q1298OLLsre06AIoL8qMijGWjCWbDPE6ydoZ9Oqh8
wp8f9dZFIW9b2vngMjiviiyMwBHBaSEPJ9He7hMomaXcMo9sHigT7+AZ5N5e3V70
qFsoNO01l6gupEQ0jzlYiOUh8KTtEFfzAKVX0oOyBeFQPVa7wHKY3cand/0Lj/8q
3MMtuLttWamh5nPMfzrP+pgN7YQhAp2fNS5POnTKgwzg7vggKZIUf6E0Ga+kdlx6
BxpPuOpf7jMMkFSa4uvbO2DQhpkoQqRiqnok/vk+eL87nmYnM6ehGa/Yve+2A7Z3
If/pLTgTbu+w34Mtv6uYk7xY+pQe2buoIuElrMsaCOOJ9g0GF51G0HCz+tQt6bNR
b1ggG8ZQM93vh281mPYA/hZMyUqeaFX1SMIsRJYga9NuLTpkliLjpeq29zVXKEBn
re8Q1YHJHjcQlyhiqUVt
=yIaN
iQIcBAABCAAGBQJYEovnAAoJEFAslq9JXcLZGOoP/jvHF0JHjEGMPPYwz0RlskVp
pqIQwnkEZbMe6bqc3BdXPwIV3oLB4/nJ/g0MpmRJrH5X8jZD5X5eRSzncPtb8MrY
ybBcg302IUzdNQ375xMJLi7l9V3ziA2HE46KYYBe1nIjJrSqi3VdlCsCrnAV8jN3
o1/kpd3b7xci1vrECoN4mgBiWSwR9Pmt6IZM6QkiO9HMFPH0kMbOo3IQxSh1Ea5C
e1fydO9YMQFIHT00234gttos9fRR+mtlGoIPmFicoVYUCO+B7mh565TUKpUzvAmf
bmScTA1njVlwwftxiRSBAzM4FhcczD98adatT14Scm++2TfPuQGydVoo8V5UKS/W
yNifJx2Z1nvl6XwvK0YJkNm+PHF+/Itg3oTB4uiKsYyu0dcuGDWvX0+eOGvnEXmr
Rg617S4MZU741lfAnmDvyw7qdoAgpdVcRWZ4bmzeSObfrECurqbkRBgyn2H/DWri
erPtK7BwnkygL6IISm5dn5rLRWrUGlByhi5SNVrg/5oAbdCXhfG3+EdIrf2wjYnt
2wV4upfxs5qONN/h6HKDcEiUAhBlJXVXy4MkdlTBKsohV4Be03/Irk/21SOc2PQM
36aqnipbjOsRIHn8ptjUbN9Fp6kj7urQ8n+dPVHR/Dxjg+7lusLW1gTIed9LXTAN
LVnajL/bzzePXuSzSlDO
=Jxit
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgd.eagle.harpy from [4e8bed83ca] to [8756d0eeb2].

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>167e825c-3f92-4b50-b472-ca33369ed2ba</Id>
  <Id>3748f75c-202b-423f-a9ab-5e84b913e624</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-10-19T00:04:51.1466094Z</TimeStamp>
  <TimeStamp>2016-10-27T23:20:48.2421406Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgd.eagle.harpy.asc from [4c47e58a17] to [9e86df5fe3].

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

iQIcBAABCAAGBQJYBrjeAAoJEFAslq9JXcLZiNEQAJCXuhQfmKg91lVoZCdLkS8v
hRwZCG2WL+XuN0Vm7KMRtkY1km70gWULdXZZbwBMg8UEVC++QbLDttQEVEsuFxrP
vfABrVAGJ3USsYm3/dIV87kZuaHd/LB//PzJ4f7gjFLVE4+G62VA5yqZItliWE1f
hcPj410oo5wX+N3bTspEtDUGjNYh5i5eq4V0m+EM77QuV+d3e2pmP6yLumRzUfvN
6BKqno/Tom0mT9uaa2y4N3dJ3OICdmfHSKc5FCgODQ8qTjsIpk2P0fUIj5qad1+v
icUDnUEUaOaMIGXx0/GXUmIzz/fUQZOC0AGV65q57bLt0IsMjhkfZNXDVYUakXqx
Fnn/dP12XVbSIfsC8i9wBcf+pRvo9etiMByss0sRcm3o2uhwFWIwuCsSVWZexU7U
vV6HA2mDWpgMOhY39BMxpiKRzZv3hqHjPLjQXUQ+iiqBuc0vHKu0CWbY+po4L++a
kbgEvIl020ymwBjLzsPcjxBlY+pRd27RfaaQX9zVEX6ZvdH3UP7EdlcOU3fGuL/h
2bGaJBbzyXrPUkzw7VTED4hbYpi/BfyPUXts2zzB4hu/JBRfPMshiL1txMh5u1E6
dCi2E+gcGWaJZ50hLn07ae1COGtqFrcErzFAgO7IJUCb4Xb4T7HPCE198PIUbD3m
S3SMU02ISH2RNdlOPrWF
=2VdE
iQIcBAABCAAGBQJYEovpAAoJEFAslq9JXcLZwi4QAKX3E7kVEtSZS0jIIJDpOYRU
GF+La2EgmEMiHuavCwSoZ9+Il2ATaZ7ohQUkNKj6o+tyG8Z+9s3TpQwi1q5/Jyw4
99C7Fm+nuikDV+l6GJOoQGyA5e6gvQES1Tgx96PW1WZv16HJUGVcF0VgTVbtC5RQ
Gq6a2pvoLWMR+v8SXgxV7XYoVFciyLexBQMWnTWZOy4rxhC9gDgdRMPkojNZLfN3
mKmBDK4fvKF8mmeyw+yxQLm6xDvt6Ljxy+91KcfF0eKhZzJme9FFhihObr+miKWa
E5J9ePF/R2K1eVqyh1sjfUY67bgDuiyjFXFZoO+Svohb1ZP2oqfL+H65KJGgO8m2
XWz6T8MACFD/7JJB13wCW89L3UW1bVSTXR/8jTK+ArshHSok5lTkjfCJLzdZjqWa
Z1wfSAvAum62H5DrZPNUPDG9qfXpt3p1RnDW2ZWaBgKbBEKdogTyC/0WgqVpSE2H
ka6L5ZAQG7RT0TEPPvD8TUJ2BPLAfJKDc0SjOqqUz3l781jK/pkEfa1rDOIQaOun
VTuisBmMd1n2+8+8YDCpEcwdrUxADyVbqyAcYw2Rb5NmDEpS1jd3qMOZfrXetVo4
W3H830MlAWsTJ/Ct8qKPEMz05REvUu8KwSczeSahgR4GU/gIriVm43edr6c85m23
Rv1rijrRSb3MOvJtHqmf
=RqcK
-----END PGP SIGNATURE-----

Name change from client/1.0/pkgd.settings.mistachkin.eagle to client/1.0/neutral/pkgd.settings.mistachkin.eagle.

Name change from client/1.0/pkgd.settings.mistachkin.eagle.asc to client/1.0/neutral/pkgd.settings.mistachkin.eagle.asc.

Name change from client/1.0/pkgd.settings.mistachkin.eagle.harpy to client/1.0/neutral/pkgd.settings.mistachkin.eagle.harpy.

Name change from client/1.0/pkgd.settings.mistachkin.eagle.harpy.asc to client/1.0/neutral/pkgd.settings.mistachkin.eagle.harpy.asc.

Name change from client/1.0/pkgr.eagle to client/1.0/neutral/pkgr.eagle.

Name change from client/1.0/pkgr.eagle.asc to client/1.0/neutral/pkgr.eagle.asc.

Name change from client/1.0/pkgr.eagle.harpy to client/1.0/neutral/pkgr.eagle.harpy.

Name change from client/1.0/pkgr.eagle.harpy.asc to client/1.0/neutral/pkgr.eagle.harpy.asc.

Name change from client/1.0/pkgr.settings.mistachkin.eagle to client/1.0/neutral/pkgr.settings.mistachkin.eagle.

Name change from client/1.0/pkgr.settings.mistachkin.eagle.asc to client/1.0/neutral/pkgr.settings.mistachkin.eagle.asc.

Name change from client/1.0/pkgr.settings.mistachkin.eagle.harpy to client/1.0/neutral/pkgr.settings.mistachkin.eagle.harpy.

Name change from client/1.0/pkgr.settings.mistachkin.eagle.harpy.asc to client/1.0/neutral/pkgr.settings.mistachkin.eagle.harpy.asc.

Name change from client/1.0/pkgr_install.eagle to client/1.0/neutral/pkgr_install.eagle.

Name change from client/1.0/pkgr_install.eagle.asc to client/1.0/neutral/pkgr_install.eagle.asc.

Name change from client/1.0/pkgr_install.eagle.harpy to client/1.0/neutral/pkgr_install.eagle.harpy.

Name change from client/1.0/pkgr_install.eagle.harpy.asc to client/1.0/neutral/pkgr_install.eagle.harpy.asc.

Name change from eagle/1.0/data1.0/data.eagle to eagle/1.0/neutral/data1.0/data.eagle.

Name change from eagle/1.0/data1.0/data.eagle.asc to eagle/1.0/neutral/data1.0/data.eagle.asc.

Name change from eagle/1.0/data1.0/data.eagle.harpy to eagle/1.0/neutral/data1.0/data.eagle.harpy.

Name change from eagle/1.0/data1.0/data.eagle.harpy.asc to eagle/1.0/neutral/data1.0/data.eagle.harpy.asc.

Name change from eagle/1.0/data1.0/pkgIndex.eagle to eagle/1.0/neutral/data1.0/pkgIndex.eagle.

Name change from eagle/1.0/data1.0/pkgIndex.eagle.asc to eagle/1.0/neutral/data1.0/pkgIndex.eagle.asc.

Name change from eagle/1.0/data1.0/pkgIndex.eagle.harpy to eagle/1.0/neutral/data1.0/pkgIndex.eagle.harpy.

Name change from eagle/1.0/data1.0/pkgIndex.eagle.harpy.asc to eagle/1.0/neutral/data1.0/pkgIndex.eagle.harpy.asc.

Name change from tcl/8.4/tcllib1.15/aes/aes.tcl to tcl/8.4/neutral/tcllib1.15/aes/aes.tcl.

Name change from tcl/8.4/tcllib1.15/aes/aes.tcl.asc to tcl/8.4/neutral/tcllib1.15/aes/aes.tcl.asc.

Name change from tcl/8.4/tcllib1.15/aes/pkgIndex.tcl to tcl/8.4/neutral/tcllib1.15/aes/pkgIndex.tcl.

Name change from tcl/8.4/tcllib1.15/aes/pkgIndex.tcl.asc to tcl/8.4/neutral/tcllib1.15/aes/pkgIndex.tcl.asc.