On Fri, 2013-05-24 at 10:37 +0000, Petr Pisar wrote: > On 2013-05-24, Jonathan Dieter <jdieter@xxxxxxxxx> wrote: > > On Fri, 2013-05-24 at 08:03 +0000, Petr Pisar wrote: > >> Do you know virtual packages are forbidden in Fedora? > > > > Sorry, I just scanned through the guidelines and didn't see this > > anywhere. Do you mind citing a reference, please? > > > Well it's probably not forbidden by guidelines, but I've heard this rule > many times. There exists a thread on fedora-packaging mailing list > <http://lists.fedoraproject.org/pipermail/packaging/2009-January/005481.html>. Well, I think there's a bit of conflation going on here. 'Virtual packages', 'metapackages', and 'virtual provides' are somewhat different things, and what has historically been discouraged in Fedora is one specific form. Let's call this form specifically a 'metapackage', to be clear. A 'metapackage' is an actual package shipped in the repositories which contains no files, and whose raison d'etre is to express some dependencies. There are a few of these in Fedora, xorg-x11-drivers being the classic example, but they are generally strongly discouraged. The idea is that Fedora uses comps groups to express the concept 'this group of packages forms some kind of cohesive set and can be installed together', not metapackages. What was being discussed in this sub-thread was not a metapackage at all, only the use of virtual Provides:. A virtual Provide is kind of a slithery concept when you sit down and start thinking about it, but I guess I'd say it's when a package Provides: something that is a kind of abstract concept (in order that multiple packages can provide the same thing, and other packages can express 'I need some capability that all of these packages provide'). Really, almost any Provides: statement that actually has to be written into the spec file by the packager is a 'virtual provide'. There's certainly nothing in the guidelines that restricts the use of virtual provides, and it even specifically requires them in one scenario: "Static libraries only. When a package only provides static libraries you can place all the static library files in the *-devel subpackage. When doing this you also must have a virtual Provide for the *-static package: %package devel Provides: foo-static = %{version}-%{release}" I don't think there's any problem with the use of 'virtual provides' in Fedora policy or tradition, it's 'metapackages' that are usually discouraged. -- Adam Williamson Fedora QA Community Monkey IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora http://www.happyassassin.net -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel