Commit c8dc484fdfbefc6d9502901f3d323852fde5c06e

Authored by Jay Berkenbilt
1 parent 894fc8ef

Tweak release instructions, support signed AppImage

README-maintainer.md
... ... @@ -27,6 +27,7 @@
27 27 * libqpdf/QPDF.cc
28 28 * manual/qpdf-manual.xml
29 29 `make_dist` verifies this consistency.
  30 +* 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-<version>-x86_64.AppImage and include it in the set of files to be released.
30 31 * 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.
31 32 * Check `TODO` file to make sure all planned items for the release are done or retargeted.
32 33 * 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 @@
58 59 git tag -s release-qpdf-$version HEAD -m"qpdf $version"
59 60 ```
60 61 * 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.
  62 +* Prepare and archive all release files. Files should be the source package, Windows binaries, AppImage, checksum files, and signature files.
  63 +* Create a github release after pushing the tag. `gcurl` is an alias that includes the auth token.
  64 + ```
  65 + 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')
  66 + ```
  67 +* 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.
61 68  
62 69 # General Build Stuff
63 70  
... ...
README-what-to-download.md
1 1 To build from source for Linux or other UNIX/UNIX-like systems, it is generally sufficient to download just the source `qpdf-<version>.tar.gz` file.
2 2  
  3 +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-<version>-x86_64.AppImage`.
  4 +
3 5 For Windows, there are several additional files that you might want to download.
4 6  
5 7 * `qpdf-<version>-bin-mingw32.zip`
... ...
appimage/build-appimage
1 1 #!/bin/sh
2 2 set -ex
  3 +sign=
  4 +if [ "$1" = "--sign" ]; then
  5 + sign=--sign
  6 +fi
3 7 here="$(dirname $(readlink -f "$0"))"
4 8 top=$(dirname $here)
5 9 cd $top
... ... @@ -30,7 +34,7 @@ unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
30 34 # Generate AppImage
31 35 ./linuxdeployqt*.AppImage --appimage-extract
32 36 rm appdir/AppRun ; cp $top/appimage/AppRun appdir; chmod a+x appdir/AppRun # Replace symlink with custom script
33   -PATH=./squashfs-root/usr/bin:$PATH ./squashfs-root/usr/bin/appimagetool appdir
  37 +PATH=./squashfs-root/usr/bin:$PATH ./squashfs-root/usr/bin/appimagetool $sign appdir
34 38 echo ""
35 39 echo "*** AppImage is ready in appimage/build ***"
36 40 echo ""
... ...
appimage/qpdf.desktop
... ... @@ -2,6 +2,6 @@
2 2 Type=Application
3 3 Terminal=true
4 4 Exec=qpdf
5   -Name=QPDF
  5 +Name=qpdf
6 6 Comment=Structural, content-preserving transformations on PDF files
7 7 Icon=qpdf
... ...
ispell-words
... ... @@ -56,11 +56,13 @@ allowPrintLowRes
56 56 antivirus
57 57 aobjid
58 58 apexcovantage
59   -API
  59 +api
60 60 APIs
61 61 appendable
62 62 appendItem
63 63 appendString
  64 +AppImage
  65 +appimage
64 66 arandom
65 67 arg
66 68 argc
... ... @@ -95,6 +97,7 @@ assertType
95 97 assignCompressedObjectNumbers
96 98 atof
97 99 atoi
  100 +auth
98 101 AuthEvent
99 102 autobuilder
100 103 autoconf
... ... @@ -198,6 +201,7 @@ CHPageOffsetEntry
198 201 CHSharedObject
199 202 CHSharedObjectEntry
200 203 CHSomething
  204 +ci
201 205 cin
202 206 cinfo
203 207 ciphertext
... ... @@ -482,6 +486,7 @@ Gagic
482 486 GajiÄ
483 487 Gajic
484 488 gcc
  489 +gcurl
485 490 gen
486 491 generateHintStream
487 492 generateID
... ... @@ -606,6 +611,7 @@ gm
606 611 gmail
607 612 GNUC
608 613 gnuwin
  614 +gpg
609 615 grayscale
610 616 grep
611 617 gsdnld
... ... @@ -754,6 +760,7 @@ JMSG
754 760 jpeg
755 761 jpeglib
756 762 JPOOL
  763 +jq
757 764 JSAMPARRAY
758 765 JSAMPLE
759 766 JSAMPROW
... ... @@ -864,6 +871,7 @@ msg
864 871 msvc
865 872 MSVC's
866 873 msys
  874 +MT
867 875 multibyte
868 876 multiline
869 877 multipage
... ... @@ -1171,6 +1179,7 @@ replaceObject
1171 1179 replaceOrRemoveKey
1172 1180 replaceReserved
1173 1181 replaceStreamData
  1182 +repos
1174 1183 reserveObjects
1175 1184 resetBits
1176 1185 resolveLiteral
... ... @@ -1345,6 +1354,7 @@ Subtype
1345 1354 sudo
1346 1355 supp
1347 1356 suppressions
  1357 +svg
1348 1358 swapObjects
1349 1359 swversion
1350 1360 Symlink
... ... @@ -1384,6 +1394,7 @@ Toolchains
1384 1394 toupper
1385 1395 toUTF
1386 1396 tp
  1397 +travis
1387 1398 TrimBox
1388 1399 trimTrailerForWrite
1389 1400 tt
... ... @@ -1526,6 +1537,7 @@ xor
1526 1537 XP
1527 1538 xpacket
1528 1539 xpdf
  1540 +XPOST
1529 1541 XRef
1530 1542 xref
1531 1543 xrefEntry
... ...