From c03afdf4eeb490808b9c16f8a1ef211a17b7ee46 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Mon, 14 Oct 2024 17:18:58 +0200 Subject: [PATCH] Upgrading deb packaging --- README.md | 8 +++++- assets/native/linux/debian/depends | 1 - assets/native/linux/debian/depends.packaged | 1 + assets/native/linux/debian/depends.wheels | 1 + common/package.json | 2 +- scripts/package-deb.sh | 13 ++++++++- scripts/sign-deb.sh | 31 +++++++++++---------- 7 files changed, 39 insertions(+), 18 deletions(-) delete mode 100644 assets/native/linux/debian/depends create mode 100644 assets/native/linux/debian/depends.packaged create mode 100644 assets/native/linux/debian/depends.wheels diff --git a/README.md b/README.md index ae252fe..5d4ba57 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,13 @@ To run LogarithmPlotter's tests, follow these steps: - Python - Install python3 and [poetry](https://python-poetry.org/) - - Run `poetry install --with test` + - Create and activate virtual env (recommended) + - Go into `runtime-pyside6` and run `poetry install --with test` +- ECMAScript + - Install node with npm + - Go into `common` and run `npm install -D` + +Finally, to actually run the tests: - Run `scripts/run-tests.sh` ## Legal notice diff --git a/assets/native/linux/debian/depends b/assets/native/linux/debian/depends deleted file mode 100644 index 5b7d902..0000000 --- a/assets/native/linux/debian/depends +++ /dev/null @@ -1 +0,0 @@ -python3 (>= 3.9), python3-pip, python3-pyside6-essentials (>= 6.7.0), texlive-latex-base, dvipng diff --git a/assets/native/linux/debian/depends.packaged b/assets/native/linux/debian/depends.packaged new file mode 100644 index 0000000..22f3322 --- /dev/null +++ b/assets/native/linux/debian/depends.packaged @@ -0,0 +1 @@ +python3 (>= 3.9), python3-pip, python3-pyside6.qtcore (>= 6), python3-pyside6.qtcore (>= 6), texlive-latex-base, dvipng diff --git a/assets/native/linux/debian/depends.wheels b/assets/native/linux/debian/depends.wheels new file mode 100644 index 0000000..9a874f7 --- /dev/null +++ b/assets/native/linux/debian/depends.wheels @@ -0,0 +1 @@ +python3 (>= 3.9), python3-pip, python3-pyside6-essentials (>= 6.7.0), python3-pyside6-addons (>= 6.7.0), texlive-latex-base, dvipng diff --git a/common/package.json b/common/package.json index 6940d87..e85d3ff 100644 --- a/common/package.json +++ b/common/package.json @@ -2,7 +2,7 @@ "name": "logarithmplotter", "version": "0.6.0", "description": "2D plotter software to make Bode plots, sequences and distribution functions.", - "main": "LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/autoload.mjs", + "main": "src/index.mjs", "scripts": { "build": "rollup --config rollup.config.mjs", "test": "c8 mocha test/**/*.mjs" diff --git a/scripts/package-deb.sh b/scripts/package-deb.sh index 8ed03ee..eea10ba 100755 --- a/scripts/package-deb.sh +++ b/scripts/package-deb.sh @@ -26,7 +26,18 @@ mkdir assets cp -r ../../assets/{native,*.svg} assets/ cp ../../README.md . +# Build for noble python3 setup.py --remove-git-version --command-packages=stdeb.command sdist_dsc \ --package logarithmplotter --copyright-file assets/native/linux/debian/copyright \ - --suite noble --depends3 "$(cat assets/native/linux/debian/depends)" --section science \ + --suite noble --depends3 "$(cat assets/native/linux/debian/depends.wheels)" --section science \ bdist_deb + +mv deb_dist deb_dist.noble + +# Build for oracular (different dependencies) +python3 setup.py --remove-git-version --command-packages=stdeb.command sdist_dsc \ + --package logarithmplotter --copyright-file assets/native/linux/debian/copyright \ + --suite oracular --depends3 "$(cat assets/native/linux/debian/depends.packaged)" --section science \ + bdist_deb + +mv deb_dist deb_dist.oracular diff --git a/scripts/sign-deb.sh b/scripts/sign-deb.sh index f8e0a9a..05bee26 100755 --- a/scripts/sign-deb.sh +++ b/scripts/sign-deb.sh @@ -1,23 +1,26 @@ #!/bin/bash # This script is used to sign the LogarithmPlotter deb directly from it's DSC file. # Adapted from https://github.com/astraw/stdeb/issues/181 -cd "$(dirname "$(readlink -f "$0" || realpath "$0")")/../build/runtime-pyside6/deb_dist" || exit 1 +cd "$(dirname "$(readlink -f "$0" || realpath "$0")")/../build/runtime-pyside6/" || exit 1 PPA_ARCHIVE="ppa:ad5001/logarithmplotter" -# create a temporary folder -mkdir tmp -p -cd tmp -rm -rf * +for dist in `echo noble oracular`; do + echo "Signing $dist deb..." + # create a temporary folder + mkdir "deb_dist.$dist/tmp" -p + cd "deb_dist.$dist/tmp" || exit 1 + rm -rf * -# DSC file variables -dsc_file="$(find ../ -regextype sed -regex ".*/*.dsc" | cut -c 4-)" -source_package_name="$(echo $dsc_file | cut -c -$(expr ${#dsc_file} - 4))" + # DSC file variables + dsc_file="$(find ../ -regextype sed -regex ".*/*.dsc" | cut -c 4-)" + source_package_name="$(echo $dsc_file | cut -c -$(expr ${#dsc_file} - 4))" -# extract and sign the files -dpkg-source -x "../$dsc_file" -cd "$(find . -type d | head -n 2 | tail -n 1 | cut -c 3-)" # go to the (only) directory. -debuild -S -sa -k"mail@ad5001.eu" + # extract and sign the files + dpkg-source -x "../$dsc_file" + cd "$(find . -type d | head -n 2 | tail -n 1 | cut -c 3-)" # go to the (only) directory. + debuild -S -sa -k"mail@ad5001.eu" -# upload package to my PPA -dput $PPA_ARCHIVE "../${source_package_name}_source.changes" + # upload package to my PPA + dput $PPA_ARCHIVE "../${source_package_name}_source.changes" +done