setup-apt

Version License: Apache--2.0

> Setup apt packages and repositories in Debian/Ubuntu-based distributions ## Install ```sh npm install --save setup-apt ``` ## Usage ### `updateAptAlternatives` (function) Update the alternatives for a package **Parameters:** - name (`string`) - The name of the package - path (`string`) - The path to the binary - priority (`number`) - The priority of the alternative (Defaults to `40`) **returns:** Promise ### `addUpdateAlternativesToRc` (function) Add the update-alternatives command to the rc file **Parameters:** - name (`string`) - The name of the package - path (`string`) - The path to the binary - rcOptions (`RcOptions`) - The options for the rc file to add the update-alternatives command to - priority (`number`) - The priority of the alternative (Defaults to `40`) **returns:** Promise ### `getAptEnv` (function) Get the environment variables to use for the apt command **Parameters:** - apt (`string`) - The apt command to use **returns:** ProcessEnv ### `aptTimeout` (variable) The timeout to use for apt commands Wait up to 300 seconds if the apt-get lock is held ### `hasNala` (function) Check if nala is installed **returns:** boolean ### `getApt` (function) Get the apt command to use If nala is installed, use that, otherwise use apt-get **returns:** string ### `isAptPackInstalled` (function) Check if a package is installed **Parameters:** - pack (`string`) - The package to check **returns:** Promise ### `isAptPackRegexInstalled` (function) Check if a package matching a regexp is installed **Parameters:** - regexp (`string`) - The regexp to check **returns:** Promise ### `updatedRepos` (variable) ### `updateAptRepos` (function) Update the apt repositories **Parameters:** - apt (`string`) - The apt command to use (optional) **returns:** void ### `updateAptReposMemoized` (variable) Update the apt repositories (memoized) **Parameters:** - apt - The apt command to use (optional) ### `filterAndQualifyAptPackages` (function) Filter out the packages that are already installed and qualify the packages into a full package name/version **Parameters:** - packages (`AptPackage[]`) - apt (`string`) **returns:** Promise ### `qualifiedNeededAptPackage` (function) Qualify the package into full package name/version. If the package is not installed, return the full package name/version. If the package is already installed, return undefined **Parameters:** - pack (`AptPackage`) - apt (`string`) **returns:** Promise ### `initApt` (function) Install gnupg and certificates (usually missing from docker containers) **Parameters:** - apt (`string`) **returns:** Promise ### `initAptMemoized` (variable) Install gnupg and certificates (usually missing from docker containers) (memoized) ### `addAptRepository` (function) **Parameters:** - repo (`string`) - apt (`string`) **returns:** Promise ### `installAddAptRepo` (function) **Parameters:** - apt (`string`) **returns:** Promise ### `InstallationInfo` (type) The information about an installation result ### `AptPackage` (type) The information about an apt package ### `installAptPack` (function) Install a package using apt **Parameters:** - packages (`AptPackage[]`) - The packages to install (name, and optional info like version and repositories) - update (`boolean`) - Whether to update the package list before installing (Defaults to `false`) **returns:** Promise ```ts await installAptPack([{ name: "ca-certificates" }, { name: "gnupg" }]) ``` ```ts await installAptPack([ { name: "gcc", version, repository: "ppa:ubuntu-toolchain-r/test", key: { key: "1E9377A2BA9EF27F", fileName: "ubuntu-toolchain-r-test.gpg" }, }, ]) ``` ### `AddAptKeyOptions` (type) ### `addAptKey` (function) Add an apt key **Parameters:** - options (`AddAptKeyOptions`) - The options for adding the key **returns:** Promise ```ts await addAptKey({ key: "3B4FE6ACC0B21F32" fileName: "bazel-archive-keyring.gpg"}) ``` ```ts await addAptKey({ keyUrl: "https://bazel.build/bazel-release.pub.gpg", fileName: "bazel-archive-keyring.gpg", }) ``` ### `defaultKeyStorePath` (variable) ### `KeyServerOptions` (type) ### `defaultKeyServer` (variable) ### `addAptKeyViaServer` (function) Add an apt key via a keyserver **Parameters:** - { key, keyServer = defaultKeyServer, fileName, keyStorePath = defaultKeyServer } (`KeyServerOptions`) **returns:** Promise ### `KeyUrl` (type) ### `addAptKeyViaURL` (function) Add an apt key via a download **Parameters:** - options - The options for adding the key - { keyUrl, fileName, keyStorePath = defaultKeyStorePath } (`KeyUrl`) **returns:** Promise ## 🤝 Contributing You can sponsor my work here: https://github.com/sponsors/aminya Pull requests, issues and feature requests are welcome. See the [Contributing guide](https://github.com/aminya/setup-cpp/blob/master/CONTRIBUTING.md).