pacman-debian 7.3.36 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +12 -0
  2. package/README_zh-CN.md +11 -0
  3. package/dist/cli/paclink.js +95 -0
  4. package/dist/cli/paclink.js.map +1 -1
  5. package/dist/cli/pacman.d.ts.map +1 -1
  6. package/dist/cli/pacman.js +54 -7
  7. package/dist/cli/pacman.js.map +1 -1
  8. package/dist/cli/pactree.d.ts +3 -0
  9. package/dist/cli/pactree.d.ts.map +1 -0
  10. package/dist/cli/pactree.js +216 -0
  11. package/dist/cli/pactree.js.map +1 -0
  12. package/dist/core/deps.d.ts +5 -0
  13. package/dist/core/deps.d.ts.map +1 -1
  14. package/dist/core/deps.js +85 -19
  15. package/dist/core/deps.js.map +1 -1
  16. package/dist/core/logger.d.ts +7 -0
  17. package/dist/core/logger.d.ts.map +1 -0
  18. package/dist/core/logger.js +93 -0
  19. package/dist/core/logger.js.map +1 -0
  20. package/dist/core/options.d.ts +1 -0
  21. package/dist/core/options.d.ts.map +1 -1
  22. package/dist/core/paclinks.d.ts +9 -0
  23. package/dist/core/paclinks.d.ts.map +1 -0
  24. package/dist/core/paclinks.js +69 -0
  25. package/dist/core/paclinks.js.map +1 -0
  26. package/dist/core/tar.d.ts +2 -1
  27. package/dist/core/tar.d.ts.map +1 -1
  28. package/dist/core/tar.js +33 -4
  29. package/dist/core/tar.js.map +1 -1
  30. package/dist/core/types.d.ts +12 -0
  31. package/dist/core/types.d.ts.map +1 -1
  32. package/dist/db/dpkg-compat.js +6 -6
  33. package/dist/db/dpkg-compat.js.map +1 -1
  34. package/dist/debug-upgrade.d.ts +2 -0
  35. package/dist/debug-upgrade.d.ts.map +1 -0
  36. package/dist/debug-upgrade.js +140 -0
  37. package/dist/debug-upgrade.js.map +1 -0
  38. package/dist/i18n/en.json +2 -0
  39. package/dist/i18n/paclink/en.d.ts.map +1 -1
  40. package/dist/i18n/paclink/en.js +7 -0
  41. package/dist/i18n/paclink/en.js.map +1 -1
  42. package/dist/i18n/paclink/zh-CN.d.ts.map +1 -1
  43. package/dist/i18n/paclink/zh-CN.js +7 -0
  44. package/dist/i18n/paclink/zh-CN.js.map +1 -1
  45. package/dist/i18n/zh-CN.json +2 -0
  46. package/dist/makepkg/build.d.ts.map +1 -1
  47. package/dist/makepkg/build.js +3 -5
  48. package/dist/makepkg/build.js.map +1 -1
  49. package/dist/makepkg/pkgbuild.d.ts.map +1 -1
  50. package/dist/makepkg/pkgbuild.js +109 -53
  51. package/dist/makepkg/pkgbuild.js.map +1 -1
  52. package/dist/ops/install.d.ts +2 -1
  53. package/dist/ops/install.d.ts.map +1 -1
  54. package/dist/ops/install.js +82 -32
  55. package/dist/ops/install.js.map +1 -1
  56. package/dist/ops/query.d.ts.map +1 -1
  57. package/dist/ops/query.js +59 -33
  58. package/dist/ops/query.js.map +1 -1
  59. package/dist/ops/upgrade.d.ts.map +1 -1
  60. package/dist/ops/upgrade.js +69 -12
  61. package/dist/ops/upgrade.js.map +1 -1
  62. package/dist/repo/config.d.ts.map +1 -1
  63. package/dist/repo/config.js +35 -4
  64. package/dist/repo/config.js.map +1 -1
  65. package/dist/repo/repository.d.ts.map +1 -1
  66. package/dist/repo/repository.js +167 -43
  67. package/dist/repo/repository.js.map +1 -1
  68. package/dist/scripts/setup.js +2 -1
  69. package/dist/scripts/setup.js.map +1 -1
  70. package/docs/en/architecture.md +109 -45
  71. package/docs/en/pactree.md +42 -0
  72. package/docs/en/yay-aur.md +10 -6
  73. package/docs/zh-CN/pactree.md +41 -0
  74. package/lib/pac4deb/src/libalpm.c +40 -33
  75. package/lib/pac4deb/src/stubs_manual.c +11 -1
  76. package/package.json +3 -2
  77. package/resources/pacman.conf.template +16 -2
@@ -39,66 +39,122 @@ exports.printSrcinfo = printSrcinfo;
39
39
  const node_child_process_1 = require("node:child_process");
40
40
  const fs = __importStar(require("node:fs"));
41
41
  const path = __importStar(require("node:path"));
42
- function bashGet(v, p) {
43
- try {
44
- return (0, node_child_process_1.execSync)(`bash -c 'source "${p}" 2>/dev/null; printf "%s" "${'$'}{${v}}" 2>/dev/null'`, { encoding: 'utf8', timeout: 10000 }).trim();
45
- }
46
- catch {
47
- return '';
48
- }
49
- }
50
- function bashGetArray(v, p) {
51
- try {
52
- const out = (0, node_child_process_1.execSync)(`bash -c 'source "${p}" 2>/dev/null; for i in "${'$'}{${v}[@]}"; do echo "$i"; done' 2>/dev/null`, { encoding: 'utf8', timeout: 10000 }).trim();
53
- return out ? out.split('\n').filter(Boolean) : [];
54
- }
55
- catch {
56
- return [];
57
- }
58
- }
59
- function bashGetFn(f, p) {
60
- try {
61
- return (0, node_child_process_1.execSync)(`bash -c 'source "${p}" 2>/dev/null; declare -f ${f} 2>/dev/null'`, { encoding: 'utf8', timeout: 10000 }).trim();
62
- }
63
- catch {
64
- return '';
42
+ /**
43
+ * Source the PKGBUILD ONCE in a single bash invocation and extract all
44
+ * variables + functions. Previously each variable/function required a
45
+ * separate execSync (≈35 forks), which was very slow on low-end ARM boards.
46
+ */
47
+ function bashParsePkgbuild(absPath) {
48
+ const script = [
49
+ `source "${absPath}" 2>/dev/null`,
50
+ 'echo "S pkgbase=${pkgbase-unset}"',
51
+ 'echo "S pkgname=${pkgname-unset}"',
52
+ 'echo "S pkgver=${pkgver-unset}"',
53
+ 'echo "S pkgrel=${pkgrel-unset}"',
54
+ 'echo "S epoch=${epoch-unset}"',
55
+ 'echo "S pkgdesc=${pkgdesc-unset}"',
56
+ 'echo "S url=${url-unset}"',
57
+ 'echo "S install=${install-unset}"',
58
+ 'for i in "${arch[@]+"${arch[@]}"}"; do printf "A arch=%s\\n" "$i"; done',
59
+ 'for i in "${license[@]+"${license[@]}"}"; do printf "A license=%s\\n" "$i"; done',
60
+ 'for i in "${groups[@]+"${groups[@]}"}"; do printf "A groups=%s\\n" "$i"; done',
61
+ 'for i in "${depends[@]+"${depends[@]}"}"; do printf "A depends=%s\\n" "$i"; done',
62
+ 'for i in "${makedepends[@]+"${makedepends[@]}"}"; do printf "A makedepends=%s\\n" "$i"; done',
63
+ 'for i in "${optdepends[@]+"${optdepends[@]}"}"; do printf "A optdepends=%s\\n" "$i"; done',
64
+ 'for i in "${checkdepends[@]+"${checkdepends[@]}"}"; do printf "A checkdepends=%s\\n" "$i"; done',
65
+ 'for i in "${provides[@]+"${provides[@]}"}"; do printf "A provides=%s\\n" "$i"; done',
66
+ 'for i in "${conflicts[@]+"${conflicts[@]}"}"; do printf "A conflicts=%s\\n" "$i"; done',
67
+ 'for i in "${replaces[@]+"${replaces[@]}"}"; do printf "A replaces=%s\\n" "$i"; done',
68
+ 'for i in "${source[@]+"${source[@]}"}"; do printf "A source=%s\\n" "$i"; done',
69
+ 'for i in "${noextract[@]+"${noextract[@]}"}"; do printf "A noextract=%s\\n" "$i"; done',
70
+ 'for i in "${sha256sums[@]+"${sha256sums[@]}"}"; do printf "A sha256sums=%s\\n" "$i"; done',
71
+ 'for i in "${md5sums[@]+"${md5sums[@]}"}"; do printf "A md5sums=%s\\n" "$i"; done',
72
+ 'for i in "${validpgpkeys[@]+"${validpgpkeys[@]}"}"; do printf "A validpgpkeys=%s\\n" "$i"; done',
73
+ 'for i in "${options[@]+"${options[@]}"}"; do printf "A options=%s\\n" "$i"; done',
74
+ 'for i in "${backup[@]+"${backup[@]}"}"; do printf "A backup=%s\\n" "$i"; done',
75
+ 'for f in build package prepare check; do',
76
+ ' echo "F $f"',
77
+ ' declare -f "$f" 2>/dev/null || true',
78
+ ' echo "E $f"',
79
+ 'done',
80
+ ].join('\n');
81
+ const out = (0, node_child_process_1.execSync)('bash -s', { input: script, encoding: 'utf8', timeout: 10000 }).trim();
82
+ const lines = out.split('\n');
83
+ const scalars = {};
84
+ const arrays = {};
85
+ const funcs = {};
86
+ let currentFunc = null;
87
+ let funcBuffer = [];
88
+ for (const line of lines) {
89
+ if (line.startsWith('S ')) {
90
+ const val = line.substring(2);
91
+ const eqIdx = val.indexOf('=');
92
+ if (eqIdx > 0) {
93
+ const value = val.substring(eqIdx + 1);
94
+ if (value !== 'unset')
95
+ scalars[val.substring(0, eqIdx)] = value;
96
+ }
97
+ }
98
+ else if (line.startsWith('A ')) {
99
+ const val = line.substring(2);
100
+ const eqIdx = val.indexOf('=');
101
+ if (eqIdx > 0) {
102
+ const key = val.substring(0, eqIdx);
103
+ const value = val.substring(eqIdx + 1);
104
+ (arrays[key] || (arrays[key] = [])).push(value);
105
+ }
106
+ }
107
+ else if (line.startsWith('F ')) {
108
+ currentFunc = line.substring(2);
109
+ funcBuffer = [];
110
+ }
111
+ else if (line.startsWith('E ') && currentFunc !== null && line.substring(2) === currentFunc) {
112
+ if (funcBuffer.length > 0)
113
+ funcs[currentFunc] = funcBuffer.join('\n');
114
+ currentFunc = null;
115
+ funcBuffer = [];
116
+ }
117
+ else if (currentFunc !== null) {
118
+ funcBuffer.push(line);
119
+ }
65
120
  }
121
+ return { scalars, arrays, funcs };
66
122
  }
67
123
  function parsePkgbuild(pkgbuildPath, _ignoreArch = false) {
68
124
  if (!fs.existsSync(pkgbuildPath))
69
125
  throw new Error(`PKGBUILD not found: ${pkgbuildPath}`);
70
126
  const absPath = path.resolve(pkgbuildPath);
71
- const arch = bashGetArray('arch', absPath);
127
+ const { scalars, arrays, funcs } = bashParsePkgbuild(absPath);
72
128
  const info = {
73
- pkgbase: bashGet('pkgbase', absPath) || undefined,
74
- pkgname: bashGet('pkgname', absPath),
75
- pkgver: bashGet('pkgver', absPath),
76
- pkgrel: bashGet('pkgrel', absPath),
77
- epoch: bashGet('epoch', absPath) || undefined,
78
- pkgdesc: bashGet('pkgdesc', absPath) || '',
79
- arch,
80
- url: bashGet('url', absPath) || undefined,
81
- license: bashGetArray('license', absPath),
82
- groups: bashGetArray('groups', absPath),
83
- depends: bashGetArray('depends', absPath),
84
- makedepends: bashGetArray('makedepends', absPath),
85
- optdepends: bashGetArray('optdepends', absPath),
86
- checkdepends: bashGetArray('checkdepends', absPath),
87
- provides: bashGetArray('provides', absPath),
88
- conflicts: bashGetArray('conflicts', absPath),
89
- replaces: bashGetArray('replaces', absPath),
90
- source: bashGetArray('source', absPath),
91
- noextract: bashGetArray('noextract', absPath),
92
- sha256sums: bashGetArray('sha256sums', absPath),
93
- md5sums: bashGetArray('md5sums', absPath),
94
- validpgpkeys: bashGetArray('validpgpkeys', absPath),
95
- install: bashGet('install', absPath) || undefined,
96
- options: bashGetArray('options', absPath),
97
- backup: bashGetArray('backup', absPath),
98
- buildFn: bashGetFn('build', absPath),
99
- packageFn: bashGetFn('package', absPath),
100
- prepareFn: bashGetFn('prepare', absPath),
101
- checkFn: bashGetFn('check', absPath),
129
+ pkgbase: scalars['pkgbase'] || undefined,
130
+ pkgname: scalars['pkgname'] || '',
131
+ pkgver: scalars['pkgver'] || '',
132
+ pkgrel: scalars['pkgrel'] || '',
133
+ epoch: scalars['epoch'] || undefined,
134
+ pkgdesc: scalars['pkgdesc'] || '',
135
+ arch: arrays['arch'] || [],
136
+ url: scalars['url'] || undefined,
137
+ license: arrays['license'] || [],
138
+ groups: arrays['groups'] || [],
139
+ depends: arrays['depends'] || [],
140
+ makedepends: arrays['makedepends'] || [],
141
+ optdepends: arrays['optdepends'] || [],
142
+ checkdepends: arrays['checkdepends'] || [],
143
+ provides: arrays['provides'] || [],
144
+ conflicts: arrays['conflicts'] || [],
145
+ replaces: arrays['replaces'] || [],
146
+ source: arrays['source'] || [],
147
+ noextract: arrays['noextract'] || [],
148
+ sha256sums: arrays['sha256sums'] || [],
149
+ md5sums: arrays['md5sums'] || [],
150
+ validpgpkeys: arrays['validpgpkeys'] || [],
151
+ install: scalars['install'] || undefined,
152
+ options: arrays['options'] || [],
153
+ backup: arrays['backup'] || [],
154
+ buildFn: funcs['build'] || '',
155
+ packageFn: funcs['package'] || '',
156
+ prepareFn: funcs['prepare'] || '',
157
+ checkFn: funcs['check'] || '',
102
158
  validArch: true,
103
159
  };
104
160
  if (!info.pkgname)
@@ -1 +1 @@
1
- {"version":3,"file":"pkgbuild.js","sourceRoot":"","sources":["../../src/makepkg/pkgbuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pkgbuild.js","sourceRoot":"","sources":["../../src/makepkg/pkgbuild.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsHA,sCA2CC;AAED,kCAEC;AAED,oCA4BC;AAnMD,2DAA8C;AAC9C,4CAA8B;AAC9B,gDAAkC;AAmClC;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,MAAM,GAAG;QACb,WAAW,OAAO,eAAe;QACjC,mCAAmC;QACnC,mCAAmC;QACnC,iCAAiC;QACjC,iCAAiC;QACjC,+BAA+B;QAC/B,mCAAmC;QACnC,2BAA2B;QAC3B,mCAAmC;QACnC,yEAAyE;QACzE,kFAAkF;QAClF,+EAA+E;QAC/E,kFAAkF;QAClF,8FAA8F;QAC9F,2FAA2F;QAC3F,iGAAiG;QACjG,qFAAqF;QACrF,wFAAwF;QACxF,qFAAqF;QACrF,+EAA+E;QAC/E,wFAAwF;QACxF,2FAA2F;QAC3F,kFAAkF;QAClF,iGAAiG;QACjG,kFAAkF;QAClF,+EAA+E;QAC/E,0CAA0C;QAC1C,eAAe;QACf,uCAAuC;QACvC,eAAe;QACf,MAAM;KACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,GAAG,GAAG,IAAA,6BAAQ,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,MAAM,KAAK,GAA2B,EAAE,CAAC;IAEzC,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,UAAU,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,KAAK,KAAK,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;YAClE,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACvC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,UAAU,GAAG,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YAC9F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,WAAW,GAAG,IAAI,CAAC;YACnB,UAAU,GAAG,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,SAAgB,aAAa,CAAC,YAAoB,EAAE,WAAW,GAAG,KAAK;IACrE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,IAAI,GAAiB;QACzB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS;QACxC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QACjC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC/B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC/B,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS;QACpC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAC1B,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS;QAChC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC9B,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAChC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE;QACxC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE;QACtC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1C,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAClC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;QACpC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAClC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;QACpC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE;QACtC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAChC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1C,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS;QACxC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QAC7B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;QACjC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;QACjC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QAC7B,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAE7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,WAAW,CAAC,IAAkB,EAAE,YAAqB;IACnE,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;AAC9G,CAAC;AAED,SAAgB,YAAY,CAAC,IAAkB;IAC7C,MAAM,KAAK,GAAa;QACtB,aAAa,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;QAC3C,aAAa,IAAI,CAAC,OAAO,EAAE;QAC3B,YAAY,IAAI,CAAC,MAAM,EAAE;QACzB,YAAY,IAAI,CAAC,MAAM,EAAE;KAC1B,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC9D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { ProgressCallback } from '../core/tar';
1
2
  import type { InstallOptions } from '../core/options';
2
- export declare function installPkgFile(filePath: string, reason: 'explicit' | 'dependency', opts?: InstallOptions): Promise<boolean>;
3
+ export declare function installPkgFile(filePath: string, reason: 'explicit' | 'dependency', opts?: InstallOptions, onProgress?: ProgressCallback): Promise<boolean>;
3
4
  export declare function installPkg(target: string, opts?: InstallOptions): Promise<boolean>;
4
5
  export declare function installPackages(targets: string[], opts?: InstallOptions): Promise<number>;
5
6
  //# sourceMappingURL=install.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/ops/install.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA4ItD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,YAAY,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAMrI;AA8GD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgD5F;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqOnG"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/ops/install.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAiBpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAwJtD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,YAAY,EAAE,IAAI,GAAE,cAAmB,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAMpK;AA8GD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAmD5F;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqQnG"}
@@ -55,13 +55,14 @@ const format_1 = require("../ui/format");
55
55
  const progress_1 = require("../ui/progress");
56
56
  const prompt_1 = require("../ui/prompt");
57
57
  const i18n_1 = require("../i18n");
58
- async function installDeb(filePath, reason, opts = {}) {
58
+ async function installDeb(filePath, reason, opts = {}, onProgress) {
59
59
  (0, database_1.initDb)();
60
60
  const pkg = (0, deb_1.parseDeb)(filePath);
61
61
  const db = (0, database_1.loadDatabase)();
62
62
  removeLinkIfPresent(pkg.control.package);
63
63
  const { control } = pkg;
64
64
  const existing = (0, database_1.getPackage)(db, control.package);
65
+ const _cfg = (0, config_1.loadConfig)();
65
66
  if (opts.needed && existing && existing.version === control.version) {
66
67
  return false;
67
68
  }
@@ -82,7 +83,7 @@ async function installDeb(filePath, reason, opts = {}) {
82
83
  (0, database_1.saveScript)(control.package, 'preinst', preinst);
83
84
  (0, database_1.runScript)(control.package, 'preinst', ['install']);
84
85
  }
85
- const files = (0, tar_1.extractTar)(pkg.dataTar, '/');
86
+ const files = (0, tar_1.extractTar)(pkg.dataTar, '/', onProgress, _cfg.noExtract, _cfg.noUpgrade);
86
87
  if (!opts.noscriptlet) {
87
88
  const postinst = (0, deb_1.readScript)(pkg, 'postinst');
88
89
  if (postinst)
@@ -128,7 +129,7 @@ function removeLinkIfPresent(pkgName) {
128
129
  (0, localdb_1.removePackage)(pkgName, existing.version);
129
130
  }
130
131
  }
131
- async function installArch(filePath, reason, opts = {}) {
132
+ async function installArch(filePath, reason, opts = {}, onProgress) {
132
133
  (0, database_1.initDb)();
133
134
  const data = fs.readFileSync(filePath);
134
135
  const { info, install, files: pkgFiles, dataBlocks } = (0, pkgfile_1.parsePkgTarZst)(data);
@@ -161,15 +162,28 @@ async function installArch(filePath, reason, opts = {}) {
161
162
  }
162
163
  }
163
164
  const files = [];
164
- for (const entry of dataBlocks) {
165
+ const total = dataBlocks.length;
166
+ const _archCfg = (0, config_1.loadConfig)();
167
+ const matchArch = (p, name) => p === name || p === '/' + name || (p.endsWith('/*') && name.startsWith(p.slice(0, -1)));
168
+ for (let i = 0; i < total; i++) {
169
+ const entry = dataBlocks[i];
165
170
  const targetPath = path.resolve('/', entry.name);
166
171
  if (!targetPath.startsWith('/'))
167
172
  continue;
168
173
  files.push('/' + entry.name);
174
+ if (_archCfg.noExtract.some(p => matchArch(p, entry.name)))
175
+ continue;
169
176
  if (entry.data) {
170
177
  fs.mkdirSync(path.dirname(targetPath), { recursive: true });
171
- fs.writeFileSync(targetPath, entry.data, { mode: 0o755 });
178
+ if (_archCfg.noUpgrade.some(p => matchArch(p, entry.name)) && fs.existsSync(targetPath)) {
179
+ const bak = targetPath + '.pacnew';
180
+ fs.writeFileSync(bak, entry.data, { mode: 0o755 });
181
+ }
182
+ else {
183
+ fs.writeFileSync(targetPath, entry.data, { mode: 0o755 });
184
+ }
172
185
  }
186
+ onProgress?.(i + 1, total, entry.name);
173
187
  }
174
188
  if (!opts.noscriptlet && install?.post_install) {
175
189
  const tmpScript = `/var/lib/pacman-debian/info/${info.name}/.INSTALL`;
@@ -212,15 +226,15 @@ async function installArch(filePath, reason, opts = {}) {
212
226
  (0, database_1.completeTransaction)(tx.id);
213
227
  return true;
214
228
  }
215
- async function installPkgFile(filePath, reason, opts = {}) {
229
+ async function installPkgFile(filePath, reason, opts = {}, onProgress) {
216
230
  if (opts.print) {
217
231
  console.log((0, i18n_1.t)('would_install', path.basename(filePath)));
218
232
  return true;
219
233
  }
220
234
  if (filePath.endsWith('.pkg.tar.zst') || filePath.endsWith('.pkg.tar.xz') || filePath.endsWith('.pkg.tar.gz')) {
221
- return installArch(filePath, reason, opts);
235
+ return installArch(filePath, reason, opts, onProgress);
222
236
  }
223
- return installDeb(filePath, reason, opts);
237
+ return installDeb(filePath, reason, opts, onProgress);
224
238
  }
225
239
  function parseFtpUrl(url) {
226
240
  const rest = url.slice(6);
@@ -383,8 +397,11 @@ async function installPkg(target, opts = {}) {
383
397
  return false;
384
398
  }
385
399
  const cols = process.stdout.columns || 80;
386
- const barLen = Math.max(Math.floor((cols - 30) * 0.35), 8);
387
- const barDone = '#'.repeat(barLen);
400
+ const barLen = Math.max(cols - 50, 8);
401
+ const drawBar = (pct) => {
402
+ const filled = Math.round((pct / 100) * barLen);
403
+ return `[${'#'.repeat(filled)}${'-'.repeat(barLen - filled)}] ${String(pct).padStart(3)}%`;
404
+ };
388
405
  console.log((0, i18n_1.t)('packages_single', fname) + '\n');
389
406
  if (!await (0, prompt_1.confirm)((0, i18n_1.t)('confirm_proceed')))
390
407
  return false;
@@ -392,9 +409,9 @@ async function installPkg(target, opts = {}) {
392
409
  console.log((0, i18n_1.t)('would_install', fname));
393
410
  return true;
394
411
  }
395
- process.stdout.write((0, i18n_1.t)('progress_loading_data', '1', '1', barDone) + '\n');
396
- process.stdout.write((0, i18n_1.t)('progress_installing_single', '1', '1', fname, barDone) + '\n');
412
+ console.log(`(1/1) ${(0, i18n_1.t)('progress_loading_files_msg')} ${drawBar(0)}`);
397
413
  const result = await installPkgFile(localPath, 'explicit', opts);
414
+ console.log(`(1/1) installing ${fname} ${drawBar(100)}`);
398
415
  if (isUrl)
399
416
  try {
400
417
  fs.unlinkSync(localPath);
@@ -460,7 +477,25 @@ async function installPackages(targets, opts = {}) {
460
477
  }
461
478
  const totalSize = allPkgs.reduce((s, p) => s + (p.size || 0), 0);
462
479
  const totalInst = allPkgs.reduce((s, p) => s + ((p.installedSize || 0) * 1024), 0);
463
- console.log((0, i18n_1.t)('packages_multi', String(allPkgs.length), allPkgs.map(p => p.package).join(' ')) + '\n');
480
+ const _cfg = (0, config_1.loadConfig)();
481
+ if (_cfg.verbosePkgLists) {
482
+ const cols = process.stdout.columns || 80;
483
+ const nameW = Math.max(20, Math.floor(cols * 0.3));
484
+ const verW = Math.max(16, Math.floor(cols * 0.2));
485
+ const repoW = Math.max(10, Math.floor(cols * 0.15));
486
+ console.log((0, i18n_1.t)('packages_multi', String(allPkgs.length), ''));
487
+ console.log(` ${'Name'.padEnd(nameW)} ${'Version'.padEnd(verW)} ${'Repo'.padEnd(repoW)} Size`);
488
+ console.log(` ${'─'.repeat(nameW)} ${'─'.repeat(verW)} ${'─'.repeat(repoW)} ${'─'.repeat(8)}`);
489
+ for (const p of allPkgs) {
490
+ const name = p.package.length > nameW ? p.package.slice(0, nameW - 3) + '...' : p.package;
491
+ const ver = (p.version || '').length > verW ? (p.version || '').slice(0, verW - 3) + '...' : (p.version || '');
492
+ console.log(` ${name.padEnd(nameW)} ${ver.padEnd(verW)} ${p.repo.padEnd(repoW)} ${(0, format_1.formatBytes)(p.size || 0).padStart(8)}`);
493
+ }
494
+ }
495
+ else {
496
+ console.log((0, i18n_1.t)('packages_multi', String(allPkgs.length), allPkgs.map(p => p.package).join(' ')));
497
+ }
498
+ console.log('');
464
499
  console.log((0, i18n_1.t)('total_download_size', (0, format_1.formatBytes)(totalSize).padStart(9)));
465
500
  console.log((0, i18n_1.t)('total_installed_size', (0, format_1.formatBytes)(totalInst).padStart(9)));
466
501
  console.log('');
@@ -471,11 +506,13 @@ async function installPackages(targets, opts = {}) {
471
506
  console.log((0, i18n_1.t)('would_install', `${p.package}-${p.version}`));
472
507
  return allPkgs.length;
473
508
  }
509
+ // ---- Transaction start ----
510
+ console.log((0, i18n_1.t)('processing_changes'));
474
511
  // ---- Download phase ----
475
512
  const total = allPkgs.length;
476
513
  const cols = process.stdout.columns || 80;
477
514
  const parallelN = (0, config_1.loadConfig)().parallelDownloads || 1;
478
- console.log((0, i18n_1.t)('downloading_packages'));
515
+ console.log((0, i18n_1.t)('retrieving_packages'));
479
516
  const downloaded = [];
480
517
  const startTime = Date.now();
481
518
  /** Render a right-aligned progress bar line. leftText precedes `[`, rightText follows `]`. */
@@ -487,7 +524,11 @@ async function installPackages(targets, opts = {}) {
487
524
  return line;
488
525
  };
489
526
  const nameWidth = Math.max(25, Math.floor(cols * 0.35));
527
+ let dlIdx = 0;
490
528
  const downloadOne = async (p) => {
529
+ const idx = ++dlIdx;
530
+ const digits = String(total).length;
531
+ const prefix = `(${String(idx).padStart(digits)}/${String(total).padEnd(digits)})`;
491
532
  const pkgLabel = `${p.package}-${p.version}-${p.architecture || 'any'}`;
492
533
  const displayName = pkgLabel.length > nameWidth ? pkgLabel.slice(0, nameWidth - 3) + '...' : pkgLabel;
493
534
  let finalRate = 0, prevTime = Date.now(), prevBytes = 0, smoothRate = 0;
@@ -504,11 +545,11 @@ async function installPackages(targets, opts = {}) {
504
545
  const eta = smoothRate > 0 && tot > 0 ? (tot - rec) / smoothRate : 0;
505
546
  const etaS = (0, progress_1.formatETA)(eta);
506
547
  const pct = tot > 0 ? Math.round(rec / tot * 100) : 0;
507
- const line = barLine(` ${displayName.padEnd(nameWidth)} ${dl.val.padStart(6)} ${dl.unit.padEnd(3)} ${rateStr} ${etaS} [`, `] ${String(pct).padStart(3)}%`, pct);
548
+ const line = barLine(` ${prefix} ${displayName.padEnd(nameWidth)} ${dl.val.padStart(6)} ${dl.unit.padEnd(3)} ${rateStr} ${etaS} [`, `] ${String(pct).padStart(3)}%`, pct);
508
549
  process.stdout.write(`\r${line}`);
509
550
  });
510
551
  const finalSize = (0, progress_1.humanSize)(p.size || 0, 1);
511
- const compLine = barLine(` ${displayName.padEnd(nameWidth)} ${finalSize.val.padStart(6)} ${finalSize.unit.padEnd(3)} ${(0, progress_1.formatRate)(finalRate)} ${'00:00'} [`, `] 100%`, 100);
552
+ const compLine = barLine(` ${prefix} ${displayName.padEnd(nameWidth)} ${finalSize.val.padStart(6)} ${finalSize.unit.padEnd(3)} ${(0, progress_1.formatRate)(finalRate)} ${'00:00'} [`, `] 100%`, 100);
512
553
  process.stdout.write(`\r${compLine}\n`);
513
554
  return { pkg: p, path: localPath, rate: finalRate };
514
555
  };
@@ -533,7 +574,10 @@ async function installPackages(targets, opts = {}) {
533
574
  const totalLine = barLine(` ${totalLabel.padEnd(nameWidth)} ${totalSizeStr.val.padStart(6)} ${totalSizeStr.unit.padEnd(3)} ${totalRateStr} ${'00:00'} [`, `] 100%`, 100);
534
575
  process.stdout.write(totalLine + '\n');
535
576
  // ---- Pre-install checks (after download, matching real pacman order) ----
536
- const prefixStr = `(${String(total)}/${String(total)}) `;
577
+ const totalChk = downloaded.length;
578
+ const digitsChk = String(totalChk).length;
579
+ let chkIdx = 0;
580
+ const prefixChk = () => `(${String(++chkIdx).padStart(digitsChk)}/${String(totalChk).padEnd(digitsChk)})`;
537
581
  const checkMessages = [
538
582
  (0, i18n_1.t)('progress_checking_keys_msg'),
539
583
  (0, i18n_1.t)('progress_checking_integrity_msg'),
@@ -541,10 +585,11 @@ async function installPackages(targets, opts = {}) {
541
585
  (0, i18n_1.t)('progress_checking_conflicts_msg'),
542
586
  (0, i18n_1.t)('progress_checking_space_msg'),
543
587
  ];
544
- const maxMsgTw = Math.max(...checkMessages.map(m => (0, progress_1.terminalWidth)(m)));
588
+ const maxChkMsgTw = Math.max(...checkMessages.map(m => (0, progress_1.terminalWidth)(m)));
545
589
  const fmtCheck = (msg) => {
546
- const pad = maxMsgTw - (0, progress_1.terminalWidth)(msg);
547
- const line = barLine(`${prefixStr}${msg}${' '.repeat(pad)} [`, `] 100%`, 100);
590
+ const p = prefixChk();
591
+ const pad = maxChkMsgTw - (0, progress_1.terminalWidth)(msg);
592
+ const line = barLine(` ${p} ${msg}${' '.repeat(pad)} [`, `] 100%`, 100);
548
593
  process.stdout.write(line + '\n');
549
594
  };
550
595
  // 1. Keys check
@@ -564,8 +609,9 @@ async function installPackages(targets, opts = {}) {
564
609
  // 3. Load files — validate package archive format
565
610
  for (const { pkg: p, path: fp } of downloaded) {
566
611
  try {
567
- if (fp.endsWith('.deb'))
568
- (0, node_child_process_1.execSync)(`dpkg-deb --info "${fp}" 2>/dev/null`, { encoding: 'utf8', timeout: 5000 });
612
+ if (fp.endsWith('.deb')) {
613
+ (0, deb_1.parseDeb)(fp);
614
+ }
569
615
  else
570
616
  (0, node_child_process_1.execSync)(`tar -t --zstd -f "${fp}" 2>/dev/null | head -1`, { encoding: 'utf8', timeout: 5000 });
571
617
  }
@@ -578,19 +624,23 @@ async function installPackages(targets, opts = {}) {
578
624
  // 4. File conflict check
579
625
  fmtCheck((0, i18n_1.t)('progress_checking_conflicts_msg'));
580
626
  // 5. Available space check
581
- try {
582
- const df = (0, node_child_process_1.execSync)('df -k /', { encoding: 'utf8', timeout: 5000 });
583
- const match = df.trim().split('\n').pop()?.match(/\s(\d+)\s+(\d+)\s+(\d+)/);
584
- if (match) {
585
- const availKb = parseInt(match[3], 10);
586
- const needKb = Math.ceil((allPkgs.reduce((s, p) => s + ((p.installedSize || 0) * 1024), 0)) / 1024);
587
- if (availKb < needKb) {
588
- console.error(`\n ERROR: not enough disk space (need ${needKb} KiB, have ${availKb} KiB)`);
589
- return 0;
627
+ const cfg = (0, config_1.loadConfig)();
628
+ if (cfg.checkSpace) {
629
+ try {
630
+ const dfPath = cfg.rootDir === '/' ? '/' : cfg.rootDir;
631
+ const df = (0, node_child_process_1.execSync)(`df -k "${dfPath}"`, { encoding: 'utf8', timeout: 5000 });
632
+ const match = df.trim().split('\n').pop()?.match(/\s(\d+)\s+(\d+)\s+(\d+)/);
633
+ if (match) {
634
+ const availKb = parseInt(match[3], 10);
635
+ const needKb = allPkgs.reduce((s, p) => s + ((p.installedSize || 0)), 0);
636
+ if (availKb < needKb) {
637
+ console.error(`\n error: not enough disk space (need ${(needKb / 1024).toFixed(1)} MiB, have ${(availKb / 1024).toFixed(1)} MiB)`);
638
+ return 0;
639
+ }
590
640
  }
591
641
  }
642
+ catch { }
592
643
  }
593
- catch { }
594
644
  fmtCheck((0, i18n_1.t)('progress_checking_space_msg'));
595
645
  // Install phase (serial for safety)
596
646
  for (const { pkg: p, path: localPath } of downloaded) {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/ops/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/ops/install.ts"],"names":[],"mappings":"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"}