From c8dc484fdfbefc6d9502901f3d323852fde5c06e Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 18 Feb 2018 19:57:12 -0500 Subject: Tweak release instructions, support signed AppImage --- README-maintainer.md | 7 +++++++ README-what-to-download.md | 2 ++ appimage/build-appimage | 6 +++++- appimage/qpdf.desktop | 2 +- ispell-words | 14 +++++++++++++- 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/README-maintainer.md b/README-maintainer.md index 7b2bf99b..3d57cf8f 100644 --- a/README-maintainer.md +++ b/README-maintainer.md @@ -27,6 +27,7 @@ * libqpdf/QPDF.cc * manual/qpdf-manual.xml `make_dist` verifies this consistency. +* Generate a signed AppImage. To do this, have the gpg key available and run `./appimage/build-appimage --sign`. Rename the AppImage in appimage/build to qpdf--x86_64.AppImage and include it in the set of files to be released. * Update release date in `manual/qpdf-manual.xml`. Remember to ensure that the entities at the top of the document are consistent with the release notes for both version and release date. * Check `TODO` file to make sure all planned items for the release are done or retargeted. * Each year, update copyright notices. Just do a case-insensitive search for copyright. Don't forget copyright in manual. Also update debian copyright in debian package. Last updated: 2018. @@ -58,6 +59,12 @@ git tag -s release-qpdf-$version HEAD -m"qpdf $version" ``` * When releasing on sourceforge, `external-libs` distributions go in `external-libs/yyyymmdd`, and qpdf distributions go in `qpdf/vvv`. Make the source package the default for all but Windows, and make the 32-bit mingw build the default for Windows. +* Prepare and archive all release files. Files should be the source package, Windows binaries, AppImage, checksum files, and signature files. +* Create a github release after pushing the tag. `gcurl` is an alias that includes the auth token. + ``` + url=$(gcurl -s -XPOST https://api.github.com/repos/qpdf/qpdf/releases -d'{"tag_name": "release-qpdf-$version", "name": "qpdf $version", "draft": true, "body": "test *body* text"}' | jq -r '.url') + ``` +* Upload files to sourceforge and github. Publish the github release. Release notes can be added to the github release manually. Publish a news item manually on sourceforge. Email the qpdf-announce list. # General Build Stuff diff --git a/README-what-to-download.md b/README-what-to-download.md index 8b0fd37f..d2fce074 100644 --- a/README-what-to-download.md +++ b/README-what-to-download.md @@ -1,5 +1,7 @@ To build from source for Linux or other UNIX/UNIX-like systems, it is generally sufficient to download just the source `qpdf-.tar.gz` file. +Virtually all Linux distributions include packages for qpdf. If you'd like to run the latest version of qpdf on an AppImage, you can download `qpdf--x86_64.AppImage`. + For Windows, there are several additional files that you might want to download. * `qpdf--bin-mingw32.zip` diff --git a/appimage/build-appimage b/appimage/build-appimage index a00761be..58fc9d0e 100755 --- a/appimage/build-appimage +++ b/appimage/build-appimage @@ -1,5 +1,9 @@ #!/bin/sh set -ex +sign= +if [ "$1" = "--sign" ]; then + sign=--sign +fi here="$(dirname $(readlink -f "$0"))" top=$(dirname $here) cd $top @@ -30,7 +34,7 @@ unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH # Generate AppImage ./linuxdeployqt*.AppImage --appimage-extract rm appdir/AppRun ; cp $top/appimage/AppRun appdir; chmod a+x appdir/AppRun # Replace symlink with custom script -PATH=./squashfs-root/usr/bin:$PATH ./squashfs-root/usr/bin/appimagetool appdir +PATH=./squashfs-root/usr/bin:$PATH ./squashfs-root/usr/bin/appimagetool $sign appdir echo "" echo "*** AppImage is ready in appimage/build ***" echo "" diff --git a/appimage/qpdf.desktop b/appimage/qpdf.desktop index b030a6db..466663ab 100644 --- a/appimage/qpdf.desktop +++ b/appimage/qpdf.desktop @@ -2,6 +2,6 @@ Type=Application Terminal=true Exec=qpdf -Name=QPDF +Name=qpdf Comment=Structural, content-preserving transformations on PDF files Icon=qpdf diff --git a/ispell-words b/ispell-words index b64284b0..82461656 100644 --- a/ispell-words +++ b/ispell-words @@ -56,11 +56,13 @@ allowPrintLowRes antivirus aobjid apexcovantage -API +api APIs appendable appendItem appendString +AppImage +appimage arandom arg argc @@ -95,6 +97,7 @@ assertType assignCompressedObjectNumbers atof atoi +auth AuthEvent autobuilder autoconf @@ -198,6 +201,7 @@ CHPageOffsetEntry CHSharedObject CHSharedObjectEntry CHSomething +ci cin cinfo ciphertext @@ -482,6 +486,7 @@ Gagic GajiÄ Gajic gcc +gcurl gen generateHintStream generateID @@ -606,6 +611,7 @@ gm gmail GNUC gnuwin +gpg grayscale grep gsdnld @@ -754,6 +760,7 @@ JMSG jpeg jpeglib JPOOL +jq JSAMPARRAY JSAMPLE JSAMPROW @@ -864,6 +871,7 @@ msg msvc MSVC's msys +MT multibyte multiline multipage @@ -1171,6 +1179,7 @@ replaceObject replaceOrRemoveKey replaceReserved replaceStreamData +repos reserveObjects resetBits resolveLiteral @@ -1345,6 +1354,7 @@ Subtype sudo supp suppressions +svg swapObjects swversion Symlink @@ -1384,6 +1394,7 @@ Toolchains toupper toUTF tp +travis TrimBox trimTrailerForWrite tt @@ -1526,6 +1537,7 @@ xor XP xpacket xpdf +XPOST XRef xref xrefEntry -- cgit v1.2.3-70-g09d2