Commit 525d423ea8091731fa409acac37ba0e9528812ab

Authored by Jay Berkenbilt
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 106  
107 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 114 * Create source release:
110 115  
111 116 version=x.y.z
112   -rm -rf /tmp/qpdf-$version
  117 +\rm -rf /tmp/qpdf-$version
113 118 git archive --prefix=qpdf-$version/ HEAD . | (cd /tmp; tar xf -)
114 119 cd /tmp
115 120 ./qpdf-$version/make_dist
... ... @@ -129,20 +134,13 @@ gpg --detach-sign --armor qpdf-$version.tar.gz
129 134  
130 135 cd appimage
131 136 docker build -t qpdfbuild .
132   -rm -rf /tmp/build
  137 +\rm -rf /tmp/build
133 138 mkdir -p /tmp/build
134 139 cp -rLp ~/.gnupg/. /tmp/build/.gnupg
135 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 145 * Create Windows binary releases. In Windows:
148 146 * Extract the source distribution
... ... @@ -169,11 +167,21 @@ for i in md5 sha1 sha512; do
169 167 gpg --clearsign --armor qpdf-$version.$i
170 168 mv qpdf-$version.$i.asc qpdf-$version.$i
171 169 done
  170 +chmod 444 *
  171 +chmod 555 *.AppImage
172 172  
173 173 * When creating releases on github and sourceforge, remember to copy
174 174 `README-what-to-download.md` separately onto the download area if
175 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 185 * Create a github release after pushing the tag. `gcurl` is an alias
178 186 that includes the auth token.
179 187  
... ... @@ -232,6 +240,15 @@ zip -r qpdf-external-libs-src.zip external-libs
232 240 When releasing on sourceforge, `external-libs` distributions go in
233 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 253 GENERAL BUILD STUFF
237 254  
... ...