Fedora Merge Review: pyparted http://cvs.fedora.redhat.com/viewcvs/devel/pyparted/ Initial Owner: dcantrell
I am planning on reviewing this one, but I have a few questions/suggestions, before doing an official full review: - rpmlint has a couple of complaints on the src.rpm: W: pyparted no-url-tag W: pyparted mixed-use-of-spaces-and-tabs (spaces: line 4, tab: line 27) The "no-url-tag" is of course propagated to the binary rpms, too. Maybe you could fix those? - I notice CFLAGS is explicitely set : export CFLAGS="-fPIC -O2 -g2" If there is a good reason to override the default compiler options (including the -fortify and so on), please be as kind as to explain it. - SMP flags are not used; if their usage breaks compilation, please state that in the spec, otherwise please use them - The theory says that %makeinstall should be avoided, if possible. I assume it is a must in this case? If so, could you please add a comment in the spec, to make it clear ? - I suggest adding AUTHORS and Changelog to the list of files, so that we know who to bug in case of trouble :)
(In reply to comment #1) > I am planning on reviewing this one, but I have a few questions/suggestions, > before doing an official full review: > > - rpmlint has a couple of complaints on the src.rpm: > W: pyparted no-url-tag Fixed. > W: pyparted mixed-use-of-spaces-and-tabs (spaces: line 4, tab: line 27) Fixed. > - I notice CFLAGS is explicitely set : > export CFLAGS="-fPIC -O2 -g2" > If there is a good reason to override the default compiler options (including > the -fortify and so on), please be as kind as to explain it. There is no good reason. Holdover from old old spec file. Removed. > - SMP flags are not used; if their usage breaks compilation, please state that > in the spec, otherwise please use them Fixed. > - The theory says that %makeinstall should be avoided, if possible. I assume it > is a must in this case? If so, could you please add a comment in the spec, to > make it clear ? Fixed. > - I suggest adding AUTHORS and Changelog to the list of files, so that we know > who to bug in case of trouble :) Fixed. Made a note in the AUTHORS file to use bugzilla.redhat.com to report bugs.
I'd say something is still wrong. Here is a snap from the build log in mock: Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.37848 + umask 022 + cd /builddir/build/BUILD + cd pyparted-1.8.6 + LANG=C + export LANG + unset DISPLAY + /usr/bin/make gcc -O2 -Wall -g -I/usr/include/python2.5 -I. -fPIC -c -o partedmodule.o partedmodule.c gcc -O2 -Wall -g -I/usr/include/python2.5 -I. -fPIC -c -o pyconstraint.o pyconstraint.c gcc -O2 -Wall -g -I/usr/include/python2.5 -I. -fPIC -c -o pydevice.o pydevice.c gcc -O2 -Wall -g -I/usr/include/python2.5 -I. -fPIC -c -o pydisk.o pydisk.c gcc -O2 -Wall -g -I/usr/include/python2.5 -I. -fPIC -c -o pyexception.o pyexception.c gcc -O2 -Wall -g -I/usr/include/python2.5 -I. -fPIC -c -o pyfilesystem.o pyfilesystem.c gcc -O2 -Wall -g -I/usr/include/python2.5 -I. -fPIC -c -o pygeometry.o pygeometry.c make: pkg-config: Command not found gcc -O2 -Wall -g -I/usr/include/python2.5 -I. -fPIC -o partedmodule.so -shared partedmodule.o pyconstraint.o pydevice.o pydisk.o pyexception.o pyf ilesystem.o pygeometry.o + exit 0 It looks like standard compiler flags are not used. Could you please check ?
Should be fixed now.
============== Key: - = N/A x = Check ! = Problem ? = Not evaluated === REQUIRED ITEMS === [x] Buildroot is correct (%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)) [!] Rpmlint output: Source RPM: E: pyparted no-cleaning-of-buildroot %install pyparted-debuginfo & pyparted: no output [x] Package is named according to the Package Naming Guidelines. [x] Spec file name must match the base package %{name}, in the format %{name}.spec. [x] Package meets the Packaging Guidelines. [x] Package is licensed with an open-source compatible license and meet other legal requirements as defined in the legal section of Packaging Guidelines. [x] License field in the package spec file matches the actual license. License type:GPL [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] Spec file is written in American English. See also note 2&3 below [x] Spec file for the package is legible. [x] Sources used to build the package matches the upstream source, as provided in the spec URL. SHA1SUM of package: f431a4e84a7a5671c1ed653c99d25a89c9acbf8d pyparted-1.8.6.tar.bz2 [x] Package successfully compiles and builds into binary rpms on at least one supported architecture. Tested on:devel/x86_64 [x] Package is not known to require ExcludeArch, OR: Arches excluded: - Why: - [!] All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. See below issue #3 [-] The spec file handles locales properly. [-] ldconfig called in %post and %postun if required. [x] Package is not relocatable. [x] Package must own all directories that it creates. [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] Package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). [x] Package consistently uses macros. [x] Package contains code, or permissable content. [-] Large documentation files are in a -doc subpackage, if required. [-] Package uses nothing in %doc for runtime. [-] Header files in -devel subpackage, if present. [-] Static libraries in -devel subpackage, if present. [!] Package requires pkgconfig, if .pc files are present. See below under issue #3 [x] Development .so files in -devel subpackage, if present. [-] Fully versioned dependency in subpackages, if present. [x] Package does not contain any libtool archives (.la). [-] Package contains a properly installed %{name}.desktop file if it is a GUI application. [x] Package does not own files or directories owned by other packages. === SUGGESTED ITEMS === [x] Package does not include license text files separate from upstream. [-] Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x] Reviewer should test that the package builds in mock. Tested on: devel, x86_64 and i386 [x] Package should compile and build into binary rpms on all supported architectures. Tested on: devel, x86_64 and i386 [x] Package functions as described. [-] Scriptlets must be sane, if used. [-] The placement of pkgconfig(.pc) files are correct. [x] File based requires are sane. [x] Latest version is packaged. === Issues === 1. Please add back the "rm -fR buildroot" line in %install, looks like it was deleted by accident when editing the make line 2. The description tag says "it is used for manipulation partition tables". I am not a native English speaker, but to me it looks like a cat has eaten a word. I suggest "[...] used for manipulation of partition tables" or "[...] used for manipulating partition tables" 3. The Summary field says "python module for..." while the Desc field starts with "python modules for". How about sticking with either singular (module) or plural (modules) ? 4. The makefile mentions the need of pkg-config since version 1.8.3. However there is no .pc file and the spurious call to pkg-config (via LDFLAGS) leads to an error message in the build log. I suggest either using the already existing Makefile patch to remove the call to pkg-config or requiring pkg-config if the .pc will come back.
David, the current releases (both 1.8.6-2 in the CVS, as well as 1.8.5-4 in rawhide) still lack the "rm -fR buildroot" line in %install.
Whoops. Looks like I made the fix, but never built it in to rawhide. Done in pyparted-1.8.7-1 Thanks.
APPROVED. David, please consider my suggestions from the end of comment #5 before building in rawhide.
(In reply to comment #5) > 1. Please add back the "rm -fR buildroot" line in %install, looks like it was > deleted by accident when editing the make line Done. > 2. The description tag says "it is used for manipulation partition tables". I am > not a native English speaker, but to me it looks like a cat has eaten a word. I > suggest "[...] used for manipulation of partition tables" or "[...] used for > manipulating partition tables" Done. It's 'manipulating partition tables'. > 3. The Summary field says "python module for..." while the Desc field starts > with "python modules for". How about sticking with either singular (module) or > plural (modules) ? Done. It's 'Python module'. > 4. The makefile mentions the need of pkg-config since version 1.8.3. However > there is no .pc file and the spurious call to pkg-config (via LDFLAGS) leads to > an error message in the build log. I suggest either using the already existing > Makefile patch to remove the call to pkg-config or requiring pkg-config if the > .pc will come back. The pkgconfig file is there. I've added a BuildRequire for pkgconfig. New version is pyparted-1.8.8-1.
david, please consider closing this bug when you have 30 seconds to spare