Overview
Comment: | Get metadata submission working for the package uploader client. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e45fd33145eb2950dc62e701786b2558 |
User & Date: | mistachkin on 2016-12-19 03:57:43 |
Other Links: | manifest | tags |
Context
2016-12-19
| ||
19:28 | More work on the staging and commit phases of the package uploader client. check-in: 682f275075 user: mistachkin tags: trunk | |
03:57 | Get metadata submission working for the package uploader client. check-in: e45fd33145 user: mistachkin tags: trunk | |
2016-12-18
| ||
21:53 | Initial work on the package uploader client. Not yet fully working nor tested. check-in: 43aac90409 user: mistachkin tags: trunk | |
Changes
Modified client/1.0/neutral/pkgr.eagle from [2df5f1ebc0] to [18b3f30652].
︙ | ︙ | |||
614 615 616 617 618 619 620 621 622 623 624 625 626 627 | return [list] } # # NOTE: This procedure returns the base URI for the package repository # server. There are no arguments. # proc getLookupBaseUri {} { global env set varName [appendArgs [getLookupVarNamePrefix] base_uri] if {[info exists $varName]} then { return [set $varName] | > | 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 | return [list] } # # NOTE: This procedure returns the base URI for the package repository # server. There are no arguments. # # <internal> proc getLookupBaseUri {} { global env set varName [appendArgs [getLookupVarNamePrefix] base_uri] if {[info exists $varName]} then { return [set $varName] |
︙ | ︙ | |||
644 645 646 647 648 649 650 651 652 653 654 655 656 657 | # name of the package being looked up, it cannot be an empty # string. The version argument is the specific version being # looked up -OR- an empty string for any available version. There # are no HTTP requests issued by this procedure; it simply returns # the URI to use. # proc getLookupUri { apiKeys package version } { set baseUri [getLookupBaseUri] if {[string length $baseUri] == 0} then { return "" } # | > > > > > | 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 | # name of the package being looked up, it cannot be an empty # string. The version argument is the specific version being # looked up -OR- an empty string for any available version. There # are no HTTP requests issued by this procedure; it simply returns # the URI to use. # proc getLookupUri { apiKeys package version } { # # NOTE: Fetch the base URI for the package repository server. If it # is not available for some reason, just return an empty string # to the caller (i.e. as we cannot do anything productive). # set baseUri [getLookupBaseUri] if {[string length $baseUri] == 0} then { return "" } # |
︙ | ︙ | |||
1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 | } # # NOTE: Load a native Tcl library. It absolutely must be signed with a # valid Authenticode signature. # tcl load -findflags +TrustedOnly -loadflags +SetDllDirectory # # NOTE: Verify that the native Tcl library appears to have beed loaded # into this interpreter. # tclMustBeReady } | > | 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 | } # # NOTE: Load a native Tcl library. It absolutely must be signed with a # valid Authenticode signature. # tcl load -findflags +TrustedOnly -loadflags +SetDllDirectory # tcl load -findflags =Typical -loadflags +SetDllDirectory # # NOTE: Verify that the native Tcl library appears to have beed loaded # into this interpreter. # tclMustBeReady } |
︙ | ︙ |
Modified client/1.0/neutral/pkgr.eagle.asc from [683837788b] to [56a0c320f7].
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 iQIcBAABCAAGBQJYV1qhAAoJEFAslq9JXcLZBk8P/R61sxn625uxedhGkghlBeMG eig8G8jh3phTRc9Cj4dBK/gpzV0m3rb7ZTamWweO80s3WAJHCG2wt6LSY3OSOTXk zXPzO0BPh9+E4zNY8OsGuYlny9/R52AvQJIoe7e6Av1hnMMMVfDeLEit4P2rlkH0 0FJQtZonIi2hB6k/qHOH56MX3MGxWx6oqYUHKm1j+SeAFoEaCOd859+suarsVro5 LtEaM2SZk8ey3iXcXv5uuUxLQywB6Xj8ldg0wOEJWSXsBNpokWG2SXYQpb2NnDdK YJTz9hozVltRGO/cu/n8L8oUdpraflG9Bab3AS94ge8e4R9D3ZHFgzb2qASPykIK CZGioPet1uXu7Gie1KQfxa2oaCLwSsvnwoTc5wKRuOc20qpfr4MOkNXlTAzcdQiI ue1FR2tn6WQKj08FOeKDg9jaJh+Ijb/T0V7/FXEEcZ/hmNlY6xRMo+Sx1loT1OMC 4cv82B/aX0esNNjQgvNOOCw0LsuwhCcTILd7JX7DxQlVZ4eQYPO9FVrYdOYm7Gcl N3nkyn5Rddo9OU/fIJGa+Dc6qqiJak5bXVDyGO7Z9jwy6N6cdN1T3XKNnk6kb8nJ rrkRn0Lt5Jsap8yk+N35HxK4j+4mDgrbZqT2r2/DMuC+bkEBx9dATsKe2So0DYb0 boTTCES9e1rsLTG0kwVo =SxLw -----END PGP SIGNATURE----- |
Modified client/1.0/neutral/pkgr.eagle.harpy from [c59a944dab] to [56af910fb2].
︙ | ︙ | |||
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>884ed82e-1119-488c-aa4b-9e59d0b2e9f2</Id> <HashAlgorithm>SHA512</HashAlgorithm> <EntityType>Script</EntityType> <TimeStamp>2016-12-19T03:56:33.4648437Z</TimeStamp> <Duration>-1.00:00:00</Duration> <Key>0x9559f6017247e3e2</Key> <Signature> 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 </Signature> </Certificate> |
Modified client/1.0/neutral/pkgr.eagle.harpy.asc from [3037ce66b5] to [95dff715e0].
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 iQIcBAABCAAGBQJYV1qjAAoJEFAslq9JXcLZN4YP/RMTQeRmnOHVaZZ5voONVqy4 dtYh/ZvbiDdnohwuRr3o951+FD2iuoQKEInRivyQAliuTHp1qFdriG3oALKlh7X+ mqjumejW1jyLciS+lxqDHCxYP5zuSahF4oEIo+4bdP8nG2+vsr2brUvLqiuuSsKw v+9J4gC9XvALl21yAGXWQw4uiPoHOmzRfrpkfCdPfcsxx2wLaeKqYUiBr50Ap1Ip 0CAEBT7jXqeC+qdqdxsD52JLiMnNAmSZup15vtKbJIei2z3ac03kyJSeY1zB83VS ZWkXcyncEdSqZSWjZ93oEB2hScDKUbAmewb8rJRkCbTJbu/xHMGEW1QCIdlRtLGh n1js497t32lXTeIe4DKCo8scgF1Q1gKNrYssiRTSHC6Z4YwTzDI7cwxISkXrJXUM 7uRMDusaUV17cYobUiB2h6dzgmrYYFW4BApsSF0TnwH83TIpxvY9sbNIaHFdi9IQ RYu6UKP+Hx9ipr9CVoj/fNLoeKcw/v7+i2hy/fNkZlHFzLuIEVNcni3QWRtpK2Bp 27wXrPM1c72ZQrPFb4zzF3wxxYPHj9zbhBDUvZdFZy2NvC+8WOqtnnDZh9/RsV/j HbKqGeAqDYNyCrEjDHv8JhYcCugp/3yPUH+WFcsNpbOSBynJyLDv+r1vq6TmSHHp 7LKbHF0Umv/7+Dm5Wy/h =59LI -----END PGP SIGNATURE----- |
Modified client/1.0/neutral/pkgr_upload.eagle from [4e70a976f9] to [d5bee856dc].
︙ | ︙ | |||
81 82 83 84 85 86 87 88 89 90 91 92 93 94 | # that Fossil committed a set of files. # variable fossilCommitPattern; # DEFAULT: {^New_Version: ([0-9a-f]{40})$} if {![info exists fossilCommitPattern]} then { set fossilCommitPattern {^New_Version: ([0-9a-f]{40})$} } } # # NOTE: This procedure returns a string value, formatted for use within a # script block being processed by the [string map] command. The # value argument is the string value to format. No return value is # reserved to indicate an error. This procedure may not raise any | > > > > > > > > > | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | # that Fossil committed a set of files. # variable fossilCommitPattern; # DEFAULT: {^New_Version: ([0-9a-f]{40})$} if {![info exists fossilCommitPattern]} then { set fossilCommitPattern {^New_Version: ([0-9a-f]{40})$} } # # NOTE: Emit diagnostic messages when a new package is submitted? # variable verboseMetadataSubmit; # DEFAULT: false if {![info exists verboseMetadataSubmit]} then { set verboseMetadataSubmit false } } # # NOTE: This procedure returns a string value, formatted for use within a # script block being processed by the [string map] command. The # value argument is the string value to format. No return value is # reserved to indicate an error. This procedure may not raise any |
︙ | ︙ | |||
308 309 310 311 312 313 314 315 316 317 318 319 320 321 | %ns%::downloadFiles %language% %version% %platform% $fileNames $options %ns%::logoutAndResetCookie }] }]] } # # NOTE: This procedure attempts to stage the specified package files using # Fossil. The fileNames argument is a list of (fully?) qualified # local file names to stage. # # <public> proc stagePackageFiles { language version platform fileNames } { | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 | %ns%::downloadFiles %language% %version% %platform% $fileNames $options %ns%::logoutAndResetCookie }] }]] } # # NOTE: This procedure creates textual data that conforms to the content # type "multipart/form-data", per RFC 2388. The boundary argument # is a boundary value, as specified in section 4.1 of the RFC. The # request argument is the dictionary of name/value pairs to include # in the form body. This procedure may not raise script errors. # proc createMultipartFormData { boundary request } { set result "" foreach {name value} $request { append result -- $boundary \r\n append result "Content-Disposition: form-data; name=\"" append result $name \"\r\n\r\n append result $value \r\n } if {[string length $result] > 0} then { append result -- $boundary --\r\n } if {[isEagle]} then { return [object create -alias String $result] } else { return $result } } # # NOTE: This procedure returns the full URI to use when submitting a new # package to the package repository server. There are no arguments. # This procedure may raise script errors. # proc getSubmitUri {} { # # NOTE: Fetch the base URI for the package repository server. If it # is not available for some reason, just return an empty string # to the caller (i.e. as we cannot do anything productive). # set baseUri [::PackageRepository::getLookupBaseUri] if {[string length $baseUri] == 0} then { return "" } # # NOTE: Build the HTTP request URI and include the standard query # parameters (with constant values) for this request type. # if {[isEagle]} then { return [appendArgs \ $baseUri ?raw=1&method=submit] } else { package require http 2.0 return [appendArgs \ $baseUri ? [::http::formatQuery raw 1 method submit]] } } # # NOTE: This procedure attempts to submit the metadata for a new package to # the package repository server. Upon success, an empty string will # be returned. Upon failure, a script error will be raised. The # apiKey argument is the list of API keys to use. The package argument # is the name of the package. The patchLevel argument is the specific # patch level being submitted. The language argument must be an empty # string, "Tcl", or "Eagle". If it is an empty string, the current # language will be assumed. The script argument is the script to be # evaluated when the package needs to be provided. The certificate # argument is the certificate associated with the script, which may be # an OpenPGP signature or a Harpy script certificate. # # <public> proc submitPackageMetadata { apiKey package patchLevel language script certificate } { variable verboseMetadataSubmit # # NOTE: Fetch the submission URI for the package repository server. If # it is not available for some reason, raise a script error. # set uri [getSubmitUri] if {[string length $uri] == 0} then { error "" } if {[string length $language] == 0} then { set language [expr {[isEagle] ? "Eagle" : "Tcl"}] } if {[isEagle]} then { set boundary [string map \ [list + "" / "" = ""] [base64 encode [expr {randstr(50)}]]] } else { set boundary [::PackageRepository::getUniqueSuffix] } set contentType [appendArgs \ "multipart/form-data; boundary=" $boundary] set formData [createMultipartFormData $boundary \ [list apiKey $apiKey package $package patchLevel \ $patchLevel language $language script $script \ certificate $certificate]] if {[isEagle]} then { if {![object invoke Eagle._Tests.Default \ TestHasScriptNewWebClientCallback ""]} then { set error null set code [object invoke Eagle._Tests.Default \ TestSetScriptNewWebClientCallback "" true true error] if {$code ne "Ok"} then { error [getStringFromObjectHandle $error] } } set script [object create String { if {[methodName ToString] eq "GetWebRequest"} then { webRequest ContentType $contentType } }] return [uri upload \ -inline -raw -encoding identity -webclientdata \ $script -data $formData $uri] } else { set options [list \ -binary true -type $contentType -query $formData] return [eval ::PackageRepository::getFileViaHttp \ [list $uri] [list 20] [list stdout] [list \ [expr {!$verboseMetadataSubmit}]] $options] } } # # NOTE: This procedure attempts to stage the specified package files using # Fossil. The fileNames argument is a list of (fully?) qualified # local file names to stage. # # <public> proc stagePackageFiles { language version platform fileNames } { |
︙ | ︙ | |||
425 426 427 428 429 430 431 432 433 434 435 436 437 438 | # package and then forcibly adjust various settings to the values # necessary for this tool. In the future, this section may need to # be tweaked to account for changes to the Package Repository Client # package. # namespace eval ::PackageRepository { variable verboseUriDownload true } # # NOTE: This package requires both the package repository and downloader # client packages. # package require Eagle.Package.Downloader | > > > | 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 | # package and then forcibly adjust various settings to the values # necessary for this tool. In the future, this section may need to # be tweaked to account for changes to the Package Repository Client # package. # namespace eval ::PackageRepository { variable verboseUriDownload true variable autoRequireGaruda false variable autoLoadTcl false variable autoHook false } # # NOTE: This package requires both the package repository and downloader # client packages. # package require Eagle.Package.Downloader |
︙ | ︙ |
Modified client/1.0/neutral/pkgr_upload.eagle.asc from [535ecba6c3] to [0964d32505].
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 iQIcBAABCAAGBQJYV1qoAAoJEFAslq9JXcLZaq0QAKGNBMbsWjws8CLTFXKWts8n aoQ7+Fe2YkGnpLIRLzc6gha/5K3suibDgZnOiSYxL5dRJnB5kJrVojaqFv2kQA9B ZQFdSBdYGhZq2qGPIpOu/eeA3gbq0116FehPeqAIvo5wVZ1p0MWAPCau4Gg2LUGK AY3hU55EH96a3cktuq8f+xDmmHV63ycgLCu1VAHcV/hvzpX0LpXW6n47gRsoQOff fS4gFAzc6vlEt5F/CiYiEhXUN7UY5/F0ce6LKM5FVWclqCNZicQXwvZIn+/KF5z0 F7riKt6QH8NGtjjGuRndGikfHmvKpjLoqAiwZ0/Y3fn9u3gPwU686iPc42eS4SUc acEXMBrn8pM9BpSGnMIOrp5WcQDt07BLjzeX22KPWBsM1skmEqwMo+sefDAg5odK raTnCtnFTG2r1oBNblrkF8jr0CntJpKcTTh9IlruTCMqlQxEQqYSylcLQrHO6NR7 hKNAKUNf97v8GEjKMRHUNCYzVCDgY++ifhHOvxvf9yusMwlYLqJyFbi45sGvELpz bQEybALCTQ7NCFom6/EV+v6e6CmnD0Hq/ho+c8rfCEJppLpu1ZUC6IVJ5o9msBwA liKomZaH/gT+TuJJJn0KiR2sMe/g4nweVSRQyNqa6uo1erKi6/1URLIiL0Rmk+To tsqZMJfTyHsz6EUiviyN =5N7l -----END PGP SIGNATURE----- |
Modified client/1.0/neutral/pkgr_upload.eagle.harpy from [08d06ff8a9] to [9a4cc16d5a].
︙ | ︙ | |||
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>d6c3fbea-ed80-4cd6-acf7-df2997fc2f9e</Id> <HashAlgorithm>SHA512</HashAlgorithm> <EntityType>Script</EntityType> <TimeStamp>2016-12-19T03:57:02.7109375Z</TimeStamp> <Duration>-1.00:00:00</Duration> <Key>0x9559f6017247e3e2</Key> <Signature> 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 </Signature> </Certificate> |
Modified client/1.0/neutral/pkgr_upload.eagle.harpy.asc from [75bba8197e] to [19412242bb].
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 iQIcBAABCAAGBQJYV1qpAAoJEFAslq9JXcLZ1pMQAISOMNMTqtogHUMFqsnNevUV HMCgTAqXiAhvhnGtVdUJHCqjGM2mpcmrfN6Yd8bA1lb18S3+J6hLpHArcSAS+SZh g0pmepb+48k6T+2TB1owiZYOLYMOzvlCUDQPDTMmCuCEJlATtowgci4CBfJ9L26D RvYhQTiPt1S8XLpH7/KvMXjaenNs6Mmcwm35A9aW8AVxC6khKe5yQ8eExtLYLIW6 qJOv2Iis6mcxkb02psqDcHOhMMg+rhpWCxPOjL85xkacoiBPM7CsKfWCPSVO+fXF UZyYoifqlBrYFD+rynGHuAl7TICIRraM/o542spj3wJ8Zinfk+AtizFSOaGs1au9 XQ84qfCvnoMiP5cwv58wt/1/YF0Z2VwMIZjWfz6G7gXZRRevID4pQyyWVQGLDZQs 2UsSZ9KmaZPJfn9egyz579kEwpPwv5AU8Q7Qcx5DdHJoDaqAI2J+Idk97GHFNv/D hTmNdsJyFpEucwVIJpdK6n00vG0OFsrtkQwEvCx4O+sDEeQ7wtdD6TwLSJimmnXk NttnWjTJ9fxYXUjWFxQVNTICf55nri6I1XxIC5DLGfch6ObCF7z8KK8BQ4oEOg6T OVpbz/eJbP4qkH4rCboX3CZbrL0FASaacjjMyduhx2whcwSLXFdQpQ9tH5TUsVLc VRnkyutCYQ1ecBpk+9bu =9XRy -----END PGP SIGNATURE----- |