Package Downloads Client

Difference between version 14 and 15 - Previous - Next
https://urn.to/r/install_pkg_client%|%Download the Package Client Toolset installation script for Linux and macOS%|%

https://pkg.management/pkgd/doc/trunk/doc/v1.html%|%View documentation for version 1 of the Package Client Toolset%|%

Also known as the "Package Downloader Client".

Part of the https://urn.to/r/pkg_client%|%Package Client Toolset%|%.

The Package Downloads Client is not typically invoked directly; instead, it is (optionally) used by the scripts fetched from the [Package Repository Server] in order to download package files in a secure and orderly manner.
The overall workflow is that the [Package Repository Server] returns a signed script block that will be responsible for (eventually) providing the requested package.  Generally, this will involve use of the "helper" procedures provided by the Package Downloads Client; however, this is not a requirement, i.e. the signed script block returned by the [Package Repository Server] is free to provide the package (or not) in whatever way it wants.

Here is an example of this usage:

======
apply [list [list] {
  set fileNames [list]

  lappend fileNames [file join tcllib1.15 aes aes.tcl]
  lappend fileNames [file join tcllib1.15 aes pkgIndex.tcl]

  set options [list \
      -persistent false -usePgp true -useAutoPath true]

  package require Eagle.Package.Downloader

  ::PackageDownloader::resetCookieAndLoginSimple
  ::PackageDownloader::downloadFiles tcl 8.4 "" $fileNames $options
  ::PackageDownloader::logoutAndResetCookie
}]
======
An important thing to remember is that all downloaded package metadata and files have their signature(s) checked before being used.

----

**Also see**
   * [Package Repository Client]
   * [Package Repository Server]
   * [Package Downloads Server]
   * [Package Uploads Client]

----

This project is sponsored by [Eyrie Solutions].

<<categories>>Repository | Package