Bug 445224

Summary: Review Request: stapitrace - user space instruction trace
Product: [Fedora] Fedora Reporter: Dave Nomura <dcnltc>
Component: Package ReviewAssignee: Josh Boyer <jwboyer>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: ejratl, fedora-package-review, jwboyer, maynardj, notting, pahan, susi.lehtola
Target Milestone: ---Flags: jwboyer: fedora-review+
dennis: fedora-cvs+
Target Release: ---   
Hardware: ppc64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-08-03 15:33:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
updates for Roland McGraths upgrade to utrace none

Description Dave Nomura 2008-05-05 15:36:35 UTC
Spec URL: http://downloads.sourceforge.net/perfinsp/stapitrace.spec
SRPM URL: http://downloads.sourceforge.net/perfinsp/stapitrace-1.0-0.src.rpm
Description: ITrace is a software tracing mechanism that runs on Linux. ITrace traces through user application code using the SystemTap user instruction tracing
support and can produce human-readable ASCII output or qtrace output suitable
for analysis by packages, such as the IBM Performance Simulator for Linux
on POWER (simppc).

Comment 1 Parag AN(पराग) 2008-05-21 07:37:43 UTC
is this for ppc64 arch only package and not on i386?

Comment 2 Dave Nomura 2008-05-22 16:05:36 UTC
yes, although with some work i386 support could be added.

Comment 3 Josh Boyer 2008-06-02 23:33:07 UTC
A couple of brief questions:

Is the .h file really needed at runtime?  If not, it should likely be in a
-devel subpackage.

Does the package not build at all on x86, or is it a matter of missing tapsets?



Comment 4 Dave Nomura 2008-06-02 23:53:34 UTC
When you run the Systemtap translator, stap, it builds a kernel module, compiles
it and runs it.  The usr_itrace.h is needed to compile the generated kernel module.

The package has not been developed for x86, although part usr_itrace.stp tapset
was developed and tested somewhat on x86.  I'm just not sure if there pieces
missing for x86 due to lack of development/testing on x86.

Comment 5 Josh Boyer 2008-06-03 01:06:35 UTC
(In reply to comment #4)
> When you run the Systemtap translator, stap, it builds a kernel module, compiles
> it and runs it.  The usr_itrace.h is needed to compile the generated kernel
module.

Ah, yes.  Ok, makes sense.

> The package has not been developed for x86, although part usr_itrace.stp tapset
> was developed and tested somewhat on x86.  I'm just not sure if there pieces
> missing for x86 due to lack of development/testing on x86.

Hm.  Ok.  We'll come back to that in a bit.

More questions:

This looks like a subset of the dpiperf.dynamic package.  It seems to contain a
newer (?) version of the dpiperf.dynamic tarball that has simply been rebranded
to stapitrace-<version>.tar.gz in the SPEC file.  Is this a CVS snapshot of the
dpiperf tarball?

I ask because if it is, you should probably follow the snapshot guidelines[1]
instead of creating a tarball that can't actually be downloaded from the project
site.  One of the review criteria is that the package has verifiable source:

"- MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL. Reviewers should use md5sum for this task. If no
upstream URL can be specified for this package, please see the  Source URL
Guidelines for how to deal with this."


[1] https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Snapshot_packages

Comment 6 Dave Nomura 2008-06-09 18:11:29 UTC
(In reply to comment #5)
 
> 
> More questions:
> 
> This looks like a subset of the dpiperf.dynamic package.  It seems to contain a
> newer (?) version of the dpiperf.dynamic tarball that has simply been rebranded
> to stapitrace-<version>.tar.gz in the SPEC file.  Is this a CVS snapshot of the
> dpiperf tarball?
The tarball is one that was created for me by the Performance Inspector(PI)
maintainer which includes the modifications that I need to their source.  My
changes have been comitted into CVS, just not available yet on the PI web site.
 The maintainer assures me that a newer tarball containing my source mods will
be available on the PI web site in July.

Is it possible to specify the URL for the tarball on the PI web site in the spec
file?  I think I tried setting the URL and Source0 variables in the spec file to
point to a tarball on the PI website, but my recollection is that it looked for
Source0 in the SOURCES directory anyways.  I thought the URL variable in the
spec file was just supposed to name the project web site where documentation can
be found.  When the updated tarball is available, should I set the URL variable
to be the path that would be used by wget to get the tarball?  In that case
should I change the Source0 variable to use that same name as indicated in the
URL variable?
> 
> I ask because if it is, you should probably follow the snapshot guidelines[1]
I was planning on somehow pointing to the publicly available tarball with my
source changes in it, but I wonder if I wouldn't be better off referencing cvs
since it is probably inevitable that the review process will turn up something
that I need to change.  Would I just manually grab a CVS snapshot and build my
own tarball with YYYYMMDDcvs in the name and reference it from the Source0
variable?  e.g. Dpiperf-YYYYMMDDcvs.tar.gz   (Dpiperf is a PI naming convention)

Do you think I should make this a pre-release package with an "alpha" in the
Release name?

> instead of creating a tarball that can't actually be downloaded from the project
> site.  One of the review criteria is that the package has verifiable source:
> 
> "- MUST: The sources used to build the package must match the upstream source,
> as provided in the spec URL. Reviewers should use md5sum for this task. If no
> upstream URL can be specified for this package, please see the  Source URL
> Guidelines for how to deal with this."
> 
> 
> [1] https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Snapshot_packages



Comment 7 Josh Boyer 2008-06-17 01:06:36 UTC
source files match upstream:
 ab74f8ed90b8ba9a1d3904892622fc80 (tarball matches tarball found in upstream SRPM)
specfile is properly named, is cleanly written and uses macros consistently.
dist tag is present.
build root is correct
license field matches the actual license. (though itrace.c has GPL v2.1 listed,
which doesn't exist.  That should probably be fixed upstream)
license is open source-compatible.
license text not included upstream.
latest version is being packaged.
BuildRequires are proper.
compiler flags are appropriate.
%clean is present.
rpmlint is silent. 
owns the directories it creates.
doesn't own any directories it shouldn't.
no duplicates in %files.
file permissions are appropriate.
no scriptlets present.
code, not content.
documentation is small, so no -docs subpackage is necessary.
%docs are not necessary for the proper functioning of the package.
no headers.
no pkgconfig files.
no libtool .la droppings.

Needs fixing:

package meets naming and versioning guidelines.
package builds in mock:
http://koji.fedoraproject.org/koji/getfile?taskID=664952&name=build.log
package installs properly. (couldn't check)
debuginfo package looks complete. (couldn't check)
final provides and requires are sane (couldn't check)
if shared libraries are present, make sure ldconfig is run

Comment 8 Dave Nomura 2008-06-19 17:10:26 UTC
(In reply to comment #7)
> source files match upstream:
>  ab74f8ed90b8ba9a1d3904892622fc80 (tarball matches tarball found in upstream SRPM)
> specfile is properly named, is cleanly written and uses macros consistently.
> dist tag is present.
> build root is correct
> license field matches the actual license. (though itrace.c has GPL v2.1 listed,
> which doesn't exist.  That should probably be fixed upstream)
> license is open source-compatible.
> license text not included upstream.
> latest version is being packaged.
> BuildRequires are proper.
> compiler flags are appropriate.
> %clean is present.
> rpmlint is silent. 
> owns the directories it creates.
> doesn't own any directories it shouldn't.
> no duplicates in %files.
> file permissions are appropriate.
> no scriptlets present.
> code, not content.
> documentation is small, so no -docs subpackage is necessary.
> %docs are not necessary for the proper functioning of the package.
> no headers.
> no pkgconfig files.
> no libtool .la droppings.
> 
> Needs fixing:
> 
> package meets naming and versioning guidelines.
> package builds in mock:
> http://koji.fedoraproject.org/koji/getfile?taskID=664952&name=build.log
> package installs properly. (couldn't check)
> debuginfo package looks complete. (couldn't check)
> final provides and requires are sane (couldn't check)
> if shared libraries are present, make sure ldconfig is run

So, the only issue under the "Needs fixing" category is the build error you got
in mock.  I'll look into that one.

Also, did you have any response to my questions (in previous comment) about how
I should be referencing the source:  tarball vs. CVS


Comment 9 Josh Boyer 2008-06-20 12:22:02 UTC
(In reply to comment #8) 
> > Needs fixing:
> > 
> > package meets naming and versioning guidelines.
> > package builds in mock:
> > http://koji.fedoraproject.org/koji/getfile?taskID=664952&name=build.log
> > package installs properly. (couldn't check)
> > debuginfo package looks complete. (couldn't check)
> > final provides and requires are sane (couldn't check)
> > if shared libraries are present, make sure ldconfig is run
> 
> So, the only issue under the "Needs fixing" category is the build error you got
> in mock.  I'll look into that one.

That, and the naming.  See below.

> Also, did you have any response to my questions (in previous comment) about how
> I should be referencing the source:  tarball vs. CVS

If you are still working on the feature upstream and it's not released as of
yet, I would recommend a CVS snapshot and a pre-release package, yes.

Once the utility is included in a real upstream tarball, you can fixup the RPM
specfile to use that.  While it's a bit more work upfront for the packager, it
more accurately reflects the state of the package upstream and gives you a bit
more flexibility if you want to respin the snapshot to bring in more fixes, etc.



Comment 10 Dave Nomura 2008-06-22 12:57:06 UTC
(In reply to comment #9)
> > So, the only issue under the "Needs fixing" category is the build error you got
> > in mock.  I'll look into that one.
> 
> That, and the naming.  See below.
I didn't see anything below about the naming issue.  What is the naming problem?



Comment 11 Dave Nomura 2008-06-23 23:48:33 UTC
> > > package meets naming and versioning guidelines.
> > > package builds in mock:
> > > http://koji.fedoraproject.org/koji/getfile?taskID=664952&name=build.log
I think the problem in the build was because configure didn't really work.
What kind OS was on your test machine?  I think the crux of the problem is in
the output from configure:
--------------------------------------------------------------------------
CPU = powerpc64, OS = linux-gnu, Vendor = redhat, HostType = powerpc64
--------------------------------------------------------------------------
ERROR: Platform powerpc64 not yet supported

On the fedora9 ppc machine I tried I got:
--------------------------------------------------------------------------
CPU = powerpc64, OS = linux-gnu, Vendor = redhat, HostType = powerpc
--------------------------------------------------------------------------

So, it is HostType=powerpc vs HostType=powerpc64.  On my machine I don't get
this configuration error.  

What does config.guess return on your machine?

On my Fedora9 ppc machine I get:
powerpc64-redhat-linux-gnu

which is the same thing I see in a RHEL5.2 ppc machine.

If you think that the configure script should be able to handle the
HostType=powerpc64, I can go ahead and patch the configure.in.

> > > package installs properly. (couldn't check)
> > > debuginfo package looks complete. (couldn't check)
> > > final provides and requires are sane (couldn't check)
> > > if shared libraries are present, make sure ldconfig is run
What does this mean by "couldn't check"? I was unable to do hardly any testing
on the fedora9 machine because I couldn't find compatible pieces like
binutils-devel since my machine is in ABAT.  I spent about a week some time ago
trying to get Fedora9-alpha installed from CDs on a ppc machine but never could
get it to work.

> 
> That, and the naming.  See below.
> 
What is the naming issue?

Comment 12 Josh Boyer 2008-06-24 02:31:10 UTC
(In reply to comment #11)
> > > > package meets naming and versioning guidelines.
> > > > package builds in mock:
> > > > http://koji.fedoraproject.org/koji/getfile?taskID=664952&name=build.log
> I think the problem in the build was because configure didn't really work.
> What kind OS was on your test machine?  

This was an official Fedora rawhide builder.

> I think the crux of the problem is in
> the output from configure:
> --------------------------------------------------------------------------
> CPU = powerpc64, OS = linux-gnu, Vendor = redhat, HostType = powerpc64
> --------------------------------------------------------------------------
> ERROR: Platform powerpc64 not yet supported
> 
> On the fedora9 ppc machine I tried I got:
> --------------------------------------------------------------------------
> CPU = powerpc64, OS = linux-gnu, Vendor = redhat, HostType = powerpc
> --------------------------------------------------------------------------
> 
> So, it is HostType=powerpc vs HostType=powerpc64.  On my machine I don't get
> this configuration error.  
> 
> What does config.guess return on your machine?

There were some changes in rawhide recently on this.  I'll see if I can dig up
the email thread.

> On my Fedora9 ppc machine I get:
> powerpc64-redhat-linux-gnu
> 
> which is the same thing I see in a RHEL5.2 ppc machine.

RHEL 5.x has no bearing here.  It's quite old compared to Fedora.

> If you think that the configure script should be able to handle the
> HostType=powerpc64, I can go ahead and patch the configure.in.

That might have been the solution, but I'll check.

> > > > package installs properly. (couldn't check)
> > > > debuginfo package looks complete. (couldn't check)
> > > > final provides and requires are sane (couldn't check)
> > > > if shared libraries are present, make sure ldconfig is run
> What does this mean by "couldn't check"? 

The package didn't build, so I couldn't check those items.  Looking at the spec
file, I don't expect any issues.

> I was unable to do hardly any testing
> on the fedora9 machine because I couldn't find compatible pieces like
> binutils-devel since my machine is in ABAT.  I spent about a week some time ago
> trying to get Fedora9-alpha installed from CDs on a ppc machine but never could
> get it to work.

Fedora 9 has been released for a month now.  Try using the Gold release, as
Alpha is very old and is known to have bugs.

> > That, and the naming.  See below.
> > 
> What is the naming issue?

Sorry, I should have been more clear.  I included the Release and Version fields
here.  If you do a CVS snapshot package, you'll need to fixup the Release and
Version fields appropriately.

Comment 14 Josh Boyer 2008-07-03 13:56:22 UTC
All of the review issues have been worked out with Dave in the above files.  I
consider this APPROVED.

Comment 15 Dave Nomura 2008-07-18 19:55:47 UTC
New Package CVS Request
=======================
Package Name: stapitrace
Short Description: user instruction tracing tool
Owners: dcnomura
Branches:
InitialCC: dcnomura
Cvsextras Commits: yes

Comment 16 Kevin Fenzi 2008-07-19 13:59:26 UTC
cvs done.

Comment 17 Dave Nomura 2008-08-03 15:24:39 UTC
Created attachment 313294 [details]
updates for Roland McGraths upgrade to utrace

Roland McGrath is upgrading utrace in Fedora10.  The attached tar file contains a src rpm, spec file, and patch file to upgrade Dpiperf/src/stap/usr_itrace.stp

This is based on a preliminary version of Roland's changes and has only had limited testing due to the need for uprobes (which also must be adapted for the new utrace)

Comment 18 Josh Boyer 2008-08-03 15:33:50 UTC
(In reply to comment #17)
> Created an attachment (id=313294) [details]
> updates for Roland McGraths upgrade to utrace
> 
> Roland McGrath is upgrading utrace in Fedora10.  The attached tar file contains
> a src rpm, spec file, and patch file to upgrade Dpiperf/src/stap/usr_itrace.stp
> 
> This is based on a preliminary version of Roland's changes and has only had
> limited testing due to the need for uprobes (which also must be adapted for the
> new utrace)

Just handle this in CVS at your leisure, or open a different bug for it.  The review is done and this bug should be closed out.

Comment 19 Maynard Johnson 2009-11-19 23:28:50 UTC
Package Change Request
======================
Package Name: stapitrace
New Branches: EL-5

Comment 20 Jason Tibbitts 2009-11-20 01:26:21 UTC
Could we get an ack from the current owner of this package?  He hasn't indicated any preference with respect to EPEL branches, so we can't just go ahead and create them.  The EPEL policy is at http://fedoraproject.org/wiki/Getting_a_Fedora_package_in_EPEL

Comment 21 Josh Boyer 2009-11-20 02:02:57 UTC
(In reply to comment #20)
> Could we get an ack from the current owner of this package? 

The fact that Maynard isn't listed as the primary package owner is an oversight.  He owns this for all intents and purposes and he is listed as a fully authorized co-maintainer on all branches.

He has my ACK to do whatever he wants with this.

Comment 22 Dennis Gilmore 2009-11-20 22:48:44 UTC
CVS Done