diff --git a/src/npm-pkgbuild-cli.mjs b/src/npm-pkgbuild-cli.mjs
index 762a0f39..ea222c35 100644
--- a/src/npm-pkgbuild-cli.mjs
+++ b/src/npm-pkgbuild-cli.mjs
@@ -9,6 +9,7 @@ const { promises } = require("fs");
program
.description("create arch linux package from npm")
.version(version)
+ .option("-i
")
.option("-w ")
.action(async (args, options, logger) => {
if (options.w !== undefined) {
@@ -17,7 +18,7 @@ program
const dest = createWriteStream(join(wd, "PKGBUILD"));
- await npm2pkgbuild(process.cwd(), dest);
+ await npm2pkgbuild(process.cwd(), dest, { installdir : options.i });
const r = await execa("makepkg", ["-f"], { cwd: wd });
console.log(r.stderr);
diff --git a/src/npm-pkgbuild.mjs b/src/npm-pkgbuild.mjs
index 0c99e267..97fefdbe 100644
--- a/src/npm-pkgbuild.mjs
+++ b/src/npm-pkgbuild.mjs
@@ -4,7 +4,9 @@ import { promisify } from 'util';
import { finished } from 'stream';
import fs from "fs";
-export async function npm2pkgbuild(dir, out) {
+export async function npm2pkgbuild(dir, out, options = {}) {
+ const installdir = options.installdir || '/';
+
const pkgFile = join(dir, "package.json");
const pkg = JSON.parse(
await fs.promises.readFile(pkgFile, { encoding: "utf-8" })
@@ -94,7 +96,8 @@ build() {
}
package() {
- (cd "\${srcdir}/${pkg.name}";tar cf - * )|(cd "\${pkgdir}";tar xf - )
+ mkdir -p "\${pkgdir}/${installdir}"
+ (cd "\${srcdir}/${pkg.name}";tar cf - * )|(cd "\${pkgdir}/${installdir}";tar xf - )
}
`
);