Description of problem: a -devel package should be split out metacity, with include files, .a, .so and pkgconfig. The -devel package should requires gtk2-devel Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Why?
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 gtk2-devel. 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 Requires: pkgconfig
This is vastly more likely to happen quickly if a patch were to be attached to this bug.
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 control-center-1:2.17.1-6.fc7.i386 gnome-python2-metacity-0:2.17.1-1.fc7.i386 metacity-0:2.17.2-1.fc7.i386 compiz-0:0.3.2-2.fc7.i386
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 split.
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