setup-cpp/packages/setup-apt
Amin Yahyaabadi adb1af1e17
fix!: only support a single repository/key for each apt package
BREAKING the option for repositories/keys are now singular instead of an array
2024-08-28 14:30:38 -07:00
..
src fix!: only support a single repository/key for each apt package 2024-08-28 14:30:38 -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!: only support a single repository/key for each apt package 2024-08-28 14:30:38 -07:00
package.json feat!: support addAptKey options through installAptPack 2024-08-28 13:55:40 -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

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

updateAptRepos (function)

Update the apt repositories

Parameters:

  • apt (string) - The apt command to use (optional)

returns: void

InstallationInfo (type)

The information about an installation result

aptTimeout (variable)

The timeout to use for apt commands Wait up to 300 seconds if the apt-get lock is held

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" },
  },
])

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

getAptEnv (function)

Get the environment variables to use for the apt command

Parameters:

  • apt (string) - The apt command to use

returns: ProcessEnv

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.