How to package GObject bindings?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux