Overview
Comment: | Breaking change to the public 'downloadFiles' package downloader procedure: use a single options dictionary instead of boolean arguments. Add the '-allowUpdate' option. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
8406634ad414831712166f5820886d55 |
User & Date: | mistachkin on 2016-10-18 23:58:06 |
Other Links: | manifest | tags |
Context
2016-10-19
| ||
00:06 | Improve an error message. check-in: ae0aa7a51c user: mistachkin tags: trunk | |
2016-10-18
| ||
23:58 | Breaking change to the public 'downloadFiles' package downloader procedure: use a single options dictionary instead of boolean arguments. Add the '-allowUpdate' option. check-in: 8406634ad4 user: mistachkin tags: trunk | |
19:49 | Add support for custom (private?) backend package file servers using overridden URNs for login, download, and logout. check-in: fc7477ac04 user: mistachkin tags: trunk | |
Changes
Modified client/1.0/pkgd.eagle from [809fd86192] to [825e8f4207].
︙ | ︙ | |||
945 946 947 948 949 950 951 | # 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 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 | > | | | | | > | < > > > > > > > > > > > > | 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 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 | # 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 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 } { variable clientDirectory variable persistentRootDirectory variable temporaryRootDirectory variable viaInstall verifyLanguageAndVersion $language $version isClient set temporaryDirectory [file join \ $temporaryRootDirectory [appendArgs \ pkgd_lib_ [::PackageRepository::getUniqueSuffix]]] if {$isClient} then { set persistentDirectory $clientDirectory } else { verifyPersistentRootDirectory set persistentDirectory $persistentRootDirectory } set persistent [string is true -strict \ [getDictionaryValue $options -persistent]] set usePgp [string is true -strict \ [getDictionaryValue $options -usePgp]] set useAutoPath [string is true -strict \ [getDictionaryValue $options -useAutoPath]] set allowUpdate [string is true -strict \ [getDictionaryValue $options -allowUpdate]] set downloadedFileNames [list] foreach fileName $fileNames { if {[string length $fileName] == 0 || \ [file pathtype $fileName] ne "relative"} then { error [appendArgs \ "bad file name \"" $fileName "\", not relative"] |
︙ | ︙ | |||
1013 1014 1015 1016 1017 1018 1019 | file mkdir [file dirname $downloadFileName] downloadOneFile $language $version $fileName $downloadFileName $usePgp lappend downloadedFileNames [list \ $fileNameOnly $directory(temporary) $directory(persistent)] | > | | 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 | file mkdir [file dirname $downloadFileName] downloadOneFile $language $version $fileName $downloadFileName $usePgp lappend downloadedFileNames [list \ $fileNameOnly $directory(temporary) $directory(persistent)] if {$usePgp && \ ![isOpenPgpSignatureFileName $downloadFileName true]} then { downloadOneFile $language $version [appendArgs $fileName .asc] \ [appendArgs $downloadFileName .asc] $usePgp lappend downloadedFileNames [list \ [appendArgs $fileNameOnly .asc] $directory(temporary) \ $directory(persistent)] } |
︙ | ︙ | |||
1037 1038 1039 1040 1041 1042 1043 | set directory(persistent) [lindex $downloadedFileName 2] file mkdir $directory(persistent) set command [list file copy] # # NOTE: When updating the package repository client files, always | | > | | 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 | set directory(persistent) [lindex $downloadedFileName 2] file mkdir $directory(persistent) set command [list file copy] # # NOTE: When updating the package repository client files, always # use the -force option to overwrite existing files. Also, # if we are allow updates, use the -force option. # if {$isClient || $allowUpdate} then { lappend command -force } lappend command -- lappend command [file join $directory(temporary) $fileNameOnly] lappend command [file join $directory(persistent) $fileNameOnly] |
︙ | ︙ |
Modified client/1.0/pkgd.eagle.asc from [3a11f23a23] to [625edefa26].
1 2 3 4 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 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 iQIcBAABCAAGBQJYBrbKAAoJEFAslq9JXcLZpzUQAMDS3tn2KmvGpDjiGbpynEOh OtZZMkaDmUvDVcMKO8Oqf7jdyCu3WcRdHD8AegsICNNtfWbQ7FQ4luAWFxRpZx0n Dx8EFVD+1gpImal0MHPreqqaLLt7ROyz2AOfAkI/4BslDylIuXMSMO6QM3emL6wR zg3KvwObs7k8H+OCqUtXEp3NBKhcybxApx8MAd3FDMl29g98OqwAIsj8f79NOyLG zXy+/lH/dWgkYrB715AvP4Obqq/sVwt/7N611/ZTUdce7JYYV2/fI00US1GmcXb0 QQ3vH4sfgioTj8Qp4sCvGByElECtptEuqtjV6UeZJlEs8U2J+OsbzXui9wmT+CbT tGJpxzy1+ED2hUmwsvyE0KDeZcFIAr61Q0rF8wtlm0MHmSxGCTd2VOj+hbKLbIqU pwHVdIxiDr1011CS82y1ORZ3l4iwU6pkVRPgXE0Gy4JvRuyoOp2rtcryYtDzbLsf DMP9F3poBk2Inl5xkwLRIsbKbpKXCX2/3X2dTVTFoZ5fo2DMV8aQg9iinQXFYBxM 3Tp9KIg1f18dz2uPEF3rbvsmXEQiHKD8uwHWZGGp1ZLnu3LcyqfAHoYMggt7PzeO pInVjSdDGEitIZjWm0eKIFWTKOaSJKb2wpOeBa1lCcqKh6+zKSX8geHHHw5Fea9z z+WhrvHbSNY7fVbZYrfD =SjxQ -----END PGP SIGNATURE----- |
Modified client/1.0/pkgd.eagle.harpy from [cd46d9146c] to [eca2257ee9].
︙ | ︙ | |||
17 18 19 20 21 22 23 | 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> | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>eea9d859-1ddf-49aa-ac3f-9a9df03d5df8</Id> <HashAlgorithm>SHA512</HashAlgorithm> <EntityType>Script</EntityType> <TimeStamp>2016-10-18T23:47:54.3204375Z</TimeStamp> <Duration>-1.00:00:00</Duration> <Key>0x9559f6017247e3e2</Key> <Signature> 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 </Signature> </Certificate> |
Modified client/1.0/pkgd.eagle.harpy.asc from [2090134fd5] to [a8ac174ecf].
1 2 3 4 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 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 iQIcBAABCAAGBQJYBrbLAAoJEFAslq9JXcLZ6pYP/jburWsK+qXKcGe+PjWFNu67 PgVqja4rp5stefKGmWUtXTHF9Eavna7K3fvsDkfoweZFq7KgmD2AUnRgNfAOh+g6 C+Scq8vxx4S0l/aAYYi/tp5jWWRCa4VLq1QF5ButiK/+iXtDP3zCX5t2o2HWxT07 5uZ+fA9XMWLb3lcCqokqoUSqfg5TV8scf5xHBsdiPeT8lb2Z5cDVDmrhK2Z8aIZ7 eLHwQNVrEX0gH5XendHjcoYdX54qs28OViqPeQH66p9VQGqnUVjTdc2i+p5d/fBe FZU8O8ED3lhxT/Ws5tUUvF50p8mO4Ex5zTNS+XBKS3TWE2RD1mLdODbHTnxkwozL mmluZodl7J4ZFY5roIi9/gdv5AhH2Bjr16eVYfwcQUZuAVgNdX3jOxlNUkDAdBeH dyTRA3iN75aPZ8HM/sYNfpGg+UMBVu23ZBjRDrgQGHJ+l2l7V9x1aAKsJRF0iDqv cZ+RM0CwicbsytsDHNFt7DKEKcso2uKq2hrTawX+YiUAxAhRJfQDCkN39A9A10Q1 +Jj7UDLgoKcf+pwMZsM3Dw+TjOlsY4XE+A7I9Mr2aqJio7xJR7UedEQMsqGjUgGB lKfTFERStaij8MXMT46rkwIfQuk1nSFkH+1KgaUJvEIGXRvnj2RXAkjNynsKyh0v qUmiYPNAwlYe5HJo/m38 =JcB5 -----END PGP SIGNATURE----- |