Commit 525d423ea8091731fa409acac37ba0e9528812ab
1 parent
a16d703f
Tweak README-maintainer
Showing
1 changed file
with
28 additions
and
11 deletions
README-maintainer
| @@ -106,10 +106,15 @@ RELEASE PREPARATION | @@ -106,10 +106,15 @@ RELEASE PREPARATION | ||
| 106 | 106 | ||
| 107 | CREATING A RELEASE | 107 | CREATING A RELEASE |
| 108 | 108 | ||
| 109 | +* Be sure that the local git clone's HEAD is a commit that has | ||
| 110 | + upstream/master as an ancestor and that can be pushed to my fork. We | ||
| 111 | + will be generating releases and tagging this commit, which will be | ||
| 112 | + pushed to master as part of the release process. | ||
| 113 | + | ||
| 109 | * Create source release: | 114 | * Create source release: |
| 110 | 115 | ||
| 111 | version=x.y.z | 116 | version=x.y.z |
| 112 | -rm -rf /tmp/qpdf-$version | 117 | +\rm -rf /tmp/qpdf-$version |
| 113 | git archive --prefix=qpdf-$version/ HEAD . | (cd /tmp; tar xf -) | 118 | git archive --prefix=qpdf-$version/ HEAD . | (cd /tmp; tar xf -) |
| 114 | cd /tmp | 119 | cd /tmp |
| 115 | ./qpdf-$version/make_dist | 120 | ./qpdf-$version/make_dist |
| @@ -129,20 +134,13 @@ gpg --detach-sign --armor qpdf-$version.tar.gz | @@ -129,20 +134,13 @@ gpg --detach-sign --armor qpdf-$version.tar.gz | ||
| 129 | 134 | ||
| 130 | cd appimage | 135 | cd appimage |
| 131 | docker build -t qpdfbuild . | 136 | docker build -t qpdfbuild . |
| 132 | -rm -rf /tmp/build | 137 | +\rm -rf /tmp/build |
| 133 | mkdir -p /tmp/build | 138 | mkdir -p /tmp/build |
| 134 | cp -rLp ~/.gnupg/. /tmp/build/.gnupg | 139 | cp -rLp ~/.gnupg/. /tmp/build/.gnupg |
| 135 | docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://github.com/jberkenbilt/qpdf -b work | 140 | docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://github.com/jberkenbilt/qpdf -b work |
| 136 | 141 | ||
| 137 | - To build locally, omit the git arguments after qpdfbuild above and | ||
| 138 | - copy the source tree into /tmp/build/qpdf. | ||
| 139 | - | ||
| 140 | - Pass -e SKIP_TESTS=1 to docker to skip the test suite, useful for | ||
| 141 | - rapid iteration. | ||
| 142 | - | ||
| 143 | - Rename the AppImage in /tmp/build/qpdf/appimage/build | ||
| 144 | - qpdf-$version-x86_64.AppImage and move it to the release archive | ||
| 145 | - area. | 142 | + The AppImage in /tmp/build/qpdf/appimage/build should be called |
| 143 | + qpdf-$version-x86_64.AppImage. Move it to the release archive area. | ||
| 146 | 144 | ||
| 147 | * Create Windows binary releases. In Windows: | 145 | * Create Windows binary releases. In Windows: |
| 148 | * Extract the source distribution | 146 | * Extract the source distribution |
| @@ -169,11 +167,21 @@ for i in md5 sha1 sha512; do | @@ -169,11 +167,21 @@ for i in md5 sha1 sha512; do | ||
| 169 | gpg --clearsign --armor qpdf-$version.$i | 167 | gpg --clearsign --armor qpdf-$version.$i |
| 170 | mv qpdf-$version.$i.asc qpdf-$version.$i | 168 | mv qpdf-$version.$i.asc qpdf-$version.$i |
| 171 | done | 169 | done |
| 170 | +chmod 444 * | ||
| 171 | +chmod 555 *.AppImage | ||
| 172 | 172 | ||
| 173 | * When creating releases on github and sourceforge, remember to copy | 173 | * When creating releases on github and sourceforge, remember to copy |
| 174 | `README-what-to-download.md` separately onto the download area if | 174 | `README-what-to-download.md` separately onto the download area if |
| 175 | needed. | 175 | needed. |
| 176 | 176 | ||
| 177 | +* Push the master branch to github. Create and push a signed tag. This | ||
| 178 | + should be run with HEAD pointing to the tip of master. | ||
| 179 | + | ||
| 180 | +git rev-parse master @ | ||
| 181 | +git push upstream master | ||
| 182 | +git tag -s release-qpdf-$version HEAD -m"qpdf $version" | ||
| 183 | +git push upstream release-qpdf-$version | ||
| 184 | + | ||
| 177 | * Create a github release after pushing the tag. `gcurl` is an alias | 185 | * Create a github release after pushing the tag. `gcurl` is an alias |
| 178 | that includes the auth token. | 186 | that includes the auth token. |
| 179 | 187 | ||
| @@ -232,6 +240,15 @@ zip -r qpdf-external-libs-src.zip external-libs | @@ -232,6 +240,15 @@ zip -r qpdf-external-libs-src.zip external-libs | ||
| 232 | When releasing on sourceforge, `external-libs` distributions go in | 240 | When releasing on sourceforge, `external-libs` distributions go in |
| 233 | `external-libs/yyyymmdd`, and qpdf distributions go in `qpdf/vvv`. | 241 | `external-libs/yyyymmdd`, and qpdf distributions go in `qpdf/vvv`. |
| 234 | 242 | ||
| 243 | +For local iteration on the AppImage generation, follow the release | ||
| 244 | +procedures for building the AppImage, but instead of passing git clone | ||
| 245 | +options to the docker command, copy qpdf to /tmp/build. You can also | ||
| 246 | +pass -e SKIP_TESTS=1 to docker to skip the test suite, useful for | ||
| 247 | +rapid iteration. Set up /tmp/build as in the release process. | ||
| 248 | + | ||
| 249 | +cp -a $PWD /tmp/build | ||
| 250 | +docker run --privileged -ti --rm -e SKIP_TESTS=1 -v /tmp/build:/tmp/build qpdfbuild | ||
| 251 | + | ||
| 235 | 252 | ||
| 236 | GENERAL BUILD STUFF | 253 | GENERAL BUILD STUFF |
| 237 | 254 |