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
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/devel