Bug 240287
Summary: | Review Request: muParser - A fast math parser library | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Frank Büttner <bugzilla> |
Component: | pachi | Assignee: | Jason Tibbitts <j> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Package Reviews List <fedora-package-review> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | j, spacewar |
Target Milestone: | --- | Flags: | gwync:
fedora-cvs+
|
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2007-06-10 06:53:15 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: | |||
Bug Depends On: | |||
Bug Blocks: | 240373 |
Description
Frank Büttner
2007-05-16 10:42:58 UTC
A few issues I found: The compiler isn't called with the proper flags; I think it should suffice to call make like: make CXXFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} Loads of errors like the following: warning: File listed twice: /usr/share/doc/muParser/html which are due to the same directories being included multipe times in %files: %{_docdir}/%{name} %{_docdir}/%{name}/html %doc %{_docdir}/%{name}/html/* It looks like you probably want to do the following at the end of %install instead of copying the files into the buildroot: mv docs/html . And then you can just have %doc html in %files which gets all of the html documentation under /usr/share/doc/muParser-devel-1.27/html. Lots of rpmlint warnings: W: muParser wrong-file-end-of-line-encoding /usr/share/doc/muParser-1.27/License.txt And many others like it; these should be passed through tr or sed or dos2unix in to clean them up. E: muParser library-without-ldconfig-postin /usr/lib64/libmuparser.so.0.0.0 You need %post -p /sbin/ldconfig So fixed. The new URLs: SRPM: http://downloads.sourceforge.net/qsmartcard/muParser-1.27-2.fc6.src.rpm?use_mirror=osdn SPEC: http://downloads.sourceforge.net/qsmartcard/muParser.spec?use_mirror=osdn Looks much better; rpmlint now shows the following: E: muParser no-cleaning-of-buildroot %install Indeed, the buildroot isn't cleaned; you should have 'rm -rf $RPM_BUILD_ROOT' at the beginning of %install. W: muParser mixed-use-of-spaces-and-tabs (spaces: line 8, tab: line 1) Well, the Group: line is indented with spaces while the others are indented with tabs, but this warning is little more than annoyance. Fix it if you like. I note that the documentation indicates that pkgconfig files should be installed and a .pc file is created during the build, but I don't see it in the final package. I think this is because you don't call the install Makefile target, which contains: $(INSTALL_DATA) build/autoconf/muparser.pc $(libdir)/pkgconfig This needs to be installed as it's part of the expected API of the library. Review: * source files match upstream: b37a479257e5733f58011709b2640c01d5519645e6385426ce696d5fa1ff58bc muparser_v127.tar.gz * package meets naming and versioning guidelines. * specfile is properly named, is cleanly written and uses macros consistently. * summary is OK. * description is OK. * dist tag is present. * build root is OK. * license field matches the actual license. * license is open source-compatible. * license text included in package. * latest version is being packaged. * BuildRequires are proper. * compiler flags are appropriate. * %clean is present. * package builds in mock (development, x86_64). * package installs properly * debuginfo package looks complete. X rpmlint has a valid complaint. * final provides and requires are sane: libmuparser.so.0()(64bit) muParser = 1.27-2.fc7 = /sbin/ldconfig libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libmuparser.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) * %check is not present; no test suite upstream. * shared libraries installed; ldconfig called appropriately. * unversioned .so files are in the -devel package. * 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. * most documentation is in the -devel package. * %docs are not necessary for the proper functioning of the package. * headers are in the -devel package. * unversioned .so files are in the -devel package. X no pkgconfig files (but there should be) * no static libraries. * no libtool .la files. At me rpmlint don't show any warnings/error messages. Do you have take the spec file version 1.27-2? Yes, I do. The specfile here: http://downloads.sourceforge.net/qsmartcard/muParser.spec?use_mirror=osdn obviously does not clean the buildroot at the beginning of %install. It's trivial to see by inspection even without an rpmlint warning. So I have create an version with contains: %install rm -rf $RPM_BUILD_ROOT But after build, I don't get any rpmlint warnings. So I can't reproduce it. So now I have fix the pkgconfig problem. The new files: SPEC: http://downloads.sourceforge.net/qsmartcard/muParser.spec?use_mirror=osdn SRPM: http://downloads.sourceforge.net/qsmartcard/muParser-1.27-3.fc6.src.rpm?use_mirror=osdn OK, that's much better. The only remaining problem is that since you've added a pkgconfig file, the -devel subpackage now needs a depencency on pkgconfig. Anyway, you can fix that when you check in. APPROVED So I have modify the Requires of the devel package to: Requires: %{name} = %{version}-%{release} pkgconfig right so? Yes, just add a dependency on pkgconfig. You can do that on its own line: Requires: pkgconfig or on the same line as another dependency as you have shown in comment #9. Ok, here the new packages. SPEC: http://downloads.sourceforge.net/qsmartcard/muParser.spec?use_mirror=osdn SRPM: http://downloads.sourceforge.net/qsmartcard/muParser-1.27-4.fc6.src.rpm?use_mirror=osdn Yes, that's fine. I already approved this package, so you can make your CVS request whenever you're ready. New Package CVS Request ======================= Package Name: muParser Short Description: A fast math parser library Owners: frank-buettner Branches: FC-5 FC-6 F-7 InitialCC: frank-buettner CVS done. So imported and build. Package Change Request ====================== Package Name: muParser New Branches: EL-4 EL-5 cvs branch done. Package Change Request ====================== Package Name: muParser New Branches: epel7 Owners: brouhaha Git done (by process-git-requests). |