https://bugzilla.redhat.com/show_bug.cgi?id=1020088



--- Comment #3 from Zbigniew Jędrzejewski-Szmek <zbys...@in.waw.pl> ---
(In reply to Thibault North from comment #2)
> About that, why are the files duplicated in this case? I don't remember
> having met this issue in the past.
Because %doc includes everything in %{_pkgdocdir} automatically.

BTW, the proper way to refer to %{docdir}/%{name} is through %{_pkgdocdir}.

> I also tried this:
> 
> [...]
> mkdir -p ${RPM_BUILD_ROOT}/%{_docdir}/%{name}/bench
> cp -pr bench/plot-speeds.py* ${RPM_BUILD_ROOT}/%{_docdir}/%{name}/bench
> cp -pr bench/*.c ${RPM_BUILD_ROOT}/%{_docdir}/%{name}/bench
> [...]
> 
> %global _docdir_fmt %{name}
> 
> %files
> %doc README.rst ANNOUNCE.rst RELEASE_NOTES.rst README_HEADER.rst
> README_THREADED.rst RELEASING.rst
> %{_libdir}/libblosc.so.*
> 
> %files devel
> %{_libdir}/libblosc.so
> %{_includedir}/blosc.h
> %{_docdir}/%{name}/bench/plot-speeds.py*
> %{_docdir}/%{name}/bench/*.c
> 
> It is a bit ugly, but keeps the bench/ directory. But again, the main
> package inherits from the bench/ folder.
So, I think that this is not OK.

I found two solutions which seem to work:

a) add %exclude %{_pkgdocdir}/bench in %files
b) remove unwanted files from bench/ in %build, and then simply add '%doc
bench'
   in %files devel, without installing anything by hand.

Both of those solutions remove duplicates and preserve the /bench/ in path.

But I think that a different solution is actually better:
c) simply install a compiled version of 'bench'.

I think this is better because as a user, I don't want to have to find out how
to compile the .c file to run the benchmarks, I would prefer to be able to
invoke it directly. I have now run bench myself, and I think it would be
worthwhile to package, because the results are quite interesting, and relevant
to how one would use blosc.

There's a problem that making the bench binary and the associated plot-times.py
script part of either of the two binary packages is problematic. If it is moved
into the main package, it would start requiring python, and x86_64 versions
would nod be co-installable. If is is installed as part of the -devel package,
again, -devel would require python, and also not be coinstallable. I think that
adding a -bench (or -test) package is the best option, with
/usr/bin/blosc-bench and /usr/bin/blosc-plot-times.

> > The -devel package requires:
> > 
> > blosc = 1.2.3-2.fc20
> > libblosc.so.1.2.3()(64bit)
> 
> > Those are duplicates, so 
> > Requires: %{name} = %{version}-%{release}
> > can be removed.
> 
> Shouldn't there be an explicit require, according to
> https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/
> Guidelines#Requiring_Base_Package ?
> Otherwise, rpmlint complains.
You're right. But then the Requires should be more exact:
Requires:  %{name}%{?_isa} = %{version}-%{release}

So, whatever you decide wrt. the %files problem, please post a new .spec. As a
reviewer, I don't think I should impose my view here, and you should pick
whatever you think best from the maintainer point of view.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
package-review mailing list
package-review@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/package-review

Reply via email to