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

Re: Fixing the Gobject Introspection mess



Am Freitag, den 25.09.2009, 13:32 +0200 schrieb Josselin Mouette:
>
> [...]
>
> 1. Package layout
> 
> GObject-introspection packages provide introspection data
> in /usr/share/gir-1.0/Foo-X.Y.gir, and the
> optional /usr/lib/girepository-1.0/Foo-X.Y.typelib.
>
> The packages should be architecture-dependent.

Only the typelib file actually is meant to be architecture-dependent
(right, the GIR file could be arch-dep too if the headers and API parts
of the sources (GObject properties/signals) are different from arch to
arch. But who does that?!).

Also the GIR file is only meant for build time things so it could simply
be placed in the -dev packages (as I've done so far).

The typelib file is another issue though...

> 2. Naming scheme
> 
> The package should be named gir1.0-foo-X.Y. For example, the package
> containing WebKit-1.0.gir will be named gir1.0-webkit-1.0.
> 
> Giant repositories of dozens of unrelated introspection data should be
> avoided. (Under this rationale, gobject-introspection-repository will be
> split.) However, related libraries that are known to evolve together can
> live in the same package (example: Gst*-0.10).
> 
> If, alternatively, the introspection data belongs in the same source
> package as the library it references, it can be put in the same binary
> package. In this case, it must feature a Provides: field corresponding
> to the name of the introspection data. For example, libfoo2.0-2
> containing libfoo-2.0.so.2 and Foo-2.0.gir must provide gir1.0-foo-2.0.

Putting the typelib files in the shared library packages will create
conflicts for soname changes. Not good (I know I placed them there in
some packages). Creating a new package just for the typelib file is not
good either ;)

> [...]

Everything else sounds good to me.

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


Reply to: