Bug 489751 (btanks)
| Summary: | Review Request: btanks - Funny battle game with tanks | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Alexey Torkhov <atorkhov> |
| Component: | Package Review | Assignee: | Peter Lemenkov <lemenkov> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | fedora-package-review, lemenkov, notting |
| Target Milestone: | --- | Flags: | lemenkov:
fedora-review+
kevin: fedora-cvs+ |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | 0.8.7686-8.fc9 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2009-03-18 18:55:29 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: | 496433 | ||
|
Description
Alexey Torkhov
2009-03-11 17:21:50 UTC
I'll review it. Notes: > %patch0 -p1 Add postfix. E.g. you should invoke %patch in the following way: %patch0 -p1 -b .some_descriptive_postfix > dos2unix -k *.txt ChangeLog *.url LICENSE EXCEPTION Consider using sed -i 's|\r||g' instead (just to avoid dos2unix as a BR). > iconv -f latin1 -t utf-8 EXCEPTION > EXCEPTION.new touch -r EXCEPTION EXCEPTION.new mv -f EXCEPTION.new EXCEPTION This piece of spec (and similar ones) is not fail-safe. You should change it to something like this: iconv -f latin1 -t utf-8 EXCEPTION > EXCEPTION.new && touch -r EXCEPTION EXCEPTION.new && mv -f EXCEPTION.new EXCEPTION Also, you should use some bash syntax sugar: "mv -f EXCEPTION.new EXCEPTION" == "mv -f EXCEPTION{.new,}" "touch -r EXCEPTION EXCEPTION.new" == "touch -r EXCEPTION{,.new}" > %files ... %{_libdir}/*.so This is not a blocker, actually, but I believe, that dlopened objects should be in a proper subdir in %_libdir (for example %{_libdir}/%{name} ). However, there are many exceptions (unixODBC, tcl/tk among them), who stores their *so-libraries in %_libdir. Spec URL: http://atorkhov.fedorapeople.org/btanks.spec SRPM URL: http://atorkhov.fedorapeople.org/btanks-0.8.7686-2.fc10.src.rpm * Tue Mar 17 2009 Alexey Torkhov <atorkhov> - 0.8.7686-3 - Add patch backups - Simplify scripts a bit - Move libs to -libs subpackage to ensure better work in multilib environment - Cleanier remove-smpeg patch (In reply to comment #2) > > %patch0 -p1 > > Add postfix. E.g. you should invoke %patch in the following way: > > %patch0 -p1 -b .some_descriptive_postfix I'm wondering why those backups are needed? I never found it useful. Anyway, fixed. > > dos2unix -k *.txt ChangeLog *.url LICENSE EXCEPTION > > Consider using sed -i 's|\r||g' instead (just to avoid dos2unix as a BR). No, I don't want to do it. Dos2unix is tiny and useful. Otherwise, I had to do touch to save timestamps. > > iconv -f latin1 -t utf-8 EXCEPTION > EXCEPTION.new > touch -r EXCEPTION EXCEPTION.new > mv -f EXCEPTION.new EXCEPTION > > This piece of spec (and similar ones) is not fail-safe. You should change it > to something like this: > > iconv -f latin1 -t utf-8 EXCEPTION > EXCEPTION.new && touch -r EXCEPTION > EXCEPTION.new && mv -f EXCEPTION.new EXCEPTION Those pieces are equivalent, as script are executed under -e shell option and it will exit after first command that fails. > Also, you should use some bash syntax sugar: > > "mv -f EXCEPTION.new EXCEPTION" == "mv -f EXCEPTION{.new,}" > "touch -r EXCEPTION EXCEPTION.new" == "touch -r EXCEPTION{,.new}" Fixed. > > %files > ... > %{_libdir}/*.so > > This is not a blocker, actually, but I believe, that dlopened objects should > be in a proper subdir in %_libdir (for example %{_libdir}/%{name} ). However, > there are many exceptions (unixODBC, tcl/tk among them), who stores their > *so-libraries in %_libdir. Actually, that is how it is made now - btanks and bted are linked against libs under %{_libdir} (check ldd), but dlopen'ed libbt_objects plugin is in %{_libdir}/%{name}. Spec URL: http://atorkhov.fedorapeople.org/btanks.spec SRPM URL: http://atorkhov.fedorapeople.org/btanks-0.8.7686-4.fc10.src.rpm * Tue Mar 17 2009 Alexey Torkhov <atorkhov> - 0.8.7686-4 - Split data to subpackage instead of libs Also, running ldconfig. Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=1246013 Spec URL: http://atorkhov.fedorapeople.org/btanks.spec SRPM URL: http://atorkhov.fedorapeople.org/btanks-0.8.7686-5.fc10.src.rpm * Tue Mar 17 2009 Alexey Torkhov <atorkhov> - 0.8.7686-5 - Add license for libraries Please, fix - use full patch for Source0.
REVIEW:
- rpmlint is not silent:
[petro@host-12-116 Desktop]$ rpmlint btanks-*rpm
btanks.i386: W: no-soname /usr/lib/libclunk.so
btanks.i386: W: shared-lib-calls-exit /usr/lib/libclunk.so exit
btanks.i386: W: no-soname /usr/lib/libsdlx.so
btanks.i386: W: no-soname /usr/lib/libbt.so
btanks.i386: W: shared-lib-calls-exit /usr/lib/libbt.so exit
btanks.i386: W: no-soname /usr/lib/libmrt.so
btanks-data.i386: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 7 warnings.
[petro@host-12-116 Desktop]$
+ The package is named according to the Package Naming Guidelines .
+ The spec file name matches the base package %{name}, in the format %{name}.spec
+ The package meets the Packaging Guidelines .
+ The package is licensed with a Fedora approved license and meets the Licensing Guidelines .
+ The License field in the package spec file matchуы the actual license.
+ The text of the license(s) is included in %doc.
+ The spec file is written in American English.
+ The spec file for the package is legible.
+ The sources used to build the package matches the upstream source, as provided in the spec URL.
[petro@host-12-116 Desktop]$ md5sum btanks-0.8.7686.tar.bz2*
f5e4076e8562f4ad54fefeceaa37870d btanks-0.8.7686.tar.bz2
f5e4076e8562f4ad54fefeceaa37870d btanks-0.8.7686.tar.bz2.from_srpm
[petro@host-12-116 Desktop]$
+ The package successfully compiles and builds into binary rpms on at least one primary architecture.
+ All build dependencies are listed in BuildRequires.
+ The package calls ldconfig in %post and %postun.
+ A package owns all directories that it creates.
+ Doesn't contain files, listed more than once in the spec file's %files listings.
+ Permissions on files are set properly.
+ The package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
+ The package consistently uses macros.
+ The package contains code, or permissable content.
+ No large documentation files
+ Everything, the package includes as %doc, does not affect the runtime of the application.
+ No header files
+ No static libraries
+ No pkgconfig(.pc) files
+ The package does not contain any .la libtool archives
+ The package includes a %{name}.desktop file
- The %{name}.desktop file must be properly installed with desktop-file-install in the %install section. If you feel that your packaged GUI application does not need a .desktop file, you must put a comment in the spec file with your explanation.
+ The package does not own files or directories already owned by other packages.
+ At the beginning of %install, the package runs rm -rf %{buildroot} (or $RPM_BUILD_ROOT). [25]
+ All filenames in rpm packages are valid UTF-8.
Ok, here are my final notes:
* please fix Source0,
* fix spec to properly install desktop-file
* please, comment the above rpmlint warnings.
Spec URL: http://atorkhov.fedorapeople.org/btanks.spec SRPM URL: http://atorkhov.fedorapeople.org/btanks-0.8.7686-6.fc10.src.rpm * Tue Mar 17 2009 Alexey Torkhov <atorkhov> - 0.8.7686-6 - Fixed source url - Properly installing desktop files > - rpmlint is not silent: > btanks.i386: W: no-soname /usr/lib/libclunk.so > btanks.i386: W: no-soname /usr/lib/libsdlx.so > btanks.i386: W: no-soname /usr/lib/libbt.so > btanks.i386: W: no-soname /usr/lib/libmrt.so Those libraries are unversioned and thus are missing soname. > btanks.i386: W: shared-lib-calls-exit /usr/lib/libclunk.so exit > btanks.i386: W: shared-lib-calls-exit /usr/lib/libbt.so exit Eh... that is how those libraries are written upstream. > btanks-data.i386: W: no-documentation No need to duplicate documentation in subpackage. Spec URL: http://atorkhov.fedorapeople.org/btanks.spec SRPM URL: http://atorkhov.fedorapeople.org/btanks-0.8.7686-7.fc10.src.rpm * Tue Mar 17 2009 Alexey Torkhov <atorkhov> - 0.8.7686-7 - Add forgotten desktop-file-utils build requires Spec URL: http://atorkhov.fedorapeople.org/btanks.spec SRPM URL: http://atorkhov.fedorapeople.org/btanks-0.8.7686-7.fc10.src.rpm * Tue Mar 17 2009 Alexey Torkhov <atorkhov> - 0.8.7686-7 - Add forgotten desktop-file-utils build requires - Fixing bad BuildRoot Ok, all issues mentioned above, has been resolved (or, at least, commented), so this package is APPROVED New Package CVS Request ======================= Package Name: btanks Short Description: Funny battle game with tanks Owners: atorkhov Branches: F-9 F-10 InitialCC: cvs done. btanks-0.8.7686-8.fc9 has been submitted as an update for Fedora 9. http://admin.fedoraproject.org/updates/btanks-0.8.7686-8.fc9 btanks-0.8.7686-8.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/btanks-0.8.7686-8.fc10 btanks-0.8.7686-8.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report. btanks-0.8.7686-8.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report. |