diff --git a/README-maintainer b/README-maintainer index 5a22d93f..ed4c7bc6 100644 --- a/README-maintainer +++ b/README-maintainer @@ -126,17 +126,21 @@ gpg --detach-sign --armor qpdf-$version.tar.gz For iterating on the release during testing, pass `--no-tests` to make_dist to skip the test suite. -* Generate a signed AppImage using the docker image in appimage. - Arguments to the docker container are arguments to git clone. The - build should be made off the exact commit that will be officially - tagged as the release but built prior to tagging the release. +* Generate an AppImage using the docker image in appimage. Arguments + to the docker container are arguments to git clone. The build should + be made off the exact commit that will be officially tagged as the + release but built prior to tagging the release. We used to create + signed AppImages, but this is problematic for various reasons (older + gpg on the build image, problems embedding the key in the AppImage + because of ELF issues), and we are signing the AppImages externally, + so it doesn't really matter. + Example: cd appimage docker build -t qpdfbuild . \rm -rf /tmp/build mkdir -p /tmp/build -cp -rLp ~/.gnupg/. /tmp/build/.gnupg docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://github.com/jberkenbilt/qpdf -b work The AppImage in /tmp/build/qpdf/appimage/build should be called @@ -152,9 +156,10 @@ docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://gith shield, and go to "View Features". Disable all features. Disable antivirus until next restart. * In each window simultaneously, run ./make_windows_releases - * NOTE: For now, test failure is not fatal for 32-bit Windows - builds because of unknown fragility in the test environment. - Check test logs carefully. Tests must pass on 64-bit. + * NOTE: For now, test failures are not fatal because of unknown + fragility in the Windows test environment. If any tests fail, + test logs are copied to qtest-*. Check test logs carefully + before accepting the releases. * Copy the four resulting zip files into the release archive area * Re-enable anti-virus software diff --git a/appimage/entrypoint b/appimage/entrypoint index 39c2ab61..b1ee7eb0 100755 --- a/appimage/entrypoint +++ b/appimage/entrypoint @@ -4,8 +4,8 @@ if [ "$SKIP_TESTS" = "1" ]; then touch /tmp/skip-tests fi if [ $(id -u) = 0 ]; then - if [ ! -d /tmp/build/.gnupg ]; then - echo "/tmp/build must exist and must contain .gnupg" + if [ ! -d /tmp/build ]; then + echo "/tmp/build must exist" exit 2 fi id=$(stat -c %u /tmp/build) @@ -25,4 +25,4 @@ cd qpdf if [ -f /tmp/skip-tests ]; then export SKIP_TESTS=1 fi -./appimage/build-appimage --sign +./appimage/build-appimage diff --git a/make_windows_releases b/make_windows_releases index d8fbbcd8..51908165 100755 --- a/make_windows_releases +++ b/make_windows_releases @@ -31,19 +31,16 @@ set -x cwd=`pwd` PATH=$cwd/libqpdf/build:$PATH -rm -rf install-mingw$wordsize install-msvc$wordsize - -./config-msvc -make -j8 -make -k check || test $wordsize = 32 -make install -make distclean - -./config-mingw -make -j8 -make -k check || test $wordsize = 32 -make install -make distclean +for i in msvc mingw; do + rm -rf {install,qtest}-$i$wordsize + ./config-$i + make -j8 + make -k check || \ + { mkdir qtest-$i$wordsize; \ + tar cf - */build/qtest.log | (cd qtest-$i$wordsize; tar xf -) } + make install + make distclean +done touch win.$wordsize