Spec URL: http://people.redhat.com/jolsa/latrace/latrace.spec SRPM URL: http://people.redhat.com/jolsa/latrace/latrace-0.5.5-1.fc10.src.rpm Description: This is my first package so I need a sponsor. latrace allows you to trace library calls and get their statistics in a manner similar to the strace utility (syscall tracing) - display dynamic library functions as they are called - fast, using callbacks directly from dynamic loader (LD_AUDIT feature) - display function arguments (C style config file) - display statistics for called functions - x86/x86_64/ARM ports - extensive man page doc - http://latrace.sourceforge.net/ - http://latrace.sourceforge.net/latrace.html - http://www.kernel.org/doc/man-pages/online/pages/man7/rtld-audit.7.html
some notes - tool name shouldn't be repeated in summary (e.g. LD_AUDIT feature frontend for glibc 2.4+), but IMHO it should be description - license tag should be GPLv3+, because you have "GPLv3 or any later version" in the sources - s/dl/download/ in the URL tag (https://fedoraproject.org/wiki/Packaging:SourceURL#Sourceforge.net) - at least bison, asciidoc and xmlto are missing in the BuildRequires - you should try building the package in mock to find all the BRs - run make with V=1 in %build, options passed to gcc must be visible - doesn't build in Rawhide, I get an error ... Note: Writing latrace.1 ASCIIDOC doc/latrace.html ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11.css ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11-manpage.css ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11-quirks.css make: *** [doc/latrace.html] Error 1 chyba: Špatný návratový kód z /var/tmp/rpm-tmp.q7Pndh (%install) chyby sestavení RPM: ... - 32-bit Intel platform should be encoded as "%{ix86}" in the ExclusiveArch tag and ARM in lowercase - don't mark the man page as %doc Increase the release in next published iteration of the package if the version remains the same.
made updates based on comments, new spec file and sources are uploaded: Spec URL: http://people.redhat.com/jolsa/latrace/latrace.spec SRPM URL: http://people.redhat.com/jolsa/latrace/latrace-0.5.5-2.fc11.src.rpm
formal review is here, see the notes below: BAD source files match upstream: OK package meets naming and versioning guidelines. OK specfile is properly named, is cleanly written and uses macros consistently. OK dist tag is present. OK license field matches the actual license. OK license is open source-compatible (GPLv3+). License text included in package. OK latest version is being packaged. OK BuildRequires are proper. OK compiler flags are appropriate. OK %clean is present. OK package builds in mock (Rawhide/x86_64). OK debuginfo package looks complete. BAD rpmlint is silent. OK final provides and requires look sane. N/A %check is present and all tests pass. OK no shared libraries are added to the regular linker search paths. OK owns the directories it creates. OK doesn't own any directories it shouldn't. OK no duplicates in %files. BAD file permissions are appropriate. OK correct scriptlets present. OK code, not content. OK documentation is small, so no -docs subpackage is necessary. OK %docs are not necessary for the proper functioning of the package. OK no headers. OK no pkgconfig files. OK no libtool .la droppings. OK not a GUI app. - source archives differs - a newer one is packaged in srpm, you should never change a publicly released archive, but release a new one with increased version - rpmlint complains a bit: latrace.src: W: no-version-in-last-changelog latrace.x86_64: W: no-version-in-last-changelog - https://fedoraproject.org/wiki/Packaging/Guidelines#Changelogs latrace.x86_64: W: no-soname /usr/lib64/libltaudit.so - can be ignored here latrace.x86_64: W: shared-lib-calls-exit /usr/lib64/libltaudit.so exit.5 - hint when rpmlint is run with "-i" This library package calls exit() or _exit(), probably in a non-fork() context. Doing so from a library is strongly discouraged - when a library function calls exit(), it prevents the calling program from handling the error, reporting it to the user, closing files properly, and cleaning up any state that the program has. It is preferred for the library to return an actual error code and let the calling program decide how to handle the situation. - requires a comment why this is correct latrace.x86_64: E: non-standard-executable-perm /usr/bin/latrace 0555 latrace.x86_64: E: non-standard-executable-perm /usr/lib64/libltaudit.so 0555 - should be 0755 - config files in /etc should be writable by owner (0644)
(In reply to comment #3) > formal review is here, see the notes below: > > BAD source files match upstream: > OK package meets naming and versioning guidelines. > OK specfile is properly named, is cleanly written and uses macros consistently. > OK dist tag is present. > OK license field matches the actual license. > OK license is open source-compatible (GPLv3+). License text included in > package. > OK latest version is being packaged. > OK BuildRequires are proper. > OK compiler flags are appropriate. > OK %clean is present. > OK package builds in mock (Rawhide/x86_64). > OK debuginfo package looks complete. > BAD rpmlint is silent. > OK final provides and requires look sane. > N/A %check is present and all tests pass. > OK no shared libraries are added to the regular linker search paths. > OK owns the directories it creates. > OK doesn't own any directories it shouldn't. > OK no duplicates in %files. > BAD file permissions are appropriate. > OK correct scriptlets present. > OK code, not content. > OK documentation is small, so no -docs subpackage is necessary. > OK %docs are not necessary for the proper functioning of the package. > OK no headers. > OK no pkgconfig files. > OK no libtool .la droppings. > OK not a GUI app. > > - source archives differs - a newer one is packaged in srpm, you should never > change a publicly released archive, but release a new one with increased > version > - rpmlint complains a bit: > latrace.src: W: no-version-in-last-changelog > latrace.x86_64: W: no-version-in-last-changelog > - https://fedoraproject.org/wiki/Packaging/Guidelines#Changelogs fixed > latrace.x86_64: W: no-soname /usr/lib64/libltaudit.so > - can be ignored here fixed > latrace.x86_64: W: shared-lib-calls-exit /usr/lib64/libltaudit.so > exit.5 > - hint when rpmlint is run with "-i" > This library package calls exit() or _exit(), probably in a non-fork() > context. Doing so from a library is strongly discouraged - when a library > function calls exit(), it prevents the calling program from handling the > error, reporting it to the user, closing files properly, and cleaning up any > state that the program has. It is preferred for the library to return an > actual error code and let the calling program decide how to handle the > situation. > - requires a comment why this is correct it is in the flex code.. YY_FATAL_ERROR define defaults to yy_fatal_error function, which calls exit. So far I can see 2 options: - either leave it as it is, ending up in the program exit due to the fatal cond., - or redefine YY_FATAL_ERROR to notify user without exit, but this ends with segfault.. currently I'd rather leave it as it is > > latrace.x86_64: E: non-standard-executable-perm /usr/bin/latrace 0555 > latrace.x86_64: E: non-standard-executable-perm /usr/lib64/libltaudit.so 0555 > - should be 0755 > - config files in /etc should be writable by owner (0644) fixed new spec file and sources are uploaded: Spec URL: http://people.redhat.com/jolsa/latrace/latrace.spec SRPM URL: http://people.redhat.com/jolsa/latrace/latrace-0.5.6-1.fc11.src.rpm
Should this obsolete ltrace? Maybe I'm confused as to the usage case overlap here.
Well, ltrace is able to display system calls also, which latrace is not, as it is a pure glibc LD_AUDIT frontend. The justification for the latrace usage should be probably the speed.. it should be far more faster then ltrace, since it uses callbacks directly from the glibc dynamic linker. for latrace usage plz see links on http://latrace.sourceforge.net/doc.shtml
All issues are fixed OK source files match upstream: 03953b3b97ef32f5b279071c60426ce2eeb3ca53 latrace-0.5.6.tar.bz2 OK rpmlint is silent. OK file permissions are appropriate. this package is APPROVED.
New Package CVS Request ======================= Package Name: latrace Short Description: LD_AUDIT feature frontend for glibc 2.4+ Owners: jolsa Branches: F11 InitialCC:
cvs done.
I see no build for this package. Bug assigned to the reviewer.
I haven't make it so far due to lack of time.. I'll provide within a week
Closing, the package is imported and built.
Package Change Request ====================== Package Name: latrace New Branches: EPEL Owners: jolsa I'd like to provide latrace in EPEL to be available in RHEL5. I'm the upstream/fedora/RHEL6 pkg maintainer. thanks, jirka
Package Change Request ====================== Package Name: latrace New Branches: EL-5 Owners: jolsa I'd like to provide latrace in EPEL to be available in RHEL5. I'm the upstream/fedora/RHEL6 pkg maintainer. thanks, jirka