I just released a new PyGObject for GNOME 3.7.91. This brings some marshalling fixes, plugs tons of memory leaks, and now raises a Python DeprecationWarning when your code calls a method which is marked as deprecated in the typelib. Please note that Python hides them by default, so if you are interested in those you need to run python with the -Wd option. Thanks to all contributors! Fix many memory leaks (#675726, #693402, #691501, #510511, #672224, and several more which are detected by our test suite) (Martin Pitt) Dot not clobber original Gdk/Gtk functions with overrides (Martin Pitt) (#686835) Optimize GValue. ... Read More

umockdev 0.2.1 release
21 February 2013

Hot on the heels of yesterday’s big 0.2 release, I pushed out umockdev 0.2.1 with a couple of bug fixes: umockdev-wrapper: Use exec to avoid keeping the shell process around and make killing the subprogram from outside work properly. Fix building with automake 1.12, thanks Peter Hutterer. Support opening several netlink sockets (i. e. udev monitors) at the same time. Fix building with older kernels which don’t have the EVIOCGMTSLOTS ioctl yet. ... Read More
I just released umockdev 0.2. The big new feature of this release is support for evdev ioctls. I. e. you can now record what e. g. X.org is doing to touchpads, touch screens, etc.: $ umockdev-record /dev/input/event15 /tmp/touchpad.umockdev # umockdev-record -i /tmp/touchpad.ioctl /dev/input/event15 -- Xorg -logfile /dev/null and load that back into a testbed with X.org using the dummy driver: cat <<EOF > xorg-dummy.conf Section "Device" Identifier "test" Driver " ... Read More

PyGObject 3.7.90 released
19 February 2013

I just released a new PyGObject for GNOME 3.7.90, with a nice set of bug fixes and some internal code cleanup. Thanks to all contributors! overrides: Fix inconsistencies with drag and drop target list API (Simon Feltman) (#680640) pygtkcompat: Add pygtk compatible GenericTreeModel implementation (Simon Feltman) (#682933) overrides: Add support for iterables besides tuples for TreePath creation (Simon Feltman) (#682933) Prefix __module__ attribute of function objects with gi.repository (Niklas Koep) (#693839) configure. ... Read More
What is this? umockdev is a set of tools and a library to mock hardware devices for programs that handle Linux hardware devices. It also provides tools to record the properties and behaviour of particular devices, and to run a program or test suite under a test bed with the previously recorded devices loaded. This allows developers of software like gphoto or libmtp to receive these records in bug reports and recreate the problem on their system without having access to the affected hardware, as well as writing regression tests for those that do not need any particular privileges and thus are capable of running in standard make check. ... Read More

PyGObject 3.7.5 released
4 February 2013

I just released a new PyGObject for GNOME 3.7.5. Unfortunately master.gnome.org is out of space right now, so I put the new tarball on my Ubuntu people account for the time being. This again brings a nice set of memory leak and bug fixes, some more reduction of static bindings, and better support for building under Windows. Thanks to all contributors! Move various signal methods from static bindings to gi and python (Simon Feltman) (#692918) GLib overrides: Support unpacking ‘maybe’ variants (Paolo Borelli) (#693032) Fix ref count leak when creating pygobject wrappers for input args (Mike Gorse) (#675726) Prefix names of typeless enums and flags for GType registration (Simon Feltman) (#692515) Fix compilation with non-C99 compilers such as Visual C++ (Chun-wei Fan) (#692856) gi/overrides/Glib. ... Read More

PyGObject 3.7.4 released
14 January 2013

I just released a new PyGObject, for GNOME 3.7.4 which is due on Wednesday. This release saw a lot of bug and memory leak fixes again, as well as enabling some more data types such as GParamSpec, boxed list properties, or directly setting string members in structs. Thanks to all contributors! Summary of changes (see change log for complete details): Allow setting values through GtkTreeModelFilter (Simonas Kazlauskas) (#689624) Support GParamSpec signal arguments from Python (Martin Pitt) (#683099) pygobject_emit(): Fix cleanup on error (Martin Pitt) Add signal emission methods to TreeModel which coerce the path argument (Simon Feltman) (#682933) Add override for GValue (Bastian Winkler) (#677473) Mark caller-allocated boxed structures as having a slice allocated (Mike Gorse) (#699501) pygi-property: Support boxed GSList/GList types (Olivier CrĂȘte) (#684059) tests: Add missing backwards compat methods for Python 2. ... Read More

PyGObject 3.7.3 released
17 December 2012

I just released a new PyGObject, for GNOME 3.7.3 which is due on Wednesday. This is mostly a bug fix release. There is one API addition, it brings back official support for calling GLib.io_add_watch() with a Python file object or fd as first argument, in addition to the official API which expects a GLib.IOChannel object. These modes were marked as deprecated in 3.7.2 (only). Thanks to all contributors! Summary of changes (see change log for complete details): ... Read More
When writing system integration tests it often happens that I want to mount some tmpfses over directories like /etc/postgresql/ or /home, and run the whole script with an unshared mount namespace so that (1) it does not interfere with the real system, and (2) is guaranteed to clean up after itself (unmounting etc.) after it ends in any possible way (including SIGKILL, which breaks usual cleanup methods like “trap”, “finally”, “def tearDown()”, “atexit()” and so on). ... Read More
I just released Apport 2.7. The main new feature is supporting foreign architectures in apport-retrace. If apport-retrace works in sandbox mode and works on a crash that was not produced on the same architecture as apport-retrace is running on, it will now build a sandbox for the report’s architecture and invoke gdb with the necessary magic options to produce a proper stack trace (and the other gdb information). Right now this works for i386, x86_64, and ARMv7, but if someone is interested in making this work for other architectures, please ping me. ... Read More