public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* Adding provide to systemtap.spec for systemtap-testsuite rpm
@ 2008-01-31 14:27 William Cohen
  2008-01-31 17:05 ` Masami Hiramatsu
  0 siblings, 1 reply; 5+ messages in thread
From: William Cohen @ 2008-01-31 14:27 UTC (permalink / raw)
  To: systemtap

[-- Attachment #1: Type: text/plain, Size: 418 bytes --]

Some people may notice that systemtap-testsuite rpm does not install without 
"--nodeps" because systemtaptestsuite requires "stap", but nothing provides it. 
The one line patch add a provides to the systemtap rpm and allows the 
systemtap-testsuite rpm to be installed normally via rpm.

Any comments about the patch? Go ahead and check it in? Or does anyone have 
better ideas on how to eliminate this issue?

-Will

[-- Attachment #2: stap_provides.diff --]
[-- Type: text/x-patch, Size: 384 bytes --]

--- /home/wcohen/koji/systemtap/devel/systemtap.spec	2008-01-18 14:29:04.000000000 -0500
+++ /home/wcohen/rh-rpms/SPECS/systemtap.spec	2008-01-30 16:56:21.000000000 -0500
@@ -48,6 +48,8 @@
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+Provides: stap = %{version}-%{release}
+
 Requires: kernel >= 2.6.9-11
 BuildRequires: libcap-devel
 %if %{sqlite}

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Adding provide to systemtap.spec for systemtap-testsuite rpm
  2008-01-31 14:27 Adding provide to systemtap.spec for systemtap-testsuite rpm William Cohen
@ 2008-01-31 17:05 ` Masami Hiramatsu
  2008-01-31 20:32   ` William Cohen
  0 siblings, 1 reply; 5+ messages in thread
From: Masami Hiramatsu @ 2008-01-31 17:05 UTC (permalink / raw)
  To: William Cohen; +Cc: systemtap

Hi,

William Cohen wrote:
> Some people may notice that systemtap-testsuite rpm does not install without 
> "--nodeps" because systemtaptestsuite requires "stap", but nothing provides it. 
> The one line patch add a provides to the systemtap rpm and allows the 
> systemtap-testsuite rpm to be installed normally via rpm.

Instead of that, how about adding stap filtering rule to __find_requires macro?

> Any comments about the patch? Go ahead and check it in? Or does anyone have 
> better ideas on how to eliminate this issue?

I'm not completely sure why it requires 'stap'. When I built it, the
systemtap-testsuite package built with bundled_elfutils required stap, but
without bundled_elfutils, it did not required stap.
So, I think it is caused by a special filter defined in systemtap.spec when
bundled_elfutils is enabled.

> 
> -Will
> 

Thank you,
-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Adding provide to systemtap.spec for systemtap-testsuite rpm
  2008-01-31 17:05 ` Masami Hiramatsu
@ 2008-01-31 20:32   ` William Cohen
  2008-01-31 21:43     ` Masami Hiramatsu
  2008-02-01 17:03     ` Masami Hiramatsu
  0 siblings, 2 replies; 5+ messages in thread
From: William Cohen @ 2008-01-31 20:32 UTC (permalink / raw)
  To: Masami Hiramatsu; +Cc: systemtap

Masami Hiramatsu wrote:
> Hi,
> 
> William Cohen wrote:
>> Some people may notice that systemtap-testsuite rpm does not install without 
>> "--nodeps" because systemtaptestsuite requires "stap", but nothing provides it. 
>> The one line patch add a provides to the systemtap rpm and allows the 
>> systemtap-testsuite rpm to be installed normally via rpm.
> 
> Instead of that, how about adding stap filtering rule to __find_requires macro?

Hi Masami,

What would be the advantage of changing the __find_requires macro? Allow 
systemtap-test rpm to be installed by developers doing testing of locally built 
systemtap without needing the systemtap rpm?

>> Any comments about the patch? Go ahead and check it in? Or does anyone have 
>> better ideas on how to eliminate this issue?
> 
> I'm not completely sure why it requires 'stap'. When I built it, the
> systemtap-testsuite package built with bundled_elfutils required stap, but
> without bundled_elfutils, it did not required stap.
> So, I think it is caused by a special filter defined in systemtap.spec when
> bundled_elfutils is enabled.
> 
>> -Will
>>
> 
> Thank you,

I haven't seen that effect without bundled_elfutils stap was not required. 
However, I see that there are some lines that fiddle with the __find_provides.

The rpmbuild process scans through executable files to find out which 
interpreters are used by various scripts. There are a number of scripts in the 
tests that begin with:

#! stap

The scanning picks out the interpreter, "stap" and makes it a dependency for 
systemtap-testsuite.

So does it make sense to install systemtap-testsuite without systemtap? If 
systemtap-testsuite should be installed with systemtap, it seems like the 
explicit provides would be reasonable.

-Will

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Adding provide to systemtap.spec for systemtap-testsuite rpm
  2008-01-31 20:32   ` William Cohen
@ 2008-01-31 21:43     ` Masami Hiramatsu
  2008-02-01 17:03     ` Masami Hiramatsu
  1 sibling, 0 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2008-01-31 21:43 UTC (permalink / raw)
  To: William Cohen; +Cc: systemtap

Hi,

William Cohen wrote:
> Masami Hiramatsu wrote:
>> William Cohen wrote:
>>> Some people may notice that systemtap-testsuite rpm does not install without 
>>> "--nodeps" because systemtaptestsuite requires "stap", but nothing provides it. 
>>> The one line patch add a provides to the systemtap rpm and allows the 
>>> systemtap-testsuite rpm to be installed normally via rpm.
>> Instead of that, how about adding stap filtering rule to __find_requires macro?
> 
> Hi Masami,
> 
> What would be the advantage of changing the __find_requires macro? Allow 
> systemtap-test rpm to be installed by developers doing testing of locally built 
> systemtap without needing the systemtap rpm?

As far as I can see, the stap should be filtered out because it provided by
systemtap package and testsuite explicitly requires systemtap as below.

---
%package testsuite
Summary: Instrumentation System Testsuite
Group: Development/System
License: GPLv2+
URL: http://sourceware.org/systemtap/
Requires: systemtap dejagnu
---

So, anyway, developers can't install systemtap-testsuite without systemtap.

Thank you,


-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Adding provide to systemtap.spec for systemtap-testsuite rpm
  2008-01-31 20:32   ` William Cohen
  2008-01-31 21:43     ` Masami Hiramatsu
@ 2008-02-01 17:03     ` Masami Hiramatsu
  1 sibling, 0 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2008-02-01 17:03 UTC (permalink / raw)
  To: William Cohen; +Cc: systemtap

Hi Will,

William Cohen wrote:
> I haven't seen that effect without bundled_elfutils stap was not required.
> However, I see that there are some lines that fiddle with the __find_provides.

Here is the rpmbuild logs of systemtap-testsuite

$ rpmbuild -bb --with bundled_elfutils systemtap.spec
---
Processing files: systemtap-testsuite-0.6.1-1.fc7
Finding  Provides: /bin/sh -c "/usr/lib/rpm/find-provides | sed '/libelf/d;/libdw/d;/libebl/d'"
Finding  Requires: /bin/sh -c "/usr/lib/rpm/find-requires | sed '/libelf/d;/libdw/d;/libebl/d'"
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires: systemtap dejagnu /bin/sh /usr/bin/env /usr/bin/perl /usr/bin/tclsh stap perl(Getopt::Std)
---                                                                           ^^^^

With bundled_elfutils option, systemtap.spec disables the internal
dependency generator and uses their special filters.
It missed eliminating 'stap' from requires.

$ rpmbuild -bb --without bundled_elfutils systemtap.spec
---
Processing files: systemtap-testsuite-0.6.1-1.fc7
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/sh /usr/bin/env /usr/bin/perl /usr/bin/tclsh dejagnu perl(Getopt::Std) systemtap
---
Without bundled_elfutils, the testsuite package does not require stap.

> The rpmbuild process scans through executable files to find out which 
> interpreters are used by various scripts. There are a number of scripts in the 
> tests that begin with:
> 
> #! stap
> 
> The scanning picks out the interpreter, "stap" and makes it a dependency for 
> systemtap-testsuite.

I guess the rpmbuild solves the absolute path of 'stap' and finds it in
the systemtap package.

> So does it make sense to install systemtap-testsuite without systemtap? If 
> systemtap-testsuite should be installed with systemtap, it seems like the 
> explicit provides would be reasonable.

I agree.
I just think that the testsuite package would better have same "requires"
list regardless of whether the bundled_elfutils option is specified or not.

Thank you,

> 
> -Will

-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-02-01 17:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-31 14:27 Adding provide to systemtap.spec for systemtap-testsuite rpm William Cohen
2008-01-31 17:05 ` Masami Hiramatsu
2008-01-31 20:32   ` William Cohen
2008-01-31 21:43     ` Masami Hiramatsu
2008-02-01 17:03     ` Masami Hiramatsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).