mirror of https://github.com/aminya/setup-cpp
fix: allow parallel apt calls in the llvm installer
This commit is contained in:
parent
a93caaa4ac
commit
a65482651a
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -4,7 +4,7 @@ import { execa } from "execa"
|
|||
import { chmod, readFile, writeFile } from "fs/promises"
|
||||
import { DEFAULT_TIMEOUT } from "../installTool"
|
||||
import { addPath } from "../utils/env/addEnv"
|
||||
import { hasNala, isPackageRegexInstalled, setupAptPack } from "../utils/setup/setupAptPack"
|
||||
import { aptTimeout, hasNala, isPackageRegexInstalled, setupAptPack } from "../utils/setup/setupAptPack"
|
||||
import type { InstallationInfo } from "../utils/setup/setupBin"
|
||||
|
||||
export enum LLVMPackages {
|
||||
|
@ -70,8 +70,8 @@ function nonInteractiveScript(script: string) {
|
|||
// make the scirpt non-interactive and fix broken packages
|
||||
return script.replace(
|
||||
/add-apt-repository "\${REPO_NAME}"/g,
|
||||
// eslint-disable-next-line no-template-curly-in-string
|
||||
"add-apt-repository -y \"${REPO_NAME}\"",
|
||||
`add-apt-repository -y -n "\${REPO_NAME}"
|
||||
apt-get update -o ${aptTimeout} -y`,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@ async function removeConflictingPackages(givenScript: string) {
|
|||
// fix conflicts between libclang-rt and libclang
|
||||
let script = givenScript.replace(
|
||||
/apt-get install -y/g,
|
||||
"apt-get install -o Dpkg::Options::=\"--force-overwrite\" -y --fix-broken",
|
||||
`apt-get install -o Dpkg::Options::="--force-overwrite" -o ${aptTimeout} -y --fix-broken`,
|
||||
)
|
||||
|
||||
// check if these are installed and if so, remove them from the script as they conflict
|
||||
|
|
|
@ -14,7 +14,7 @@ let didUpdate: boolean = false
|
|||
let didInit: boolean = false
|
||||
|
||||
// wait up to 300 seconds if the apt-get lock is held
|
||||
const aptTimeout = "DPkg::Lock::Timeout=300"
|
||||
export const aptTimeout = "DPkg::Lock::Timeout=300"
|
||||
|
||||
export type AptPackage = {
|
||||
name: string
|
||||
|
@ -177,7 +177,7 @@ export function hasNala() {
|
|||
return which.sync("nala", { nothrow: true }) !== null
|
||||
}
|
||||
|
||||
function getApt() {
|
||||
export function getApt() {
|
||||
let apt: string
|
||||
if (hasNala()) {
|
||||
apt = "nala"
|
||||
|
|
Loading…
Reference in New Issue