Red Hat Bugzilla – Bug 203547
split a metacity-devel package + missing dependency
Last modified: 2014-06-18 05:08:42 EDT
Description of problem:
a -devel package should be split out metacity, with include files,
.a, .so and pkgconfig. The -devel package should requires
Version-Release number of selected component (if applicable):
Steps to Reproduce:
In that case it is very clear, since there is a missing
dependency on gtk2-devel seen for example in the include
files, and we certainly don't want metacity to pull in
Even when there is no dependency on other -devel packages
it is better to split, such that it is only possible to
link against -devel package. Otherwise, in the build root
it could be possible that unwanted libraries appear which
may be linked against in the package being built, leading
to hard to reproduce build environments.
Splitting off a -devel just for purity of packaging is a bit questionable.
For one thing, it will suddenly make metacity multilib, for no good reason.
Fedora is also about package quality (call it purity if
you prefer). I allready said in Comment #2 why it was
better, it is not just for purity. Of course unattended
builds and right devel dependencies are not functionnality
that prevent metacity for doing its work in normal cases,
but still it has merits and help to attain better quality
standard. Regarding having metacity-devel becoming
multilib, this seems to be something usefull, just like
for any other package or am I missing something?
Maybe it is the right time to make that change
such that it leaves time to workaround things that break?
The -devel package should also
This is vastly more likely to happen quickly if a patch were to be attached to
Coming soon! I wasn't sure that it was going to be accepted, so...
Created attachment 141898 [details]
split a devel subpackage and cleanups
While I was at it, I also did other cleanups. Tell
me if you prefer a patch with only the -devel changes.
- split out a devel package (#203547)
- clean %%build section and rpmlint warnings
rpmlint is almost silent now:
W: metacity non-conffile-in-etc /etc/gconf/schemas/metacity.schemas
W: metacity-devel no-documentation
I think that the static library is not very usefull in the
case of metacity.
I tested that at least gnome-python2-desktop requires
metacity-devel as buildrequires (for gnome-python2-metacity).
repoquery --whatrequires libmetacity-private.so.0
It is still pretty dubious to me why we would want to have a -devel package for
some library that is explicitly hamed -libmetacity-private, indicating that it
is not meant as a stable api to develop against.
The naming of the library is irrelevant, it is used as part of
other packages build process so it should be in a devel subpackage.
Besides it has everything development requires, headers, .so and
pkgconfig file. If it is not meant to be used, then the headers
directory and files, pkgconfig file and .so symlink should not be
shipped at all.
Currently it is not possible to build gnome-python2-desktop
without metacity support because of that broken packaging.
Can you explain why you think it is important that you can build
gnome-python2-desktop without metacity ?
It is important to be able to chose to build gnome-python2-desktop
with or without metacity support. It shouldn't brought in
by accident, but because there is a dependency on metacity-devel.
Chances are that we want metacity support in gnome-python2-desktop,
but it could be otherwise, somebody else doing another package may
want something else. Being able to chose the build dependencies
is an element, admitedly not a vital one, of correct and quality
packaging. It helps doing unattended builds.
As a side note, if you have a look at the gnome-python-desktop.spec
file, you'll notice that metacity is the only non -devel buildrequires,
so the packaging quality I am advocating is certainly not far away.
Is there something wrong with the patch?
We should resolve this by F7.
I made a patch 5 months ago, after I got the impression that
I didn't do it in vain... What is wrong with the patch?
I already proposed to remove the changes other than the devel
Patrice, there isn't necessarily anything wrong with your patch (I haven't
looked at it).
We just haven't had an opportunity to get to the bug yet. Søren said in comment
14, he's prioritizing it for fedora 7 though.
Fixed in 2.18.0-2.fc7