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]

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 -S -sa -I.git -i.git
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]

Check out the release from Git in Git Bash:

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

Update bundled modules to latest released versions:

rm -rf src/feedparser.py src/mygpoclient
python tools/localdepends.py

Update .mo (translation) files in MinGW Shell:

cd /c/Users/thp/gpodder/
make messages

Open tools/win32-setup/gpodder-setup.iss in InnoSetup Compiler:

Change AppVersion=a.b.c to x.y.z
Change OutputBaseFilename=a.b.c to x.y.z

Save the file and then Build the setup project. This gives gpodder-x.y.z-setup.exe in the win32-setup/ folder.

Now build the ZIP File-based portable package:

Create a new folder gpodder-x.y.z-win32
Start with gpodder.exe, gpo.exe, COPYING and README
Copy bin, share and src from the Git checkout
Copy ChangeLog (generate via "git log gpodder-x.y.(z-1)..gpodder-x.y.z >ChangeLog")

Remove extraneous files:

Remove src/gpodder/qmlui
Remove share/gpodder/ui/qml
Remove share/applications
Remove share/dbus-1
Remove share/man
Search for *.pyc files in src/ and remove them (if applicable)

ZIP up the containing folder. This gives gpodder-x.y.z-win32.zip.