[Bug 606498] Review Request: hwloc - portable abstraction of hierarchical architectures

bugzilla at redhat.com bugzilla at redhat.com
Fri Jul 9 14:09:55 UTC 2010


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 at redhat.com> 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.



More information about the package-review mailing list