Re: [F.A.Q.] the advantages of a shared tool/kernel Git repository, tools/perf/ and tools/kvm/

John Kacur
2011-11-08T21:15:49Z

On Tue, 8 Nov 2011, Ted Ts'o wrote:

> On Tue, Nov 08, 2011 at 01:55:09PM +0100, Ingo Molnar wrote:
> > I guess you can do well with a split project as well - my main claim
> > is that good compatibility comes *naturally* with integration.
>
> Here I have to disagree; my main worry is that integration makes it
> *naturally* easy for people to skip the hard work needed to keep a
> stable kernel/userspace interface.
>
> The other worry which I've mentioned, but which I haven't seen
> addressed, is that the even if you can use a perf from a newer kernel
> with an older kernel, this causes distributions a huge amount of pain,
> since they have to package two different kernel source packages, and
> only compile perf from the newer kernel source package. This leads to
> all sorts of confusion from a distribution packaging point of view.
>
> For example, assume that RHEL 5, which is using 2.6.32 or something
> like that, wants to use a newer e2fsck that does a better job fixing
> file system corruptions. If it were bundled with the kernel, then
> they would have to package up the v3.1 kernel sources, and have a
> source RPM that isn't used for building kernel sources, but just to
> build a newer version of e2fsck. Fortunately, they don't have to do
> that. They just pull down a newer version of e2fsprogs, and package,
> build, test, and ship that.
>
> In addition, suppose Red Hat ships a security bug fix which means a
> new kernel-image RPM has to be shipped. Does that mean that Red Hat
> has to ship new binary RPM's for any and all tools/* programs that
> they have packaged as separate RPM's? Or should installing a new
> kernel RPM also imply dropping new binaries in /usr/bin/perf, et. al?
> There are all sorts of packaging questions that are raised
> integration, and from where I sit I don't think they've been
> adequately solved yet.
>

This in practice is not a big deal.

There are many approaches for how the RPM can be built, but basically
getting the perf source is just a matter of
make perf-tar-src-pkg or friends such as
make perf-tarbz2-src-pkg
which will create perf-3.2.0-rc1.tar, and perf-3.2.0-rc1.tar.bz2
respectively which can be used for the src rpms. This tar ball can be used
as a separate package or subpackage.

Thanks