Commit c8dc484fdfbefc6d9502901f3d323852fde5c06e

Authored by Jay Berkenbilt
1 parent 894fc8ef

Tweak release instructions, support signed AppImage

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