From Fedora Project Wiki
(→Ignoring alternativized files: more cons) |
(restructure pros) |
||
Line 29: | Line 29: | ||
Pros: | Pros: | ||
* allows globs and generated file lists | * allows globs and generated file lists | ||
* rpm -qf /usr/bin/foo works | * alternativized files are owned, which means: | ||
* yum install /usr/bin/foo works | ** rpm -qf /usr/bin/foo works | ||
* repoquery --whatprovides /usr/bin/foo works | ** yum install /usr/bin/foo works | ||
** repoquery --whatprovides /usr/bin/foo works | |||
Cons: | Cons: | ||
Line 42: | Line 43: | ||
Pros: | Pros: | ||
* rpm -qf /usr/bin/foo works | * alternativized files are owned, which means: | ||
* yum install /usr/bin/foo works | ** rpm -qf /usr/bin/foo works | ||
* repoquery --whatprovides /usr/bin/foo works | ** yum install /usr/bin/foo works | ||
** repoquery --whatprovides /usr/bin/foo works | |||
Cons: | Cons: | ||
* unwieldy with lots of alternativized files | * unwieldy with lots of alternativized files |
Revision as of 19:20, 17 February 2009
Motivation
Current usage of alternatives is inconsistent, and rpm -qf /some/file will often say the file is unowned, even if it's been created by some package, which is especially misleading and annoying in case of binaries.
Solutions
All of the options below are currently used in Fedora packages.
Ignoring alternativized files
Pros:
- less work for packager(?)
Cons:
- alternativized files are unowned, which means:
- rpm -qf /usr/bin/foo doesn't work
- yum install /usr/bin/foo doesn't work
- repoquery --whatprovides /usr/bin/foo doesn't work
Using %ghost
%files ... %ghost %{_bindir}/foo
Pros:
- allows globs and generated file lists
- alternativized files are owned, which means:
- rpm -qf /usr/bin/foo works
- yum install /usr/bin/foo works
- repoquery --whatprovides /usr/bin/foo works
Cons:
- files owned by multiple packages are forbidden by FPG.
Using Provides:
Provides: %{_bindir}/foo
Pros:
- alternativized files are owned, which means:
- rpm -qf /usr/bin/foo works
- yum install /usr/bin/foo works
- repoquery --whatprovides /usr/bin/foo works
Cons:
- unwieldy with lots of alternativized files