pacman-debian 7.2.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 (233) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +440 -0
  3. package/README.zh.md +388 -0
  4. package/README_zh-CN.md +421 -0
  5. package/dist/ar.d.ts +8 -0
  6. package/dist/ar.d.ts.map +1 -0
  7. package/dist/ar.js +88 -0
  8. package/dist/ar.js.map +1 -0
  9. package/dist/cli/pacman.d.ts +2 -0
  10. package/dist/cli/pacman.d.ts.map +1 -0
  11. package/dist/cli/pacman.js +512 -0
  12. package/dist/cli/pacman.js.map +1 -0
  13. package/dist/compress.d.ts +2 -0
  14. package/dist/compress.d.ts.map +1 -0
  15. package/dist/compress.js +78 -0
  16. package/dist/compress.js.map +1 -0
  17. package/dist/config.d.ts +3 -0
  18. package/dist/config.d.ts.map +1 -0
  19. package/dist/config.js +90 -0
  20. package/dist/config.js.map +1 -0
  21. package/dist/control.d.ts +2 -0
  22. package/dist/control.d.ts.map +1 -0
  23. package/dist/control.js +31 -0
  24. package/dist/control.js.map +1 -0
  25. package/dist/core/ar.d.ts +7 -0
  26. package/dist/core/ar.d.ts.map +1 -0
  27. package/dist/core/ar.js +45 -0
  28. package/dist/core/ar.js.map +1 -0
  29. package/dist/core/compress.d.ts +2 -0
  30. package/dist/core/compress.d.ts.map +1 -0
  31. package/dist/core/compress.js +75 -0
  32. package/dist/core/compress.js.map +1 -0
  33. package/dist/core/control.d.ts +2 -0
  34. package/dist/core/control.d.ts.map +1 -0
  35. package/dist/core/control.js +29 -0
  36. package/dist/core/control.js.map +1 -0
  37. package/dist/core/deb.d.ts +4 -0
  38. package/dist/core/deb.d.ts.map +1 -0
  39. package/dist/core/deb.js +89 -0
  40. package/dist/core/deb.js.map +1 -0
  41. package/dist/core/deps.d.ts +25 -0
  42. package/dist/core/deps.d.ts.map +1 -0
  43. package/dist/core/deps.js +230 -0
  44. package/dist/core/deps.js.map +1 -0
  45. package/dist/core/options.d.ts +19 -0
  46. package/dist/core/options.d.ts.map +1 -0
  47. package/dist/core/options.js +3 -0
  48. package/dist/core/options.js.map +1 -0
  49. package/dist/core/pkgfile.d.ts +35 -0
  50. package/dist/core/pkgfile.d.ts.map +1 -0
  51. package/dist/core/pkgfile.js +162 -0
  52. package/dist/core/pkgfile.js.map +1 -0
  53. package/dist/core/tar.d.ts +13 -0
  54. package/dist/core/tar.d.ts.map +1 -0
  55. package/dist/core/tar.js +132 -0
  56. package/dist/core/tar.js.map +1 -0
  57. package/dist/core/types.d.ts +83 -0
  58. package/dist/core/types.d.ts.map +1 -0
  59. package/dist/core/types.js +3 -0
  60. package/dist/core/types.js.map +1 -0
  61. package/dist/database.d.ts +20 -0
  62. package/dist/database.d.ts.map +1 -0
  63. package/dist/database.js +181 -0
  64. package/dist/database.js.map +1 -0
  65. package/dist/db/database.d.ts +17 -0
  66. package/dist/db/database.d.ts.map +1 -0
  67. package/dist/db/database.js +145 -0
  68. package/dist/db/database.js.map +1 -0
  69. package/dist/db/dpkg-compat.d.ts +19 -0
  70. package/dist/db/dpkg-compat.d.ts.map +1 -0
  71. package/dist/db/dpkg-compat.js +150 -0
  72. package/dist/db/dpkg-compat.js.map +1 -0
  73. package/dist/db/localdb.d.ts +9 -0
  74. package/dist/db/localdb.d.ts.map +1 -0
  75. package/dist/db/localdb.js +246 -0
  76. package/dist/db/localdb.js.map +1 -0
  77. package/dist/db/sqlite.d.ts +20 -0
  78. package/dist/db/sqlite.d.ts.map +1 -0
  79. package/dist/db/sqlite.js +309 -0
  80. package/dist/db/sqlite.js.map +1 -0
  81. package/dist/deb.d.ts +5 -0
  82. package/dist/deb.d.ts.map +1 -0
  83. package/dist/deb.js +105 -0
  84. package/dist/deb.js.map +1 -0
  85. package/dist/dpkg-compat.d.ts +18 -0
  86. package/dist/dpkg-compat.d.ts.map +1 -0
  87. package/dist/dpkg-compat.js +137 -0
  88. package/dist/dpkg-compat.js.map +1 -0
  89. package/dist/i18n/en.json +109 -0
  90. package/dist/i18n/index.d.ts +3 -0
  91. package/dist/i18n/index.d.ts.map +1 -0
  92. package/dist/i18n/index.js +36 -0
  93. package/dist/i18n/index.js.map +1 -0
  94. package/dist/i18n/zh-CN.json +109 -0
  95. package/dist/index.d.ts +3 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +9 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/install.d.ts +2 -0
  100. package/dist/install.d.ts.map +1 -0
  101. package/dist/install.js +126 -0
  102. package/dist/install.js.map +1 -0
  103. package/dist/makepkg/build.d.ts +19 -0
  104. package/dist/makepkg/build.d.ts.map +1 -0
  105. package/dist/makepkg/build.js +370 -0
  106. package/dist/makepkg/build.js.map +1 -0
  107. package/dist/makepkg/index.d.ts +3 -0
  108. package/dist/makepkg/index.d.ts.map +1 -0
  109. package/dist/makepkg/index.js +84 -0
  110. package/dist/makepkg/index.js.map +1 -0
  111. package/dist/makepkg/pkgbuild.d.ts +36 -0
  112. package/dist/makepkg/pkgbuild.d.ts.map +1 -0
  113. package/dist/makepkg/pkgbuild.js +165 -0
  114. package/dist/makepkg/pkgbuild.js.map +1 -0
  115. package/dist/ops/install.d.ts +5 -0
  116. package/dist/ops/install.d.ts.map +1 -0
  117. package/dist/ops/install.js +299 -0
  118. package/dist/ops/install.js.map +1 -0
  119. package/dist/ops/query.d.ts +9 -0
  120. package/dist/ops/query.d.ts.map +1 -0
  121. package/dist/ops/query.js +189 -0
  122. package/dist/ops/query.js.map +1 -0
  123. package/dist/ops/remove.d.ts +3 -0
  124. package/dist/ops/remove.d.ts.map +1 -0
  125. package/dist/ops/remove.js +121 -0
  126. package/dist/ops/remove.js.map +1 -0
  127. package/dist/ops/upgrade.d.ts +4 -0
  128. package/dist/ops/upgrade.d.ts.map +1 -0
  129. package/dist/ops/upgrade.js +122 -0
  130. package/dist/ops/upgrade.js.map +1 -0
  131. package/dist/pacman.d.ts +2 -0
  132. package/dist/pacman.d.ts.map +1 -0
  133. package/dist/pacman.js +165 -0
  134. package/dist/pacman.js.map +1 -0
  135. package/dist/query.d.ts +5 -0
  136. package/dist/query.d.ts.map +1 -0
  137. package/dist/query.js +143 -0
  138. package/dist/query.js.map +1 -0
  139. package/dist/remove.d.ts +2 -0
  140. package/dist/remove.d.ts.map +1 -0
  141. package/dist/remove.js +82 -0
  142. package/dist/remove.js.map +1 -0
  143. package/dist/repo/config.d.ts +3 -0
  144. package/dist/repo/config.d.ts.map +1 -0
  145. package/dist/repo/config.js +146 -0
  146. package/dist/repo/config.js.map +1 -0
  147. package/dist/repo/repository.d.ts +10 -0
  148. package/dist/repo/repository.d.ts.map +1 -0
  149. package/dist/repo/repository.js +596 -0
  150. package/dist/repo/repository.js.map +1 -0
  151. package/dist/repository.d.ts +10 -0
  152. package/dist/repository.d.ts.map +1 -0
  153. package/dist/repository.js +175 -0
  154. package/dist/repository.js.map +1 -0
  155. package/dist/scripts/pacman-conf.d.ts +3 -0
  156. package/dist/scripts/pacman-conf.d.ts.map +1 -0
  157. package/dist/scripts/pacman-conf.js +74 -0
  158. package/dist/scripts/pacman-conf.js.map +1 -0
  159. package/dist/scripts/setup.d.ts +3 -0
  160. package/dist/scripts/setup.d.ts.map +1 -0
  161. package/dist/scripts/setup.js +289 -0
  162. package/dist/scripts/setup.js.map +1 -0
  163. package/dist/tar.d.ts +17 -0
  164. package/dist/tar.d.ts.map +1 -0
  165. package/dist/tar.js +148 -0
  166. package/dist/tar.js.map +1 -0
  167. package/dist/types.d.ts +80 -0
  168. package/dist/types.d.ts.map +1 -0
  169. package/dist/types.js +3 -0
  170. package/dist/types.js.map +1 -0
  171. package/dist/ui/colors.d.ts +13 -0
  172. package/dist/ui/colors.d.ts.map +1 -0
  173. package/dist/ui/colors.js +38 -0
  174. package/dist/ui/colors.js.map +1 -0
  175. package/dist/ui/format.d.ts +3 -0
  176. package/dist/ui/format.d.ts.map +1 -0
  177. package/dist/ui/format.js +15 -0
  178. package/dist/ui/format.js.map +1 -0
  179. package/dist/ui/progress.d.ts +8 -0
  180. package/dist/ui/progress.d.ts.map +1 -0
  181. package/dist/ui/progress.js +50 -0
  182. package/dist/ui/progress.js.map +1 -0
  183. package/dist/ui/prompt.d.ts +4 -0
  184. package/dist/ui/prompt.d.ts.map +1 -0
  185. package/dist/ui/prompt.js +60 -0
  186. package/dist/ui/prompt.js.map +1 -0
  187. package/lib/pac4deb/Makefile +26 -0
  188. package/lib/pac4deb/README.md +47 -0
  189. package/lib/pac4deb/include/alpm.h +166 -0
  190. package/lib/pac4deb/include/alpm_list.h +42 -0
  191. package/lib/pac4deb/libalpm.so +0 -0
  192. package/lib/pac4deb/src/alpm_list.c +102 -0
  193. package/lib/pac4deb/src/genstubs.sh +51 -0
  194. package/lib/pac4deb/src/genstubs2.sh +72 -0
  195. package/lib/pac4deb/src/genstubs3.sh +43 -0
  196. package/lib/pac4deb/src/libalpm.c +537 -0
  197. package/lib/pac4deb/src/stubs_manual.c +198 -0
  198. package/lib/pac4deb/stubs.c +6 -0
  199. package/lib/pac4deb/update_header.sh +15 -0
  200. package/package.json +41 -0
  201. package/src/cli/pacman.ts +308 -0
  202. package/src/core/ar.ts +54 -0
  203. package/src/core/compress.ts +27 -0
  204. package/src/core/control.ts +22 -0
  205. package/src/core/deb.ts +47 -0
  206. package/src/core/deps.ts +260 -0
  207. package/src/core/options.ts +20 -0
  208. package/src/core/pkgfile.ts +146 -0
  209. package/src/core/tar.ts +101 -0
  210. package/src/core/types.ts +89 -0
  211. package/src/db/database.ts +102 -0
  212. package/src/db/dpkg-compat.ts +129 -0
  213. package/src/db/localdb.ts +181 -0
  214. package/src/i18n/en.json +114 -0
  215. package/src/i18n/index.ts +32 -0
  216. package/src/i18n/zh-CN.json +114 -0
  217. package/src/index.ts +7 -0
  218. package/src/makepkg/build.ts +351 -0
  219. package/src/makepkg/index.ts +87 -0
  220. package/src/makepkg/pkgbuild.ts +146 -0
  221. package/src/ops/install.ts +260 -0
  222. package/src/ops/query.ts +117 -0
  223. package/src/ops/remove.ts +77 -0
  224. package/src/ops/upgrade.ts +87 -0
  225. package/src/repo/config.ts +96 -0
  226. package/src/repo/repository.ts +520 -0
  227. package/src/scripts/pacman-conf.ts +68 -0
  228. package/src/scripts/setup.ts +261 -0
  229. package/src/ui/colors.ts +40 -0
  230. package/src/ui/format.ts +9 -0
  231. package/src/ui/progress.ts +26 -0
  232. package/src/ui/prompt.ts +21 -0
  233. package/tsconfig.json +19 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dpkg-compat.js","sourceRoot":"","sources":["../../src/db/dpkg-compat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { InstalledPackage } from '../core/types';
2
+ export declare function addPackage(pkg: InstalledPackage): void;
3
+ export declare function removePackage(name: string, version?: string): void;
4
+ export declare function listPackageNames(): string[];
5
+ export declare function getPackage(name: string): InstalledPackage | undefined;
6
+ export declare function getAllPackages(): InstalledPackage[];
7
+ export declare function getFileOwner(filePath: string): string | undefined;
8
+ export declare function invalidateFileIndex(): void;
9
+ //# sourceMappingURL=localdb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localdb.d.ts","sourceRoot":"","sources":["../../src/db/localdb.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAkEtD,wBAAgB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAWtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAsBlE;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAU3C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAoBrE;AAED,wBAAgB,cAAc,IAAI,gBAAgB,EAAE,CASnD;AA4BD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAAuB"}
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.addPackage = addPackage;
37
+ exports.removePackage = removePackage;
38
+ exports.listPackageNames = listPackageNames;
39
+ exports.getPackage = getPackage;
40
+ exports.getAllPackages = getAllPackages;
41
+ exports.getFileOwner = getFileOwner;
42
+ exports.invalidateFileIndex = invalidateFileIndex;
43
+ const fs = __importStar(require("node:fs"));
44
+ const path = __importStar(require("node:path"));
45
+ const LOCAL_DIR = '/var/lib/pacman-debian/local';
46
+ const BYNAME_DIR = path.join(LOCAL_DIR, 'by-name');
47
+ const FILE_INDEX = '/var/lib/pacman-debian/file-index.json';
48
+ function ensure() {
49
+ if (!fs.existsSync(LOCAL_DIR))
50
+ fs.mkdirSync(LOCAL_DIR, { recursive: true });
51
+ if (!fs.existsSync(BYNAME_DIR))
52
+ fs.mkdirSync(BYNAME_DIR, { recursive: true });
53
+ }
54
+ function pkgDir(pkg) {
55
+ return path.join(LOCAL_DIR, `${pkg.name}-${pkg.version}`);
56
+ }
57
+ function pkgDirFromName(name, version) {
58
+ return path.join(LOCAL_DIR, `${name}-${version}`);
59
+ }
60
+ function descPath(dir) { return path.join(dir, 'desc'); }
61
+ function filesPath(dir) { return path.join(dir, 'files'); }
62
+ /* ---- read / write ---- */
63
+ function writeDesc(pkg) {
64
+ fs.writeFileSync(descPath(pkgDir(pkg)), JSON.stringify({
65
+ name: pkg.name, version: pkg.version, architecture: pkg.architecture,
66
+ description: pkg.description, depends: pkg.depends,
67
+ 'pre-depends': pkg['pre-depends'], conflicts: pkg.conflicts,
68
+ provides: pkg.provides, maintainer: pkg.maintainer, homepage: pkg.homepage,
69
+ section: pkg.controlSection, priority: pkg.controlPriority,
70
+ installedSize: pkg.installedSize, installTime: pkg.installTime,
71
+ reason: pkg.reason, repoType: pkg.repoType,
72
+ }));
73
+ }
74
+ function readDesc(dir) {
75
+ const fp = descPath(dir);
76
+ if (!fs.existsSync(fp))
77
+ return null;
78
+ try {
79
+ const d = JSON.parse(fs.readFileSync(fp, 'utf8'));
80
+ const files = readFiles(dir);
81
+ return {
82
+ name: d.name, version: d.version, architecture: d.architecture || 'amd64',
83
+ description: d.description || '', depends: d.depends,
84
+ 'pre-depends': d['pre-depends'], conflicts: d.conflicts,
85
+ provides: d.provides, maintainer: d.maintainer, homepage: d.homepage,
86
+ controlSection: d.section, controlPriority: d.priority,
87
+ installedSize: d.installedSize || 0, installTime: d.installTime || 0,
88
+ reason: d.reason || 'explicit', files, repoType: d.repoType || 'debian',
89
+ };
90
+ }
91
+ catch {
92
+ return null;
93
+ }
94
+ }
95
+ function writeFiles(pkg) {
96
+ fs.writeFileSync(filesPath(pkgDir(pkg)), JSON.stringify(pkg.files));
97
+ }
98
+ function readFiles(dir) {
99
+ const fp = filesPath(dir);
100
+ if (!fs.existsSync(fp))
101
+ return [];
102
+ try {
103
+ return JSON.parse(fs.readFileSync(fp, 'utf8'));
104
+ }
105
+ catch {
106
+ return [];
107
+ }
108
+ }
109
+ /* ---- public API ---- */
110
+ function addPackage(pkg) {
111
+ ensure();
112
+ const dir = pkgDir(pkg);
113
+ if (!fs.existsSync(dir))
114
+ fs.mkdirSync(dir, { recursive: true });
115
+ writeDesc(pkg);
116
+ writeFiles(pkg);
117
+ // Symlink by-name/<name> → ../<name>-<version>
118
+ const link = path.join(BYNAME_DIR, pkg.name);
119
+ try {
120
+ fs.unlinkSync(link);
121
+ }
122
+ catch { }
123
+ fs.symlinkSync(path.relative(BYNAME_DIR, dir), link);
124
+ updateFileIndex(pkg.name, pkg.files);
125
+ }
126
+ function removePackage(name, version) {
127
+ ensure();
128
+ // Find the dir
129
+ const link = path.join(BYNAME_DIR, name);
130
+ let dir = null;
131
+ if (fs.existsSync(link))
132
+ try {
133
+ dir = fs.readlinkSync(link);
134
+ }
135
+ catch { }
136
+ if (!dir && version) {
137
+ dir = pkgDirFromName(name, version);
138
+ if (!fs.existsSync(dir))
139
+ dir = null;
140
+ }
141
+ if (!dir) {
142
+ // Search local dir
143
+ for (const entry of fs.readdirSync(LOCAL_DIR)) {
144
+ if (entry.startsWith(name + '-')) {
145
+ dir = path.join(LOCAL_DIR, entry);
146
+ break;
147
+ }
148
+ }
149
+ }
150
+ if (dir && fs.existsSync(dir)) {
151
+ const files = readFiles(dir);
152
+ removeFileIndex(name, files);
153
+ fs.rmSync(dir, { recursive: true });
154
+ }
155
+ try {
156
+ fs.unlinkSync(link);
157
+ }
158
+ catch { }
159
+ }
160
+ function listPackageNames() {
161
+ ensure();
162
+ const result = [];
163
+ for (const entry of fs.readdirSync(LOCAL_DIR)) {
164
+ if (entry === 'by-name')
165
+ continue;
166
+ if (entry.startsWith('.'))
167
+ continue;
168
+ const fp = path.join(LOCAL_DIR, entry, 'desc');
169
+ if (fs.existsSync(fp))
170
+ result.push(entry);
171
+ }
172
+ return result;
173
+ }
174
+ function getPackage(name) {
175
+ ensure();
176
+ // Try by-name symlink first
177
+ const link = path.join(BYNAME_DIR, name);
178
+ if (fs.existsSync(link)) {
179
+ try {
180
+ const target = fs.readlinkSync(link);
181
+ const dir = path.resolve(BYNAME_DIR, target);
182
+ const pkg = readDesc(dir);
183
+ if (pkg)
184
+ return pkg;
185
+ }
186
+ catch { }
187
+ }
188
+ // Fallback: scan local dir
189
+ for (const entry of fs.readdirSync(LOCAL_DIR)) {
190
+ if (entry.startsWith(name + '-')) {
191
+ const pkg = readDesc(path.join(LOCAL_DIR, entry));
192
+ if (pkg)
193
+ return pkg;
194
+ }
195
+ }
196
+ return undefined;
197
+ }
198
+ function getAllPackages() {
199
+ ensure();
200
+ const result = [];
201
+ for (const entry of fs.readdirSync(LOCAL_DIR)) {
202
+ if (entry === 'by-name' || entry.startsWith('.'))
203
+ continue;
204
+ const pkg = readDesc(path.join(LOCAL_DIR, entry));
205
+ if (pkg)
206
+ result.push(pkg);
207
+ }
208
+ return result;
209
+ }
210
+ /* ---- file index (for -Qo) ---- */
211
+ let _fileIndex = null;
212
+ function loadFileIndex() {
213
+ if (_fileIndex)
214
+ return _fileIndex;
215
+ if (!fs.existsSync(FILE_INDEX)) {
216
+ _fileIndex = {};
217
+ return _fileIndex;
218
+ }
219
+ try {
220
+ _fileIndex = JSON.parse(fs.readFileSync(FILE_INDEX, 'utf8'));
221
+ }
222
+ catch {
223
+ _fileIndex = {};
224
+ }
225
+ return _fileIndex;
226
+ }
227
+ function saveFileIndex(idx) {
228
+ fs.writeFileSync(FILE_INDEX, JSON.stringify(idx));
229
+ }
230
+ function updateFileIndex(pkgName, files) {
231
+ const idx = loadFileIndex();
232
+ for (const f of files)
233
+ idx[f] = pkgName;
234
+ saveFileIndex(idx);
235
+ }
236
+ function removeFileIndex(pkgName, files) {
237
+ const idx = loadFileIndex();
238
+ for (const f of files)
239
+ delete idx[f];
240
+ saveFileIndex(idx);
241
+ }
242
+ function getFileOwner(filePath) {
243
+ return loadFileIndex()[filePath];
244
+ }
245
+ function invalidateFileIndex() { _fileIndex = null; }
246
+ //# sourceMappingURL=localdb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localdb.js","sourceRoot":"","sources":["../../src/db/localdb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { InstalledPackage } from '../core/types';
2
+ export declare function loadAllPackages(): InstalledPackage[];
3
+ export declare function getFileOwner(filePath: string): string | undefined;
4
+ export declare function getPackageFiles(name: string): string[];
5
+ export declare function saveFileIndex(pkg: InstalledPackage): void;
6
+ export declare function removeFileIndex(pkg: InstalledPackage): void;
7
+ export declare function getPackage(name: string): InstalledPackage | undefined;
8
+ export declare function searchPackages(query: string): InstalledPackage[];
9
+ export declare function savePackage(pkg: InstalledPackage): void;
10
+ export declare function removePackage(name: string): void;
11
+ export declare function countPackages(): number;
12
+ export declare function refreshDpkgCache(): void;
13
+ export declare function dpkgHasPackage(name: string): boolean;
14
+ export declare function upsertDpkgEntry(name: string, version: string, architecture: string, description: string, installedSize: number): void;
15
+ export declare function removeDpkgCacheEntry(name: string): void;
16
+ export declare function syncDpkgCache(): void;
17
+ export declare function getDpkgPackage(name: string): Record<string, any> | undefined;
18
+ export declare function getAllDpkgPackages(): Record<string, any>[];
19
+ export declare function countDpkgPackages(): number;
20
+ //# sourceMappingURL=sqlite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/db/sqlite.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA+CtD,wBAAgB,eAAe,IAAI,gBAAgB,EAAE,CAGpD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGjE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAGtD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAKzD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAE3D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAGrE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAMhE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAcvD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGhD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAGtC;AAsBD,wBAAgB,gBAAgB,IAAI,IAAI,CAwCvC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAWrI;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAM5E;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAG1D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C"}
@@ -0,0 +1,309 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.loadAllPackages = loadAllPackages;
37
+ exports.getFileOwner = getFileOwner;
38
+ exports.getPackageFiles = getPackageFiles;
39
+ exports.saveFileIndex = saveFileIndex;
40
+ exports.removeFileIndex = removeFileIndex;
41
+ exports.getPackage = getPackage;
42
+ exports.searchPackages = searchPackages;
43
+ exports.savePackage = savePackage;
44
+ exports.removePackage = removePackage;
45
+ exports.countPackages = countPackages;
46
+ exports.refreshDpkgCache = refreshDpkgCache;
47
+ exports.dpkgHasPackage = dpkgHasPackage;
48
+ exports.upsertDpkgEntry = upsertDpkgEntry;
49
+ exports.removeDpkgCacheEntry = removeDpkgCacheEntry;
50
+ exports.syncDpkgCache = syncDpkgCache;
51
+ exports.getDpkgPackage = getDpkgPackage;
52
+ exports.getAllDpkgPackages = getAllDpkgPackages;
53
+ exports.countDpkgPackages = countDpkgPackages;
54
+ const node_sqlite_1 = require("node:sqlite");
55
+ const fs = __importStar(require("node:fs"));
56
+ const path = __importStar(require("node:path"));
57
+ const control_1 = require("../core/control");
58
+ const DB_PATH = '/var/lib/pacman-debian/packages.db';
59
+ const DPKG_STATUS = '/var/lib/dpkg/status';
60
+ let _db = null;
61
+ function open() {
62
+ if (_db)
63
+ return _db;
64
+ const dir = path.dirname(DB_PATH);
65
+ if (!fs.existsSync(dir))
66
+ fs.mkdirSync(dir, { recursive: true });
67
+ try {
68
+ _db = new node_sqlite_1.DatabaseSync(DB_PATH);
69
+ _db.exec('PRAGMA journal_mode=WAL');
70
+ _db.exec('PRAGMA synchronous=NORMAL');
71
+ initSchema();
72
+ // Make DB world-readable/writable for non-root queries
73
+ try {
74
+ fs.chmodSync(DB_PATH, 0o666);
75
+ }
76
+ catch { }
77
+ }
78
+ catch (e) {
79
+ // If SQLite fails (e.g. permissions), fall back gracefully
80
+ console.error('Warning: could not open database, some features may be limited');
81
+ return _db = null;
82
+ }
83
+ return _db;
84
+ }
85
+ function initSchema() {
86
+ _db.exec(`
87
+ CREATE TABLE IF NOT EXISTS packages (
88
+ name TEXT PRIMARY KEY, version TEXT NOT NULL, architecture TEXT DEFAULT '',
89
+ description TEXT DEFAULT '', depends TEXT DEFAULT '', pre_depends TEXT DEFAULT '',
90
+ conflicts TEXT DEFAULT '', provides TEXT DEFAULT '',
91
+ maintainer TEXT DEFAULT '', homepage TEXT DEFAULT '',
92
+ section TEXT DEFAULT '', priority TEXT DEFAULT '',
93
+ installed_size INTEGER DEFAULT 0, install_time INTEGER DEFAULT 0,
94
+ reason TEXT DEFAULT 'explicit', repo_type TEXT DEFAULT 'debian'
95
+ );
96
+ CREATE TABLE IF NOT EXISTS files (
97
+ path TEXT PRIMARY KEY, package TEXT NOT NULL
98
+ );
99
+ CREATE INDEX IF NOT EXISTS idx_files_package ON files(package);
100
+ `);
101
+ // dpkg_cache table created lazily in ensureDpkgSchema
102
+ }
103
+ /* ---- packages (our own DB) ---- */
104
+ function loadAllPackages() {
105
+ try {
106
+ const rows = open().prepare('SELECT * FROM packages').all();
107
+ return rows.map(installedFromRow);
108
+ }
109
+ catch {
110
+ return [];
111
+ }
112
+ }
113
+ function getFileOwner(filePath) {
114
+ try {
115
+ const row = open().prepare('SELECT package FROM files WHERE path = ?').get(filePath);
116
+ return row?.package;
117
+ }
118
+ catch {
119
+ return undefined;
120
+ }
121
+ }
122
+ function getPackageFiles(name) {
123
+ try {
124
+ const rows = open().prepare('SELECT path FROM files WHERE package = ? ORDER BY path').all(name);
125
+ return rows.map(r => r.path);
126
+ }
127
+ catch {
128
+ return [];
129
+ }
130
+ }
131
+ function saveFileIndex(pkg) {
132
+ try {
133
+ const stmt = open().prepare('INSERT OR REPLACE INTO files (path, package) VALUES (?, ?)');
134
+ for (const f of pkg.files)
135
+ stmt.run(f, pkg.name);
136
+ }
137
+ catch { }
138
+ }
139
+ function removeFileIndex(pkg) {
140
+ try {
141
+ open().prepare('DELETE FROM files WHERE package = ?').run(pkg.name);
142
+ }
143
+ catch { }
144
+ }
145
+ function getPackage(name) {
146
+ const row = open().prepare('SELECT * FROM packages WHERE name = ?').get(name);
147
+ return row ? installedFromRow(row) : undefined;
148
+ }
149
+ function searchPackages(query) {
150
+ const q = `%${query.toLowerCase()}%`;
151
+ const rows = open().prepare('SELECT * FROM packages WHERE LOWER(name) LIKE ? OR LOWER(description) LIKE ?').all(q, q);
152
+ return rows.map(installedFromRow);
153
+ }
154
+ function savePackage(pkg) {
155
+ const stmt = open().prepare(`
156
+ INSERT OR REPLACE INTO packages
157
+ (name,version,architecture,description,depends,pre_depends,conflicts,provides,
158
+ maintainer,homepage,section,priority,installed_size,install_time,reason,repo_type)
159
+ VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
160
+ `);
161
+ stmt.run(pkg.name, pkg.version, pkg.architecture, pkg.description || '', pkg.depends || '', pkg['pre-depends'] || '', pkg.conflicts || '', pkg.provides || '', pkg.maintainer || '', pkg.homepage || '', pkg.controlSection || 'misc', pkg.controlPriority || 'optional', pkg.installedSize || 0, pkg.installTime, pkg.reason, pkg.repoType || 'debian');
162
+ }
163
+ function removePackage(name) {
164
+ open().prepare('DELETE FROM packages WHERE name = ?').run(name);
165
+ open().prepare('DELETE FROM files WHERE package = ?').run(name);
166
+ }
167
+ function countPackages() {
168
+ const row = open().prepare('SELECT COUNT(*) as c FROM packages').get();
169
+ return row?.c ?? 0;
170
+ }
171
+ /* ---- files ---- */
172
+ let _dpkgMtime = 0;
173
+ function entryHash(fields) {
174
+ const key = `${fields['package']}|${fields['version']}|${fields['architecture']}|${fields['description']?.split('\n')[0] || ''}|${fields['depends'] || ''}`;
175
+ let h = 0;
176
+ for (let i = 0; i < key.length; i++) {
177
+ h = ((h << 5) - h) + key.charCodeAt(i);
178
+ h |= 0;
179
+ }
180
+ return h.toString(36);
181
+ }
182
+ function ensureDpkgSchema() {
183
+ open().exec(`CREATE TABLE IF NOT EXISTS dpkg_cache (
184
+ name TEXT PRIMARY KEY, version TEXT NOT NULL, architecture TEXT DEFAULT '',
185
+ description TEXT DEFAULT '', maintainer TEXT DEFAULT '', depends TEXT DEFAULT '',
186
+ installed_size INTEGER DEFAULT 0, section TEXT DEFAULT '', priority TEXT DEFAULT '',
187
+ homepage TEXT DEFAULT '', mtime INTEGER DEFAULT 0, hash TEXT DEFAULT ''
188
+ )`);
189
+ }
190
+ function refreshDpkgCache() {
191
+ if (!fs.existsSync(DPKG_STATUS))
192
+ return;
193
+ try {
194
+ const mtime = fs.statSync(DPKG_STATUS).mtimeMs;
195
+ if (mtime === _dpkgMtime)
196
+ return;
197
+ ensureDpkgSchema();
198
+ const db = open();
199
+ const content = fs.readFileSync(DPKG_STATUS, 'utf8');
200
+ const currentNames = new Set();
201
+ const upsert = db.prepare(`INSERT OR REPLACE INTO dpkg_cache
202
+ (name,version,architecture,description,maintainer,depends,installed_size,section,priority,homepage,mtime,hash)
203
+ VALUES(?,?,?,?,?,?,?,?,?,?,?,?)`);
204
+ for (const entry of content.split('\n\n').filter(Boolean)) {
205
+ const fields = (0, control_1.parseControlFile)(entry);
206
+ const name = fields['package'];
207
+ if (!name)
208
+ continue;
209
+ const status = (fields['status'] || '').trim();
210
+ if (!status.startsWith('install ok installed'))
211
+ continue;
212
+ currentNames.add(name);
213
+ const hash = entryHash(fields);
214
+ const existing = db.prepare('SELECT hash FROM dpkg_cache WHERE name = ?').get(name);
215
+ if (existing && existing.hash === hash)
216
+ continue;
217
+ upsert.run(name, fields['version'] || '', fields['architecture'] || '', fields['description']?.split('\n')[0] || '', fields['maintainer'] || '', fields['depends'] || '', fields['installed-size'] ? parseInt(fields['installed-size'], 10) : 0, fields['section'] || '', fields['priority'] || '', fields['homepage'] || '', Math.floor(mtime), hash);
218
+ }
219
+ const all = db.prepare('SELECT name FROM dpkg_cache').all();
220
+ for (const row of all) {
221
+ if (!currentNames.has(row.name)) {
222
+ db.prepare('DELETE FROM dpkg_cache WHERE name = ?').run(row.name);
223
+ }
224
+ }
225
+ _dpkgMtime = mtime;
226
+ }
227
+ catch { }
228
+ }
229
+ function dpkgHasPackage(name) {
230
+ refreshDpkgCache();
231
+ try {
232
+ return !!open().prepare('SELECT 1 FROM dpkg_cache WHERE name = ?').get(name);
233
+ }
234
+ catch {
235
+ return false;
236
+ }
237
+ }
238
+ function upsertDpkgEntry(name, version, architecture, description, installedSize) {
239
+ try {
240
+ ensureDpkgSchema();
241
+ const key = `${name}|${version}|${architecture}|${description}`;
242
+ let h = 0;
243
+ for (let i = 0; i < key.length; i++) {
244
+ h = ((h << 5) - h) + key.charCodeAt(i);
245
+ h |= 0;
246
+ }
247
+ const hash = h.toString(36);
248
+ open().prepare(`INSERT OR REPLACE INTO dpkg_cache
249
+ (name,version,architecture,description,installed_size,mtime,hash)
250
+ VALUES(?,?,?,?,?,?,?)`).run(name, version, architecture, description || '', installedSize || 0, Date.now(), hash);
251
+ }
252
+ catch { }
253
+ }
254
+ function removeDpkgCacheEntry(name) {
255
+ try {
256
+ open().prepare('DELETE FROM dpkg_cache WHERE name = ?').run(name);
257
+ }
258
+ catch { }
259
+ }
260
+ function syncDpkgCache() {
261
+ if (fs.existsSync(DPKG_STATUS)) {
262
+ try {
263
+ _dpkgMtime = fs.statSync(DPKG_STATUS).mtimeMs;
264
+ }
265
+ catch { }
266
+ }
267
+ }
268
+ function getDpkgPackage(name) {
269
+ refreshDpkgCache();
270
+ try {
271
+ const row = open().prepare('SELECT * FROM dpkg_cache WHERE name = ?').get(name);
272
+ return row || undefined;
273
+ }
274
+ catch {
275
+ return undefined;
276
+ }
277
+ }
278
+ function getAllDpkgPackages() {
279
+ refreshDpkgCache();
280
+ try {
281
+ return open().prepare('SELECT * FROM dpkg_cache ORDER BY name').all();
282
+ }
283
+ catch {
284
+ return [];
285
+ }
286
+ }
287
+ function countDpkgPackages() {
288
+ refreshDpkgCache();
289
+ try {
290
+ const row = open().prepare('SELECT COUNT(*) as c FROM dpkg_cache').get();
291
+ return row?.c ?? 0;
292
+ }
293
+ catch {
294
+ return 0;
295
+ }
296
+ }
297
+ /* ---- helpers ---- */
298
+ function installedFromRow(row) {
299
+ return {
300
+ name: row.name, version: row.version, architecture: row.architecture,
301
+ description: row.description, depends: row.depends, 'pre-depends': row.pre_depends,
302
+ conflicts: row.conflicts, provides: row.provides,
303
+ maintainer: row.maintainer, homepage: row.homepage,
304
+ controlSection: row.section, controlPriority: row.priority,
305
+ installedSize: row.installed_size, installTime: row.install_time,
306
+ reason: row.reason, files: [], repoType: row.repo_type || 'debian',
307
+ };
308
+ }
309
+ //# sourceMappingURL=sqlite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/db/sqlite.ts"],"names":[],"mappings":"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"}
package/dist/deb.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import type { DebPackage } from './types';
2
+ export declare function parseDeb(filePath: string): DebPackage;
3
+ export declare function listDebContents(filePath: string): string[];
4
+ export declare function readScript(pkg: DebPackage, name: string): string | null;
5
+ //# sourceMappingURL=deb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deb.d.ts","sourceRoot":"","sources":["../src/deb.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAEtD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAqDrD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAG1D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvE"}