Bug 657040
Summary: | Review Request: tudu - A simple, command line interface to do list application | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | eric | ||||||
Component: | Package Review | Assignee: | Kevin Fenzi <kevin> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | rawhide | CC: | fedora-package-review, nelsoninva, notting, pikachu.2014, pingou | ||||||
Target Milestone: | --- | Flags: | kevin:
fedora-review+
j: fedora-cvs+ |
||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | tudu-0.7-2.fc14 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2010-11-29 18:19:03 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
eric
2010-11-24 18:25:46 UTC
This is a cute little package, and I was thinking of packaging it up... since you beat me to it, I'll go ahead and review. ;) Look for a full review in a bit. Package Review ============== Key: - = N/A x = Check ! = Problem ? = Not evaluated === REQUIRED ITEMS === [x] Package is named according to the Package Naming Guidelines. [1] [x] Spec file name must match the base package %{name}, in the format %{name}.spec. [x] Spec file is legible and written in American English. [x] Spec file lacks Packager, Vendor, PreReq tags. [x] Spec uses macros instead of hard-coded directory names. [x] Package consistently uses macros. [x] Macros in Summary, %description expandable at SRPM build time. [x] PreReq is not used. [x] Requires correct, justified where necessary. [x] All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [2] [x] Buildroot is correct (%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)). [x] Package run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) and the beginning of %install. [x] Package use %makeinstall only when ``make install DESTDIR=...'' doesn't work. [x] Package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). [x] Changelog in prescribed format. [!] Rpmlint output is silent. [ ] License field in the package spec file matches the actual license. [x] If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [x] License file installed when any subpackage combination is installed. [x] Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [3,4] [x] Sources contain only permissible code or content. [x] Sources used to build the package matches the upstream source, as provided in the spec URL. 30c2a568ce9e0e5a0fe30746caa3c290 tudu-0.7.tar.gz 30c2a568ce9e0e5a0fe30746caa3c290 tudu-0.7.tar.gz.orig [!] Compiler flags are appropriate. [!] %build honors applicable compiler flags or justifies otherwise. [x] Package must own all directories that it creates. [x] Package does not own files or directories owned by other packages. [x] Package requires other packages for directories it uses. [x] Package does not contain duplicates in %files. [x] Permissions on files are set properly. [x] Each %files section contains %defattr. [x] No %config files under /usr. [x] %config files are marked noreplace or the reason is justified. [x] Package contains code, or permissable content. [x] File names are valid UTF-8. [x] Package uses nothing in %doc for runtime. [x] Package contains no bundled libraries. [x] Rpath absent or only used for internal libs. [x] Package does not genrate any conflict. [x] Package does not contains kernel modules. [x] Package is not relocatable. [x] Package successfully compiles and builds into binary rpms on at least one supported architecture. [x] Package is not known to require ExcludeArch. [x] Package installs properly. [x] Package obeys FHS, except libexecdir and /usr/target. [x] Package meets the Packaging Guidelines. [6] === SUGGESTED ITEMS === [x] Package functions as described. [x] Latest version is packaged. [x] SourceX is a working URL. [x] SourceX / PatchY prefixed with %{name}. [x] Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [x] Reviewer should test that the package builds in mock. [x] Package should compile and build into binary rpms on all supported architectures. [x] Dist tag is present. [x] No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x] Man pages included for all executables. [!] Uses parallel make. === Issues === 1. rpmlint says: tudu-debuginfo.x86_64: E: debuginfo-without-sources 3 packages and 0 specfiles checked; 1 errors, 0 warnings. debuginfo-without-sources: This debuginfo package appears to contain debug symbols but no source files. This is often a sign of binaries being unexpectedly stripped too early during the build, or being compiled without compiler debug flags (which again often is a sign of distro's default compiler flags ignored which might have security consequences), or other compiler flags which result in rpmbuild's debuginfo extraction not working as expected. Verify that the binaries are not unexpectedly stripped and that the intended compiler flags are used. Looks like the default compiler flags are not being used here. ;( 2. Does %{?_smp_mflags} work here? If so, might be nice to use it. Why is it that all the problems are going to crop up in the one file I forgot to check? I added %{?_smp_mflags} onto the "make" in the %build but it didn't seem to fix the problem. I've uploaded the new SPEC and SRPM to the original URLs if you'd like to look at them. I'll look at this more tomorrow when I'm more awake. Thanks for taking the review! I'd also note a couple of items related to locations of tudurc and welcome xml. I downloaded and installed the package from the SPRM linked above. And, then: [knelson@zonker x86_64]$ tudu Err: Global config does not exist. The config should be /usr/local/etc/tudurc Symlinking tudurc to /usr/local/etc, and then: [knelson@zonker x86_64]$ tudu Err: Welcome file does not exist. It should be /usr/local/share/tudu/welcome.xml Another symlink, and all's well in tudu-land. I'll be glad to see this package in Fedora! -k- Created attachment 462943 [details]
tudu makefile patch for config file locations
Patch for the configuration files relocation..
Created attachment 462945 [details]
Specfile patch to use the Makefile patch
A patch to the in-process specfile to use the Makefile patch previously submitted. Tread gently; my enthusiasm often exceeds my talent..
-k-
Thanks for catching that Ken! ;) Eric: You are going to have to patch src/Makefile it looks like to setup the cflags right. ;( I added the patch and applied the patch to the SPEC. Still have the same problem with the debug file: tudu-debuginfo.i686: E: debuginfo-without-sources The Makefile under src in the tarball needs to be patched. My effort is rather ham-fisted, but succeeds in quieting rpmlint on the debug package. I applied this patch(Patch1) to src/Makefile: diff --git a/Makefile b/Makefile index 4a139fc..504854c 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ PROG=tudu SRCS=tudu.cc data.cc editor.cc interface.cc window.cc text.cc parser.cc SRCS+= config.cc date.cc screen.cc sched.cc cmd.cc CXX=g++ -CFLAGS=-Wall -O2 -DSHARE_DIR=\"$(SHARE_DIR)\" -DETC_DIR=\"$(ETC_DIR)\" +CFLAGS+= -DSHARE_DIR=\"$(SHARE_DIR)\" -DETC_DIR=\"$(ETC_DIR)\" OBJS=$(SRCS:.cc=.o) And then changed the prep section in the specfile to look like this: %prep %setup -q %patch0 -p1 pushd src %patch1 -p1 sed -i -e "1 i \ CFLAGS=%{optflags} " Makefile popd --- And, after an rpmbuild, I have: [knelson@zonker SPECS]$ rpmlint /home/knelson/rpmbuild/RPMS/x86_64/tudu-debuginfo-0.7-2.fc14.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. which is the desired result. I have zero doubt that there are vastly better ways to change the Makefile than my clumsy attempt outlined above; I look forward to seeing what those ways are, so I can further my education. -k- (In reply to comment #9) Awesome work. Would you like to co-maintain this package? :) rpmlint is happy: [christensene@mini rpmbuild]$ rpmlint SPECS/tudu.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. [christensene@mini rpmbuild]$ rpmlint SRPMS/tudu-0.7-1.fc14.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. [christensene@mini rpmbuild]$ rpmlint RPMS/i686/tudu-0.7-1.fc14.i686.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. [christensene@mini rpmbuild]$ rpmlint RPMS/i686/tudu-debuginfo-0.7-1.fc14.i686.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. And the package installs and runs without any problems. (In reply to comment #10) > (In reply to comment #9) > > Awesome work. Would you like to co-maintain this package? :) > I have no sponsor, or mentor, or whatever it's called. I don't know beans about the Fedora packaging mechanism, which I'm sure differs substantially from that on my Lenovo laptop ;) Having said that, I'd be delighted to help. That enthusiasm > talent thing that I have. -k- Eric: Care to post a final package with all the changes and changelogs, then we can finish this up. ;) SPEC: http://sparks.fedorapeople.org/Packages/tudu/tudu.spec SRPM: http://sparks.fedorapeople.org/Packages/tudu/tudu-0.7-2.fc14.src.rpm ok, I don't see any further blockers here... You should contact upstream about the Makefile changes here and ask them to fix things so you don't need patches moving forward. :) This package is APPROVED. New Package SCM Request ======================= Package Name: tudu Short Description: A simple, command line interface to do list application Owners: sparks Branches: f13 f14 InitialCC: (In reply to comment #13) > SPEC: http://sparks.fedorapeople.org/Packages/tudu/tudu.spec > > SRPM: http://sparks.fedorapeople.org/Packages/tudu/tudu-0.7-2.fc14.src.rpm Just tried it out. Works great! -k- Git done (by process-git-requests). tudu-0.7-2.fc13 has been submitted as an update for Fedora 13. https://admin.fedoraproject.org/updates/tudu-0.7-2.fc13 tudu-0.7-2.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/tudu-0.7-2.fc14 Package Change Request ====================== Package Name: tudu New Branches: el5 el6 Owners: sparks InitialCC: Git done (by process-git-requests). tudu-0.7-2.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report. tudu-0.7-2.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report. |