Please do not reply directly to this email. All additional comments should be made in the comments box of this bug. https://bugzilla.redhat.com/show_bug.cgi?id=606498 --- Comment #5 from Jiri Hladky <jhladky@xxxxxxxxxx> 2010-07-09 10:09:54 EDT --- Hi Mamoru, thanks a lot for looking into it! I have followed your advises and fixed the issues you have pointed out. Updated version can be downloaded here: Spec URL: http://jhladky.fedorapeople.org/hwloc.spec-18 MD5: 4c9fbaa104dd6106cbbb7386baa5dfec Spec URL: http://jhladky.fedorapeople.org/hwloc-1.0.1-18.fc12.src.rpm MD5: 16cfa71f386a3b27539d2ef25e047702 See my comments below: > Some initial comments: > > ? Release number > - By the way, why does the release number of your spec file > begin with 17 (instead of 1)? > I'm already using this package on RHEL systems. I had lots of building issues on RHEL4 because of faulty evolution28-cairo-devel rpm package. That's why Release number is so high. Sorry for it. > ! EPEL4 handling > - Well, as I don't have RHEL product, I don't care for EPEL handling. > However some notes: > * Maybe it is better that you create another spec file for EPEL4 only and > remove all %{?rhel} handling, because (Build)Requires are so different, > however this is not a blocker (however see below) Done. I have now standalone SPEC for RHEL4. I have dropped vector graphic support on RHEL4. Posted spec file is for Fedora, RHEL5 and RHEL6. > * Would you explain why > - You have disabled AutoReq That was only for RHEL4. I have removed it. (reason: broken evolution28-cairo-devel rpm package.) > - And why main package (hwloc) has some Requires for development-purpose > packages (i.e. has "Requires: foo-devel")? This seems strange because > on Fedora side you don't write such Requires. That was only for RHEL4. I have removed it. > * make build.log more verbose > - Currently build.log does not show how linkage between binaries is done > during compiling. > - Also for EPEL4 build, build.log shows like: > ------------------------------------------------------------ > + /usr/bin/make -j8 > Making all in src > make[1]: Entering directory `/builddir/build/BUILD/hwloc-1.0.1/src' > CC topology.lo > CC traversal.lo > CC topology-synthetic.lo > CC cpuset.lo > CC misc.lo > CC bind.lo > ------------------------------------------------------------ > From this we cannot check if compilation flags are honored correctly > or not. > Please add "V=1" to "make %{?_smp_mflags}" to make build.log more verbose. Done. >* Requires for -devel subpackage > - Would you check if Requires on -devel subpackage is needed, other than > libxml2-devel? > * Installed header files don't seem to require any of these, and the >installed > pkgconfig .pc file only requires libxml-2.0 (as Requires.private) > > ! Note > - On Fedora 12+, rpmbuild checks the dependencies on pkgconfig file and > "Requires: pkgconfig(libxml-2.0)" is automatically added to -devel >subpackage, > so (on Fedora) "Requires: libxml2-devel" for -devel subpackage is not > (explicitly) needed. I let now rpmbuild to decide about Requires. > * Macros > - Please use macros for standard directories, %{_prefix} for /usr, %{_bindir} > for /usr/bin: > https://fedoraproject.org/wiki/Packaging/RPMMacros > - and %{_prefix}/share should be %{_datadir} > - And please use macros consistently: > - If you use %{__rm}, %{__make} or so, please also use %{__sed}. > and both %{__rm} and rm are used, please choose one. Done. > * Timestamp > - When using cp or install command, also add "-p" option to keep timestamps > on installed files: > https://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps I have -p already in the spec file: %{__make} install DESTDIR=%{buildroot} INSTALL="%{__install} -p" Is anything wrong with the line above? > * Rpath handling > - So are you going to remove by this way instead of the following one? > (Note: not a blocker) > http://lists.fedoraproject.org/pipermail/packaging/2010-June/007187.html I have tried to use the solution proposed in the mailing thread above. However, there are some issues: 1) I'm not sure if I can do it for all archs - should I add conditional to do it only on x86_64? To be honest I don't know about ARM, MIPS, Parisc - are libraries on these archs stored at /usr/lib64 ?? https://fedoraproject.org/wiki/Architectures Therefore I would prefer to have a solution common for all archs. 2) rpmlint --verbose --info SPECS/hwloc.spec SPECS/hwloc.spec:42: E: hardcoded-library-path in /lib It's complaining about this line: %{__sed} -i.libdir_syssearch -e '/sys_lib_dlsearch_path_spec/s|/usr/lib |/usr/lib /usr/lib64 /lib /lib64|' configure Because of these issues I have stuck with solutions proposed at http://fedoraproject.org/wiki/RPath_Packaging_Draft > * Directory ownership issue > - %{_datadir}/%{name} itself is not owned by any packages. > - -devel subpackage need now own the directory I have fixed it by adding %dir %{_datadir}/%{name} to %files for hwloc package. > %{_defaultdocdir}/%{name}-%{version}, > this is already owned by main package and -devel subpackage depends on > main package. I have removed %dir %{_defaultdocdir}/%{name}-%{version} from %files section of hwloc-devel package. Please have a look at new spec file. Thanks a lot! Jirka -- Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ package-review mailing list package-review@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/package-review