From gPodderWiki
Jump to: navigation, search

This page lists all tasks that have to be done for a gPodder release.

Testing and release management in the repository[edit]

All tests carried out here should be following the Functional tests instructions.

  • Run make messages and then do German translation
  • Test if gPodder works for normal and first-time use cases:
   # ... test if basic usage works with current data ...
   mv ~/gPodder ~/gPodder.saved
   # ... test gPodder (subscribing + downloading) ...
   rm -rf ~/gPodder
   mv ~/gPodder.saved ~/gPodder
  • Run automatic sanity checks and unittests:
   make releasetest
  • If any dependencies have changed, update README file and state them there
  • Update src/gpodder/__init__.py with new version number, release date and release name
  • Update share/gpodder/credits.txt from the Git history
   git log gpodder-x.y.(z-1).. | git shortlog | grep -v '^[ ]' | sort -u | sed -e 's/\(.*\) ([^)]*):/\1/g'
  • Update translations and manpage:
   make messages
   make manpage
  • Make sure manpages have the correct version in their headings:
   man share/man/man1/gpodder.1
   man share/man/man1/gpo.1
  • Make the release in the repository:
   git status
   git add file1 [...]
   git commit
   git push
   git tag gpodder-x.y.z
   git push --tags
  • Remove release branch if necessary:
   git branch -d gpodder-x.y.z

Release notes/website work[edit]

  • Re-generate ChangeLog for inclusion into tarball:
   git checkout gpodder-x.y.z
   git log gpodder-a.b.c..gpodder-x.y.z >ChangeLog
  • Create the release source tarball:
   make release
   ls -l dist/

Release notifications[edit]

  • Update topic on IRC channel

Debian package[edit]

  • Notify Debian packager that a new release is available: tony on mancill dot com

MeeGo 1.2 Harmattan package[edit]

Outside of Scratchbox:

git clean -fdx
git checkout .
git fetch origin
git checkout harmattan
git pull
git merge gpodder-x.y.z
dch -i    # Make sure version (x.y.z), distro (harmattan) and author name/email are correct
git ci -a -m "gPodder x.y.z for Harmattan"
git tag harmattan/gpodder_x.y.z
git push origin harmattan
git push --tags

Inside of Scratchbox:

dpkg-buildpackage -rfakeroot -b

Rename resulting file to gpodder_x.y.z_harmattan.deb

Test package on development device.

  1. Upload to http://gpodder.org/releases/
  2. Upload to openrepos.net
  3. Update downloads page

Windows package[edit]

Previously, we have built gPodder releases directly on Windows, but this was cumbersome and hard to automate, so now we cross-compile the Windows package on Linux. For now, we still use Wine to run the Inno Setup compiler, but in the future we might also avoid this dependency and maybe go with NSIS or something.

Prerequisites[edit]

  • Wine
  • Inno Setup 5 installed in Wine
  • MinGW32 cross-compiler toolchain (on Fedora: dnf install mingw32-gcc-c++)

Building the release[edit]

Check out the release from Git in Git Bash:

git checkout .
git fetch origin
git checkout gpodder-x.y.z

Make sure there are no leftover files (be careful here, make sure you add all new files, as untracked files WILL be deleted by this step):

git clean -fdx

Run:

make release-win32

This should create the following two files in the root of the source tree:

gpodder-x.y.z-setup.exe
gpodder-x.y.z-win32.zip