libguestfs gained GObject bindings and GObject Introspection information. Unless my Google-fu is letting me down, Fedora doesn't have any specific guidelines for packaging GObject / *.typelib / *.gir files, so I had to make something up based on looking at other packages (cairo-gobject/cairo-gobject-devel specifically). The extra files introduced are: %{_includedir}/guestfs-gobject.h %{_libdir}/libguestfs-gobject-1.0.so %{_libdir}/libguestfs-gobject-1.0.so.0 %{_libdir}/libguestfs-gobject-1.0.so.0.0.0 %{_libdir}/girepository-1.0/Guestfs-1.0.typelib %{_datadir}/gir-1.0/Guestfs-1.0.gir I introduced two new subpackages: %package gobject Summary: GObject bindings for %{name} Group: Development/Libraries Requires: %{name} = %{epoch}:%{version}-%{release} %description gobject %{name}-gobject contains GObject bindings for %{name}. To develop software against these bindings, you need to install %{name}-gobject-devel. %package gobject-devel Summary: GObject bindings for %{name} Group: Development/Libraries Requires: %{name}-gobject = %{epoch}:%{version}-%{release} %description gobject-devel %{name}-gobject contains GObject bindings for %{name}. This package is needed if you want to write software using the GObject bindings. It also contains GObject Introspection information. %files gobject %defattr(-,root,root,-) %{_libdir}/libguestfs-gobject-1.0.so.0* %files gobject-devel %defattr(-,root,root,-) %{_libdir}/libguestfs-gobject-1.0.so %{_includedir}/guestfs-gobject.h %{_libdir}/girepository-1.0/Guestfs-1.0.typelib %{_datadir}/gir-1.0/Guestfs-1.0.gir Plus there are additional BuildRequires in the main part of the spec file. It builds in Koji. The %{name}-gobject package gets the following requires: libguestfs = 1:1.15.19-1.fc17 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 libc.so.6 libc.so.6(GLIBC_2.1.3) libguestfs.so.0 rpmlib(PayloadIsXz) <= 5.2-1 The %{name}-gobject-devel package gets the following requires: libguestfs-gobject = 1:1.15.19-1.fc17 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadIsXz) <= 5.2-1 The first of these looks wrong (under specified) to me. It looks like dependencies on libgobject-2.0.so.0 and libglib-2.0.so.0 are missing for some reason. (They are missing from the actual libguestfs-gobject-1.0.so.0 too, so probably it is being built wrong). Constructive comments welcome on packaging GObject bindings, and in particular what to do about *.typelib and *.gir files. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://et.redhat.com/~rjones/virt-top -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel