Releasing a Cheese new version
I learned how to create a Cheese release. The release was 2.91.3 and scheduled for Monday 10, to enter the GNOME 2.91.5 Development Release, scheduled for Wednesday 12. ( http://live.gnome.org/TwoPointNinetyone )
The steps to do this (specific to Cheese) are:
- Update to last version:
$ git pull
- Check that you don't have any modified files:
$ git status
- Edit configure.ac and and set the release version in the line:
If libcheese api changed, also change the line:
- Update the NEWS file:
$ tools/mantainer.sh -n 2.91.2
(Use previous version as parameter to see what changed) (I had to change the first line from #!/bin/sh to #!/bin/bash, depends on your system).
- Tidy up the generated NEWS file, deleting the lines containing translation commits and technical commits intended for developers. Leave only "new feature/fix" commits and group similar commits in single bullet points.
- Create the tarball:
$ ./autogen.sh (with your usual flags)
$ make && make distcheck
- Upload the tarball (I bumped into some errors here and couldn't create the tarball, so Daniel Siegel uploaded his instead).
$ scp cheese-2.91.3.tar.gz (user)@master.gnome.org
Then ssh into master.gnome.org and call install-module.
$ install-module cheese-2.91.3.tar.gz
- Tag the new release: (set the tag message to something like "tagged for 2.91.3 release").
$ git tag -a 2.91.3
$ git push origin 2.91.3
- Create the announcement mail and send it to gnome-announce-list and cheese-list:
$ tools/mantainer.sh -m
- Update the Cheese website:
Get gnomeweb-wml from git if you don't have it and run
and commit the changes.
Finished! A more generic step by step for releasing is here: http://live.gnome.org/MaintainersCorner/Releasing
The following day I rebuilt Cheese from scratch using jhbuild, skipping gobject-introspection which had some problems, and could finally generate a tarball, so next time I'll be more prepared.
Building Cheese from scratch
- Remove .la files from /usr/lib if you have any. (http://live.gnome.org/GnomeShell/RemovingLaFiles)
- $ jhbuild build cheese (my .jhbuildrc file is here: http://pastie.org/1462382 )
- Get directly from their git repositories these packages:
- - libcanberra
- - vala
- - dconf
- - clutter-gst
- - gst-plugins-bad
- Build and install them. When configuring dconf, use VALAC=/path/to/installed/bin/valac if you installed vala in a different prefix.
This week I also started playing with the idea of creating a new effect, or adding existing effects from frei0r plugins. I looked at frei0r code gallery, especially http://frei0r.dyne.org/gallery?filter=facedetect
I also installed OpenCV and ran the examples. Here is the result for facedetect.cpp :
(not very "glasses-compatible" tee-hee! x)
Note: the "cheese effect" picture is just that, a picture taken with cheese and then used as input for ./facedetect, it's not the effect already working inside cheese! ;)
Well, we'll see what happens these next weeks, I still have to decide what to focus on, but this effect could be one option.