diff --git a/debian/changelog b/debian/changelog.tpl similarity index 96% rename from debian/changelog rename to debian/changelog.tpl index d44caadef..6a1b89738 100644 --- a/debian/changelog +++ b/debian/changelog.tpl @@ -1,3 +1,16 @@ +fastfetch (2.54.1~#UBUNTU_CODENAME#) #UBUNTU_CODENAME#; urgency=medium + + * Fix building on plucky + + -- Carter Li Mon, 20 Oct 2025 14:27:02 +0800 + +fastfetch (2.54.0~#UBUNTU_CODENAME#) #UBUNTU_CODENAME#; urgency=medium + + * Update to 2.54.0 + * Test independent changelog entries for different Ubuntu releases + + -- Carter Li Mon, 20 Oct 2025 10:47:02 +0800 + fastfetch (2.53.0) jammy; urgency=medium * Update to 2.53.0 @@ -435,4 +448,3 @@ fastfetch (2.7.1) jammy; urgency=medium * Initial release. -- Carter Li Tue, 06 Feb 2024 15:01:11 +0800 - diff --git a/debian/control b/debian/control index 652c2336d..ed371f48a 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: fastfetch Section: universe/utils Priority: optional Maintainer: Carter Li -Build-Depends: libelf-dev, libvulkan-dev, libwayland-dev, libxrandr-dev, libxcb-randr0-dev, libdconf-dev, libdbus-1-dev, libmagickcore-dev, libsqlite3-dev, librpm-dev, libegl-dev, libglx-dev, ocl-icd-opencl-dev, libpulse-dev, libdrm-dev, libddcutil-dev, libchafa-dev, directx-headers-dev, pkgconf, cmake (>= 3.12), debhelper (>= 11.2), dh-cmake, dh-cmake-compat (= 1), dh-sequence-cmake, dh-sequence-ctest, ninja-build +Build-Depends: libelf-dev, libvulkan-dev, libwayland-dev, libxrandr-dev, libxcb-randr0-dev, libdconf-dev, libdbus-1-dev, libmagickcore-dev, libsqlite3-dev, librpm-dev, libegl-dev, libglx-dev, ocl-icd-opencl-dev, libpulse-dev, libdrm-dev, libddcutil-dev, libchafa-dev, directx-headers-dev, pkgconf, cmake (>= 3.12), debhelper (>= 11.2), dh-cmake, dh-cmake-compat (= 1), dh-sequence-cmake, dh-sequence-ctest, ninja-build, python3-setuptools Standards-Version: 4.0.0 Homepage: https://github.com/fastfetch-cli/fastfetch diff --git a/debian/files b/debian/files deleted file mode 100644 index ee72e43dd..000000000 --- a/debian/files +++ /dev/null @@ -1 +0,0 @@ -fastfetch_2.53.0_source.buildinfo universe/utils optional diff --git a/debian/publish.sh b/debian/publish.sh index a675a46ce..af3a1fc0d 100755 --- a/debian/publish.sh +++ b/debian/publish.sh @@ -1,4 +1,76 @@ #!/usr/bin/env bash +# WARNING: DO NOT RUN THIS SCRIPT UNLESS YOU KNOW WHAT YOU ARE DOING. -debuild -S -i -I -dput ppa:zhangsongcui3371/fastfetch ~/fastfetch_*.changes +set -euo pipefail + +command -v debuild >/dev/null 2>&1 || { echo "debuild not found. Install devscripts." >&2; exit 1; } +command -v dput >/dev/null 2>&1 || { echo "dput not found." >&2; exit 1; } + +SCRIPT_DIR="$(cd -- "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" +ROOT_DIR="$(cd -- "$SCRIPT_DIR/.." >/dev/null 2>&1 && pwd)" +OUT_DIR="$(dirname "$ROOT_DIR")" +PPA="ppa:zhangsongcui3371/fastfetch" +CODENAMES=( jammy noble plucky questing resolute ) +DRY_RUN=0 + +if [[ -d "$OUT_DIR/build" ]]; then + echo "Output directory exists: $OUT_DIR/build" >&2 + echo "Please move or delete it before proceeding." >&2 + exit 1 +fi + +TEMPLATE="$ROOT_DIR/debian/changelog.tpl" +CHANGELOG_DEBIAN="$ROOT_DIR/debian/changelog" + +if [[ ! -f "$TEMPLATE" ]]; then + echo "Template not found: $TEMPLATE" >&2 + exit 1 +fi + +if ! grep -q '#UBUNTU_CODENAME#' "$TEMPLATE"; then + echo "Template missing placeholder: #UBUNTU_CODENAME#" >&2 + exit 1 +fi + +echo "IMPORTANT: Before proceeding, please ensure that 'debian/changelog.tpl' is up-to-date" +echo " with the correct version number, release notes, and maintainer information." +echo +echo " The template must contain a placeholder like '#UBUNTU_CODENAME#' for the codename." +echo +read -p "Have you reviewed and updated 'debian/changelog.tpl'? (y/N): " -r +echo +if [[ ! $REPLY =~ ^[Yy]$ ]]; then + exit 1 +fi + +cleanup() { + rm -f "$CHANGELOG_DEBIAN" + rm -f "$ROOT_DIR/debian/files" +} +trap cleanup EXIT + +shopt -s nullglob + +for codename in "${CODENAMES[@]}"; do + echo "==> Publishing distro: $codename" + sed "s/#UBUNTU_CODENAME#/${codename}/g" "$TEMPLATE" > "$CHANGELOG_DEBIAN" + + ( cd "$ROOT_DIR" && debuild -S -i -I ) + + changes=( "$OUT_DIR"/fastfetch_*~${codename}_source.changes ) + if [[ ${#changes[@]} -ne 1 ]]; then + echo "Unable to uniquely identify .changes for '$codename' in: $OUT_DIR" >&2 + printf 'Found:\n'; printf ' %s\n' "${changes[@]}" >&2 || true + exit 1 + fi + + if [[ $DRY_RUN -eq 1 ]]; then + echo "[DRY-RUN] dput \"$PPA\" \"${changes[0]}\"" + else + dput "$PPA" "${changes[0]}" + fi + + rm -f "$OUT_DIR"/fastfetch_*~${codename}_source.{changes,dsc,tar.*} + + echo "<== Done: $codename" +done