setup-cpp/packages/setup-apt
Amin Yahyaabadi 24f9b03dc4 fix: fix ci-info not running in an ESM context 2024-10-06 20:48:03 -07:00
..
src fix: fix ci-info not running in an ESM context 2024-10-06 20:48:03 -07:00
.eslintrc.json feat: add setup-apt package for all the apt utils 2024-08-16 01:50:32 -07:00
README.md fix: install nala via default repo or installer 2024-09-03 00:16:55 -07:00
package.json fix: fix ci-info not running in an ESM context 2024-10-06 20:48:03 -07:00
tsconfig.json feat: add setup-apt package for all the apt utils 2024-08-16 01:50:32 -07:00

README.md

setup-apt

Version License: Apache--2.0

Setup apt packages and repositories in Debian/Ubuntu-based distributions

Install

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<string[]>

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

await installAptPack([{ name: "ca-certificates" }, { name: "gnupg" }])
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

await addAptKey({ key: "3B4FE6ACC0B21F32" fileName: "bazel-archive-keyring.gpg"})
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.