2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-22 10:58:58 +00:00

Tweak formatting in README-maintainer.md

This commit is contained in:
Jay Berkenbilt 2023-09-03 14:23:42 -04:00
parent dc863a10b2
commit 9893beea81

View File

@ -334,7 +334,9 @@ When done, the following should happen:
* Each year, update copyright notices. This will find all relevant * Each year, update copyright notices. This will find all relevant
places (assuming current copyright is from last year): places (assuming current copyright is from last year):
```
git --no-pager grep -i -n -P "copyright.*$(expr $(date +%Y) - 1).*berkenbilt" git --no-pager grep -i -n -P "copyright.*$(expr $(date +%Y) - 1).*berkenbilt"
```
Also update the copyright in these places: Also update the copyright in these places:
* debian package -- search for copyright.*berkenbilt in debian/copyright * debian package -- search for copyright.*berkenbilt in debian/copyright
@ -350,7 +352,7 @@ When done, the following should happen:
* Check for open fuzz crashes at https://oss-fuzz.com * Check for open fuzz crashes at https://oss-fuzz.com
* Check all open issues and pull requests in github and the * Check all open issues and pull requests in github and the
sourceforge trackers. See ~/scripts/github-issues. Don't forget pull sourceforge trackers. Don't forget pull
requests. Note: If the location for reporting issues changes, do a requests. Note: If the location for reporting issues changes, do a
careful check of documentation and code to make sure any comments careful check of documentation and code to make sure any comments
that include the issue creation URL are updated. that include the issue creation URL are updated.
@ -362,12 +364,16 @@ When done, the following should happen:
* Make sure the code is formatted. * Make sure the code is formatted.
```
./format-code ./format-code
```
* Run a spelling checker over the source code to catch errors in * Run a spelling checker over the source code to catch errors in
variable names, strings, and comments. variable names, strings, and comments.
```
./spell-check ./spell-check
```
This uses cspell. Install with `npm install -g cspell`. The output This uses cspell. Install with `npm install -g cspell`. The output
of cspell is suitable for use with `M-x grep` in emacs. Add of cspell is suitable for use with `M-x grep` in emacs. Add
@ -376,8 +382,10 @@ When done, the following should happen:
* If needed, run large file and image comparison tests by setting * If needed, run large file and image comparison tests by setting
these environment variables: these environment variables:
```
QPDF_LARGE_FILE_TEST_PATH=/full/path QPDF_LARGE_FILE_TEST_PATH=/full/path
QPDF_TEST_COMPARE_IMAGES=1 QPDF_TEST_COMPARE_IMAGES=1
```
For Windows, use a Windows style path, not an MSYS path for large files. For Windows, use a Windows style path, not an MSYS path for large files.
@ -413,10 +421,12 @@ When done, the following should happen:
* Test for performance and binary compatibility: * Test for performance and binary compatibility:
```
./abi-perf-test v<old> @ ./abi-perf-test v<old> @
```
Prefix with SKIP_PERF=1 to skip performance test. * Prefix with `SKIP_PERF=1` to skip performance test.
Prefix with SKIP_TESTS=1 to skip test suite run. * Prefix with `SKIP_TESTS=1` to skip test suite run.
See "ABI checks" for details about the process. See "ABI checks" for details about the process.
End state: End state:
@ -427,8 +437,9 @@ When done, the following should happen:
* Run package tests: * Run package tests:
(Note: can't use DESTDIR because pkg-config won't know about it.) (Note: can't use DESTDIR because pkg-config won't know about it.)
```
\rm -rf /tmp/inst build.tmp \rm -rf /tmp/inst build.tmp
cmake -S . -B build.tmp \ cmake -S . -B build.tmp \
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/tmp/inst -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/tmp/inst
@ -438,6 +449,7 @@ env PKG_CONFIG_PATH=/tmp/inst/lib/pkgconfig \
LD_LIBRARY_PATH=/tmp/inst/lib \ LD_LIBRARY_PATH=/tmp/inst/lib \
CMAKE_PREFIX_PATH=/tmp/inst \ CMAKE_PREFIX_PATH=/tmp/inst \
./pkg-test/run-all ./pkg-test/run-all
```
## CREATING A RELEASE ## CREATING A RELEASE
@ -448,8 +460,10 @@ env PKG_CONFIG_PATH=/tmp/inst/lib/pkgconfig \
* Sign the source distribution: * Sign the source distribution:
```
version=x.y.z version=x.y.z
gpg --detach-sign --armor qpdf-$version.tar.gz gpg --detach-sign --armor qpdf-$version.tar.gz
```
* Build and test the debian package. This includes running autopkgtest. * Build and test the debian package. This includes running autopkgtest.
@ -458,6 +472,7 @@ gpg --detach-sign --armor qpdf-$version.tar.gz
* From the release archive area, sign the releases. * From the release archive area, sign the releases.
```
\rm -f *.sha256 \rm -f *.sha256
files=(*) files=(*)
sha256sum ${files[*]} >| qpdf-$version.sha256 sha256sum ${files[*]} >| qpdf-$version.sha256
@ -465,6 +480,7 @@ gpg --clearsign --armor qpdf-$version.sha256
mv qpdf-$version.sha256.asc qpdf-$version.sha256 mv qpdf-$version.sha256.asc qpdf-$version.sha256
chmod 444 * chmod 444 *
chmod 555 *.AppImage chmod 555 *.AppImage
```
* When creating releases on github and sourceforge, remember to copy * When creating releases on github and sourceforge, remember to copy
`README-what-to-download.md` separately onto the download area if `README-what-to-download.md` separately onto the download area if
@ -475,14 +491,18 @@ chmod 555 *.AppImage
arguments. Create and push a signed tag. This should be run with arguments. Create and push a signed tag. This should be run with
HEAD pointing to the tip of main. HEAD pointing to the tip of main.
```
git rev-parse qpdf/main @ git rev-parse qpdf/main @
git tag -s v$version @ -m"qpdf $version" git tag -s v$version @ -m"qpdf $version"
git push qpdf v$version git push qpdf v$version
```
* Update documentation branches * Update documentation branches
```
git push qpdf @:$(echo $version | sed -E 's/\.[^\.]+$//') git push qpdf @:$(echo $version | sed -E 's/\.[^\.]+$//')
git push qpdf @:stable git push qpdf @:stable
```
* If this is an x.y.0 release, visit * If this is an x.y.0 release, visit
https://readthedocs.org/projects/qpdf/versions/ (log in with https://readthedocs.org/projects/qpdf/versions/ (log in with
@ -519,7 +539,8 @@ Template for release notes:
``` ```
This is qpdf version x.y.z. (Brief description) This is qpdf version x.y.z. (Brief description)
For a full list of changes from previous releases, please see the [release notes](https://qpdf.readthedocs.io/en/stable/release-notes.html). See also [README-what-to-download](./README-what-to-download.md) for details about the available source and binary distributions. For a full list of changes from previous releases, please see the [release notes](https://qpdf.readthedocs.io/en/stable/release-notes.html). See also [README-what-to-download](./README-what-to-download.md) for details about
the available source and binary distributions.
``` ```
``` ```
@ -529,7 +550,9 @@ gcurl -XPOST $url -d'{"draft": false}'
* Upload files to sourceforge. * Upload files to sourceforge.
```
rsync -vrlcO ./ jay_berkenbilt,qpdf@frs.sourceforge.net:/home/frs/project/q/qp/qpdf/qpdf/$version/ rsync -vrlcO ./ jay_berkenbilt,qpdf@frs.sourceforge.net:/home/frs/project/q/qp/qpdf/qpdf/$version/
```
* On sourceforge, make the source package the default for all but * On sourceforge, make the source package the default for all but
Windows, and make the 64-bit msvc build the default for Windows. Windows, and make the 64-bit msvc build the default for Windows.