From 36f1884969f7f7d5a73f4c35fe77a8544096cade Mon Sep 17 00:00:00 2001 From: Alexander Wilms Date: Thu, 14 Oct 2021 12:35:11 +0200 Subject: [PATCH] add script for updating the .metainfo.xml file from CHANGELOG.txt --- changelog2metainfo.sh | 27 +++++++++++++++++++++++++++ release_CALLTHISONE.sh | 1 + 2 files changed, 28 insertions(+) create mode 100755 changelog2metainfo.sh diff --git a/changelog2metainfo.sh b/changelog2metainfo.sh new file mode 100755 index 0000000..3c7e73e --- /dev/null +++ b/changelog2metainfo.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +. .github/scripts/get-version.sh > /dev/null +RELEASE_OPENING_TAG="" +DESCRIPTION_OPENING_TAG="" +LIST_OPENING_TAG="
    " +CHANGELOG=$(sed '/^[[:space:]]*$/d' utilities/manual/CHANGELOG.txt | tail -n +2 | awk 'NR==2,/TeXstudio/' | head -n -1 | sed -e 's|-|
  • |g' | sed -e 's|$|
  • |g' | sed -e 's|
  • \s\{1,\}|
  • |g' ) +CHANGELOG="${CHANGELOG// +/\\n}" +LIST_CLOSING_TAG="
" +DESCRIPTION_CLOSING_TAG="
" +RELEASE_CLOSING_TAG="
" + +sed -i '/releases/,/releases/{//!d}' utilities/texstudio.metainfo.xml + +if [ "$CHANGELOG" != "
  • " ]; then + RELEASE_TAG=$RELEASE_OPENING_TAG$DESCRIPTION_OPENING_TAG$LIST_OPENING_TAG$CHANGELOG$LIST_CLOSING_TAG$DESCRIPTION_CLOSING_TAG$RELEASE_CLOSING_TAG +else + RELEASE_TAG=$RELEASE_OPENING_TAG$RELEASE_CLOSING_TAG +fi + +sed -e "s||$RELEASE_TAG|g" -i utilities/texstudio.metainfo.xml +echo $RELEASE_TAG +cp utilities/texstudio.metainfo.xml utilities/texstudio.metainfo.xml.bak +xmllint --format utilities/texstudio.metainfo.xml.bak > utilities/texstudio.metainfo.xml && \ +rm utilities/texstudio.metainfo.xml.bak +appstream-util validate-relax utilities/texstudio.metainfo.xml diff --git a/release_CALLTHISONE.sh b/release_CALLTHISONE.sh index 867f2ee..0b3e9e9 100755 --- a/release_CALLTHISONE.sh +++ b/release_CALLTHISONE.sh @@ -4,6 +4,7 @@ if [[ -e /home/benito ]]; then eval `keychain -q --eval --agents ssh id_rsa `; f OWNDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source $OWNDIR/checkversion.sh +source $OWNDIR/changelog2metainfo.sh # $OWNDIR/createsrctar1.sh # $OWNDIR/createpkg.sh --release # $OWNDIR/create_releasenotes3.sh should probably be pushed to github somewhere (or into index.html)