From dffd079e51ef6104b6611b4aaa0f4efb04f1ccab Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 9 Apr 2024 14:40:27 +0200 Subject: contrib: automate bumping Debian package version --- contrib/bump-taler-version.mjs | 53 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/contrib/bump-taler-version.mjs b/contrib/bump-taler-version.mjs index f0ea82978..2f21ba097 100755 --- a/contrib/bump-taler-version.mjs +++ b/contrib/bump-taler-version.mjs @@ -6,6 +6,7 @@ // - x.y.z // - x.y.z-dev.n +import * as child_process from "child_process"; import * as fs from "fs"; let requestedVersion = process.argv[2]; @@ -44,7 +45,15 @@ if (!verMatched) { } } -let packages = ["taler-util", "taler-wallet-core", "taler-harness", "taler-wallet-cli", "web-util", "taler-wallet-webextension", "taler-wallet-embedded"]; +let packages = [ + "taler-util", + "taler-wallet-core", + "taler-harness", + "taler-wallet-cli", + "web-util", + "taler-wallet-webextension", + "taler-wallet-embedded", +]; for (const pkg of packages) { const p = `packages/${pkg}/package.json`; @@ -56,9 +65,8 @@ for (const pkg of packages) { } } - { - const p = "packages/taler-wallet-webextension/manifest-common.json" + const p = "packages/taler-wallet-webextension/manifest-common.json"; const data = JSON.parse(fs.readFileSync(p)); console.log("manifest version", data.version); console.log("manifest version_name", data.version_name); @@ -78,3 +86,42 @@ for (const pkg of packages) { fs.writeFileSync(p, JSON.stringify(data, undefined, 2) + "\n"); } } + +let debs = ["taler-wallet-cli", "taler-harness"]; + +for (const deb of debs) { + const p = `packages/${deb}/debian/changelog`; + const data = fs.readFileSync(p, { + encoding: "utf-8", + }); + const lines = data.split("\n"); + for (const line of lines) { + const s = line.trim(); + if (s == "") { + continue; + } + const re = /\((.*)\)/; + const m = s.match(re); + const version = m[1]; + let pfx = ""; + if (version != requestedVersion) { + pfx = "[!] "; + if (!dry) { + const dateStr = child_process.execSync("date -R", { + encoding: "utf-8", + }); + const entryLines = [ + `${deb} (${requestedVersion}) unstable; urgency=low`, + "", + ` * Release ${requestedVersion}`, + "", + ` -- Florian Dold ${dateStr}`, + ``, + ]; + fs.writeFileSync(p, `${entryLines.join("\n")}${data}`); + } + } + console.log(`${pfx}${p} is ${version}`); + break; + } +} -- cgit v1.2.3