UNPKG

setup-cpp

Version:

Install all the tools required for building and testing C++/C projects.

25 lines 3.74 kB
import { defaultExecOptions, execRootSync } from "admina"; import memoize from "memoizee"; import { getAptEnv } from "./apt-env.js"; import { aptTimeout } from "./apt-timeout.js"; import { filterAndQualifyAptPackages } from "./qualify-install.js"; import { updateAptReposMemoized } from "./update.js"; /** Install gnupg and certificates (usually missing from docker containers) */ export async function initApt(apt) { // Update the repos updateAptReposMemoized(apt); const toInstall = await filterAndQualifyAptPackages([ { name: "ca-certificates" }, { name: "gnupg" }, { name: "apt-utils" }, ], apt); if (toInstall.length !== 0) { execRootSync(apt, ["install", "-y", "--fix-broken", "-o", aptTimeout, ...toInstall], { ...defaultExecOptions, env: getAptEnv(apt), }); } } /** Install gnupg and certificates (usually missing from docker containers) (memoized) */ export const initAptMemoized = memoize(initApt, { promise: true }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC1hcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5pdC1hcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUN6RCxPQUFPLE9BQU8sTUFBTSxVQUFVLENBQUE7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRXBELDhFQUE4RTtBQUM5RSxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FBQyxHQUFXO0lBQ3ZDLG1CQUFtQjtJQUNuQixzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUUzQixNQUFNLFNBQVMsR0FBRyxNQUFNLDJCQUEyQixDQUFDO1FBQ2xELEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1FBQzNCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtRQUNqQixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7S0FDdEIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUVQLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMzQixZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxFQUFFO1lBQ25GLEdBQUcsa0JBQWtCO1lBQ3JCLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDO1NBQ3BCLENBQUMsQ0FBQTtJQUNKLENBQUM7QUFDSCxDQUFDO0FBRUQseUZBQXlGO0FBQ3pGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZhdWx0RXhlY09wdGlvbnMsIGV4ZWNSb290U3luYyB9IGZyb20gXCJhZG1pbmFcIlxuaW1wb3J0IG1lbW9pemUgZnJvbSBcIm1lbW9pemVlXCJcbmltcG9ydCB7IGdldEFwdEVudiB9IGZyb20gXCIuL2FwdC1lbnYuanNcIlxuaW1wb3J0IHsgYXB0VGltZW91dCB9IGZyb20gXCIuL2FwdC10aW1lb3V0LmpzXCJcbmltcG9ydCB7IGZpbHRlckFuZFF1YWxpZnlBcHRQYWNrYWdlcyB9IGZyb20gXCIuL3F1YWxpZnktaW5zdGFsbC5qc1wiXG5pbXBvcnQgeyB1cGRhdGVBcHRSZXBvc01lbW9pemVkIH0gZnJvbSBcIi4vdXBkYXRlLmpzXCJcblxuLyoqIEluc3RhbGwgZ251cGcgYW5kIGNlcnRpZmljYXRlcyAodXN1YWxseSBtaXNzaW5nIGZyb20gZG9ja2VyIGNvbnRhaW5lcnMpICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW5pdEFwdChhcHQ6IHN0cmluZykge1xuICAvLyBVcGRhdGUgdGhlIHJlcG9zXG4gIHVwZGF0ZUFwdFJlcG9zTWVtb2l6ZWQoYXB0KVxuXG4gIGNvbnN0IHRvSW5zdGFsbCA9IGF3YWl0IGZpbHRlckFuZFF1YWxpZnlBcHRQYWNrYWdlcyhbXG4gICAgeyBuYW1lOiBcImNhLWNlcnRpZmljYXRlc1wiIH0sXG4gICAgeyBuYW1lOiBcImdudXBnXCIgfSxcbiAgICB7IG5hbWU6IFwiYXB0LXV0aWxzXCIgfSxcbiAgXSwgYXB0KVxuXG4gIGlmICh0b0luc3RhbGwubGVuZ3RoICE9PSAwKSB7XG4gICAgZXhlY1Jvb3RTeW5jKGFwdCwgW1wiaW5zdGFsbFwiLCBcIi15XCIsIFwiLS1maXgtYnJva2VuXCIsIFwiLW9cIiwgYXB0VGltZW91dCwgLi4udG9JbnN0YWxsXSwge1xuICAgICAgLi4uZGVmYXVsdEV4ZWNPcHRpb25zLFxuICAgICAgZW52OiBnZXRBcHRFbnYoYXB0KSxcbiAgICB9KVxuICB9XG59XG5cbi8qKiBJbnN0YWxsIGdudXBnIGFuZCBjZXJ0aWZpY2F0ZXMgKHVzdWFsbHkgbWlzc2luZyBmcm9tIGRvY2tlciBjb250YWluZXJzKSAobWVtb2l6ZWQpICovXG5leHBvcnQgY29uc3QgaW5pdEFwdE1lbW9pemVkID0gbWVtb2l6ZShpbml0QXB0LCB7IHByb21pc2U6IHRydWUgfSlcbiJdfQ==