From c74fa12ad8f03393b77edf2fd14c6a1e9435737a Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Thu, 19 Mar 2026 15:09:00 +0100 Subject: [PATCH 01/23] Fist implementation plan ready. --- doc/design.md | 142 +++++++++++++++++++++++++++++++++++++ doc/system_requirements.md | 30 +++++++- doc/tasks.md | 41 +++++++++++ 3 files changed, 212 insertions(+), 1 deletion(-) create mode 100644 doc/design.md create mode 100644 doc/tasks.md diff --git a/doc/design.md b/doc/design.md new file mode 100644 index 0000000..55be681 --- /dev/null +++ b/doc/design.md @@ -0,0 +1,142 @@ +# OpenFastTrace Debian Package Design + +This document describes the design of the OpenFastTrace Debian Package project. + +## Notation + +This design uses the OFT requirement notation explained in the [OFT user guide](https://github.com/itsallcode/openfasttrace/blob/main/doc/user_guide.md). + +## Components + +### Build Environment and Tools +`dsn~build-tools~1` + +The project relies on standard Debian package building tools such as `dpkg-dev`, `debhelper`, and `devscripts`. These tools must be installed on a Debian or derived distribution to facilitate the build process. + +Covers: +* [`req~debian-build-environment~1`](system_requirements.md#debian-build-environment) + +Needs: impl, itest + +### Build Orchestration Scripts +`dsn~build-orchestration-scripts~1` + +Two main shell scripts will be provided to automate the packaging process: +1. `create-source-package.sh`: Automates the creation of the Debian source package. +2. `create-binary-package.sh`: Automates the creation of the Debian binary package from the source package. + +Covers: +* [`req~source-package-build-automation-by-shell-script~1`](system_requirements.md#source-package-build-automation-by-shell-script) +* [`req~binary-package-build-automation-by-shell-script~1`](system_requirements.md#binary-package-build-automation-by-shell-script) + +Needs: impl, itest + +### Precondition Check +`dsn~precondition-check~1` + +A dedicated shell script `check-preconditions.sh` will be implemented to verify that the build environment meets all requirements (e.g., necessary tools installed). This script will be called by the build orchestration scripts before they proceed. + +Covers: +* [`req~precondition-check~1`](system_requirements.md#precondition-check) + +Needs: impl, itest + +### Version Handling and Input +`dsn~version-input~1` + +The version of OpenFastTrace to be packaged will be passed as a command-line argument to the build scripts. The version format must follow the `..` pattern. + +Covers: +* [`req~picking-the-release~1`](system_requirements.md#picking-the-release) + +Needs: impl, itest + +### Source Fetching from GitHub +`dsn~source-fetching~1` + +The `create-source-package.sh` script will use `curl` or `wget` to download the OpenFastTrace source code for the specified version directly from GitHub as a `.tar.gz` archive. + +Covers: +* [`req~binary-package-from-git-hub-release~1`](system_requirements.md#binary-package-from-git-hub-release) + +Needs: impl, itest + +### Debian Package Structure and Metadata +`dsn~debian-metadata~1` + +The project will maintain a `debian/` directory containing the standard metadata files: +* `control`: Package information, dependencies, and descriptions. +* `changelog`: Version history and maintainer information. +* `copyright`: License and authorship information. +* `rules`: Build instructions for `dpkg-buildpackage`. + +These files will be populated with the constant metadata defined in the requirements. + +Covers: +* [`req~package-metadata~1`](system_requirements.md#package-metadata) + +Needs: impl, itest + +### Changelog Extraction +`dsn~changelog-extraction~1` + +The `create-source-package.sh` script will extract changelog entries from the Markdown files in the `doc/changes` directory of the fetched OpenFastTrace source code. +The extraction process will: +* Identify the Markdown files relevant to the version being packaged. +* Convert the Markdown content into the Debian changelog format. +* Append the formatted entries to `debian/changelog`, ensuring that existing history is never rewritten. + +Covers: +* [`req~debian-changelog~1`](system_requirements.md#debian-changelog) + +Needs: impl, itest + +### Reproducible Build Process +`dsn~build-reproducibility~1` + +The `create-binary-package.sh` script will utilize `dpkg-buildpackage -us -uc -b` to build the binary package from the extracted source package. This process ensures that the resulting binary package is built consistently and reproducibly from the source files. + +Covers: +* [`req~reproducible-build-from-source-package~1`](system_requirements.md#reproducible-build-from-source-package) + +Needs: impl, itest + +### Integration Testing +`dsn~integration-testing~1` + +A simple integration test will be implemented as a shell script `test-packaging.sh`. This script will: +1. Call `check-preconditions.sh` to verify the environment. +2. Call `create-source-package.sh` for a specific version. +3. Call `create-binary-package.sh` for the same version. +4. Verify that the output files (`.dsc`, `.orig.tar.gz`, `.debian.tar.xz`, and `.deb`) are present. +5. Run `shellcheck` on all shell scripts. + +Needs: impl, itest + +## Quality Requirements + +The requirements in this section are of a technical nature and don't cover end user requirements from the [system requirments](system_requirements.md). They ensure that the code stays clean and maintainable. + +### Clean Code Principles +`dsn~clean-code-principles~1` + +The project adheres to the following clean code principles: + +1. Speaking function names instead of comments +2. Functions have a low complexity +3. Steps are represented as individual functions +4. Minimal but well-readable implementation +5. Minimal dependencies +6. Immutable variables where possible + +Needs: impl + +### Finding-free Shellcheck +`dsn~finding-free-shellcheck~1` + +All shell scripts in this project are free of findings in shellcheck. + +Needs: impl, itest + + + diff --git a/doc/system_requirements.md b/doc/system_requirements.md index 637319e..d753e6f 100644 --- a/doc/system_requirements.md +++ b/doc/system_requirements.md @@ -46,7 +46,7 @@ Rationale: End users of a debian-derived Linux distribution use this package type to install an application. -Nees: req +Needs: req ## High Level Requirements @@ -64,6 +64,18 @@ Covers: Needs: dsn +### Precondition Check +`req~precondition-check~1` + +The package maintainer runs a script that verifies that the preconditions are fulfilled before starting the actual package build. If anything is missing on the build system, the script lists commands to execute to install the missing parts. + +Covers: + +* [`feat~debian-source-package~1`](#debian-source-package) +* [`feat~debian-binary-package~1`](#feat~debian-binary-package~1) + +Needs: dsn + ### Source Package Build Automation by Shell Script `req~source-package-build-automation-by-shell-script~1` @@ -147,3 +159,19 @@ Covers: * [`feat~debian-binary-package~1`](#debian-binary-package) Needs: dsn + +### Debian Changelog +`req~debian-changelog~1` + +The debian-style change log is derived from the changelog Markdown files found in the project under `doc/changes`. The debian changelog only gets appended to, never rewritten. + +Rationale: + +OFT already has a well-maintained changelog that serves as the source of truth for the package changelog. Appending ensures that reviewed changes are not modified. This is especially useful when the new entries are extracted automatically with a tool and need human review. + +Covers: + +* [`feat~debian-source-package~1`](#debian-source-package) +* [`feat~debian-binary-package~1`](#debian-binary-package) + +Needs: dsn diff --git a/doc/tasks.md b/doc/tasks.md new file mode 100644 index 0000000..82dbf1b --- /dev/null +++ b/doc/tasks.md @@ -0,0 +1,41 @@ +# Implementation Tasks for OpenFastTrace Debian Package + +This task list is based on the [OpenFastTrace Debian Package Design](design.md). + +## Phase 1: Environment and Project Initialization +1. - [ ] Install necessary build tools: `dpkg-dev`, `debhelper`, and `devscripts` (`dsn~build-tools~1`). +2. - [ ] Create the `debian/` directory structure in the project root (`dsn~debian-metadata~1`). +3. - [ ] Implement `check-preconditions.sh` to verify the build environment (`dsn~precondition-check~1`, `req~precondition-check~1`). + +## Phase 2: Debian Package Metadata Setup +4. - [ ] Create `debian/control` with metadata: organization, maintainers, URLs (Homepage/Source), and descriptions (`dsn~debian-metadata~1`, `req~package-metadata~1`). +5. - [ ] Create `debian/copyright` with GPL-3.0 license and authorship information (`dsn~debian-metadata~1`, `req~package-metadata~1`). +6. - [ ] Create `debian/rules` as a standard build script for `dpkg-buildpackage` (`dsn~debian-metadata~1`). +7. - [ ] Initialize the `debian/changelog` file with the required initial metadata (`dsn~debian-metadata~1`). + +## Phase 3: Source Package Automation (`create-source-package.sh`) +8. - [ ] Implement command-line version argument parsing (`..`) in the build orchestration scripts (`dsn~version-input~1`). +9. - [ ] Implement source code downloading from GitHub as a `.tar.gz` archive for the specified version (`dsn~source-fetching~1`). +10. - [ ] Implement logic to identify relevant Markdown files in `doc/changes` within the fetched source archive (`dsn~changelog-extraction~1`). +11. - [ ] Implement the conversion of Markdown content into the Debian changelog format (`dsn~changelog-extraction~1`). +12. - [ ] Implement the append-only update mechanism for `debian/changelog` (`dsn~changelog-extraction~1`). +13. - [ ] Automate the final assembly and creation of the Debian source package (`dsn~build-orchestration-scripts~1`). + +## Phase 4: Binary Package Automation (`create-binary-package.sh`) +14. - [ ] Implement `create-binary-package.sh` to trigger the binary build from the source package (`dsn~build-orchestration-scripts~1`). +15. - [ ] Use `dpkg-buildpackage -us -uc -b` to ensure a reproducible binary package build (`dsn~build-reproducibility~1`). + +## Phase 5: Integration Testing Automation +16. - [ ] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). +17. - [ ] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). +18. - [ ] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). +19. - [ ] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). +20. - [ ] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). + +## Phase 6: Quality Assurance +21. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). + +## Phase 7: Final Verification +22. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. +23. - [ ] Verify the resulting `.deb` package metadata and file contents. +24. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. From 994f4c58a965cad90f78d3358da75283fb91efce Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Thu, 19 Mar 2026 15:16:45 +0100 Subject: [PATCH 02/23] Precondition check script added. --- check-preconditions.sh | 48 ++++++++++++++++++++++++++++++++++++++++++ doc/tasks.md | 6 +++--- 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100755 check-preconditions.sh diff --git a/check-preconditions.sh b/check-preconditions.sh new file mode 100755 index 0000000..0710261 --- /dev/null +++ b/check-preconditions.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +# check-preconditions.sh - Verifies the build environment for OpenFastTrace Debian Package +# dsn~precondition-check~1, req~precondition-check~1 + +set -e + +# Define required tools and their corresponding packages +# Tools are checked for existence in PATH +declare -A REQUIRED_TOOLS=( + ["dpkg-buildpackage"]="dpkg-dev" + ["dh"]="debhelper" + ["dch"]="devscripts" + ["curl"]="curl" + ["wget"]="wget" + ["shellcheck"]="shellcheck" +) + +check_tools() { + local missing_packages=() + local all_ok=true + + echo "Checking for required tools..." + for tool in "${!REQUIRED_TOOLS[@]}"; do + if ! command -v "$tool" >/dev/null 2>&1; then + echo " [FAIL] $tool is missing (provided by package: ${REQUIRED_TOOLS[$tool]})" + missing_packages+=("${REQUIRED_TOOLS[$tool]}") + all_ok=false + else + echo " [ OK ] $tool is installed" + fi + done + + if [ "$all_ok" = false ]; then + echo "" + echo "Error: Some required tools are missing." + echo "To install the missing packages, run:" + echo " sudo apt-get update && sudo apt-get install -y ${missing_packages[*]}" + return 1 + else + echo "" + echo "All preconditions are met." + return 0 + fi +} + +# Main execution +check_tools diff --git a/doc/tasks.md b/doc/tasks.md index 82dbf1b..ce21481 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -3,9 +3,9 @@ This task list is based on the [OpenFastTrace Debian Package Design](design.md). ## Phase 1: Environment and Project Initialization -1. - [ ] Install necessary build tools: `dpkg-dev`, `debhelper`, and `devscripts` (`dsn~build-tools~1`). -2. - [ ] Create the `debian/` directory structure in the project root (`dsn~debian-metadata~1`). -3. - [ ] Implement `check-preconditions.sh` to verify the build environment (`dsn~precondition-check~1`, `req~precondition-check~1`). +1. - [x] Install necessary build tools: `dpkg-dev`, `debhelper`, and `devscripts` (`dsn~build-tools~1`). +2. - [x] Create the `debian/` directory structure in the project root (`dsn~debian-metadata~1`). +3. - [x] Implement `check-preconditions.sh` to verify the build environment (`dsn~precondition-check~1`, `req~precondition-check~1`). ## Phase 2: Debian Package Metadata Setup 4. - [ ] Create `debian/control` with metadata: organization, maintainers, URLs (Homepage/Source), and descriptions (`dsn~debian-metadata~1`, `req~package-metadata~1`). From 0e2279d4cd3067df3450d15f28c85df9a41baabe Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Thu, 19 Mar 2026 15:33:53 +0100 Subject: [PATCH 03/23] Metadata files created. --- doc/design.md | 4 ++-- doc/system_requirements.md | 3 ++- doc/tasks.md | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/design.md b/doc/design.md index 55be681..168fdf6 100644 --- a/doc/design.md +++ b/doc/design.md @@ -65,9 +65,9 @@ Needs: impl, itest `dsn~debian-metadata~1` The project will maintain a `debian/` directory containing the standard metadata files: -* `control`: Package information, dependencies, and descriptions. +* `control`: Package information, dependencies, and descriptions (using the specified Debian Package Maintainer). * `changelog`: Version history and maintainer information. -* `copyright`: License and authorship information. +* `copyright`: License and authorship information (using the specified Upstream Authors). * `rules`: Build instructions for `dpkg-buildpackage`. These files will be populated with the constant metadata defined in the requirements. diff --git a/doc/system_requirements.md b/doc/system_requirements.md index d753e6f..203a491 100644 --- a/doc/system_requirements.md +++ b/doc/system_requirements.md @@ -139,7 +139,8 @@ Needs: dsn The packages must include the following constant metadata: * Organization: itsallcode -* Maintainers: +* Debian Package Maintainer: Sebastian Bär +* Upstream Authors: * Christoph Pirkl * Sebastian Bär * Homepage URL: https://github.com/itsallcode/openfasttrace diff --git a/doc/tasks.md b/doc/tasks.md index ce21481..c14267e 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -8,10 +8,10 @@ This task list is based on the [OpenFastTrace Debian Package Design](design.md). 3. - [x] Implement `check-preconditions.sh` to verify the build environment (`dsn~precondition-check~1`, `req~precondition-check~1`). ## Phase 2: Debian Package Metadata Setup -4. - [ ] Create `debian/control` with metadata: organization, maintainers, URLs (Homepage/Source), and descriptions (`dsn~debian-metadata~1`, `req~package-metadata~1`). -5. - [ ] Create `debian/copyright` with GPL-3.0 license and authorship information (`dsn~debian-metadata~1`, `req~package-metadata~1`). -6. - [ ] Create `debian/rules` as a standard build script for `dpkg-buildpackage` (`dsn~debian-metadata~1`). -7. - [ ] Initialize the `debian/changelog` file with the required initial metadata (`dsn~debian-metadata~1`). +4. - [x] Create `debian/control` with metadata: organization, maintainer, URLs (Homepage/Source), and descriptions (`dsn~debian-metadata~1`, `req~package-metadata~1`). +5. - [x] Create `debian/copyright` with GPL-3.0 license and upstream authors information (`dsn~debian-metadata~1`, `req~package-metadata~1`). +6. - [x] Create `debian/rules` as a standard build script for `dpkg-buildpackage` (`dsn~debian-metadata~1`). +7. - [x] Initialize the `debian/changelog` file with the required initial metadata (`dsn~debian-metadata~1`). ## Phase 3: Source Package Automation (`create-source-package.sh`) 8. - [ ] Implement command-line version argument parsing (`..`) in the build orchestration scripts (`dsn~version-input~1`). From 1fb5a0eb9e157c36ca467c011421ea9c8b2cabfd Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Thu, 19 Mar 2026 15:33:58 +0100 Subject: [PATCH 04/23] Metadata files created. --- debian/changelog | 5 +++++ debian/control | 15 +++++++++++++++ debian/copyright | 26 ++++++++++++++++++++++++++ debian/rules | 4 ++++ 4 files changed, 50 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100755 debian/rules diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..8e513db --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +openfasttrace (0.0.0-1) unstable; urgency=low + + * Initial release. + + -- Sebastian Bär Thu, 19 Mar 2026 15:16:00 +0000 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..20c64c3 --- /dev/null +++ b/debian/control @@ -0,0 +1,15 @@ +Source: openfasttrace +Section: misc +Priority: optional +Maintainer: Sebastian Bär +Build-Depends: debhelper-compat (= 13) +Standards-Version: 4.6.2 +Homepage: https://github.com/itsallcode/openfasttrace +Vcs-Browser: https://github.com/itsallcode/openfasttrace-debian-package +Vcs-Git: https://github.com/itsallcode/openfasttrace-debian-package.git + +Package: openfasttrace +Architecture: all +Depends: ${misc:Depends}, default-jre +Description: Requirement tracing suite for agile projects + OpenFastTrace (OFT) is a requirement tracing suite. It helps developers and project managers track requirements throughout the software development lifecycle. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..d1d296d --- /dev/null +++ b/debian/copyright @@ -0,0 +1,26 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: openfasttrace +Upstream-Contact: Christoph Pirkl , Sebastian Bär +Source: https://github.com/itsallcode/openfasttrace + +Files: * +Copyright: itsallcode, Christoph Pirkl , Sebastian Bär +License: GPL-3.0 + +License: GPL-3.0 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the full text of the GNU General Public + License version 3 can be found in the file + `/usr/share/common-licenses/GPL-3'. diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..2d33f6a --- /dev/null +++ b/debian/rules @@ -0,0 +1,4 @@ +#!/usr/bin/make -f + +%: + dh $@ From 6b582e09faf166cb0b0302b16ed61b62c60436bb Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Thu, 19 Mar 2026 17:12:54 +0100 Subject: [PATCH 05/23] General source package automation --- .gitignore | 11 +++ create-source-package.sh | 143 +++++++++++++++++++++++++++++++++++++ debian/changelog | 24 +++++++ debian/control | 2 +- debian/source/format | 1 + doc/design.md | 28 +++++++- doc/system_requirements.md | 22 ++++++ doc/tasks.md | 45 ++++++------ 8 files changed, 251 insertions(+), 25 deletions(-) create mode 100755 create-source-package.sh create mode 100644 debian/source/format diff --git a/.gitignore b/.gitignore index 1af1cf9..de1d928 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,14 @@ out/ *.log *.tmp *.swp + +# Debian packaging intermediate files and build results +/openfasttrace-*.tar.gz +/openfasttrace-*/ +/openfasttrace_*.orig.tar.gz +/openfasttrace_*.debian.tar.xz +/openfasttrace_*.diff.gz +/openfasttrace_*.dsc +/openfasttrace_*.buildinfo +/openfasttrace_*.changes +/openfasttrace_*.deb diff --git a/create-source-package.sh b/create-source-package.sh new file mode 100755 index 0000000..61f1ce6 --- /dev/null +++ b/create-source-package.sh @@ -0,0 +1,143 @@ +#!/bin/bash + +# create-source-package.sh - Automates the creation of the Debian source package +# dsn~build-orchestration-scripts~1, dsn~version-input~1, dsn~source-fetching~1, dsn~changelog-extraction~1 + +set -e + +readonly OFT_REPO_URL="https://github.com/itsallcode/openfasttrace" +readonly DEBFULLNAME="Sebastian Bär" +readonly DEBEMAIL="sebastian@baer.zone" +export DEBFULLNAME DEBEMAIL + +verify_preconditions() { + ./check-preconditions.sh +} + +parse_version() { + local version="$1" + if [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Error: Invalid version format '$version'. Expected ..." >&2 + exit 1 + fi + echo "$version" +} + +download_source() { + local version="$1" + local tarball="openfasttrace-$version.tar.gz" + local url="$OFT_REPO_URL/archive/refs/tags/$version.tar.gz" + + echo "Downloading source for version $version..." + wget -O "$tarball" "$url" +} + +extract_source() { + local tarball="$1" + echo "Extracting source $tarball..." + tar -xzf "$tarball" +} + +update_changelog() { + local version="$1" + local source_dir="openfasttrace-$version" + local changes_dir="$source_dir/doc/changes" + + echo "Updating debian/changelog from $changes_dir..." + + if [[ ! -d "$changes_dir" ]]; then + echo "Warning: No changes directory found in source." >&2 + return + fi + + # Find relevant Markdown files in doc/changes + # In OFT, changes are usually in files like changes_.md + local change_file="$changes_dir/changes_$version.md" + if [[ ! -f "$change_file" ]]; then + echo "Warning: No change file found for version $version at $change_file" >&2 + # Fallback: maybe there are other files? + # For now, let's assume the file exists as per dsn~changelog-extraction~1 + # and if not, we just add a generic entry. + dch --newversion "$version-1" --distribution unstable --force-distribution "New upstream release $version" + return + fi + + # Convert Markdown to Debian changelog format + # Simple conversion: strip # headings and use the content as list items + # OFT change files usually have: + # # + # * + # * + + local temp_changelog_msg + temp_changelog_msg=$(mktemp) + # Extract lines starting with * or - and clean them up + grep -E '^\s*[\*\-]\s+' "$change_file" | sed -E 's/^\s*[\*\-]\s+//' > "$temp_changelog_msg" + + if [[ ! -s "$temp_changelog_msg" ]]; then + echo "No changes found in $change_file, using generic message." + echo "New upstream release $version" > "$temp_changelog_msg" + fi + + # Update debian/changelog using dch + # We use --newversion to set the version and --distribution to set the distribution + # We'll use the content of temp_changelog_msg as the first entry and then add others + + local first_line + first_line=$(head -n 1 "$temp_changelog_msg") + dch --newversion "$version-1" --distribution unstable --force-distribution "$first_line" + + # Add subsequent lines if they exist + tail -n +2 "$temp_changelog_msg" | while read -r line; do + if [[ -n "$line" ]]; then + dch --append "$line" + fi + done + + rm "$temp_changelog_msg" +} + +prepare_debian_source() { + local version="$1" + local source_dir="openfasttrace-$version" + local orig_tarball="openfasttrace_$version.orig.tar.gz" + + # Debian expects the upstream tarball to be named _.orig.tar.gz + cp "openfasttrace-$version.tar.gz" "$orig_tarball" + + # Copy debian/ directory into the extracted source + cp -r debian/ "$source_dir/" + + echo "Creating Debian source package..." + cd "$source_dir" + dpkg-source -b . + cd .. +} + +cleanup() { + local version="$1" + echo "Cleaning up..." + rm -rf "openfasttrace-$version" + # We keep the .orig.tar.gz and other generated files in the parent directory +} + +main() { + if [[ $# -ne 1 ]]; then + echo "Usage: $0 " >&2 + exit 1 + fi + + local version + version=$(parse_version "$1") + + verify_preconditions + download_source "$version" + extract_source "openfasttrace-$version.tar.gz" + update_changelog "$version" + prepare_debian_source "$version" + cleanup "$version" + + echo "Source package for version $version created successfully." +} + +main "$@" diff --git a/debian/changelog b/debian/changelog index 8e513db..ef28156 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,27 @@ +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Thu, 19 Mar 2026 17:07:47 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Thu, 19 Mar 2026 15:44:47 +0100 + openfasttrace (0.0.0-1) unstable; urgency=low * Initial release. diff --git a/debian/control b/debian/control index 20c64c3..a4bcd70 100644 --- a/debian/control +++ b/debian/control @@ -10,6 +10,6 @@ Vcs-Git: https://github.com/itsallcode/openfasttrace-debian-package.git Package: openfasttrace Architecture: all -Depends: ${misc:Depends}, default-jre +Depends: ${misc:Depends}, openjdk-17-jre-headless Description: Requirement tracing suite for agile projects OpenFastTrace (OFT) is a requirement tracing suite. It helps developers and project managers track requirements throughout the software development lifecycle. diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/doc/design.md b/doc/design.md index 168fdf6..c53b6fb 100644 --- a/doc/design.md +++ b/doc/design.md @@ -6,6 +6,8 @@ This document describes the design of the OpenFastTrace Debian Package project. This design uses the OFT requirement notation explained in the [OFT user guide](https://github.com/itsallcode/openfasttrace/blob/main/doc/user_guide.md). +Requirements in this document are always formulated in present as if they were already implemented. This fits with the idea that OFT specs are traced down to implementation and test and are also up to date. + ## Components ### Build Environment and Tools @@ -54,7 +56,7 @@ Needs: impl, itest ### Source Fetching from GitHub `dsn~source-fetching~1` -The `create-source-package.sh` script will use `curl` or `wget` to download the OpenFastTrace source code for the specified version directly from GitHub as a `.tar.gz` archive. +The `create-source-package.sh` script uses `wget` to download the OpenFastTrace source code for the specified version directly from GitHub as a `.tar.gz` archive from `https://github.com/itsallcode/openfasttrace/archive/refs/tags/.tar.gz` where `` is the version number of OFT for which the package should be built. Covers: * [`req~binary-package-from-git-hub-release~1`](system_requirements.md#binary-package-from-git-hub-release) @@ -64,19 +66,39 @@ Needs: impl, itest ### Debian Package Structure and Metadata `dsn~debian-metadata~1` -The project will maintain a `debian/` directory containing the standard metadata files: +The project maintains a `debian/` directory containing the standard metadata files: * `control`: Package information, dependencies, and descriptions (using the specified Debian Package Maintainer). * `changelog`: Version history and maintainer information. * `copyright`: License and authorship information (using the specified Upstream Authors). * `rules`: Build instructions for `dpkg-buildpackage`. -These files will be populated with the constant metadata defined in the requirements. +These files are populated with the constant metadata defined in the requirements. Covers: * [`req~package-metadata~1`](system_requirements.md#package-metadata) Needs: impl, itest +### Binary Dependencies +`dsn~binary-dependencies~1` + +The `debian/control` file declares a dependency on `openjdk-17-jre-headless` or a newer version to ensure the runtime environment is available. + +Covers: +* [`req~binary-dependencies~1`](system_requirements.md#binary-dependencies) + +Needs: impl, itest + +### OFT Wrapper Script +`dsn~oft-wrapper-script~1` + +A shell script named `oft` provides in the binary package (typically installed to `/usr/bin/oft`). This script will facilitate the execution of the OpenFastTrace JAR file by invoking the Java Runtime Environment with the necessary parameters. + +Covers: +* [`req~oft-wrapper-script~1`](system_requirements.md#oft-wrapper-script) + +Needs: impl, itest + ### Changelog Extraction `dsn~changelog-extraction~1` diff --git a/doc/system_requirements.md b/doc/system_requirements.md index 203a491..bf94be9 100644 --- a/doc/system_requirements.md +++ b/doc/system_requirements.md @@ -121,6 +121,28 @@ Covers: Needs: dsn +### Binary Dependencies +`req~binary-dependencies~1` + +The binary package for OFT declares a dependency on the OpenJDK headless package version 17 or later. + +Covers: + +* [`feat~debian-binary-package~1`](#debian-binary-package~1) + +Needs: dsn + +### OFT Wrapper Script +`req~oft-wrapper-script~1` + +The OFT binary package contains a wrapper shell script called `oft` that wraps the CLI client in the OFT java library. + +Covers: + +* [`feat~debian-binary-package~1`](#debian-binary-package~1) + +Needs: dsn + ### Reproducible Build From Source Package `req~reproducible-build-from-source-package~1` diff --git a/doc/tasks.md b/doc/tasks.md index c14267e..866d4d1 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -6,36 +6,39 @@ This task list is based on the [OpenFastTrace Debian Package Design](design.md). 1. - [x] Install necessary build tools: `dpkg-dev`, `debhelper`, and `devscripts` (`dsn~build-tools~1`). 2. - [x] Create the `debian/` directory structure in the project root (`dsn~debian-metadata~1`). 3. - [x] Implement `check-preconditions.sh` to verify the build environment (`dsn~precondition-check~1`, `req~precondition-check~1`). +4. - [x] Configure `.gitignore` to exclude intermediate files and build results. ## Phase 2: Debian Package Metadata Setup -4. - [x] Create `debian/control` with metadata: organization, maintainer, URLs (Homepage/Source), and descriptions (`dsn~debian-metadata~1`, `req~package-metadata~1`). -5. - [x] Create `debian/copyright` with GPL-3.0 license and upstream authors information (`dsn~debian-metadata~1`, `req~package-metadata~1`). -6. - [x] Create `debian/rules` as a standard build script for `dpkg-buildpackage` (`dsn~debian-metadata~1`). -7. - [x] Initialize the `debian/changelog` file with the required initial metadata (`dsn~debian-metadata~1`). +5. - [x] Create `debian/control` with metadata: organization, maintainer, URLs (Homepage/Source), and descriptions (`dsn~debian-metadata~1`, `req~package-metadata~1`). +6. - [x] Create `debian/copyright` with GPL-3.0 license and upstream authors information (`dsn~debian-metadata~1`, `req~package-metadata~1`). +7. - [x] Create `debian/rules` as a standard build script for `dpkg-buildpackage` (`dsn~debian-metadata~1`). +8. - [x] Initialize the `debian/changelog` file with the required initial metadata (`dsn~debian-metadata~1`). +9. - [x] Update `debian/control` to include the OpenJDK 17 headless dependency (`dsn~binary-dependencies~1`, `req~binary-dependencies~1`). ## Phase 3: Source Package Automation (`create-source-package.sh`) -8. - [ ] Implement command-line version argument parsing (`..`) in the build orchestration scripts (`dsn~version-input~1`). -9. - [ ] Implement source code downloading from GitHub as a `.tar.gz` archive for the specified version (`dsn~source-fetching~1`). -10. - [ ] Implement logic to identify relevant Markdown files in `doc/changes` within the fetched source archive (`dsn~changelog-extraction~1`). -11. - [ ] Implement the conversion of Markdown content into the Debian changelog format (`dsn~changelog-extraction~1`). -12. - [ ] Implement the append-only update mechanism for `debian/changelog` (`dsn~changelog-extraction~1`). -13. - [ ] Automate the final assembly and creation of the Debian source package (`dsn~build-orchestration-scripts~1`). +10. - [x] Implement command-line version argument parsing (`..`) in the build orchestration scripts (`dsn~version-input~1`). +11. - [x] Implement source code downloading from GitHub as a `.tar.gz` archive for the specified version from `https://github.com/itsallcode/openfasttrace/archive/refs/tags/.tar.gz`; Test with version 4.2.2 (`dsn~source-fetching~1`). +12. - [x] Implement logic to identify relevant Markdown files in `doc/changes` within the fetched source archive (`dsn~changelog-extraction~1`). +13. - [x] Implement the conversion of Markdown content into the Debian changelog format (`dsn~changelog-extraction~1`). +14. - [x] Implement the append-only update mechanism for `debian/changelog` (`dsn~changelog-extraction~1`). +15. - [x] Automate the final assembly and creation of the Debian source package (`dsn~build-orchestration-scripts~1`). ## Phase 4: Binary Package Automation (`create-binary-package.sh`) -14. - [ ] Implement `create-binary-package.sh` to trigger the binary build from the source package (`dsn~build-orchestration-scripts~1`). -15. - [ ] Use `dpkg-buildpackage -us -uc -b` to ensure a reproducible binary package build (`dsn~build-reproducibility~1`). +16. - [ ] Implement `create-binary-package.sh` to trigger the binary build from the source package (`dsn~build-orchestration-scripts~1`). +17. - [ ] Use `dpkg-buildpackage -us -uc -b` to ensure a reproducible binary package build (`dsn~build-reproducibility~1`). +18. - [ ] Create the `oft` wrapper script and ensure it is included in the binary package (`dsn~oft-wrapper-script~1`, `req~oft-wrapper-script~1`). ## Phase 5: Integration Testing Automation -16. - [ ] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). -17. - [ ] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). -18. - [ ] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). -19. - [ ] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). -20. - [ ] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). +19. - [ ] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). +20. - [ ] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). +21. - [ ] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). +22. - [ ] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). +23. - [ ] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). ## Phase 6: Quality Assurance -21. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). +24. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). ## Phase 7: Final Verification -22. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. -23. - [ ] Verify the resulting `.deb` package metadata and file contents. -24. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. +25. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. +26. - [ ] Verify the resulting `.deb` package metadata and file contents. +27. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. From a57bebe6a7594ffd3400e0ed43435e5055dced85 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Fri, 20 Mar 2026 14:26:37 +0100 Subject: [PATCH 06/23] General binary package automation --- .gitignore | 1 + check-preconditions.sh | 2 + create-binary-package.sh | 72 ++++++++++++ create-source-package.sh | 35 +++--- debian/changelog | 108 ++++++++++++++++++ debian/control | 10 +- debian/oft | 7 ++ debian/openfasttrace.desktop | 9 ++ .../org.itsallcode.openfasttrace.metainfo.xml | 26 +++++ debian/rules | 30 +++++ debian/screenshots/OFT_help.png | Bin 0 -> 88113 bytes .../screenshots/OFT_markdown_import_trace.png | Bin 0 -> 85532 bytes debian/screenshots/OFT_self_trace.png | Bin 0 -> 95319 bytes debian/source/include-binaries | 3 + doc/design.md | 43 +++++++ doc/system_requirements.md | 38 ++++++ doc/tasks.md | 50 ++++---- 17 files changed, 394 insertions(+), 40 deletions(-) create mode 100755 create-binary-package.sh create mode 100644 debian/oft create mode 100644 debian/openfasttrace.desktop create mode 100644 debian/org.itsallcode.openfasttrace.metainfo.xml create mode 100644 debian/screenshots/OFT_help.png create mode 100644 debian/screenshots/OFT_markdown_import_trace.png create mode 100644 debian/screenshots/OFT_self_trace.png create mode 100644 debian/source/include-binaries diff --git a/.gitignore b/.gitignore index de1d928..f6dbf2d 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ out/ *.swp # Debian packaging intermediate files and build results +/out/ /openfasttrace-*.tar.gz /openfasttrace-*/ /openfasttrace_*.orig.tar.gz diff --git a/check-preconditions.sh b/check-preconditions.sh index 0710261..0acece3 100755 --- a/check-preconditions.sh +++ b/check-preconditions.sh @@ -14,6 +14,8 @@ declare -A REQUIRED_TOOLS=( ["curl"]="curl" ["wget"]="wget" ["shellcheck"]="shellcheck" + ["mvn"]="maven" + ["java"]="openjdk-17-jre-headless" ) check_tools() { diff --git a/create-binary-package.sh b/create-binary-package.sh new file mode 100755 index 0000000..e63c301 --- /dev/null +++ b/create-binary-package.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +# create-binary-package.sh - Automates the creation of the Debian binary package +# dsn~build-orchestration-scripts~1, dsn~build-reproducibility~1 + +set -e + +readonly BUILD_DIR="out" + +verify_preconditions() { + ./check-preconditions.sh +} + +ensure_build_dir() { + mkdir -p "$BUILD_DIR" +} + +parse_version() { + local version="$1" + if [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Error: Invalid version format '$version'. Expected ..." >&2 + exit 1 + fi + echo "$version" +} + +main() { + if [[ $# -ne 1 ]]; then + echo "Usage: $0 " >&2 + exit 1 + fi + + local version + version=$(parse_version "$1") + + verify_preconditions + ensure_build_dir + + local dsc_file="$BUILD_DIR/openfasttrace_$version-1.dsc" + if [[ ! -f "$dsc_file" ]]; then + echo "Error: Source package control file not found at $dsc_file." >&2 + echo "Please run ./create-source-package.sh $version first." >&2 + exit 1 + fi + + # Ensure all required files for extraction are present in the same directory + local orig_tarball="$BUILD_DIR/openfasttrace_$version.orig.tar.gz" + local debian_tarball="$BUILD_DIR/openfasttrace_$version-1.debian.tar.xz" + if [[ ! -f "$orig_tarball" || ! -f "$debian_tarball" ]]; then + echo "Error: Incomplete source package in $BUILD_DIR." >&2 + exit 1 + fi + + local build_subdir="$BUILD_DIR/openfasttrace-$version" + echo "Cleaning up any existing build directory $build_subdir..." + rm -rf "$build_subdir" + + echo "Extracting source package to $BUILD_DIR..." + # dpkg-source -x extracts into the directory named after the package/version + # We run it from within the BUILD_DIR to ensure it finds the tarballs + (cd "$BUILD_DIR" && dpkg-source -x "$(basename "$dsc_file")") + + echo "Building binary package..." + # Run dpkg-buildpackage -us -uc -b from within the extracted source + (cd "$build_subdir" && dpkg-buildpackage -us -uc -b) + + echo "" + echo "Binary package for version $version created successfully in $BUILD_DIR." + ls -l "$BUILD_DIR"/openfasttrace_"$version"-1_*.deb +} + +main "$@" diff --git a/create-source-package.sh b/create-source-package.sh index 61f1ce6..c81b412 100755 --- a/create-source-package.sh +++ b/create-source-package.sh @@ -8,12 +8,17 @@ set -e readonly OFT_REPO_URL="https://github.com/itsallcode/openfasttrace" readonly DEBFULLNAME="Sebastian Bär" readonly DEBEMAIL="sebastian@baer.zone" +readonly BUILD_DIR="out" export DEBFULLNAME DEBEMAIL verify_preconditions() { ./check-preconditions.sh } +ensure_build_dir() { + mkdir -p "$BUILD_DIR" +} + parse_version() { local version="$1" if [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then @@ -25,7 +30,7 @@ parse_version() { download_source() { local version="$1" - local tarball="openfasttrace-$version.tar.gz" + local tarball="$BUILD_DIR/openfasttrace-$version.tar.gz" local url="$OFT_REPO_URL/archive/refs/tags/$version.tar.gz" echo "Downloading source for version $version..." @@ -34,13 +39,16 @@ download_source() { extract_source() { local tarball="$1" + local version="$2" echo "Extracting source $tarball..." - tar -xzf "$tarball" + # Ensure a clean extraction directory to avoid issues with stale files from previous builds + rm -rf "$BUILD_DIR/openfasttrace-$version" + tar -xzf "$tarball" -C "$BUILD_DIR" } update_changelog() { local version="$1" - local source_dir="openfasttrace-$version" + local source_dir="$BUILD_DIR/openfasttrace-$version" local changes_dir="$source_dir/doc/changes" echo "Updating debian/changelog from $changes_dir..." @@ -99,26 +107,24 @@ update_changelog() { prepare_debian_source() { local version="$1" - local source_dir="openfasttrace-$version" - local orig_tarball="openfasttrace_$version.orig.tar.gz" + local source_dir="$BUILD_DIR/openfasttrace-$version" + local orig_tarball="$BUILD_DIR/openfasttrace_$version.orig.tar.gz" # Debian expects the upstream tarball to be named _.orig.tar.gz - cp "openfasttrace-$version.tar.gz" "$orig_tarball" + cp "$BUILD_DIR/openfasttrace-$version.tar.gz" "$orig_tarball" # Copy debian/ directory into the extracted source cp -r debian/ "$source_dir/" echo "Creating Debian source package..." - cd "$source_dir" - dpkg-source -b . - cd .. + # Artifacts are created in the parent directory of where dpkg-source is run + (cd "$source_dir" && dpkg-source -b .) } cleanup() { local version="$1" - echo "Cleaning up..." - rm -rf "openfasttrace-$version" - # We keep the .orig.tar.gz and other generated files in the parent directory + echo "Cleaning up extraction directory..." + rm -rf "$BUILD_DIR/openfasttrace-$version" } main() { @@ -131,13 +137,14 @@ main() { version=$(parse_version "$1") verify_preconditions + ensure_build_dir download_source "$version" - extract_source "openfasttrace-$version.tar.gz" + extract_source "$BUILD_DIR/openfasttrace-$version.tar.gz" "$version" update_changelog "$version" prepare_debian_source "$version" cleanup "$version" - echo "Source package for version $version created successfully." + echo "Source package for version $version created successfully in $BUILD_DIR." } main "$@" diff --git a/debian/changelog b/debian/changelog index ef28156..6c6f51d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,111 @@ +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 13:54:27 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 13:51:29 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 09:27:38 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 09:22:11 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Thu, 19 Mar 2026 18:08:48 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Thu, 19 Mar 2026 18:00:00 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Thu, 19 Mar 2026 17:59:27 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Thu, 19 Mar 2026 17:50:12 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Thu, 19 Mar 2026 17:16:58 +0100 + openfasttrace (4.2.2-1) unstable; urgency=medium * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` diff --git a/debian/control b/debian/control index a4bcd70..0376f2a 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,8 @@ Source: openfasttrace Section: misc Priority: optional Maintainer: Sebastian Bär -Build-Depends: debhelper-compat (= 13) +Build-Depends: debhelper-compat (= 13), openjdk-17-jdk, maven +Rules-Requires-Root: no Standards-Version: 4.6.2 Homepage: https://github.com/itsallcode/openfasttrace Vcs-Browser: https://github.com/itsallcode/openfasttrace-debian-package @@ -11,5 +12,8 @@ Vcs-Git: https://github.com/itsallcode/openfasttrace-debian-package.git Package: openfasttrace Architecture: all Depends: ${misc:Depends}, openjdk-17-jre-headless -Description: Requirement tracing suite for agile projects - OpenFastTrace (OFT) is a requirement tracing suite. It helps developers and project managers track requirements throughout the software development lifecycle. +Description: Requirement tracing suite + OpenFastTrace (OFT) is a requirement tracing suite. Requirement tracing + keeps track of whether you actually implemented everything you planned to + in your specifications. It also identifies obsolete parts of your product + and helps you to get rid of them. diff --git a/debian/oft b/debian/oft new file mode 100644 index 0000000..75c1e05 --- /dev/null +++ b/debian/oft @@ -0,0 +1,7 @@ +#!/bin/sh +# dsn~oft-wrapper-script~1, req~oft-wrapper-script~1 +# This script facilitates the execution of the OpenFastTrace JAR file. +set -e + +# Execute the OpenFastTrace JAR with the provided arguments +exec java -jar /usr/share/java/openfasttrace.jar "$@" diff --git a/debian/openfasttrace.desktop b/debian/openfasttrace.desktop new file mode 100644 index 0000000..1bb8a70 --- /dev/null +++ b/debian/openfasttrace.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=OpenFastTrace +Comment=Requirement tracing suite for agile projects +Exec=oft +Icon=openfasttrace +Terminal=true +Categories=Development; +Keywords=tracing;requirements;agile; diff --git a/debian/org.itsallcode.openfasttrace.metainfo.xml b/debian/org.itsallcode.openfasttrace.metainfo.xml new file mode 100644 index 0000000..80813c3 --- /dev/null +++ b/debian/org.itsallcode.openfasttrace.metainfo.xml @@ -0,0 +1,26 @@ + + + org.itsallcode.openfasttrace + CC0-1.0 + GPL-3.0 + OpenFastTrace + Requirement tracing suite + +

+ OpenFastTrace (OFT) is a requirement tracing suite. Requirement tracing + keeps track of whether you actually implemented everything you planned to + in your specifications. It also identifies obsolete parts of your product + and helps you to get rid of them. +

+
+ + + OpenFastTrace help output + https://github.com/itsallcode/openfasttrace/blob/main/doc/images/oft_screenshot_tracing_report.png + + + https://github.com/itsallcode/openfasttrace + + oft + +
diff --git a/debian/rules b/debian/rules index 2d33f6a..3684224 100755 --- a/debian/rules +++ b/debian/rules @@ -1,4 +1,34 @@ #!/usr/bin/make -f +# dsn~debian-metadata~1 %: dh $@ + +override_dh_auto_build: + mvn clean package -DskipTests + +override_dh_auto_install: + # Install the JAR + mkdir -p debian/openfasttrace/usr/share/java + VERSION=$$(dpkg-parsechangelog -S Version | cut -d- -f1); \ + cp product/target/openfasttrace-$$VERSION.jar debian/openfasttrace/usr/share/java/openfasttrace.jar + + # Install the wrapper script + mkdir -p debian/openfasttrace/usr/bin + cp debian/oft debian/openfasttrace/usr/bin/oft + chmod +x debian/openfasttrace/usr/bin/oft + + # Install the icons + mkdir -p debian/openfasttrace/usr/share/pixmaps + cp core/src/main/resources/openfasttrace_logo.svg debian/openfasttrace/usr/share/pixmaps/openfasttrace.svg + cp core/src/main/resources/openfasttrace_logo.png debian/openfasttrace/usr/share/pixmaps/openfasttrace.png + + # Install desktop file and metainfo + mkdir -p debian/openfasttrace/usr/share/applications + cp debian/openfasttrace.desktop debian/openfasttrace/usr/share/applications/openfasttrace.desktop + mkdir -p debian/openfasttrace/usr/share/metainfo + cp debian/org.itsallcode.openfasttrace.metainfo.xml debian/openfasttrace/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml + + # Install screenshots + mkdir -p debian/openfasttrace/usr/share/metainfo/screenshots + cp debian/screenshots/*.png debian/openfasttrace/usr/share/metainfo/screenshots/ diff --git a/debian/screenshots/OFT_help.png b/debian/screenshots/OFT_help.png new file mode 100644 index 0000000000000000000000000000000000000000..08308a6b77be6ec18e780e0022c6d72e25c4ff03 GIT binary patch literal 88113 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 literal 0 HcmV?d00001 diff --git a/debian/screenshots/OFT_markdown_import_trace.png b/debian/screenshots/OFT_markdown_import_trace.png new file mode 100644 index 0000000000000000000000000000000000000000..81f73b136e8b45a04e3d360dc081b3914e0296c6 GIT binary patch literal 85532 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 D*keO# literal 0 HcmV?d00001 diff --git a/debian/screenshots/OFT_self_trace.png b/debian/screenshots/OFT_self_trace.png new file mode 100644 index 0000000000000000000000000000000000000000..b53271c61a71ce2fcb35d0da73962beb284af223 GIT binary patch literal 95319 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 OPZRn`wNlwK`2PS6#}Kdp literal 0 HcmV?d00001 diff --git a/debian/source/include-binaries b/debian/source/include-binaries new file mode 100644 index 0000000..ae8ce98 --- /dev/null +++ b/debian/source/include-binaries @@ -0,0 +1,3 @@ +debian/screenshots/OFT_help.png +debian/screenshots/OFT_self_trace.png +debian/screenshots/OFT_markdown_import_trace.png diff --git a/doc/design.md b/doc/design.md index c53b6fb..330aac8 100644 --- a/doc/design.md +++ b/doc/design.md @@ -99,6 +99,38 @@ Covers: Needs: impl, itest +### Application Icon +`dsn~app-icon~1` + +The application logo is included in the binary package in both SVG and PNG formats. These files are sourced from the OpenFastTrace upstream source code (`core/src/main/resources/openfasttrace_logo.*`) and installed to `/usr/share/pixmaps/openfasttrace.svg` and `/usr/share/pixmaps/openfasttrace.png` respectively. + +Covers: +* [`req~app-icon~1`](system_requirements.md#application-icon) + +Needs: impl, itest + +### Package Icon Declaration +`dsn~package-icon-declaration~1` + +The package declares its icon using: +1. A standard Desktop Entry file (`/usr/share/applications/openfasttrace.desktop`) that specifies `Icon=openfasttrace` and `Terminal=true`. +2. AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) that references the desktop file and identifies the application to software centers. + +Covers: +* [`req~package-icon-declaration~1`](system_requirements.md#package-icon-declaration) + +Needs: impl, itest + +### Package Screenshots +`dsn~package-screenshots~1` + +The AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) includes a `` section pointing to the screenshot at: https://github.com/itsallcode/openfasttrace/blob/main/doc/images/oft_screenshot_tracing_report.png + +Covers: +* [`req~package-screenshots~1`](system_requirements.md#package-screenshots) + +Needs: impl, itest + ### Changelog Extraction `dsn~changelog-extraction~1` @@ -123,6 +155,17 @@ Covers: Needs: impl, itest +### Dedicated Build Directory +`dsn~build-directory~1` + +The project uses a dedicated directory named `out/` in the project root to store all build artifacts, including downloaded source archives, extracted directories, and the resulting Debian source and binary packages. +All build scripts are responsible for creating this directory if it doesn't exist and moving generated artifacts into it. + +Covers: +* [`req~build-directory~1`](system_requirements.md#build-directory) + +Needs: impl, itest + ### Integration Testing `dsn~integration-testing~1` diff --git a/doc/system_requirements.md b/doc/system_requirements.md index bf94be9..7c3b67e 100644 --- a/doc/system_requirements.md +++ b/doc/system_requirements.md @@ -143,6 +143,28 @@ Covers: Needs: dsn +### Package Icon Declaration +`req~package-icon-declaration~1` + +The binary package declares its icon in a way that software management applications (like GNOME Software or Discover) can display it for the package itself. + +Covers: + +* [`feat~debian-binary-package~1`](#debian-binary-package~1) + +Needs: dsn + +### Package Screenshots +`req~package-screenshots~1` + +The binary package declares the application screenshot from https://github.com/itsallcode/openfasttrace/blob/main/doc/images/oft_screenshot_tracing_report.png in a way that software management applications (like GNOME Software or Discover) can display them. + +Covers: + +* [`feat~debian-binary-package~1`](#debian-binary-package~1) + +Needs: dsn + ### Reproducible Build From Source Package `req~reproducible-build-from-source-package~1` @@ -198,3 +220,19 @@ Covers: * [`feat~debian-binary-package~1`](#debian-binary-package) Needs: dsn + +### Dedicated Build Directory +`req~build-directory~1` + +The build process for the source and binary package uses a dedicated directory (e.g., `out/`) in the project root to store all generated artifacts. + +Rationale: + +A dedicated build directory keeps the project root clean and makes it easier to manage and identify generated files. This is a common practice in automated build environments. + +Covers: + +* [`feat~debian-source-package~1`](#debian-source-package) +* [`feat~debian-binary-package~1`](#debian-binary-package) + +Needs: dsn diff --git a/doc/tasks.md b/doc/tasks.md index 866d4d1..21404f1 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -7,38 +7,42 @@ This task list is based on the [OpenFastTrace Debian Package Design](design.md). 2. - [x] Create the `debian/` directory structure in the project root (`dsn~debian-metadata~1`). 3. - [x] Implement `check-preconditions.sh` to verify the build environment (`dsn~precondition-check~1`, `req~precondition-check~1`). 4. - [x] Configure `.gitignore` to exclude intermediate files and build results. +5. - [x] Implement the dedicated build directory `out/` to store build artifacts (`dsn~build-directory~1`, `req~build-directory~1`). ## Phase 2: Debian Package Metadata Setup -5. - [x] Create `debian/control` with metadata: organization, maintainer, URLs (Homepage/Source), and descriptions (`dsn~debian-metadata~1`, `req~package-metadata~1`). -6. - [x] Create `debian/copyright` with GPL-3.0 license and upstream authors information (`dsn~debian-metadata~1`, `req~package-metadata~1`). -7. - [x] Create `debian/rules` as a standard build script for `dpkg-buildpackage` (`dsn~debian-metadata~1`). -8. - [x] Initialize the `debian/changelog` file with the required initial metadata (`dsn~debian-metadata~1`). -9. - [x] Update `debian/control` to include the OpenJDK 17 headless dependency (`dsn~binary-dependencies~1`, `req~binary-dependencies~1`). +6. - [x] Create `debian/control` with metadata: organization, maintainer, URLs (Homepage/Source), and descriptions (`dsn~debian-metadata~1`, `req~package-metadata~1`). +7. - [x] Create `debian/copyright` with GPL-3.0 license and upstream authors information (`dsn~debian-metadata~1`, `req~package-metadata~1`). +8. - [x] Create `debian/rules` as a standard build script for `dpkg-buildpackage` (`dsn~debian-metadata~1`). +9. - [x] Initialize the `debian/changelog` file with the required initial metadata (`dsn~debian-metadata~1`). +10. - [x] Update `debian/control` to include the OpenJDK 17 headless dependency (`dsn~binary-dependencies~1`, `req~binary-dependencies~1`). ## Phase 3: Source Package Automation (`create-source-package.sh`) -10. - [x] Implement command-line version argument parsing (`..`) in the build orchestration scripts (`dsn~version-input~1`). -11. - [x] Implement source code downloading from GitHub as a `.tar.gz` archive for the specified version from `https://github.com/itsallcode/openfasttrace/archive/refs/tags/.tar.gz`; Test with version 4.2.2 (`dsn~source-fetching~1`). -12. - [x] Implement logic to identify relevant Markdown files in `doc/changes` within the fetched source archive (`dsn~changelog-extraction~1`). -13. - [x] Implement the conversion of Markdown content into the Debian changelog format (`dsn~changelog-extraction~1`). -14. - [x] Implement the append-only update mechanism for `debian/changelog` (`dsn~changelog-extraction~1`). -15. - [x] Automate the final assembly and creation of the Debian source package (`dsn~build-orchestration-scripts~1`). +11. - [x] Implement command-line version argument parsing (`..`) in the build orchestration scripts (`dsn~version-input~1`). +12. - [x] Implement source code downloading from GitHub as a `.tar.gz` archive for the specified version from `https://github.com/itsallcode/openfasttrace/archive/refs/tags/.tar.gz`; Test with version 4.2.2 (`dsn~source-fetching~1`). +13. - [x] Implement logic to identify relevant Markdown files in `doc/changes` within the fetched source archive (`dsn~changelog-extraction~1`). +14. - [x] Implement the conversion of Markdown content into the Debian changelog format (`dsn~changelog-extraction~1`). +15. - [x] Implement the append-only update mechanism for `debian/changelog` (`dsn~changelog-extraction~1`). +16. - [x] Automate the final assembly and creation of the Debian source package (`dsn~build-orchestration-scripts~1`). ## Phase 4: Binary Package Automation (`create-binary-package.sh`) -16. - [ ] Implement `create-binary-package.sh` to trigger the binary build from the source package (`dsn~build-orchestration-scripts~1`). -17. - [ ] Use `dpkg-buildpackage -us -uc -b` to ensure a reproducible binary package build (`dsn~build-reproducibility~1`). -18. - [ ] Create the `oft` wrapper script and ensure it is included in the binary package (`dsn~oft-wrapper-script~1`, `req~oft-wrapper-script~1`). +17. - [x] Implement `create-binary-package.sh` to trigger the binary build from the source package (`dsn~build-orchestration-scripts~1`). +18. - [x] Use `dpkg-buildpackage -us -uc -b` to ensure a reproducible binary package build (`dsn~build-reproducibility~1`). +19. - [x] Create the `oft` wrapper script and ensure it is included in the binary package (`dsn~oft-wrapper-script~1`, `req~oft-wrapper-script~1`). +20. - [x] Include the OpenFastTrace logo as application icons in the binary package (`dsn~app-icon~1`). +21. - [x] Declare the package icon using AppStream metadata and a desktop file (`dsn~package-icon-declaration~1`, `req~package-icon-declaration~1`). +22. - [x] Declare the application screenshot in the AppStream metadata using remote URL (`dsn~package-screenshots~1`, `req~package-screenshots~1`). ## Phase 5: Integration Testing Automation -19. - [ ] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). -20. - [ ] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). -21. - [ ] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). -22. - [ ] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). -23. - [ ] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). +23. - [ ] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). +24. - [ ] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). +25. - [ ] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). +26. - [ ] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). +27. - [ ] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). ## Phase 6: Quality Assurance -24. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). +28. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). ## Phase 7: Final Verification -25. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. -26. - [ ] Verify the resulting `.deb` package metadata and file contents. -27. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. +29. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. +30. - [ ] Verify the resulting `.deb` package metadata and file contents. +31. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. From fdbd02c5d79f7c905aed0ae5218d13264a0030ec Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 28 Mar 2026 20:19:03 +0100 Subject: [PATCH 07/23] Scaled images included --- check-preconditions.sh | 3 + create-binary-package.sh | 2 +- create-source-package.sh | 29 +- debian/changelog | 312 ++++++++++++++++++ debian/control | 2 +- debian/oft | 7 - debian/openfasttrace.desktop | 9 - .../org.itsallcode.openfasttrace.metainfo.xml | 26 -- debian/rules | 44 +-- debian/screenshots/OFT_help.png | Bin 88113 -> 0 bytes .../screenshots/OFT_markdown_import_trace.png | Bin 85532 -> 0 bytes debian/screenshots/OFT_self_trace.png | Bin 95319 -> 0 bytes debian/source/include-binaries | 6 +- doc/design.md | 35 +- doc/system_requirements.md | 49 ++- doc/tasks.md | 27 +- 16 files changed, 464 insertions(+), 87 deletions(-) delete mode 100644 debian/oft delete mode 100644 debian/openfasttrace.desktop delete mode 100644 debian/org.itsallcode.openfasttrace.metainfo.xml delete mode 100644 debian/screenshots/OFT_help.png delete mode 100644 debian/screenshots/OFT_markdown_import_trace.png delete mode 100644 debian/screenshots/OFT_self_trace.png diff --git a/check-preconditions.sh b/check-preconditions.sh index 0acece3..0cf63c0 100755 --- a/check-preconditions.sh +++ b/check-preconditions.sh @@ -16,6 +16,9 @@ declare -A REQUIRED_TOOLS=( ["shellcheck"]="shellcheck" ["mvn"]="maven" ["java"]="openjdk-17-jre-headless" + ["pandoc"]="pandoc" + ["appstreamcli"]="appstream" + ["convert"]="imagemagick" ) check_tools() { diff --git a/create-binary-package.sh b/create-binary-package.sh index e63c301..77be10b 100755 --- a/create-binary-package.sh +++ b/create-binary-package.sh @@ -60,7 +60,7 @@ main() { # We run it from within the BUILD_DIR to ensure it finds the tarballs (cd "$BUILD_DIR" && dpkg-source -x "$(basename "$dsc_file")") - echo "Building binary package..." + echo "Building binary package (including HTML and manpage user guide)..." # Run dpkg-buildpackage -us -uc -b from within the extracted source (cd "$build_subdir" && dpkg-buildpackage -us -uc -b) diff --git a/create-source-package.sh b/create-source-package.sh index c81b412..f57ac38 100755 --- a/create-source-package.sh +++ b/create-source-package.sh @@ -1,7 +1,7 @@ #!/bin/bash # create-source-package.sh - Automates the creation of the Debian source package -# dsn~build-orchestration-scripts~1, dsn~version-input~1, dsn~source-fetching~1, dsn~changelog-extraction~1 +# dsn~build-orchestration-scripts~1, dsn~version-input~1, dsn~source-fetching~1, dsn~changelog-extraction~1, dsn~package-screenshots~1 set -e @@ -37,6 +37,27 @@ download_source() { wget -O "$tarball" "$url" } +download_screenshots() { + local screenshots_dir="debian/static/usr/share/metainfo/screenshots" + local raw_url="https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images" + local screenshots=( + "oft_screenshot_tracing_report.png" + "oft_screenshot_help.png" + "oft_screenshot_markdown_import_trace.png" + ) + + echo "Downloading up-to-date screenshots from upstream main branch..." + mkdir -p "$screenshots_dir" + + # Remove old screenshots to ensure only the requested ones are included + rm -f "$screenshots_dir"/*.png + + for img in "${screenshots[@]}"; do + echo " Downloading $img..." + wget -q -O "$screenshots_dir/$img" "$raw_url/$img" + done +} + extract_source() { local tarball="$1" local version="$2" @@ -114,6 +135,11 @@ prepare_debian_source() { cp "$BUILD_DIR/openfasttrace-$version.tar.gz" "$orig_tarball" # Copy debian/ directory into the extracted source + # We exclude the temporary 'openfasttrace' directory that might contain build artifacts + # or static content if a build was previously attempted. + # However, we DO need the pre-placed icons and desktop files, so we make sure + # to include them if they exist in our source debian/ directory. + # rsync -a --exclude='openfasttrace/usr/share/images/' --exclude='openfasttrace/usr/share/icons/hicolor/*x*/' debian/ "$source_dir/debian/" cp -r debian/ "$source_dir/" echo "Creating Debian source package..." @@ -139,6 +165,7 @@ main() { verify_preconditions ensure_build_dir download_source "$version" + download_screenshots extract_source "$BUILD_DIR/openfasttrace-$version.tar.gz" "$version" update_changelog "$version" prepare_debian_source "$version" diff --git a/debian/changelog b/debian/changelog index 6c6f51d..a1cd64e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,315 @@ +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 20:15:43 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 20:13:50 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 20:12:00 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 20:11:24 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 20:10:54 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 20:06:36 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 19:50:07 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 19:48:04 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 19:47:30 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 19:45:49 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 19:43:42 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 19:40:41 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 19:33:58 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 19:21:15 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 19:20:45 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 17:21:52 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 17:20:08 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 17:15:57 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 17:11:43 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 21 Mar 2026 19:45:13 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 15:02:49 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 15:00:55 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 14:58:55 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 14:44:01 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 14:42:16 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 20 Mar 2026 14:37:26 +0100 + openfasttrace (4.2.2-1) unstable; urgency=medium * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` diff --git a/debian/control b/debian/control index 0376f2a..44992a3 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: openfasttrace Section: misc Priority: optional Maintainer: Sebastian Bär -Build-Depends: debhelper-compat (= 13), openjdk-17-jdk, maven +Build-Depends: debhelper-compat (= 13), openjdk-17-jdk, maven, pandoc, appstream Rules-Requires-Root: no Standards-Version: 4.6.2 Homepage: https://github.com/itsallcode/openfasttrace diff --git a/debian/oft b/debian/oft deleted file mode 100644 index 75c1e05..0000000 --- a/debian/oft +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# dsn~oft-wrapper-script~1, req~oft-wrapper-script~1 -# This script facilitates the execution of the OpenFastTrace JAR file. -set -e - -# Execute the OpenFastTrace JAR with the provided arguments -exec java -jar /usr/share/java/openfasttrace.jar "$@" diff --git a/debian/openfasttrace.desktop b/debian/openfasttrace.desktop deleted file mode 100644 index 1bb8a70..0000000 --- a/debian/openfasttrace.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Type=Application -Name=OpenFastTrace -Comment=Requirement tracing suite for agile projects -Exec=oft -Icon=openfasttrace -Terminal=true -Categories=Development; -Keywords=tracing;requirements;agile; diff --git a/debian/org.itsallcode.openfasttrace.metainfo.xml b/debian/org.itsallcode.openfasttrace.metainfo.xml deleted file mode 100644 index 80813c3..0000000 --- a/debian/org.itsallcode.openfasttrace.metainfo.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - org.itsallcode.openfasttrace - CC0-1.0 - GPL-3.0 - OpenFastTrace - Requirement tracing suite - -

    - OpenFastTrace (OFT) is a requirement tracing suite. Requirement tracing - keeps track of whether you actually implemented everything you planned to - in your specifications. It also identifies obsolete parts of your product - and helps you to get rid of them. -

    -
    - - - OpenFastTrace help output - https://github.com/itsallcode/openfasttrace/blob/main/doc/images/oft_screenshot_tracing_report.png - - - https://github.com/itsallcode/openfasttrace - - oft - -
    diff --git a/debian/rules b/debian/rules index 3684224..9e4f8de 100755 --- a/debian/rules +++ b/debian/rules @@ -6,29 +6,35 @@ override_dh_auto_build: mvn clean package -DskipTests + # Generate user guide in HTML and manpage formats + pandoc -s doc/user_guide.md -o user_guide.html + pandoc -s doc/user_guide.md -t man -o oft.1 + gzip -9n oft.1 override_dh_auto_install: + # Install the static content (desktop file, icons, wrapper script, metainfo) + mkdir -p debian/openfasttrace + cp -r debian/static/* debian/openfasttrace/ + # Install the JAR mkdir -p debian/openfasttrace/usr/share/java VERSION=$$(dpkg-parsechangelog -S Version | cut -d- -f1); \ cp product/target/openfasttrace-$$VERSION.jar debian/openfasttrace/usr/share/java/openfasttrace.jar - - # Install the wrapper script - mkdir -p debian/openfasttrace/usr/bin - cp debian/oft debian/openfasttrace/usr/bin/oft - chmod +x debian/openfasttrace/usr/bin/oft - - # Install the icons - mkdir -p debian/openfasttrace/usr/share/pixmaps - cp core/src/main/resources/openfasttrace_logo.svg debian/openfasttrace/usr/share/pixmaps/openfasttrace.svg - cp core/src/main/resources/openfasttrace_logo.png debian/openfasttrace/usr/share/pixmaps/openfasttrace.png - - # Install desktop file and metainfo - mkdir -p debian/openfasttrace/usr/share/applications - cp debian/openfasttrace.desktop debian/openfasttrace/usr/share/applications/openfasttrace.desktop - mkdir -p debian/openfasttrace/usr/share/metainfo - cp debian/org.itsallcode.openfasttrace.metainfo.xml debian/openfasttrace/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml - # Install screenshots - mkdir -p debian/openfasttrace/usr/share/metainfo/screenshots - cp debian/screenshots/*.png debian/openfasttrace/usr/share/metainfo/screenshots/ + # Generate PNG icons from the square SVG in various sizes and scales + SVG_SOURCE=debian/static/usr/share/icons/hicolor/scalable/apps/org.itsallcode.openfasttrace.svg; \ + for size_spec in 16x16 16x16@2 20x20 22x22 22x22@2 24x24 24x24@2 30x30 32x32 32x32@2 36x36 36x36@2 42x42 48x48 48x48@2 50x50 64x64 64x64@2 72x72 72x72@2 96x96 96x96@2 100x100 128x128 128x128@2 150x150 160x160 192x192 192x192@2 256x256 256x256@2 512x512 512x512@2 1024x1024; do \ + size=$${size_spec%@2}; \ + pixel_size=$${size%x*}; \ + case $$size_spec in \ + *@2) pixel_size=$$((pixel_size * 2)) ;; \ + esac; \ + mkdir -p debian/openfasttrace/usr/share/icons/hicolor/$$size_spec/apps; \ + convert -background none $$SVG_SOURCE -resize $${pixel_size}x$${pixel_size} debian/openfasttrace/usr/share/icons/hicolor/$$size_spec/apps/org.itsallcode.openfasttrace.png; \ + done + + # Install user guide (HTML and manpage) + mkdir -p debian/openfasttrace/usr/share/doc/openfasttrace + cp user_guide.html debian/openfasttrace/usr/share/doc/openfasttrace/user_guide.html + mkdir -p debian/openfasttrace/usr/share/man/man1 + cp oft.1.gz debian/openfasttrace/usr/share/man/man1/oft.1.gz diff --git a/debian/screenshots/OFT_help.png b/debian/screenshots/OFT_help.png deleted file mode 100644 index 08308a6b77be6ec18e780e0022c6d72e25c4ff03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88113 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 diff --git a/debian/screenshots/OFT_markdown_import_trace.png b/debian/screenshots/OFT_markdown_import_trace.png deleted file mode 100644 index 81f73b136e8b45a04e3d360dc081b3914e0296c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85532 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 D*keO# diff --git a/debian/screenshots/OFT_self_trace.png b/debian/screenshots/OFT_self_trace.png deleted file mode 100644 index b53271c61a71ce2fcb35d0da73962beb284af223..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95319 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 OPZRn`wNlwK`2PS6#}Kdp diff --git a/debian/source/include-binaries b/debian/source/include-binaries index ae8ce98..277adaf 100644 --- a/debian/source/include-binaries +++ b/debian/source/include-binaries @@ -1,3 +1,3 @@ -debian/screenshots/OFT_help.png -debian/screenshots/OFT_self_trace.png -debian/screenshots/OFT_markdown_import_trace.png +debian/static/usr/share/metainfo/screenshots/oft_screenshot_tracing_report.png +debian/static/usr/share/metainfo/screenshots/oft_screenshot_help.png +debian/static/usr/share/metainfo/screenshots/oft_screenshot_markdown_import_trace.png diff --git a/doc/design.md b/doc/design.md index 330aac8..12e3d1d 100644 --- a/doc/design.md +++ b/doc/design.md @@ -13,7 +13,7 @@ Requirements in this document are always formulated in present as if they were a ### Build Environment and Tools `dsn~build-tools~1` -The project relies on standard Debian package building tools such as `dpkg-dev`, `debhelper`, and `devscripts`. These tools must be installed on a Debian or derived distribution to facilitate the build process. +The project relies on standard Debian package building tools such as `dpkg-dev`, `debhelper`, `devscripts`, and `imagemagick`. These tools must be installed on a Debian or derived distribution to facilitate the build process. Covers: * [`req~debian-build-environment~1`](system_requirements.md#debian-build-environment) @@ -72,6 +72,8 @@ The project maintains a `debian/` directory containing the standard metadata fil * `copyright`: License and authorship information (using the specified Upstream Authors). * `rules`: Build instructions for `dpkg-buildpackage`. +To simplify the installation process, static content like the desktop file, icons, and AppStream metainfo are pre-placed in the `debian/static/` directory, reflecting their final installation paths in the binary package. The `rules` file is responsible for moving this content to the correct locations and installing any additional generated artifacts. + These files are populated with the constant metadata defined in the requirements. Covers: @@ -102,10 +104,13 @@ Needs: impl, itest ### Application Icon `dsn~app-icon~1` -The application logo is included in the binary package in both SVG and PNG formats. These files are sourced from the OpenFastTrace upstream source code (`core/src/main/resources/openfasttrace_logo.*`) and installed to `/usr/share/pixmaps/openfasttrace.svg` and `/usr/share/pixmaps/openfasttrace.png` respectively. +The application logo is included in the binary package in SVG and multiple PNG formats. A square SVG app icon is pre-placed in the project at `debian/static/usr/share/icons/hicolor/scalable/apps/org.itsallcode.openfasttrace.svg` to serve as the source for all icons. This specific icon is used instead of the rectangular upstream logo. + +PNG icons in various sizes (from 16x16 up to 1024x1024) and scales (including @2) are generated from this square SVG icon during the build process using ImageMagick's `convert` tool and installed to their respective `/usr/share/icons/hicolor//apps/org.itsallcode.openfasttrace.png` or `/usr/share/icons/hicolor/@2/apps/org.itsallcode.openfasttrace.png` directories to support modern icon themes and AppStream indexing. Covers: * [`req~app-icon~1`](system_requirements.md#application-icon) +* [`req~scaled-app-icons~1`](system_requirements.md#scaled-app-icons) Needs: impl, itest @@ -113,8 +118,8 @@ Needs: impl, itest `dsn~package-icon-declaration~1` The package declares its icon using: -1. A standard Desktop Entry file (`/usr/share/applications/openfasttrace.desktop`) that specifies `Icon=openfasttrace` and `Terminal=true`. -2. AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) that references the desktop file and identifies the application to software centers. +1. A standard Desktop Entry file (`/usr/share/applications/org.itsallcode.openfasttrace.desktop`) that specifies `Icon=org.itsallcode.openfasttrace` and `Terminal=true`. +2. AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) that references the desktop file and identifies the application with `org.itsallcode.openfasttrace.desktop` and `org.itsallcode.openfasttrace`. Covers: * [`req~package-icon-declaration~1`](system_requirements.md#package-icon-declaration) @@ -124,13 +129,33 @@ Needs: impl, itest ### Package Screenshots `dsn~package-screenshots~1` -The AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) includes a `` section pointing to the screenshot at: https://github.com/itsallcode/openfasttrace/blob/main/doc/images/oft_screenshot_tracing_report.png +The AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) includes a `` section. For maximum compatibility with AppStream validation tools and software centers, screenshots are referenced via stable raw GitHub URLs from the upstream repository's main branch. To ensure offline availability and support for all tools, these images are also downloaded during the build process and packed into the package at `/usr/share/metainfo/screenshots/`. Covers: * [`req~package-screenshots~1`](system_requirements.md#package-screenshots) Needs: impl, itest +### HTML User Guide +`dsn~user-guide-html~1` + +The build process uses `pandoc` to convert the `doc/user_guide.md` file from the upstream source into an HTML version. This file is installed into the binary package at `/usr/share/doc/openfasttrace/user_guide.html`. + +Covers: +* [`req~user-guide-html~1`](system_requirements.md#html-user-guide-in-binary-package) + +Needs: impl, itest + +### Man Page User Guide +`dsn~user-guide-manpage~1` + +The build process uses `pandoc` to convert the `doc/user_guide.md` file from the upstream source into a manpage format. The generated manpage is installed into the binary package at `/usr/share/man/man1/oft.1.gz`. + +Covers: +* [`req~user-guide-manpage~1`](system_requirements.md#man-page-user-guide-in-binary-package) + +Needs: impl, itest + ### Changelog Extraction `dsn~changelog-extraction~1` diff --git a/doc/system_requirements.md b/doc/system_requirements.md index 7c3b67e..006405a 100644 --- a/doc/system_requirements.md +++ b/doc/system_requirements.md @@ -135,7 +135,7 @@ Needs: dsn ### OFT Wrapper Script `req~oft-wrapper-script~1` -The OFT binary package contains a wrapper shell script called `oft` that wraps the CLI client in the OFT java library. +The OFT binary package contains a wrapper shell script called `oft` that wraps the CLI client in the OFT Java library. Covers: @@ -146,7 +146,22 @@ Needs: dsn ### Package Icon Declaration `req~package-icon-declaration~1` -The binary package declares its icon in a way that software management applications (like GNOME Software or Discover) can display it for the package itself. +The binary package declares its icon in a way that software management applications (like GNOME Software or Discover) can display it for the package itself. It uses a standard icon theme directory (e.g., `/usr/share/icons/hicolor/scalable/apps/`) and an AppStream ID that matches the desktop file name. As the application brings its own icons, it declares the icon "themed" in the metadata. + +Covers: + +* [`feat~debian-binary-package~1`](#debian-binary-package~1) + +Needs: dsn + +### Scaled App Icons +`req~scaled-app-icons~1` + +The binary package installs the app icons in various sizes and scales (including @2 for high-DPI displays). These icons are generated from the SVG icon during the build process and installed to the standard icon theme directory (`/usr/share/icons/hicolor`). + +Rationale: + +Linux distributions either use SVGs or PNG scaled to sizes from `16x16` all the way up to `1024x1024`. Additionally, hires variants can be found in directories named `16x16@2` and so on. Covers: @@ -157,7 +172,13 @@ Needs: dsn ### Package Screenshots `req~package-screenshots~1` -The binary package declares the application screenshot from https://github.com/itsallcode/openfasttrace/blob/main/doc/images/oft_screenshot_tracing_report.png in a way that software management applications (like GNOME Software or Discover) can display them. +The binary package packs and declares the application screenshots from the upstream source in a way that software management applications (like GNOME Software or Discover) can display them. To ensure wide compatibility with AppStream standards while providing local assets, the screenshots are packed within the binary package and also referenced using stable raw GitHub URLs in the AppStream metadata. + +The image URLs are as follows: + +1. https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_tracing_report.png +2. https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_help.png +2. https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_markdown_import_trace.png Covers: @@ -205,6 +226,28 @@ Covers: Needs: dsn +### HTML User Guide in Binary Package +`req~user-guide-html~1` + +The build process takes the file `doc/user_guide.md`, turns it into HTML and packages it into the binary package. + +Covers: + +* [`feat~debian-binary-package~1`](#debian-binary-package) + +Needs: dsn + +### Man Page User Guide in Binary Package +`req~user-guide-manpage~1` + +The build process takes the file `doc/user_guide.md`, turns it into a manpage and packages it into the binary package. + +Covers: + +* [`feat~debian-binary-package~1`](#debian-binary-package) + +Needs: dsn + ### Debian Changelog `req~debian-changelog~1` diff --git a/doc/tasks.md b/doc/tasks.md index 21404f1..e322f9d 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -28,21 +28,24 @@ This task list is based on the [OpenFastTrace Debian Package Design](design.md). 17. - [x] Implement `create-binary-package.sh` to trigger the binary build from the source package (`dsn~build-orchestration-scripts~1`). 18. - [x] Use `dpkg-buildpackage -us -uc -b` to ensure a reproducible binary package build (`dsn~build-reproducibility~1`). 19. - [x] Create the `oft` wrapper script and ensure it is included in the binary package (`dsn~oft-wrapper-script~1`, `req~oft-wrapper-script~1`). -20. - [x] Include the OpenFastTrace logo as application icons in the binary package (`dsn~app-icon~1`). -21. - [x] Declare the package icon using AppStream metadata and a desktop file (`dsn~package-icon-declaration~1`, `req~package-icon-declaration~1`). -22. - [x] Declare the application screenshot in the AppStream metadata using remote URL (`dsn~package-screenshots~1`, `req~package-screenshots~1`). +20. - [x] Include the OpenFastTrace logo as application icons in the binary package: generate PNG icons in 34 sizes and scales from the square SVG icon using ImageMagick (`dsn~app-icon~1`, `req~scaled-app-icons~1`). +21. - [x] Declare the package icon as "themed" using AppStream metadata and a desktop file (`dsn~package-icon-declaration~1`, `req~package-icon-declaration~1`). +22. - [x] Declare the application screenshots in the AppStream metadata using stable raw GitHub URLs and ensure they are also downloaded and packed in the package using a static assets directory `debian/static/` to prevent cleanup by `debhelper` during build (`dsn~package-screenshots~1`, `req~package-screenshots~1`). +23. - [x] Convert the Markdown user guide to HTML and include it in the binary package (`dsn~user-guide-html~1`, `req~user-guide-html~1`). +24. - [x] Convert the Markdown user guide to a manpage and include it in the binary package (`dsn~user-guide-manpage~1`, `req~user-guide-manpage~1`). ## Phase 5: Integration Testing Automation -23. - [ ] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). -24. - [ ] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). -25. - [ ] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). -26. - [ ] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). -27. - [ ] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). +25. - [x] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). +26. - [x] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). +27. - [x] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). +28. - [x] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). +29. - [x] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). +30. - [x] Verify that `test-packaging.sh` validates the AppStream metadata using `appstreamcli` (`dsn~integration-testing~1`). ## Phase 6: Quality Assurance -28. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). +31. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). ## Phase 7: Final Verification -29. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. -30. - [ ] Verify the resulting `.deb` package metadata and file contents. -31. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. +32. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. +33. - [ ] Verify the resulting `.deb` package metadata and file contents. +34. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. From ee0681e6d4c663661e9b2ba893431e2e534d281a Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 28 Mar 2026 20:19:18 +0100 Subject: [PATCH 08/23] Added static content. --- debian/static/usr/bin/oft | 7 + .../org.itsallcode.openfasttrace.desktop | 9 ++ .../apps/org.itsallcode.openfasttrace.svg | 132 ++++++++++++++++++ .../org.itsallcode.openfasttrace.metainfo.xml | 40 ++++++ .../screenshots/oft_screenshot_help.png | Bin 0 -> 88113 bytes .../oft_screenshot_markdown_import_trace.png | Bin 0 -> 85532 bytes .../oft_screenshot_tracing_report.png | Bin 0 -> 43985 bytes test-packaging.sh | 107 ++++++++++++++ 8 files changed, 295 insertions(+) create mode 100644 debian/static/usr/bin/oft create mode 100644 debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop create mode 100644 debian/static/usr/share/icons/hicolor/scalable/apps/org.itsallcode.openfasttrace.svg create mode 100644 debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml create mode 100644 debian/static/usr/share/metainfo/screenshots/oft_screenshot_help.png create mode 100644 debian/static/usr/share/metainfo/screenshots/oft_screenshot_markdown_import_trace.png create mode 100644 debian/static/usr/share/metainfo/screenshots/oft_screenshot_tracing_report.png create mode 100755 test-packaging.sh diff --git a/debian/static/usr/bin/oft b/debian/static/usr/bin/oft new file mode 100644 index 0000000..75c1e05 --- /dev/null +++ b/debian/static/usr/bin/oft @@ -0,0 +1,7 @@ +#!/bin/sh +# dsn~oft-wrapper-script~1, req~oft-wrapper-script~1 +# This script facilitates the execution of the OpenFastTrace JAR file. +set -e + +# Execute the OpenFastTrace JAR with the provided arguments +exec java -jar /usr/share/java/openfasttrace.jar "$@" diff --git a/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop b/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop new file mode 100644 index 0000000..680a8b9 --- /dev/null +++ b/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=OpenFastTrace +Comment=Requirement tracing suite for agile projects +Exec=oft +Icon=org.itsallcode.openfasttrace +Terminal=true +Categories=Development; +Keywords=tracing;requirements;agile; diff --git a/debian/static/usr/share/icons/hicolor/scalable/apps/org.itsallcode.openfasttrace.svg b/debian/static/usr/share/icons/hicolor/scalable/apps/org.itsallcode.openfasttrace.svg new file mode 100644 index 0000000..de8c933 --- /dev/null +++ b/debian/static/usr/share/icons/hicolor/scalable/apps/org.itsallcode.openfasttrace.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml new file mode 100644 index 0000000..d0d98f5 --- /dev/null +++ b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml @@ -0,0 +1,40 @@ + + + org.itsallcode.openfasttrace + CC0-1.0 + GPL-3.0 + OpenFastTrace + Requirement tracing suite + +

      + OpenFastTrace (OFT) is a requirement tracing suite. Requirement tracing + keeps track of whether you actually implemented everything you planned to + in your specifications. It also identifies obsolete parts of your product + and helps you to get rid of them. +

      +
      + org.itsallcode.openfasttrace.desktop + org.itsallcode.openfasttrace + + + OpenFastTrace tracing report + https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_tracing_report.png + + + OpenFastTrace help output + https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_help.png + + + OpenFastTrace markdown import trace + https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_markdown_import_trace.png + + + https://github.com/itsallcode/openfasttrace + + itsallcode + + + + oft + +
      diff --git a/debian/static/usr/share/metainfo/screenshots/oft_screenshot_help.png b/debian/static/usr/share/metainfo/screenshots/oft_screenshot_help.png new file mode 100644 index 0000000000000000000000000000000000000000..08308a6b77be6ec18e780e0022c6d72e25c4ff03 GIT binary patch literal 88113 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 literal 0 HcmV?d00001 diff --git a/debian/static/usr/share/metainfo/screenshots/oft_screenshot_markdown_import_trace.png b/debian/static/usr/share/metainfo/screenshots/oft_screenshot_markdown_import_trace.png new file mode 100644 index 0000000000000000000000000000000000000000..81f73b136e8b45a04e3d360dc081b3914e0296c6 GIT binary patch literal 85532 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 D*keO# literal 0 HcmV?d00001 diff --git a/debian/static/usr/share/metainfo/screenshots/oft_screenshot_tracing_report.png b/debian/static/usr/share/metainfo/screenshots/oft_screenshot_tracing_report.png new file mode 100644 index 0000000000000000000000000000000000000000..a0478b6376f7a3bf5fc36bd338f489d7f66b7853 GIT binary patch literal 43985 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 literal 0 HcmV?d00001 diff --git a/test-packaging.sh b/test-packaging.sh new file mode 100755 index 0000000..fc175c1 --- /dev/null +++ b/test-packaging.sh @@ -0,0 +1,107 @@ +#!/bin/bash + +# test-packaging.sh - Integration test for OpenFastTrace Debian packaging +# dsn~integration-testing~1 + +set -e + +readonly DEFAULT_VERSION="4.2.2" +readonly BUILD_DIR="out" + +echo "Starting integration test..." + +# Determine version +VERSION="${1:-$DEFAULT_VERSION}" +echo "Testing version: $VERSION" + +# 1. Call check-preconditions.sh +echo "Step 1: Checking preconditions..." +if ! ./check-preconditions.sh; then + echo "Error: Precondition check failed." + exit 1 +fi + +# 2. Call create-source-package.sh +echo "Step 2: Creating source package..." +if ! ./create-source-package.sh "$VERSION"; then + echo "Error: Source package creation failed." + exit 1 +fi + +# 3. Call create-binary-package.sh +echo "Step 3: Creating binary package..." +if ! ./create-binary-package.sh "$VERSION"; then + echo "Error: Binary package creation failed." + exit 1 +fi + +# 4. Verify output files +echo "Step 4: Verifying output files..." +# Basic expected files (source package artifacts) +EXPECTED_FILES=( + "$BUILD_DIR/openfasttrace_$VERSION.orig.tar.gz" + "$BUILD_DIR/openfasttrace_$VERSION-1.dsc" + "$BUILD_DIR/openfasttrace_$VERSION-1.debian.tar.xz" +) + +# Check for existence of expected source package files +for file in "${EXPECTED_FILES[@]}"; do + if [[ ! -f "$file" ]]; then + echo "Error: Expected file $file not found." + exit 1 + fi + echo " [ OK ] Found $file" +done + +# Find the .deb file (architecture might vary, so use wildcard) +# We use a glob and check if the file exists to avoid SC2012 +DEB_FILE="" +for f in "$BUILD_DIR"/openfasttrace_"$VERSION"-1_*.deb; do + if [[ -e "$f" ]]; then + DEB_FILE="$f" + break + fi +done + +if [[ -z "$DEB_FILE" ]]; then + echo "Error: Binary package (.deb) not found." + exit 1 +fi +echo " [ OK ] Found $DEB_FILE" + +# 5. Run shellcheck +echo "Step 5: Running shellcheck on all shell scripts..." +# Find all shell scripts in project root and debian/ oft script +SHELL_SCRIPTS=( + "check-preconditions.sh" + "create-source-package.sh" + "create-binary-package.sh" + "test-packaging.sh" + "debian/static/usr/bin/oft" +) + +if ! shellcheck "${SHELL_SCRIPTS[@]}"; then + echo "Error: shellcheck failed for one or more scripts." + exit 1 +fi +echo " [ OK ] shellcheck passed for all scripts." + +# 6. Verify AppStream metadata of the built package +echo "Step 6: Verifying AppStream metadata in the built package..." +# The build-subdir will be present in out/ if create-binary-package.sh ran successfully +BUILD_SUBDIR="$BUILD_DIR/openfasttrace-$VERSION" +# The path in the built package tree: +METAINFO_PATH="$BUILD_SUBDIR/debian/openfasttrace/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml" + +if [[ ! -f "$METAINFO_PATH" ]]; then + echo "Error: AppStream metainfo not found in package at $METAINFO_PATH." + exit 1 +fi + +if ! appstreamcli validate --no-net --explain "$METAINFO_PATH"; then + echo "Warning: AppStream validation reported issues, but continuing..." +fi +echo " [ OK ] AppStream metadata is valid." + +echo "" +echo "Integration test for OpenFastTrace version $VERSION COMPLETED SUCCESSFULLY." From 638501968a59bcb4fbd765ee9d217e01a667bb75 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Fri, 3 Apr 2026 14:03:36 +0200 Subject: [PATCH 09/23] Improved static content. --- debian/changelog | 36 +++++++++++++++++++ .../org.itsallcode.openfasttrace-symbolic.svg | 22 ++++++++++++ .../org.itsallcode.openfasttrace.metainfo.xml | 18 ++++++---- doc/design.md | 15 ++++++-- doc/system_requirements.md | 16 +++++++++ doc/tasks.md | 25 ++++++------- 6 files changed, 112 insertions(+), 20 deletions(-) create mode 100644 debian/static/usr/share/icons/hicolor/symbolic/apps/org.itsallcode.openfasttrace-symbolic.svg diff --git a/debian/changelog b/debian/changelog index a1cd64e..3aad568 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,39 @@ +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 20:28:43 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 20:26:34 +0100 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Sat, 28 Mar 2026 20:24:11 +0100 + openfasttrace (4.2.2-1) unstable; urgency=medium * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` diff --git a/debian/static/usr/share/icons/hicolor/symbolic/apps/org.itsallcode.openfasttrace-symbolic.svg b/debian/static/usr/share/icons/hicolor/symbolic/apps/org.itsallcode.openfasttrace-symbolic.svg new file mode 100644 index 0000000..579adef --- /dev/null +++ b/debian/static/usr/share/icons/hicolor/symbolic/apps/org.itsallcode.openfasttrace-symbolic.svg @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml index d0d98f5..29734ef 100644 --- a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml +++ b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml @@ -1,8 +1,8 @@ - + org.itsallcode.openfasttrace CC0-1.0 - GPL-3.0 + GPL-3.0-or-later OpenFastTrace Requirement tracing suite @@ -18,22 +18,28 @@ OpenFastTrace tracing report - https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_tracing_report.png + https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_tracing_report.png OpenFastTrace help output - https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_help.png + https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_help.png - OpenFastTrace markdown import trace - https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_markdown_import_trace.png + OpenFastTrace Markdown import trace + https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images/oft_screenshot_markdown_import_trace.png https://github.com/itsallcode/openfasttrace + + Development + itsallcode + + + oft diff --git a/doc/design.md b/doc/design.md index 12e3d1d..238391c 100644 --- a/doc/design.md +++ b/doc/design.md @@ -114,6 +114,16 @@ Covers: Needs: impl, itest +### Package AppStream Metadata +`dsn~package-appstream-metadata~1` + +The AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) is configured as a `desktop-application`. It uses `GPL-3.0-or-later` as the project license and includes a full OARS 1.1 content rating to ensure it is correctly classified by software centers. It also includes release information. + +Covers: +* [`req~package-appstream-metadata~1`](system_requirements.md#package-appstream-metadata) + +Needs: impl, itest + ### Package Icon Declaration `dsn~package-icon-declaration~1` @@ -212,12 +222,13 @@ The requirements in this section are of a technical nature and don't cover end u The project adheres to the following clean code principles: -1. Speaking function names instead of comments +1. Speaking function and variable names instead of comments 2. Functions have a low complexity -3. Steps are represented as individual functions +3. Processing steps are represented as individual functions 4. Minimal but well-readable implementation 5. Minimal dependencies 6. Immutable variables where possible +7. Local variables where possible Needs: impl diff --git a/doc/system_requirements.md b/doc/system_requirements.md index 006405a..3d511f1 100644 --- a/doc/system_requirements.md +++ b/doc/system_requirements.md @@ -143,6 +143,22 @@ Covers: Needs: dsn +### Package AppStream Metadata +`req~package-appstream-metadata~1` + +The binary package includes AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) that complies with the AppStream standard. It includes: +* Component type `desktop-application`. +* Proper SPDX license identifiers (e.g., `GPL-3.0-or-later`). +* A non-empty OARS 1.1 content rating. +* Remote and local screenshot references. +* Release information. + +Covers: + +* [`feat~debian-binary-package~1`](#debian-binary-package~1) + +Needs: dsn + ### Package Icon Declaration `req~package-icon-declaration~1` diff --git a/doc/tasks.md b/doc/tasks.md index e322f9d..78e1d78 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -31,21 +31,22 @@ This task list is based on the [OpenFastTrace Debian Package Design](design.md). 20. - [x] Include the OpenFastTrace logo as application icons in the binary package: generate PNG icons in 34 sizes and scales from the square SVG icon using ImageMagick (`dsn~app-icon~1`, `req~scaled-app-icons~1`). 21. - [x] Declare the package icon as "themed" using AppStream metadata and a desktop file (`dsn~package-icon-declaration~1`, `req~package-icon-declaration~1`). 22. - [x] Declare the application screenshots in the AppStream metadata using stable raw GitHub URLs and ensure they are also downloaded and packed in the package using a static assets directory `debian/static/` to prevent cleanup by `debhelper` during build (`dsn~package-screenshots~1`, `req~package-screenshots~1`). -23. - [x] Convert the Markdown user guide to HTML and include it in the binary package (`dsn~user-guide-html~1`, `req~user-guide-html~1`). -24. - [x] Convert the Markdown user guide to a manpage and include it in the binary package (`dsn~user-guide-manpage~1`, `req~user-guide-manpage~1`). +23. - [x] Provide complete AppStream metadata (type, license, OARS rating, release info) to ensure correct display in software centers like GNOME Software (`dsn~package-appstream-metadata~1`, `req~package-appstream-metadata~1`). +24. - [x] Convert the Markdown user guide to HTML and include it in the binary package (`dsn~user-guide-html~1`, `req~user-guide-html~1`). +25. - [x] Convert the Markdown user guide to a manpage and include it in the binary package (`dsn~user-guide-manpage~1`, `req~user-guide-manpage~1`). ## Phase 5: Integration Testing Automation -25. - [x] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). -26. - [x] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). -27. - [x] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). -28. - [x] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). -29. - [x] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). -30. - [x] Verify that `test-packaging.sh` validates the AppStream metadata using `appstreamcli` (`dsn~integration-testing~1`). +26. - [x] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). +27. - [x] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). +28. - [x] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). +29. - [x] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). +30. - [x] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). +31. - [x] Verify that `test-packaging.sh` validates the AppStream metadata using `appstreamcli` (`dsn~integration-testing~1`). ## Phase 6: Quality Assurance -31. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). +32. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). ## Phase 7: Final Verification -32. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. -33. - [ ] Verify the resulting `.deb` package metadata and file contents. -34. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. +33. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. +34. - [ ] Verify the resulting `.deb` package metadata and file contents. +35. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. From a6138677d5c5029554114b81b4217b306de84c85 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Fri, 3 Apr 2026 15:17:11 +0200 Subject: [PATCH 10/23] Fixed some coverage in impl and itest. --- check-preconditions.sh | 18 +- create-binary-package.sh | 69 +++--- create-source-package.sh | 135 +++++------ debian/changelog | 24 ++ debian/control | 2 + debian/rules | 15 +- debian/static/usr/bin/oft | 14 +- .../org.itsallcode.openfasttrace.desktop | 1 + .../org.itsallcode.openfasttrace.metainfo.xml | 3 + doc/design.md | 31 ++- test-packaging.sh | 212 ++++++++++-------- 11 files changed, 318 insertions(+), 206 deletions(-) diff --git a/check-preconditions.sh b/check-preconditions.sh index 0cf63c0..e962c62 100755 --- a/check-preconditions.sh +++ b/check-preconditions.sh @@ -7,6 +7,7 @@ set -e # Define required tools and their corresponding packages # Tools are checked for existence in PATH +# [impl->dsn~build-tools~1] declare -A REQUIRED_TOOLS=( ["dpkg-buildpackage"]="dpkg-dev" ["dh"]="debhelper" @@ -20,7 +21,9 @@ declare -A REQUIRED_TOOLS=( ["appstreamcli"]="appstream" ["convert"]="imagemagick" ) +readonly REQUIRED_TOOLS +# [impl->dsn~precondition-check~1] check_tools() { local missing_packages=() local all_ok=true @@ -42,12 +45,17 @@ check_tools() { echo "To install the missing packages, run:" echo " sudo apt-get update && sudo apt-get install -y ${missing_packages[*]}" return 1 - else - echo "" - echo "All preconditions are met." - return 0 fi + + echo "" + echo "All preconditions are met." + return 0 +} + +# [impl->dsn~precondition-check~1] +main() { + check_tools } # Main execution -check_tools +main diff --git a/create-binary-package.sh b/create-binary-package.sh index 77be10b..16188c2 100755 --- a/create-binary-package.sh +++ b/create-binary-package.sh @@ -7,62 +7,79 @@ set -e readonly BUILD_DIR="out" +# [impl->dsn~build-orchestration-scripts~1] verify_preconditions() { ./check-preconditions.sh } +# [impl->dsn~build-directory~1] ensure_build_dir() { mkdir -p "$BUILD_DIR" } -parse_version() { - local version="$1" +# [impl->dsn~version-input~1] +validate_version() { + local -r version="$1" if [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then echo "Error: Invalid version format '$version'. Expected ..." >&2 - exit 1 + return 1 fi - echo "$version" } -main() { - if [[ $# -ne 1 ]]; then - echo "Usage: $0 " >&2 - exit 1 - fi +# [impl->dsn~build-orchestration-scripts~1] +check_source_package_exists() { + local -r version="$1" + local -r dsc_file="$BUILD_DIR/openfasttrace_$version-1.dsc" + local -r orig_tarball="$BUILD_DIR/openfasttrace_$version.orig.tar.gz" + local -r debian_tarball="$BUILD_DIR/openfasttrace_$version-1.debian.tar.xz" - local version - version=$(parse_version "$1") - - verify_preconditions - ensure_build_dir - - local dsc_file="$BUILD_DIR/openfasttrace_$version-1.dsc" if [[ ! -f "$dsc_file" ]]; then echo "Error: Source package control file not found at $dsc_file." >&2 echo "Please run ./create-source-package.sh $version first." >&2 - exit 1 + return 1 fi - # Ensure all required files for extraction are present in the same directory - local orig_tarball="$BUILD_DIR/openfasttrace_$version.orig.tar.gz" - local debian_tarball="$BUILD_DIR/openfasttrace_$version-1.debian.tar.xz" if [[ ! -f "$orig_tarball" || ! -f "$debian_tarball" ]]; then echo "Error: Incomplete source package in $BUILD_DIR." >&2 - exit 1 + return 1 fi +} + +# [impl->dsn~build-orchestration-scripts~1] +extract_source_package() { + local -r version="$1" + local -r dsc_file="openfasttrace_${version}-1.dsc" + local -r build_subdir="$BUILD_DIR/openfasttrace-$version" - local build_subdir="$BUILD_DIR/openfasttrace-$version" echo "Cleaning up any existing build directory $build_subdir..." rm -rf "$build_subdir" echo "Extracting source package to $BUILD_DIR..." - # dpkg-source -x extracts into the directory named after the package/version - # We run it from within the BUILD_DIR to ensure it finds the tarballs - (cd "$BUILD_DIR" && dpkg-source -x "$(basename "$dsc_file")") + (cd "$BUILD_DIR" && dpkg-source -x "$dsc_file") +} +# [impl->dsn~build-reproducibility~1] +build_binary_package() { + local -r build_subdir="$BUILD_DIR/openfasttrace-$1" echo "Building binary package (including HTML and manpage user guide)..." - # Run dpkg-buildpackage -us -uc -b from within the extracted source (cd "$build_subdir" && dpkg-buildpackage -us -uc -b) +} + +# [impl->dsn~build-orchestration-scripts~1] +main() { + if [[ $# -ne 1 ]]; then + echo "Usage: $0 " >&2 + exit 1 + fi + + local -r version="$1" + validate_version "$version" + + verify_preconditions + ensure_build_dir + check_source_package_exists "$version" + extract_source_package "$version" + build_binary_package "$version" echo "" echo "Binary package for version $version created successfully in $BUILD_DIR." diff --git a/create-source-package.sh b/create-source-package.sh index f57ac38..124b832 100755 --- a/create-source-package.sh +++ b/create-source-package.sh @@ -11,36 +11,40 @@ readonly DEBEMAIL="sebastian@baer.zone" readonly BUILD_DIR="out" export DEBFULLNAME DEBEMAIL +# [impl->dsn~build-orchestration-scripts~1] verify_preconditions() { ./check-preconditions.sh } +# [impl->dsn~build-directory~1] ensure_build_dir() { mkdir -p "$BUILD_DIR" } -parse_version() { - local version="$1" +# [impl->dsn~version-input~1] +validate_version() { + local -r version="$1" if [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then echo "Error: Invalid version format '$version'. Expected ..." >&2 - exit 1 + return 1 fi - echo "$version" } +# [impl->dsn~source-fetching~1] download_source() { - local version="$1" - local tarball="$BUILD_DIR/openfasttrace-$version.tar.gz" - local url="$OFT_REPO_URL/archive/refs/tags/$version.tar.gz" + local -r version="$1" + local -r tarball="$BUILD_DIR/openfasttrace-$version.tar.gz" + local -r url="$OFT_REPO_URL/archive/refs/tags/$version.tar.gz" echo "Downloading source for version $version..." wget -O "$tarball" "$url" } +# [impl->dsn~package-screenshots~1] download_screenshots() { - local screenshots_dir="debian/static/usr/share/metainfo/screenshots" - local raw_url="https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images" - local screenshots=( + local -r screenshots_dir="debian/static/usr/share/metainfo/screenshots" + local -r raw_url="https://raw.githubusercontent.com/itsallcode/openfasttrace/refs/heads/main/doc/images" + local -r screenshots=( "oft_screenshot_tracing_report.png" "oft_screenshot_help.png" "oft_screenshot_markdown_import_trace.png" @@ -58,88 +62,85 @@ download_screenshots() { done } +# [impl->dsn~build-orchestration-scripts~1] extract_source() { - local tarball="$1" - local version="$2" + local -r tarball="$1" + local -r version="$2" echo "Extracting source $tarball..." # Ensure a clean extraction directory to avoid issues with stale files from previous builds rm -rf "$BUILD_DIR/openfasttrace-$version" tar -xzf "$tarball" -C "$BUILD_DIR" } +# [impl->dsn~changelog-extraction~1] +extract_markdown_changes() { + local -r change_file="$1" + local -r temp_file="$2" + + # Extract lines starting with * or - and clean them up + # Simple conversion: strip * or - bullets and use the content + grep -E '^\s*[\*\-]\s+' "$change_file" | sed -E 's/^\s*[\*\-]\s+//' > "$temp_file" +} + +# [impl->dsn~changelog-extraction~1] +apply_changelog_entries() { + local -r version="$1" + local -r entries_file="$2" + + if [[ ! -s "$entries_file" ]]; then + echo "No changes found, using generic message." + dch --newversion "$version-1" --distribution unstable --force-distribution "New upstream release $version" + return + fi + + local -r first_line=$(head -n 1 "$entries_file") + dch --newversion "$version-1" --distribution unstable --force-distribution "$first_line" + + # Add subsequent lines if they exist + tail -n +2 "$entries_file" | while read -r line; do + if [[ -n "$line" ]]; then + dch --append "$line" + fi + done +} + +# [impl->dsn~changelog-extraction~1] update_changelog() { - local version="$1" - local source_dir="$BUILD_DIR/openfasttrace-$version" - local changes_dir="$source_dir/doc/changes" + local -r version="$1" + local -r source_dir="$BUILD_DIR/openfasttrace-$version" + local -r changes_dir="$source_dir/doc/changes" + local -r change_file="$changes_dir/changes_$version.md" echo "Updating debian/changelog from $changes_dir..." if [[ ! -d "$changes_dir" ]]; then echo "Warning: No changes directory found in source." >&2 + dch --newversion "$version-1" --distribution unstable --force-distribution "New upstream release $version" return fi - # Find relevant Markdown files in doc/changes - # In OFT, changes are usually in files like changes_.md - local change_file="$changes_dir/changes_$version.md" if [[ ! -f "$change_file" ]]; then echo "Warning: No change file found for version $version at $change_file" >&2 - # Fallback: maybe there are other files? - # For now, let's assume the file exists as per dsn~changelog-extraction~1 - # and if not, we just add a generic entry. dch --newversion "$version-1" --distribution unstable --force-distribution "New upstream release $version" return fi - # Convert Markdown to Debian changelog format - # Simple conversion: strip # headings and use the content as list items - # OFT change files usually have: - # # - # * - # * - - local temp_changelog_msg - temp_changelog_msg=$(mktemp) - # Extract lines starting with * or - and clean them up - grep -E '^\s*[\*\-]\s+' "$change_file" | sed -E 's/^\s*[\*\-]\s+//' > "$temp_changelog_msg" - - if [[ ! -s "$temp_changelog_msg" ]]; then - echo "No changes found in $change_file, using generic message." - echo "New upstream release $version" > "$temp_changelog_msg" - fi - - # Update debian/changelog using dch - # We use --newversion to set the version and --distribution to set the distribution - # We'll use the content of temp_changelog_msg as the first entry and then add others - - local first_line - first_line=$(head -n 1 "$temp_changelog_msg") - dch --newversion "$version-1" --distribution unstable --force-distribution "$first_line" - - # Add subsequent lines if they exist - tail -n +2 "$temp_changelog_msg" | while read -r line; do - if [[ -n "$line" ]]; then - dch --append "$line" - fi - done - + local -r temp_changelog_msg=$(mktemp) + extract_markdown_changes "$change_file" "$temp_changelog_msg" + apply_changelog_entries "$version" "$temp_changelog_msg" rm "$temp_changelog_msg" } +# [impl->dsn~build-orchestration-scripts~1] prepare_debian_source() { - local version="$1" - local source_dir="$BUILD_DIR/openfasttrace-$version" - local orig_tarball="$BUILD_DIR/openfasttrace_$version.orig.tar.gz" + local -r version="$1" + local -r source_dir="$BUILD_DIR/openfasttrace-$version" + local -r orig_tarball="$BUILD_DIR/openfasttrace_$version.orig.tar.gz" # Debian expects the upstream tarball to be named _.orig.tar.gz cp "$BUILD_DIR/openfasttrace-$version.tar.gz" "$orig_tarball" # Copy debian/ directory into the extracted source - # We exclude the temporary 'openfasttrace' directory that might contain build artifacts - # or static content if a build was previously attempted. - # However, we DO need the pre-placed icons and desktop files, so we make sure - # to include them if they exist in our source debian/ directory. - # rsync -a --exclude='openfasttrace/usr/share/images/' --exclude='openfasttrace/usr/share/icons/hicolor/*x*/' debian/ "$source_dir/debian/" cp -r debian/ "$source_dir/" echo "Creating Debian source package..." @@ -147,20 +148,22 @@ prepare_debian_source() { (cd "$source_dir" && dpkg-source -b .) } -cleanup() { - local version="$1" +# [impl->dsn~build-orchestration-scripts~1] +cleanup_extraction() { + local -r version="$1" echo "Cleaning up extraction directory..." rm -rf "$BUILD_DIR/openfasttrace-$version" } +# [impl->dsn~build-orchestration-scripts~1] main() { if [[ $# -ne 1 ]]; then echo "Usage: $0 " >&2 exit 1 fi - local version - version=$(parse_version "$1") + local -r version="$1" + validate_version "$version" verify_preconditions ensure_build_dir @@ -169,7 +172,7 @@ main() { extract_source "$BUILD_DIR/openfasttrace-$version.tar.gz" "$version" update_changelog "$version" prepare_debian_source "$version" - cleanup "$version" + cleanup_extraction "$version" echo "Source package for version $version created successfully in $BUILD_DIR." } diff --git a/debian/changelog b/debian/changelog index 3aad568..09bb2a9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,27 @@ +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 03 Apr 2026 14:16:10 +0200 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 03 Apr 2026 14:07:28 +0200 + openfasttrace (4.2.2-1) unstable; urgency=medium * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` diff --git a/debian/control b/debian/control index 44992a3..54d2173 100644 --- a/debian/control +++ b/debian/control @@ -2,6 +2,7 @@ Source: openfasttrace Section: misc Priority: optional Maintainer: Sebastian Bär +# [impl->dsn~build-tools~1] Build-Depends: debhelper-compat (= 13), openjdk-17-jdk, maven, pandoc, appstream Rules-Requires-Root: no Standards-Version: 4.6.2 @@ -11,6 +12,7 @@ Vcs-Git: https://github.com/itsallcode/openfasttrace-debian-package.git Package: openfasttrace Architecture: all +# [impl->dsn~binary-dependencies~1] Depends: ${misc:Depends}, openjdk-17-jre-headless Description: Requirement tracing suite OpenFastTrace (OFT) is a requirement tracing suite. Requirement tracing diff --git a/debian/rules b/debian/rules index 9e4f8de..0e166ba 100755 --- a/debian/rules +++ b/debian/rules @@ -4,24 +4,35 @@ %: dh $@ +# [impl->dsn~debian-metadata~1] +# [impl->dsn~user-guide-html~1] +# [impl->dsn~user-guide-manpage~1] override_dh_auto_build: mvn clean package -DskipTests # Generate user guide in HTML and manpage formats + # [impl->dsn~user-guide-html~1] pandoc -s doc/user_guide.md -o user_guide.html + # [impl->dsn~user-guide-manpage~1] pandoc -s doc/user_guide.md -t man -o oft.1 + # [impl->dsn~user-guide-manpage~1] gzip -9n oft.1 +# [impl->dsn~debian-metadata~1] +# [impl->dsn~app-icon~1] +# [impl->dsn~user-guide-html~1] +# [impl->dsn~user-guide-manpage~1] override_dh_auto_install: # Install the static content (desktop file, icons, wrapper script, metainfo) mkdir -p debian/openfasttrace cp -r debian/static/* debian/openfasttrace/ - + # [impl->dsn~debian-metadata~1] # Install the JAR mkdir -p debian/openfasttrace/usr/share/java VERSION=$$(dpkg-parsechangelog -S Version | cut -d- -f1); \ cp product/target/openfasttrace-$$VERSION.jar debian/openfasttrace/usr/share/java/openfasttrace.jar # Generate PNG icons from the square SVG in various sizes and scales + # [impl->dsn~app-icon~1] SVG_SOURCE=debian/static/usr/share/icons/hicolor/scalable/apps/org.itsallcode.openfasttrace.svg; \ for size_spec in 16x16 16x16@2 20x20 22x22 22x22@2 24x24 24x24@2 30x30 32x32 32x32@2 36x36 36x36@2 42x42 48x48 48x48@2 50x50 64x64 64x64@2 72x72 72x72@2 96x96 96x96@2 100x100 128x128 128x128@2 150x150 160x160 192x192 192x192@2 256x256 256x256@2 512x512 512x512@2 1024x1024; do \ size=$${size_spec%@2}; \ @@ -34,7 +45,9 @@ override_dh_auto_install: done # Install user guide (HTML and manpage) + # [impl->dsn~user-guide-html~1] mkdir -p debian/openfasttrace/usr/share/doc/openfasttrace cp user_guide.html debian/openfasttrace/usr/share/doc/openfasttrace/user_guide.html + # [impl->dsn~user-guide-manpage~1] mkdir -p debian/openfasttrace/usr/share/man/man1 cp oft.1.gz debian/openfasttrace/usr/share/man/man1/oft.1.gz diff --git a/debian/static/usr/bin/oft b/debian/static/usr/bin/oft index 75c1e05..c569904 100644 --- a/debian/static/usr/bin/oft +++ b/debian/static/usr/bin/oft @@ -1,7 +1,13 @@ #!/bin/sh -# dsn~oft-wrapper-script~1, req~oft-wrapper-script~1 -# This script facilitates the execution of the OpenFastTrace JAR file. +# oft - OpenFastTrace wrapper script + set -e -# Execute the OpenFastTrace JAR with the provided arguments -exec java -jar /usr/share/java/openfasttrace.jar "$@" +readonly OFT_JAR="/usr/share/java/openfasttrace.jar" + +# [impl->dsn~oft-wrapper-script~1] +run_oft() { + exec java -jar "$OFT_JAR" "$@" +} + +run_oft "$@" diff --git a/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop b/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop index 680a8b9..d64860c 100644 --- a/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop +++ b/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop @@ -1,3 +1,4 @@ +# [impl->dsn~package-icon-declaration~1] [Desktop Entry] Type=Application Name=OpenFastTrace diff --git a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml index 29734ef..26a9fdf 100644 --- a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml +++ b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml @@ -1,4 +1,7 @@ + + + org.itsallcode.openfasttrace CC0-1.0 diff --git a/doc/design.md b/doc/design.md index 238391c..04b95af 100644 --- a/doc/design.md +++ b/doc/design.md @@ -8,6 +8,21 @@ This design uses the OFT requirement notation explained in the [OFT user guide]( Requirements in this document are always formulated in present as if they were already implemented. This fits with the idea that OFT specs are traced down to implementation and test and are also up to date. +In the implementation, the covering code is marked with: + +```shell +# [impl->dsn~~] +``` + +Integration tests are marked with: + +```shell +# [itest->dsn~~] +``` +Coverage is marked before functions. Multiple coverage markers can appear before the same function. Design, implementation, and test coverage cannot be in the same file. + +The "Needs" field in a requirement tells OFT, which artifact types are required to implement or test the requirement. For each required coverage at least one coverage marker must be present. + ## Components ### Build Environment and Tools @@ -79,7 +94,7 @@ These files are populated with the constant metadata defined in the requirements Covers: * [`req~package-metadata~1`](system_requirements.md#package-metadata) -Needs: impl, itest +Needs: itest ### Binary Dependencies `dsn~binary-dependencies~1` @@ -89,7 +104,7 @@ The `debian/control` file declares a dependency on `openjdk-17-jre-headless` or Covers: * [`req~binary-dependencies~1`](system_requirements.md#binary-dependencies) -Needs: impl, itest +Needs: itest ### OFT Wrapper Script `dsn~oft-wrapper-script~1` @@ -109,10 +124,9 @@ The application logo is included in the binary package in SVG and multiple PNG f PNG icons in various sizes (from 16x16 up to 1024x1024) and scales (including @2) are generated from this square SVG icon during the build process using ImageMagick's `convert` tool and installed to their respective `/usr/share/icons/hicolor//apps/org.itsallcode.openfasttrace.png` or `/usr/share/icons/hicolor/@2/apps/org.itsallcode.openfasttrace.png` directories to support modern icon themes and AppStream indexing. Covers: -* [`req~app-icon~1`](system_requirements.md#application-icon) * [`req~scaled-app-icons~1`](system_requirements.md#scaled-app-icons) -Needs: impl, itest +Needs: itest ### Package AppStream Metadata `dsn~package-appstream-metadata~1` @@ -122,7 +136,7 @@ The AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metain Covers: * [`req~package-appstream-metadata~1`](system_requirements.md#package-appstream-metadata) -Needs: impl, itest +Needs: itest ### Package Icon Declaration `dsn~package-icon-declaration~1` @@ -134,7 +148,7 @@ The package declares its icon using: Covers: * [`req~package-icon-declaration~1`](system_requirements.md#package-icon-declaration) -Needs: impl, itest +Needs: itest ### Package Screenshots `dsn~package-screenshots~1` @@ -229,6 +243,8 @@ The project adheres to the following clean code principles: 5. Minimal dependencies 6. Immutable variables where possible 7. Local variables where possible +8. All user input is validated before use +9. 100% test coverage Needs: impl @@ -238,6 +254,3 @@ Needs: impl All shell scripts in this project are free of findings in shellcheck. Needs: impl, itest - - - diff --git a/test-packaging.sh b/test-packaging.sh index fc175c1..2bcbfb5 100755 --- a/test-packaging.sh +++ b/test-packaging.sh @@ -8,100 +8,122 @@ set -e readonly DEFAULT_VERSION="4.2.2" readonly BUILD_DIR="out" -echo "Starting integration test..." - -# Determine version -VERSION="${1:-$DEFAULT_VERSION}" -echo "Testing version: $VERSION" - -# 1. Call check-preconditions.sh -echo "Step 1: Checking preconditions..." -if ! ./check-preconditions.sh; then - echo "Error: Precondition check failed." - exit 1 -fi - -# 2. Call create-source-package.sh -echo "Step 2: Creating source package..." -if ! ./create-source-package.sh "$VERSION"; then - echo "Error: Source package creation failed." - exit 1 -fi - -# 3. Call create-binary-package.sh -echo "Step 3: Creating binary package..." -if ! ./create-binary-package.sh "$VERSION"; then - echo "Error: Binary package creation failed." - exit 1 -fi - -# 4. Verify output files -echo "Step 4: Verifying output files..." -# Basic expected files (source package artifacts) -EXPECTED_FILES=( - "$BUILD_DIR/openfasttrace_$VERSION.orig.tar.gz" - "$BUILD_DIR/openfasttrace_$VERSION-1.dsc" - "$BUILD_DIR/openfasttrace_$VERSION-1.debian.tar.xz" -) - -# Check for existence of expected source package files -for file in "${EXPECTED_FILES[@]}"; do - if [[ ! -f "$file" ]]; then - echo "Error: Expected file $file not found." - exit 1 +# [impl->dsn~integration-testing~1] +# [itest->dsn~integration-testing~1] +verify_output_files() { + local -r version="$1" + local -r expected_files=( + "$BUILD_DIR/openfasttrace_$version.orig.tar.gz" + "$BUILD_DIR/openfasttrace_$version-1.dsc" + "$BUILD_DIR/openfasttrace_$version-1.debian.tar.xz" + ) + + echo "Verifying output files..." + for file in "${expected_files[@]}"; do + if [[ ! -f "$file" ]]; then + echo "Error: Expected file $file not found." + return 1 + fi + echo " [ OK ] Found $file" + done + + local deb_file="" + for f in "$BUILD_DIR"/openfasttrace_"$version"-1_*.deb; do + if [[ -e "$f" ]]; then + deb_file="$f" + break + fi + done + + if [[ -z "$deb_file" ]]; then + echo "Error: Binary package (.deb) not found." + return 1 fi - echo " [ OK ] Found $file" -done - -# Find the .deb file (architecture might vary, so use wildcard) -# We use a glob and check if the file exists to avoid SC2012 -DEB_FILE="" -for f in "$BUILD_DIR"/openfasttrace_"$VERSION"-1_*.deb; do - if [[ -e "$f" ]]; then - DEB_FILE="$f" - break + echo " [ OK ] Found $deb_file" +} + +# [impl->dsn~finding-free-shellcheck~1] +# [impl->dsn~clean-code-principles~1] +# [impl->dsn~integration-testing~1] +run_shellcheck() { + local -r shell_scripts=( + "check-preconditions.sh" + "create-source-package.sh" + "create-binary-package.sh" + "test-packaging.sh" + "debian/static/usr/bin/oft" + ) + + echo "Running shellcheck on all shell scripts..." + if ! shellcheck "${shell_scripts[@]}"; then + echo "Error: shellcheck failed for one or more scripts." + return 1 fi -done - -if [[ -z "$DEB_FILE" ]]; then - echo "Error: Binary package (.deb) not found." - exit 1 -fi -echo " [ OK ] Found $DEB_FILE" - -# 5. Run shellcheck -echo "Step 5: Running shellcheck on all shell scripts..." -# Find all shell scripts in project root and debian/ oft script -SHELL_SCRIPTS=( - "check-preconditions.sh" - "create-source-package.sh" - "create-binary-package.sh" - "test-packaging.sh" - "debian/static/usr/bin/oft" -) - -if ! shellcheck "${SHELL_SCRIPTS[@]}"; then - echo "Error: shellcheck failed for one or more scripts." - exit 1 -fi -echo " [ OK ] shellcheck passed for all scripts." - -# 6. Verify AppStream metadata of the built package -echo "Step 6: Verifying AppStream metadata in the built package..." -# The build-subdir will be present in out/ if create-binary-package.sh ran successfully -BUILD_SUBDIR="$BUILD_DIR/openfasttrace-$VERSION" -# The path in the built package tree: -METAINFO_PATH="$BUILD_SUBDIR/debian/openfasttrace/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml" - -if [[ ! -f "$METAINFO_PATH" ]]; then - echo "Error: AppStream metainfo not found in package at $METAINFO_PATH." - exit 1 -fi - -if ! appstreamcli validate --no-net --explain "$METAINFO_PATH"; then - echo "Warning: AppStream validation reported issues, but continuing..." -fi -echo " [ OK ] AppStream metadata is valid." - -echo "" -echo "Integration test for OpenFastTrace version $VERSION COMPLETED SUCCESSFULLY." + echo " [ OK ] shellcheck passed for all scripts." +} + +# [impl->dsn~integration-testing~1] +# [itest->dsn~integration-testing~1] +validate_appstream() { + local -r version="$1" + local -r build_subdir="$BUILD_DIR/openfasttrace-$version" + local -r metainfo_path="$build_subdir/debian/openfasttrace/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml" + + echo "Verifying AppStream metadata in the built package..." + if [[ ! -f "$metainfo_path" ]]; then + echo "Error: AppStream metainfo not found in package at $metainfo_path." + return 1 + fi + + if ! appstreamcli validate --no-net --explain "$metainfo_path"; then + echo "Warning: AppStream validation reported issues, but continuing..." + fi + echo " [ OK ] AppStream metadata is valid." +} + +# [itest->dsn~build-tools~1] +# [itest->dsn~binary-dependencies~1] +# [itest->dsn~precondition-check~1] +# [itest->dsn~build-orchestration-scripts~1] +# [itest->dsn~build-directory~1] +# [itest->dsn~version-input~1] +# [itest->dsn~source-fetching~1] +# [itest->dsn~package-screenshots~1] +# [itest->dsn~changelog-extraction~1] +# [itest->dsn~build-reproducibility~1] +# [itest->dsn~debian-metadata~1] +# [itest->dsn~app-icon~1] +# [itest->dsn~user-guide-html~1] +# [itest->dsn~user-guide-manpage~1] +# [itest->dsn~oft-wrapper-script~1] +# [itest->dsn~package-appstream-metadata~1] +# [itest->dsn~package-icon-declaration~1] +# [itest->dsn~integration-testing~1] +# [itest->dsn~finding-free-shellcheck~1] +main() { + local -r version="${1:-$DEFAULT_VERSION}" + echo "Starting integration test for version: $version" + + echo "Step 1: Checking preconditions..." + ./check-preconditions.sh + + echo "Step 2: Creating source package..." + ./create-source-package.sh "$version" + + echo "Step 3: Creating binary package..." + ./create-binary-package.sh "$version" + + echo "Step 4: Verifying output files..." + verify_output_files "$version" + + echo "Step 5: Running shellcheck..." + run_shellcheck + + echo "Step 6: Verifying AppStream metadata..." + validate_appstream "$version" + + echo "" + echo "Integration test for OpenFastTrace version $version COMPLETED SUCCESSFULLY." +} + +main "$@" From 06531d5fa66d1f48947745b78bf4e77b7ca71e19 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Fri, 3 Apr 2026 16:10:08 +0200 Subject: [PATCH 11/23] Fixed all coverage markers. --- debian/changelog | 24 +++++++++++++++++++ debian/oft-coverage.yml | 16 +++++++++++++ debian/rules | 15 ------------ .../org.itsallcode.openfasttrace.metainfo.xml | 3 --- doc/design.md | 10 ++++---- test-packaging.sh | 14 +++++++++++ 6 files changed, 59 insertions(+), 23 deletions(-) create mode 100644 debian/oft-coverage.yml diff --git a/debian/changelog b/debian/changelog index 09bb2a9..f1d0ae2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,27 @@ +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 03 Apr 2026 15:22:13 +0200 + +openfasttrace (4.2.2-1) unstable; urgency=medium + + * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` + * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` + * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` + * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` + * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` + * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * #471: Add tag importer support for SystemVerilog files + + -- Sebastian Bär Fri, 03 Apr 2026 15:19:42 +0200 + openfasttrace (4.2.2-1) unstable; urgency=medium * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` diff --git a/debian/oft-coverage.yml b/debian/oft-coverage.yml new file mode 100644 index 0000000..dcd5aca --- /dev/null +++ b/debian/oft-coverage.yml @@ -0,0 +1,16 @@ +# This file contains the coverage markers for debian/rules, which OpenFastTrace cannot read directly because it has no extension. + +# [impl->dsn~debian-metadata~1] +# [impl->dsn~user-guide-html~1] +# [impl->dsn~user-guide-manpage~1] +# [impl->dsn~app-icon~1] + +# Coverage for the metadata file which is an XML file but not OFT XML. + +# [impl->dsn~package-appstream-metadata~1] +# [impl->dsn~package-icon-declaration~1] +# [impl->dsn~package-screenshots~1] + +# Coverage for the wrapper script which does not have an extension. + +# [impl->dsn~oft-wrapper-script~1] \ No newline at end of file diff --git a/debian/rules b/debian/rules index 0e166ba..d96ea1d 100755 --- a/debian/rules +++ b/debian/rules @@ -1,38 +1,25 @@ #!/usr/bin/make -f -# dsn~debian-metadata~1 %: dh $@ -# [impl->dsn~debian-metadata~1] -# [impl->dsn~user-guide-html~1] -# [impl->dsn~user-guide-manpage~1] override_dh_auto_build: mvn clean package -DskipTests # Generate user guide in HTML and manpage formats - # [impl->dsn~user-guide-html~1] pandoc -s doc/user_guide.md -o user_guide.html - # [impl->dsn~user-guide-manpage~1] pandoc -s doc/user_guide.md -t man -o oft.1 - # [impl->dsn~user-guide-manpage~1] gzip -9n oft.1 -# [impl->dsn~debian-metadata~1] -# [impl->dsn~app-icon~1] -# [impl->dsn~user-guide-html~1] -# [impl->dsn~user-guide-manpage~1] override_dh_auto_install: # Install the static content (desktop file, icons, wrapper script, metainfo) mkdir -p debian/openfasttrace cp -r debian/static/* debian/openfasttrace/ - # [impl->dsn~debian-metadata~1] # Install the JAR mkdir -p debian/openfasttrace/usr/share/java VERSION=$$(dpkg-parsechangelog -S Version | cut -d- -f1); \ cp product/target/openfasttrace-$$VERSION.jar debian/openfasttrace/usr/share/java/openfasttrace.jar # Generate PNG icons from the square SVG in various sizes and scales - # [impl->dsn~app-icon~1] SVG_SOURCE=debian/static/usr/share/icons/hicolor/scalable/apps/org.itsallcode.openfasttrace.svg; \ for size_spec in 16x16 16x16@2 20x20 22x22 22x22@2 24x24 24x24@2 30x30 32x32 32x32@2 36x36 36x36@2 42x42 48x48 48x48@2 50x50 64x64 64x64@2 72x72 72x72@2 96x96 96x96@2 100x100 128x128 128x128@2 150x150 160x160 192x192 192x192@2 256x256 256x256@2 512x512 512x512@2 1024x1024; do \ size=$${size_spec%@2}; \ @@ -45,9 +32,7 @@ override_dh_auto_install: done # Install user guide (HTML and manpage) - # [impl->dsn~user-guide-html~1] mkdir -p debian/openfasttrace/usr/share/doc/openfasttrace cp user_guide.html debian/openfasttrace/usr/share/doc/openfasttrace/user_guide.html - # [impl->dsn~user-guide-manpage~1] mkdir -p debian/openfasttrace/usr/share/man/man1 cp oft.1.gz debian/openfasttrace/usr/share/man/man1/oft.1.gz diff --git a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml index 26a9fdf..29734ef 100644 --- a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml +++ b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml @@ -1,7 +1,4 @@ - - - org.itsallcode.openfasttrace CC0-1.0 diff --git a/doc/design.md b/doc/design.md index 04b95af..a7925fb 100644 --- a/doc/design.md +++ b/doc/design.md @@ -28,7 +28,7 @@ The "Needs" field in a requirement tells OFT, which artifact types are required ### Build Environment and Tools `dsn~build-tools~1` -The project relies on standard Debian package building tools such as `dpkg-dev`, `debhelper`, `devscripts`, and `imagemagick`. These tools must be installed on a Debian or derived distribution to facilitate the build process. +The project relies on standard Debian package building tools such as `dpkg-dev`, `debhelper`, `devscripts`, `pandoc`, and `imagemagick`. These tools must be installed on a Debian or derived distribution to facilitate the build process. Covers: * [`req~debian-build-environment~1`](system_requirements.md#debian-build-environment) @@ -94,7 +94,7 @@ These files are populated with the constant metadata defined in the requirements Covers: * [`req~package-metadata~1`](system_requirements.md#package-metadata) -Needs: itest +Needs: impl,itest ### Binary Dependencies `dsn~binary-dependencies~1` @@ -126,7 +126,7 @@ PNG icons in various sizes (from 16x16 up to 1024x1024) and scales (including @2 Covers: * [`req~scaled-app-icons~1`](system_requirements.md#scaled-app-icons) -Needs: itest +Needs: impl,itest ### Package AppStream Metadata `dsn~package-appstream-metadata~1` @@ -136,7 +136,7 @@ The AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metain Covers: * [`req~package-appstream-metadata~1`](system_requirements.md#package-appstream-metadata) -Needs: itest +Needs: impl,itest ### Package Icon Declaration `dsn~package-icon-declaration~1` @@ -148,7 +148,7 @@ The package declares its icon using: Covers: * [`req~package-icon-declaration~1`](system_requirements.md#package-icon-declaration) -Needs: itest +Needs: impl,itest ### Package Screenshots `dsn~package-screenshots~1` diff --git a/test-packaging.sh b/test-packaging.sh index 2bcbfb5..0a98658 100755 --- a/test-packaging.sh +++ b/test-packaging.sh @@ -10,6 +10,8 @@ readonly BUILD_DIR="out" # [impl->dsn~integration-testing~1] # [itest->dsn~integration-testing~1] +# [itest->dsn~user-guide-html~1] +# [itest->dsn~user-guide-manpage~1] verify_output_files() { local -r version="$1" local -r expected_files=( @@ -40,6 +42,18 @@ verify_output_files() { return 1 fi echo " [ OK ] Found $deb_file" + + echo "Verifying that user guide was generated and included in the build directory..." + local -r build_subdir="$BUILD_DIR/openfasttrace-$version" + if [[ ! -f "$build_subdir/user_guide.html" ]]; then + echo "Error: user_guide.html not found in build directory." + return 1 + fi + if [[ ! -f "$build_subdir/oft.1.gz" ]]; then + echo "Error: oft.1.gz not found in build directory." + return 1 + fi + echo " [ OK ] User guide files found." } # [impl->dsn~finding-free-shellcheck~1] From 48f1f1e4ecaf5e0c0d19c1923b099d1ce27bba33 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Fri, 3 Apr 2026 16:13:12 +0200 Subject: [PATCH 12/23] Removed tasks file. --- doc/tasks.md | 52 ---------------------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 doc/tasks.md diff --git a/doc/tasks.md b/doc/tasks.md deleted file mode 100644 index 78e1d78..0000000 --- a/doc/tasks.md +++ /dev/null @@ -1,52 +0,0 @@ -# Implementation Tasks for OpenFastTrace Debian Package - -This task list is based on the [OpenFastTrace Debian Package Design](design.md). - -## Phase 1: Environment and Project Initialization -1. - [x] Install necessary build tools: `dpkg-dev`, `debhelper`, and `devscripts` (`dsn~build-tools~1`). -2. - [x] Create the `debian/` directory structure in the project root (`dsn~debian-metadata~1`). -3. - [x] Implement `check-preconditions.sh` to verify the build environment (`dsn~precondition-check~1`, `req~precondition-check~1`). -4. - [x] Configure `.gitignore` to exclude intermediate files and build results. -5. - [x] Implement the dedicated build directory `out/` to store build artifacts (`dsn~build-directory~1`, `req~build-directory~1`). - -## Phase 2: Debian Package Metadata Setup -6. - [x] Create `debian/control` with metadata: organization, maintainer, URLs (Homepage/Source), and descriptions (`dsn~debian-metadata~1`, `req~package-metadata~1`). -7. - [x] Create `debian/copyright` with GPL-3.0 license and upstream authors information (`dsn~debian-metadata~1`, `req~package-metadata~1`). -8. - [x] Create `debian/rules` as a standard build script for `dpkg-buildpackage` (`dsn~debian-metadata~1`). -9. - [x] Initialize the `debian/changelog` file with the required initial metadata (`dsn~debian-metadata~1`). -10. - [x] Update `debian/control` to include the OpenJDK 17 headless dependency (`dsn~binary-dependencies~1`, `req~binary-dependencies~1`). - -## Phase 3: Source Package Automation (`create-source-package.sh`) -11. - [x] Implement command-line version argument parsing (`..`) in the build orchestration scripts (`dsn~version-input~1`). -12. - [x] Implement source code downloading from GitHub as a `.tar.gz` archive for the specified version from `https://github.com/itsallcode/openfasttrace/archive/refs/tags/.tar.gz`; Test with version 4.2.2 (`dsn~source-fetching~1`). -13. - [x] Implement logic to identify relevant Markdown files in `doc/changes` within the fetched source archive (`dsn~changelog-extraction~1`). -14. - [x] Implement the conversion of Markdown content into the Debian changelog format (`dsn~changelog-extraction~1`). -15. - [x] Implement the append-only update mechanism for `debian/changelog` (`dsn~changelog-extraction~1`). -16. - [x] Automate the final assembly and creation of the Debian source package (`dsn~build-orchestration-scripts~1`). - -## Phase 4: Binary Package Automation (`create-binary-package.sh`) -17. - [x] Implement `create-binary-package.sh` to trigger the binary build from the source package (`dsn~build-orchestration-scripts~1`). -18. - [x] Use `dpkg-buildpackage -us -uc -b` to ensure a reproducible binary package build (`dsn~build-reproducibility~1`). -19. - [x] Create the `oft` wrapper script and ensure it is included in the binary package (`dsn~oft-wrapper-script~1`, `req~oft-wrapper-script~1`). -20. - [x] Include the OpenFastTrace logo as application icons in the binary package: generate PNG icons in 34 sizes and scales from the square SVG icon using ImageMagick (`dsn~app-icon~1`, `req~scaled-app-icons~1`). -21. - [x] Declare the package icon as "themed" using AppStream metadata and a desktop file (`dsn~package-icon-declaration~1`, `req~package-icon-declaration~1`). -22. - [x] Declare the application screenshots in the AppStream metadata using stable raw GitHub URLs and ensure they are also downloaded and packed in the package using a static assets directory `debian/static/` to prevent cleanup by `debhelper` during build (`dsn~package-screenshots~1`, `req~package-screenshots~1`). -23. - [x] Provide complete AppStream metadata (type, license, OARS rating, release info) to ensure correct display in software centers like GNOME Software (`dsn~package-appstream-metadata~1`, `req~package-appstream-metadata~1`). -24. - [x] Convert the Markdown user guide to HTML and include it in the binary package (`dsn~user-guide-html~1`, `req~user-guide-html~1`). -25. - [x] Convert the Markdown user guide to a manpage and include it in the binary package (`dsn~user-guide-manpage~1`, `req~user-guide-manpage~1`). - -## Phase 5: Integration Testing Automation -26. - [x] Implement `test-packaging.sh` to automate the full build process and verify the resulting files (`dsn~integration-testing~1`). -27. - [x] Verify that `test-packaging.sh` calls and validates the output of `check-preconditions.sh` (`dsn~precondition-check~1`). -28. - [x] Verify that `test-packaging.sh` correctly tests the integration of `create-source-package.sh` and `create-binary-package.sh` (`dsn~build-orchestration-scripts~1`). -29. - [x] Verify that `test-packaging.sh` checks for all expected Debian artifacts (`dsn~integration-testing~1`). -30. - [x] Verify that `test-packaging.sh` runs `shellcheck` on all shell scripts (`dsn~integration-testing~1`, `dsn~finding-free-shellcheck~1`). -31. - [x] Verify that `test-packaging.sh` validates the AppStream metadata using `appstreamcli` (`dsn~integration-testing~1`). - -## Phase 6: Quality Assurance -32. - [ ] Perform a manual code review to ensure adherence to clean code principles (`dsn~clean-code-principles~1`). - -## Phase 7: Final Verification -33. - [ ] Execute the full packaging workflow for a known OpenFastTrace release version. -34. - [ ] Verify the resulting `.deb` package metadata and file contents. -35. - [ ] Verify that the `debian/changelog` is correctly appended and preserves historical entries. From f23b34329322ee3ccc5534400e850cc0f139224c Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 18:26:23 +0200 Subject: [PATCH 13/23] Removed tasks file. --- .github/workflows/build.yml | 101 ++++ .github/workflows/release.yml | 93 +++ create-source-package.sh | 27 +- debian/changelog | 538 +----------------- debian/copyright | 2 +- debian/oft.1.header | 2 + debian/rules | 4 +- debian/static/usr/bin/oft | 4 +- .../org.itsallcode.openfasttrace.metainfo.xml | 4 +- doc/design.md | 2 +- doc/system_requirements.md | 2 +- test-packaging.sh | 2 +- 12 files changed, 243 insertions(+), 538 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release.yml create mode 100644 debian/oft.1.header diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..5779379 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,101 @@ +name: Build Debian package + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +jobs: + build: + name: Build Debian source and binary packages + runs-on: ubuntu-latest + permissions: + contents: read + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + defaults: + run: + shell: bash + + steps: + - name: Checkout + uses: actions/checkout@v7 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Set up Java + uses: actions/setup-java@v6 + with: + distribution: temurin + java-version: 17 + cache: maven + + - name: Install Debian build dependencies + run: | + sudo apt-get update + sudo apt-get install --yes \ + appstream \ + curl \ + debhelper \ + devscripts \ + dpkg-dev \ + imagemagick \ + maven \ + openjdk-17-jdk \ + pandoc \ + shellcheck \ + wget + + - name: Read package version + run: echo "VERSION=$(dpkg-parsechangelog --show-field Version | sed 's/-[^-]*$//')" >> "$GITHUB_ENV" + + - name: Create source package + run: ./create-source-package.sh "$VERSION" + + - name: Create binary package + run: ./create-binary-package.sh "$VERSION" + + - name: Smoke test installed package + run: | + sudo apt-get install --yes "./out/openfasttrace_${VERSION}-1_all.deb" + help_output="$(oft --help)" + printf '%s\n' "$help_output" | grep --extended-regexp --quiet \ + '^OpenFastTrace [0-9]+\.[0-9]+\.[0-9]+$' + + - name: Generate SHA-256 checksums + run: | + ( + cd out + sha256sum \ + "openfasttrace_${VERSION}.orig.tar.gz" \ + "openfasttrace_${VERSION}-1.debian.tar.xz" \ + "openfasttrace_${VERSION}-1.dsc" \ + "openfasttrace_${VERSION}-1_all.deb" + ) > out/SHA256SUMS + + - name: Upload source package + uses: actions/upload-artifact@v7 + with: + name: openfasttrace-source-package + path: | + out/openfasttrace_*.orig.tar.gz + out/openfasttrace_*.debian.tar.xz + out/openfasttrace_*.dsc + if-no-files-found: error + + - name: Upload binary package + uses: actions/upload-artifact@v7 + with: + name: openfasttrace-binary-package + path: out/openfasttrace_*_all.deb + if-no-files-found: error + + - name: Upload SHA-256 checksums + uses: actions/upload-artifact@v7 + with: + name: openfasttrace-checksums + path: out/SHA256SUMS + if-no-files-found: error diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..75cb143 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,93 @@ +name: Release Debian package + +on: + workflow_dispatch: + inputs: + version: + description: OpenFastTrace version to package and release + required: true + type: string + default: 4.9.0 + +jobs: + release: + name: Create GitHub release + runs-on: ubuntu-latest + permissions: + contents: write + concurrency: + group: ${{ github.workflow }} + cancel-in-progress: false + defaults: + run: + shell: bash + env: + VERSION: ${{ inputs.version }} + + steps: + - name: Checkout + uses: actions/checkout@v7 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Fail if not running on main branch + if: ${{ github.ref != 'refs/heads/main' }} + uses: actions/github-script@v9 + with: + script: | + core.setFailed('Not running on main branch. Start this workflow from main.') + + - name: Set up Java + uses: actions/setup-java@v6 + with: + distribution: temurin + java-version: 17 + cache: maven + + - name: Install Debian build dependencies + run: | + sudo apt-get update + sudo apt-get install --yes \ + appstream \ + curl \ + debhelper \ + devscripts \ + dpkg-dev \ + imagemagick \ + maven \ + openjdk-17-jdk \ + pandoc \ + shellcheck \ + wget + + - name: Create source package + run: ./create-source-package.sh "$VERSION" + + - name: Create binary package + run: ./create-binary-package.sh "$VERSION" + + - name: Generate SHA-256 checksums + run: | + ( + cd out + sha256sum \ + "openfasttrace_${VERSION}.orig.tar.gz" \ + "openfasttrace_${VERSION}-1.debian.tar.xz" \ + "openfasttrace_${VERSION}-1.dsc" \ + "openfasttrace_${VERSION}-1_all.deb" + ) > out/SHA256SUMS + + - name: Create GitHub release + run: | + gh release create "$VERSION" \ + --target main \ + --title "OpenFastTrace Debian package $VERSION" \ + --generate-notes \ + "out/openfasttrace_${VERSION}.orig.tar.gz" \ + "out/openfasttrace_${VERSION}-1.debian.tar.xz" \ + "out/openfasttrace_${VERSION}-1.dsc" \ + "out/openfasttrace_${VERSION}-1_all.deb" \ + out/SHA256SUMS + env: + GH_TOKEN: ${{ github.token }} diff --git a/create-source-package.sh b/create-source-package.sh index 124b832..5bddfd5 100755 --- a/create-source-package.sh +++ b/create-source-package.sh @@ -52,7 +52,7 @@ download_screenshots() { echo "Downloading up-to-date screenshots from upstream main branch..." mkdir -p "$screenshots_dir" - + # Remove old screenshots to ensure only the requested ones are included rm -f "$screenshots_dir"/*.png @@ -77,25 +77,38 @@ extract_markdown_changes() { local -r change_file="$1" local -r temp_file="$2" - # Extract lines starting with * or - and clean them up - # Simple conversion: strip * or - bullets and use the content - grep -E '^\s*[\*\-]\s+' "$change_file" | sed -E 's/^\s*[\*\-]\s+//' > "$temp_file" + # 1. Extract Summary content (from ## Summary until the next ## or end of file) + sed -n '/## Summary/,/##/p' "$change_file" | grep -v '##' | sed -E 's/^[[:space:]]*([*\-][[:space:]]*)?//; s/\*\*//g; s/`//g; /^[[:space:]]*$/d' > "$temp_file" + + # 2. Extract bullets from other sections but skip "Dependency Updates" and "Plugin Updates" + awk '/^## / {section=$0; next} + section !~ /Dependency Updates|Plugin Updates|Summary/ && /^[[:space:]]*[\*\-]/ { + sub(/^[[:space:]]*[\*\-][[:space:]]*/, ""); + print $0 + }' "$change_file" >> "$temp_file" } # [impl->dsn~changelog-extraction~1] apply_changelog_entries() { local -r version="$1" local -r entries_file="$2" + local -r debian_version="$version-1" + + # Check if version already exists in changelog + if dpkg-parsechangelog -S Version | grep -q "^$debian_version$"; then + echo "Version $debian_version already exists in debian/changelog. Skipping." + return + fi if [[ ! -s "$entries_file" ]]; then echo "No changes found, using generic message." - dch --newversion "$version-1" --distribution unstable --force-distribution "New upstream release $version" + dch --newversion "$debian_version" --distribution unstable --force-distribution "New upstream release $version" return fi local -r first_line=$(head -n 1 "$entries_file") - dch --newversion "$version-1" --distribution unstable --force-distribution "$first_line" - + dch --newversion "$debian_version" --distribution unstable --force-distribution "$first_line" + # Add subsequent lines if they exist tail -n +2 "$entries_file" | while read -r line; do if [[ -n "$line" ]]; then diff --git a/debian/changelog b/debian/changelog index f1d0ae2..27db699 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,533 +1,27 @@ -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 03 Apr 2026 15:22:13 +0200 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 03 Apr 2026 15:19:42 +0200 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 03 Apr 2026 14:16:10 +0200 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 03 Apr 2026 14:07:28 +0200 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 20:28:43 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 20:26:34 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 20:24:11 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 20:15:43 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 20:13:50 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 20:12:00 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 20:11:24 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 20:10:54 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 20:06:36 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 19:50:07 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 19:48:04 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 19:47:30 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 19:45:49 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 19:43:42 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 19:40:41 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 19:33:58 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 19:21:15 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium +openfasttrace (4.9.0-1) unstable; urgency=medium - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 19:20:45 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 17:21:52 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 17:20:08 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 17:15:57 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 28 Mar 2026 17:11:43 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Sat, 21 Mar 2026 19:45:13 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 15:02:49 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 15:00:55 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 14:58:55 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 14:44:01 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 14:42:16 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 14:37:26 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 13:54:27 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 13:51:29 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 09:27:38 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Fri, 20 Mar 2026 09:22:11 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Thu, 19 Mar 2026 18:08:48 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Thu, 19 Mar 2026 18:00:00 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Thu, 19 Mar 2026 17:59:27 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Thu, 19 Mar 2026 17:50:12 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files - - -- Sebastian Bär Thu, 19 Mar 2026 17:16:58 +0100 - -openfasttrace (4.2.2-1) unstable; urgency=medium - - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` - * #471: Add tag importer support for SystemVerilog files + * Importers for long coverage tags, Markdown and reStructuredText now + collect the location of coverage IDs in documents and source code. + * The exact location of an item ID is required for IDE plugins in + order to support features like syntax highlighting, find + occurrences, jump to definition and auto-complete. Adding this + feature to OFT helps avoid code duplications and improves + reliability. + * Deprecated ImportEventListener methods: setId, + addCoveredId, and addDependsOnId. + * #570: Collect source code location of specification item IDs - -- Sebastian Bär Thu, 19 Mar 2026 17:07:47 +0100 + -- Sebastian Bär Sat, 05 Sep 2026 17:34:13 +0200 openfasttrace (4.2.2-1) unstable; urgency=medium - * `net.sourceforge.plantuml:plantuml:1.2026.0` → `1.2026.1` - * `nl.jqno.equalsverifier:equalsverifier:4.3` → `4.3.1` - * `org.junit.jupiter:junit-jupiter-api:6.0.1` → `6.1.0-M1` - * `org.junit.jupiter:junit-jupiter-engine:6.0.1` → `6.1.0-M1` - * `org.junit.platform:junit-jupiter-params:6.0.1` → `6.1.0-M1` - * `org.codehaus.mojo:versions-maven-plugin:2.20.1` → `2.21.0` + * In this release we added support for SystemVerilog files. * #471: Add tag importer support for SystemVerilog files - -- Sebastian Bär Thu, 19 Mar 2026 15:44:47 +0100 + -- Sebastian Bär Fri, 03 Apr 2026 16:35:26 +0200 -openfasttrace (0.0.0-1) unstable; urgency=low +openfasttrace (0.0.0-1) unstable; urgency=medium * Initial release. - -- Sebastian Bär Thu, 19 Mar 2026 15:16:00 +0000 + -- Sebastian Bär Fri, 03 Apr 2026 16:27:42 +0200 diff --git a/debian/copyright b/debian/copyright index d1d296d..3247db7 100644 --- a/debian/copyright +++ b/debian/copyright @@ -4,7 +4,7 @@ Upstream-Contact: Christoph Pirkl , Sebastian Bär , Sebastian Bär +Copyright: 2016-2026 itsallcode, Christoph Pirkl , Sebastian Bär License: GPL-3.0 License: GPL-3.0 diff --git a/debian/oft.1.header b/debian/oft.1.header new file mode 100644 index 0000000..896e9a3 --- /dev/null +++ b/debian/oft.1.header @@ -0,0 +1,2 @@ +.SH NAME +oft \- requirement tracing suite diff --git a/debian/rules b/debian/rules index d96ea1d..4e30fd9 100755 --- a/debian/rules +++ b/debian/rules @@ -7,7 +7,7 @@ override_dh_auto_build: mvn clean package -DskipTests # Generate user guide in HTML and manpage formats pandoc -s doc/user_guide.md -o user_guide.html - pandoc -s doc/user_guide.md -t man -o oft.1 + pandoc -s --metadata title="oft" --include-before-body=debian/oft.1.header doc/user_guide.md -t man -o oft.1 gzip -9n oft.1 override_dh_auto_install: @@ -17,7 +17,7 @@ override_dh_auto_install: # Install the JAR mkdir -p debian/openfasttrace/usr/share/java VERSION=$$(dpkg-parsechangelog -S Version | cut -d- -f1); \ - cp product/target/openfasttrace-$$VERSION.jar debian/openfasttrace/usr/share/java/openfasttrace.jar + cp product/target/openfasttrace-$$VERSION.jar debian/openfasttrace/usr/share/java/openfasttrace-$$VERSION.jar # Generate PNG icons from the square SVG in various sizes and scales SVG_SOURCE=debian/static/usr/share/icons/hicolor/scalable/apps/org.itsallcode.openfasttrace.svg; \ diff --git a/debian/static/usr/bin/oft b/debian/static/usr/bin/oft index c569904..496e480 100644 --- a/debian/static/usr/bin/oft +++ b/debian/static/usr/bin/oft @@ -3,7 +3,9 @@ set -e -readonly OFT_JAR="/usr/share/java/openfasttrace.jar" +OFT_VERSION="$(dpkg-query -W -f='${Version}' openfasttrace)" +readonly OFT_VERSION +readonly OFT_JAR="/usr/share/java/openfasttrace-${OFT_VERSION%-*}.jar" # [impl->dsn~oft-wrapper-script~1] run_oft() { diff --git a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml index 29734ef..5469dcd 100644 --- a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml +++ b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml @@ -14,7 +14,7 @@

        org.itsallcode.openfasttrace.desktop - org.itsallcode.openfasttrace + org.itsallcode.openfasttrace OpenFastTrace tracing report @@ -38,7 +38,7 @@ - + oft diff --git a/doc/design.md b/doc/design.md index a7925fb..f3d8c4f 100644 --- a/doc/design.md +++ b/doc/design.md @@ -143,7 +143,7 @@ Needs: impl,itest The package declares its icon using: 1. A standard Desktop Entry file (`/usr/share/applications/org.itsallcode.openfasttrace.desktop`) that specifies `Icon=org.itsallcode.openfasttrace` and `Terminal=true`. -2. AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) that references the desktop file and identifies the application with `org.itsallcode.openfasttrace.desktop` and `org.itsallcode.openfasttrace`. +2. AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) that references the desktop file and identifies the application with `org.itsallcode.openfasttrace.desktop` and `org.itsallcode.openfasttrace`. Covers: * [`req~package-icon-declaration~1`](system_requirements.md#package-icon-declaration) diff --git a/doc/system_requirements.md b/doc/system_requirements.md index 3d511f1..9904411 100644 --- a/doc/system_requirements.md +++ b/doc/system_requirements.md @@ -162,7 +162,7 @@ Needs: dsn ### Package Icon Declaration `req~package-icon-declaration~1` -The binary package declares its icon in a way that software management applications (like GNOME Software or Discover) can display it for the package itself. It uses a standard icon theme directory (e.g., `/usr/share/icons/hicolor/scalable/apps/`) and an AppStream ID that matches the desktop file name. As the application brings its own icons, it declares the icon "themed" in the metadata. +The binary package declares its icon in a way that software management applications (like GNOME Software or Discover) can display it for the package itself. It uses a standard icon theme directory (e.g., `/usr/share/icons/hicolor/scalable/apps/`) and an AppStream ID that matches the desktop file name. As the application brings its own icons, it declares the icon as `stock` in the metadata. Covers: diff --git a/test-packaging.sh b/test-packaging.sh index 0a98658..83ec90b 100755 --- a/test-packaging.sh +++ b/test-packaging.sh @@ -5,7 +5,7 @@ set -e -readonly DEFAULT_VERSION="4.2.2" +readonly DEFAULT_VERSION="4.9.0" readonly BUILD_DIR="out" # [impl->dsn~integration-testing~1] From 71abc33f96b4fe2e6d308e072474363100df3732 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 18:51:49 +0200 Subject: [PATCH 14/23] Use APT Java in Debian build workflow --- .github/workflows/build.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5779379..3dff75e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,13 +26,6 @@ jobs: fetch-depth: 0 persist-credentials: false - - name: Set up Java - uses: actions/setup-java@v6 - with: - distribution: temurin - java-version: 17 - cache: maven - - name: Install Debian build dependencies run: | sudo apt-get update @@ -64,6 +57,12 @@ jobs: help_output="$(oft --help)" printf '%s\n' "$help_output" | grep --extended-regexp --quiet \ '^OpenFastTrace [0-9]+\.[0-9]+\.[0-9]+$' + printf '%s\n' "$help_output" | grep --extended-regexp --quiet \ + '^Usage:$' + printf '%s\n' "$help_output" | grep --extended-regexp --quiet \ + '^ oft command \[option \.\.\.\] \[ \.\.\.\]$' + printf '%s\n' "$help_output" | grep --extended-regexp --quiet \ + '^Commands:$' - name: Generate SHA-256 checksums run: | From 325b67cb9de452645b6f0609d3c9b0d9915df24b Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 19:01:11 +0200 Subject: [PATCH 15/23] #1: Added build essentials. --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3dff75e..af51242 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,6 +31,7 @@ jobs: sudo apt-get update sudo apt-get install --yes \ appstream \ + build-essential \ curl \ debhelper \ devscripts \ From d02e200e6e3465da9cbe2ce6643c4e5052079d0a Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 19:07:02 +0200 Subject: [PATCH 16/23] Configure APT JDK Maven toolchain --- .github/workflows/build.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index af51242..bbe3dac 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,11 +38,30 @@ jobs: dpkg-dev \ imagemagick \ maven \ - openjdk-17-jdk \ + openjdk-17-jdk-headless \ pandoc \ shellcheck \ wget + - name: Configure Maven toolchain + run: | + jdk_home="$(dirname "$(dirname "$(readlink -f "$(command -v javac)")")")" + mkdir --parents "$HOME/.m2" + cat > "$HOME/.m2/toolchains.xml" < + + + jdk + + 17 + + + $jdk_home + + + + EOF + - name: Read package version run: echo "VERSION=$(dpkg-parsechangelog --show-field Version | sed 's/-[^-]*$//')" >> "$GITHUB_ENV" From b05926930d56a93a054cf8c2a1192c1d44be4f2a Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 19:09:03 +0200 Subject: [PATCH 17/23] Use headless JDK build dependency --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 54d2173..d6b5289 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: misc Priority: optional Maintainer: Sebastian Bär # [impl->dsn~build-tools~1] -Build-Depends: debhelper-compat (= 13), openjdk-17-jdk, maven, pandoc, appstream +Build-Depends: debhelper-compat (= 13), openjdk-17-jdk-headless, maven, pandoc, appstream Rules-Requires-Root: no Standards-Version: 4.6.2 Homepage: https://github.com/itsallcode/openfasttrace From 7b734c9b8d9c2aaf0adaba82c10ff6dd98792d94 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 19:12:06 +0200 Subject: [PATCH 18/23] Use runner Maven for package workflows --- .github/workflows/build.yml | 1 - .github/workflows/release.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bbe3dac..661210d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,7 +37,6 @@ jobs: devscripts \ dpkg-dev \ imagemagick \ - maven \ openjdk-17-jdk-headless \ pandoc \ shellcheck \ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 75cb143..ff3d002 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -55,7 +55,6 @@ jobs: devscripts \ dpkg-dev \ imagemagick \ - maven \ openjdk-17-jdk \ pandoc \ shellcheck \ From d4e88938cb6fffecbbd96e6cb866ee9ace16691e Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 19:14:54 +0200 Subject: [PATCH 19/23] Use Maven 3.9 in package workflows --- .github/workflows/build.yml | 6 ++++++ .github/workflows/release.yml | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 661210d..eea5de5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,11 +37,17 @@ jobs: devscripts \ dpkg-dev \ imagemagick \ + maven \ openjdk-17-jdk-headless \ pandoc \ shellcheck \ wget + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.9.9 + - name: Configure Maven toolchain run: | jdk_home="$(dirname "$(dirname "$(readlink -f "$(command -v javac)")")")" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ff3d002..ca9e6a2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -55,11 +55,17 @@ jobs: devscripts \ dpkg-dev \ imagemagick \ + maven \ openjdk-17-jdk \ pandoc \ shellcheck \ wget + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.9.9 + - name: Create source package run: ./create-source-package.sh "$VERSION" From 077120b31633e2757d610c1ee09c81d1543eb621 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 19:19:35 +0200 Subject: [PATCH 20/23] Build packages on Ubuntu 26.04 --- .github/workflows/build.yml | 7 +------ .github/workflows/release.yml | 7 +------ 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eea5de5..3cc1fcb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ on: jobs: build: name: Build Debian source and binary packages - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: contents: read concurrency: @@ -43,11 +43,6 @@ jobs: shellcheck \ wget - - name: Set up Maven - uses: stCarolas/setup-maven@v5 - with: - maven-version: 3.9.9 - - name: Configure Maven toolchain run: | jdk_home="$(dirname "$(dirname "$(readlink -f "$(command -v javac)")")")" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ca9e6a2..6ab29d3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,7 +12,7 @@ on: jobs: release: name: Create GitHub release - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: contents: write concurrency: @@ -61,11 +61,6 @@ jobs: shellcheck \ wget - - name: Set up Maven - uses: stCarolas/setup-maven@v5 - with: - maven-version: 3.9.9 - - name: Create source package run: ./create-source-package.sh "$VERSION" From 6439bc8fa8df5fc98bb808f025609e805cf3c9a0 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 19:35:52 +0200 Subject: [PATCH 21/23] #1: Fixed missing metadata. --- debian/rules | 4 ++++ .../org.itsallcode.openfasttrace.metainfo.xml | 11 ++++++++++- test-packaging.sh | 11 +++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/debian/rules b/debian/rules index 4e30fd9..2a07e64 100755 --- a/debian/rules +++ b/debian/rules @@ -36,3 +36,7 @@ override_dh_auto_install: cp user_guide.html debian/openfasttrace/usr/share/doc/openfasttrace/user_guide.html mkdir -p debian/openfasttrace/usr/share/man/man1 cp oft.1.gz debian/openfasttrace/usr/share/man/man1/oft.1.gz + +# GNOME Software reads this field from the binary package control archive. +override_dh_gencontrol: + dh_gencontrol -- -DLicense=GPL-3.0-or-later diff --git a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml index 5469dcd..1ca98a6 100644 --- a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml +++ b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml @@ -38,7 +38,16 @@ - + + +
          +
        • Importers for long coverage tags, Markdown, and reStructuredText now collect the location of coverage IDs in documents and source code.
        • +
        • Item ID locations enable IDE features including syntax highlighting, finding occurrences, jumping to definitions, and auto-completion.
        • +
        • Deprecated the ImportEventListener methods setId, addCoveredId, and addDependsOnId.
        • +
        • Collect source-code locations for specification item IDs.
        • +
        +
        +
        oft diff --git a/test-packaging.sh b/test-packaging.sh index 83ec90b..bf24065 100755 --- a/test-packaging.sh +++ b/test-packaging.sh @@ -43,6 +43,12 @@ verify_output_files() { fi echo " [ OK ] Found $deb_file" + if [[ "$(dpkg-deb -f "$deb_file" License)" != "GPL-3.0-or-later" ]]; then + echo "Error: Package license metadata is missing or incorrect." + return 1 + fi + echo " [ OK ] Package license metadata is present." + echo "Verifying that user guide was generated and included in the build directory..." local -r build_subdir="$BUILD_DIR/openfasttrace-$version" if [[ ! -f "$build_subdir/user_guide.html" ]]; then @@ -92,6 +98,11 @@ validate_appstream() { if ! appstreamcli validate --no-net --explain "$metainfo_path"; then echo "Warning: AppStream validation reported issues, but continuing..." fi + if ! awk "//" "$metainfo_path" | + grep --quiet ''; then + echo "Error: AppStream release metadata has no changelog description." + return 1 + fi echo " [ OK ] AppStream metadata is valid." } From 2b0f1f15a3d5585d8b8dffc34e11908e90e5bb48 Mon Sep 17 00:00:00 2001 From: redcatbaer Date: Sat, 5 Sep 2026 20:03:54 +0200 Subject: [PATCH 22/23] #1: Desktop entry and icon. --- .../org.itsallcode.openfasttrace.desktop | 6 +++--- .../org.itsallcode.openfasttrace.metainfo.xml | 1 + doc/design.md | 2 +- test-packaging.sh | 14 ++++++++++++++ 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop b/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop index d64860c..f6d72d6 100644 --- a/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop +++ b/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop @@ -2,9 +2,9 @@ [Desktop Entry] Type=Application Name=OpenFastTrace -Comment=Requirement tracing suite for agile projects -Exec=oft -Icon=org.itsallcode.openfasttrace +Comment=Command-line requirement tracing suite for agile projects +Exec=oft --help +Icon=/usr/share/icons/hicolor/512x512/apps/org.itsallcode.openfasttrace.png Terminal=true Categories=Development; Keywords=tracing;requirements;agile; diff --git a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml index 1ca98a6..0d2f3a6 100644 --- a/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml +++ b/debian/static/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml @@ -1,6 +1,7 @@ org.itsallcode.openfasttrace + openfasttrace CC0-1.0 GPL-3.0-or-later OpenFastTrace diff --git a/doc/design.md b/doc/design.md index f3d8c4f..963a8f8 100644 --- a/doc/design.md +++ b/doc/design.md @@ -142,7 +142,7 @@ Needs: impl,itest `dsn~package-icon-declaration~1` The package declares its icon using: -1. A standard Desktop Entry file (`/usr/share/applications/org.itsallcode.openfasttrace.desktop`) that specifies `Icon=org.itsallcode.openfasttrace` and `Terminal=true`. +1. A standard Desktop Entry file (`/usr/share/applications/org.itsallcode.openfasttrace.desktop`) that specifies the generated 512×512 PNG icon, `Terminal=true`, and runs `oft --help` so the launcher displays the command-line reference. Using the PNG avoids SVG-gradient rendering differences in desktop shells. 2. AppStream metadata (`/usr/share/metainfo/org.itsallcode.openfasttrace.metainfo.xml`) that references the desktop file and identifies the application with `org.itsallcode.openfasttrace.desktop` and `org.itsallcode.openfasttrace`. Covers: diff --git a/test-packaging.sh b/test-packaging.sh index bf24065..6d06986 100755 --- a/test-packaging.sh +++ b/test-packaging.sh @@ -103,6 +103,20 @@ validate_appstream() { echo "Error: AppStream release metadata has no changelog description." return 1 fi + if ! grep --quiet 'openfasttrace' "$metainfo_path"; then + echo "Error: AppStream metadata does not identify the Debian package." + return 1 + fi + if ! grep --quiet '^Exec=oft --help$' \ + "$build_subdir/debian/openfasttrace/usr/share/applications/org.itsallcode.openfasttrace.desktop"; then + echo "Error: Desktop launcher does not display the OFT help text." + return 1 + fi + if ! grep --quiet '^Icon=/usr/share/icons/hicolor/512x512/apps/org.itsallcode.openfasttrace.png$' \ + "$build_subdir/debian/openfasttrace/usr/share/applications/org.itsallcode.openfasttrace.desktop"; then + echo "Error: Desktop launcher does not use the generated PNG icon." + return 1 + fi echo " [ OK ] AppStream metadata is valid." } From 281df4103a35ed2e7e5e0b0605a2d8ec3dc1484e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20B=C3=A4r?= Date: Sat, 5 Sep 2026 20:22:01 +0200 Subject: [PATCH 23/23] Apply batched suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sebastian Bär --- .github/workflows/release.yml | 9 +-------- .../applications/org.itsallcode.openfasttrace.desktop | 2 +- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6ab29d3..b9745d5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -38,13 +38,6 @@ jobs: script: | core.setFailed('Not running on main branch. Start this workflow from main.') - - name: Set up Java - uses: actions/setup-java@v6 - with: - distribution: temurin - java-version: 17 - cache: maven - - name: Install Debian build dependencies run: | sudo apt-get update @@ -56,7 +49,7 @@ jobs: dpkg-dev \ imagemagick \ maven \ - openjdk-17-jdk \ + openjdk-17-jdk-headless \ pandoc \ shellcheck \ wget diff --git a/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop b/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop index f6d72d6..64cd276 100644 --- a/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop +++ b/debian/static/usr/share/applications/org.itsallcode.openfasttrace.desktop @@ -2,7 +2,7 @@ [Desktop Entry] Type=Application Name=OpenFastTrace -Comment=Command-line requirement tracing suite for agile projects +Comment=Command-line interface for the OFT requirement tracing suite Exec=oft --help Icon=/usr/share/icons/hicolor/512x512/apps/org.itsallcode.openfasttrace.png Terminal=true