Skip to content

Commit 55f022d

Browse files
committed
fix: fix add-apt-repository in Debian
1 parent 7589061 commit 55f022d

File tree

10 files changed

+30
-14
lines changed

10 files changed

+30
-14
lines changed

dist/legacy/llvm_repo_remove.bash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,5 +143,5 @@ if [[ "${VERSION_CODENAME}" == "bookworm" ]]; then
143143
add-apt-repository -y "${REPO_NAME}"
144144
fi
145145

146-
add-apt-repository -y --no-update --remove "${REPO_NAME}"
146+
add-apt-repository -y --remove "${REPO_NAME}"
147147
apt-get update

dist/legacy/setup-cpp.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/legacy/setup-cpp.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/modern/llvm_repo_remove.bash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,5 +143,5 @@ if [[ "${VERSION_CODENAME}" == "bookworm" ]]; then
143143
add-apt-repository -y "${REPO_NAME}"
144144
fi
145145

146-
add-apt-repository -y --no-update --remove "${REPO_NAME}"
146+
add-apt-repository -y --remove "${REPO_NAME}"
147147
apt-get update

dist/modern/setup-cpp.mjs

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dist/modern/setup-cpp.mjs.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/setup-apt/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "setup-apt",
3-
"version": "3.0.2",
3+
"version": "3.0.3",
44
"description": "Setup apt packages and repositories in Debian/Ubuntu-based distributions",
55
"repository": "https://github.com/aminya/setup-cpp",
66
"homepage": "https://github.com/aminya/setup-cpp/tree/master/packages/setup-apt",

packages/setup-apt/src/apt-repository.ts

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,30 @@
11
import { defaultExecOptions, execRootSync } from "admina"
2+
import memoize from "memoizee"
23
import { getAptEnv } from "./apt-env.js"
34
import { aptTimeout } from "./apt-timeout.js"
45
import { getApt } from "./get-apt.js"
56
import { initAptMemoized } from "./init-apt.js"
67
import { isAptPackInstalled } from "./is-installed.js"
78
import { updateAptReposMemoized } from "./update.js"
89

10+
function hasNoUpdateFlag_(apt: string) {
11+
const { stdout } = execRootSync("add-apt-repository", ["--help"], {
12+
...defaultExecOptions,
13+
env: getAptEnv(apt),
14+
stdio: "pipe",
15+
})
16+
return stdout.includes("--no-update")
17+
}
18+
const hasNoUpdateFlag = memoize(hasNoUpdateFlag_)
19+
920
export async function addAptRepository(repo: string, apt = getApt()) {
1021
await initAptMemoized(apt)
1122
await installAddAptRepo()
12-
execRootSync("add-apt-repository", ["-y", "--no-update", repo], { ...defaultExecOptions, env: getAptEnv(apt) })
23+
execRootSync(
24+
"add-apt-repository",
25+
["-y", hasNoUpdateFlag(apt) ? "--no-update" : undefined, repo].filter(a => a !== undefined),
26+
{ ...defaultExecOptions, env: getAptEnv(apt) },
27+
)
1328

1429
// Update the repos
1530
updateAptReposMemoized.clear() // ensure update is called
@@ -31,10 +46,11 @@ export async function installAddAptRepo() {
3146
export async function removeAptRepository(repo: string, apt = getApt()) {
3247
await initAptMemoized(apt)
3348
await installAddAptRepo()
34-
execRootSync("add-apt-repository", ["-y", "--no-update", "--remove", repo], {
35-
...defaultExecOptions,
36-
env: getAptEnv(apt),
37-
})
49+
execRootSync(
50+
"add-apt-repository",
51+
["-y", "--remove", hasNoUpdateFlag(apt) ? undefined : "--no-update", repo].filter(a => a !== undefined),
52+
{ ...defaultExecOptions, env: getAptEnv(apt) },
53+
)
3854

3955
// Update the repos
4056
updateAptReposMemoized.clear() // ensure update is called

src/git/git.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { existsSync } from "fs"
2+
import { join } from "path"
23
import { info, warning } from "ci-log"
34
import { addPath } from "envosman"
45
import { hasApk, installApkPack } from "setup-alpine"
@@ -12,7 +13,6 @@ import { isUbuntu } from "../utils/env/isUbuntu.js"
1213
import { setupChocoPack } from "../utils/setup/setupChocoPack.js"
1314
import { setupDnfPack } from "../utils/setup/setupDnfPack.js"
1415
import { setupPacmanPack } from "../utils/setup/setupPacmanPack.js"
15-
import { join } from "path"
1616

1717
// eslint-disable-next-line @typescript-eslint/no-unused-vars
1818
export async function setupGit(version: string, _setupDir: string, _arch: string) {

src/llvm/llvm_repo_remove.bash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,5 +143,5 @@ if [[ "${VERSION_CODENAME}" == "bookworm" ]]; then
143143
add-apt-repository -y "${REPO_NAME}"
144144
fi
145145

146-
add-apt-repository -y --no-update --remove "${REPO_NAME}"
146+
add-apt-repository -y --remove "${REPO_NAME}"
147147
apt-get update

0 commit comments

Comments
 (0)