mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-04-26 01:10:16 +08:00
fix(update-center): 将apm命令从ssaudit改为ssinstall并优化打印URI命令
更新apm安装命令,使用ssinstall替代ssaudit以正确执行安装操作。同时优化获取包URI的命令,使用更可靠的bash调用方式。
This commit is contained in:
@@ -48,6 +48,14 @@ const DPKG_QUERY_INSTALLED_COMMAND = {
|
||||
],
|
||||
};
|
||||
|
||||
const getApmPrintUrisCommand = (pkgname: string) => ({
|
||||
command: "bash",
|
||||
args: [
|
||||
"-lc",
|
||||
`amber-pm-debug /usr/bin/apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf download ${pkgname} --print-uris`,
|
||||
],
|
||||
});
|
||||
|
||||
const runCommandCapture: UpdateCenterCommandRunner = async (
|
||||
command,
|
||||
args,
|
||||
@@ -93,11 +101,11 @@ const loadApmItemMetadata = async (
|
||||
| { item: UpdateCenterItem; warning?: undefined }
|
||||
| { item: null; warning: string }
|
||||
> => {
|
||||
const metadataResult = await runCommand("apm", [
|
||||
"info",
|
||||
item.pkgname,
|
||||
"--print-uris",
|
||||
]);
|
||||
const printUrisCommand = getApmPrintUrisCommand(item.pkgname);
|
||||
const metadataResult = await runCommand(
|
||||
printUrisCommand.command,
|
||||
printUrisCommand.args,
|
||||
);
|
||||
const commandError = getCommandError(
|
||||
`apm metadata query for ${item.pkgname}`,
|
||||
metadataResult,
|
||||
|
||||
@@ -155,14 +155,14 @@ export const installUpdateItem = async ({
|
||||
}
|
||||
|
||||
if (item.source === "apm" && filePath) {
|
||||
const auditCommand = buildPrivilegedCommand(
|
||||
const installCommand = buildPrivilegedCommand(
|
||||
SHELL_CALLER_PATH,
|
||||
["apm", "ssaudit", filePath],
|
||||
["apm", "ssinstall", filePath],
|
||||
superUserCmd,
|
||||
);
|
||||
await runCommand(
|
||||
auditCommand.execCommand,
|
||||
auditCommand.execParams,
|
||||
installCommand.execCommand,
|
||||
installCommand.execParams,
|
||||
onLog,
|
||||
signal,
|
||||
);
|
||||
|
||||
@@ -14,6 +14,9 @@ const APTSS_LIST_UPGRADABLE_KEY =
|
||||
const DPKG_QUERY_INSTALLED_KEY =
|
||||
"dpkg-query -W -f=${Package}\t${db:Status-Want} ${db:Status-Status} ${db:Status-Eflag}\n";
|
||||
|
||||
const APM_PRINT_URIS_KEY =
|
||||
"bash -lc amber-pm-debug /usr/bin/apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf download spark-weather --print-uris";
|
||||
|
||||
describe("update-center load items", () => {
|
||||
it("enriches apm and migration items with download metadata needed by the runner", async () => {
|
||||
const commandResults = new Map<string, CommandResult>([
|
||||
@@ -50,7 +53,7 @@ describe("update-center load items", () => {
|
||||
},
|
||||
],
|
||||
[
|
||||
"apm info spark-weather --print-uris",
|
||||
APM_PRINT_URIS_KEY,
|
||||
{
|
||||
code: 0,
|
||||
stdout:
|
||||
|
||||
@@ -294,7 +294,7 @@ describe("update-center task runner", () => {
|
||||
args: [
|
||||
"/opt/spark-store/extras/shell-caller.sh",
|
||||
"apm",
|
||||
"ssaudit",
|
||||
"ssinstall",
|
||||
"/tmp/spark-player.deb",
|
||||
],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user