[Bug 1040517] Review Request: julia - High-level, high-performance dynamic language for technical computing

bugzilla at redhat.com bugzilla at redhat.com
Thu Sep 18 14:57:22 UTC 2014


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



--- Comment #74 from Paulo Andrade <paulo.cesar.pereira.de.andrade at gmail.com> ---
(In reply to Milan Bouchet-Valat from comment #73)
> (In reply to Paulo Andrade from comment #72)
> > (In reply to Milan Bouchet-Valat from comment #71)
> > > The test suite already checks that AFAIK. But then I guess it's run when
> > > dSFMT-devel is still installed, as it's the build environment. What exactly
> > > do you have in mind?
> > 
> > I was thinking about some script to test it, after install, and only
> > be used during package review. But I tested it the "hard" way anyway;
> > I checked that the only one julia does not output some error/warning
> > message at startup is if there is a missing
> > %_libdir/julia/libopenspecfun.so so, it apparently always dlopen
> > libdSFMT.so and libopenlibm.so and either does not dlopen or does not
> > print anything if libopenspecfun.so is missing at startup.
> Yeah, openspecfun is only loaded when calling specific functions, for
> example: airy(1, 1+1im).
> 
> > Another minor cosmetic issue is that you are using %_datarootdir but
> > has one use of %_datadir; for consistency could change the later
> > to %_datarootdir in %files.
> Ah, yes, I've changed a few occurrences yesterday but there was one left.
> 
> > Otherwise, I believe it is almost done now :)
> Cool!
> 
> 
> New version:
> Spec URL: http://nalimilan.perso.neuf.fr/transfert/julia.spec
> SRPM URL: http://nalimilan.perso.neuf.fr/transfert/julia-0.3.0-6.src.rpm
> 
> Something really weird is going on with the new package:
> /usr/share/doc/julia/ files are included twice, once in julia and once in
> julia-doc. How is it possible?

Good observation, now on my todo list whenever checking a package :)
Try this:
---%<---
$ diff -u SPECS/julia.spec{.orig,}
--- SPECS/julia.spec.orig       2014-09-18 11:42:14.503828453 -0300
+++ SPECS/julia.spec    2014-09-18 11:41:31.790826817 -0300
@@ -175,6 +175,8 @@
 mv %{buildroot}%{_datarootdir}/julia/doc %{buildroot}%{_docdir}/julia/
 mv %{buildroot}%{_datarootdir}/julia/examples %{buildroot}%{_docdir}/julia/

+cp -p CONTRIBUTING.md LICENSE.md NEWS.md README.md
%{buildroot}%{_docdir}/julia
+
 # Install HTML manual and remove unwanted files
 # https://github.com/JuliaLang/julia/issues/8378
 mv %{_builddir}/%{name}-%{version}/doc/_build/html/
%{buildroot}%{_docdir}/julia/html/
@@ -183,17 +185,20 @@
 cd %{buildroot}%{_docdir}/julia
 rm -R devdocs/ images/ juliadoc/ man/ manual/ stdlib/ _build/ _templates/
 # helpdb.jl is duplicated at %{_datarootdir}/julia/helpdb.jl
-rm conf.py DocCheck.jl helpdb.jl index.rst latex.rst NEWS-update.jl
requirements.txt README.md
+rm conf.py DocCheck.jl helpdb.jl index.rst latex.rst NEWS-update.jl
requirements.txt

 cd %{buildroot}%{_prefix}/share/man/man1/
 ln -s julia.1.gz julia-debug.1.gz

 %files
-%doc CONTRIBUTING.md LICENSE.md NEWS.md README.md
+%dir %{_docdir}/julia/
+%{_docdir}/julia/LICENSE.md
+%doc %{_docdir}/julia/CONTRIBUTING.md
+%doc %{_docdir}/julia/NEWS.md
+%doc %{_docdir}/julia/README.md
 %{_bindir}/julia
 %{_libdir}/julia/
 %exclude %{_libdir}/julia/libjulia-debug.so
-
 %{_mandir}/man1/julia.1*

 %files common
@@ -207,11 +212,8 @@
 %config(noreplace) %{_sysconfdir}/julia/juliarc.jl

 %files doc
-%doc %{_docdir}/julia/
-%exclude %{_docdir}/julia/CONTRIBUTING.md
-%exclude %{_docdir}/julia/LICENSE.md
-%exclude %{_docdir}/julia/NEWS.md
-%exclude %{_docdir}/julia/README.md
+%doc %{_docdir}/julia/examples
+%doc %{_docdir}/julia/html

 %files devel
 %{_bindir}/julia-debug
---%<---

I personally rarely, if ever use "%doc NAME", to avoid surprises
with whatever rpm does behind the curtains, and also to make it
easier to make experimental partial builds.

BTW, the install logic is really hard to follow, I strongly suggest
ensuring that "rpmbuild --short-circuit -bi" works. It is better for
you (the packager), but others may benefit if looking at your package.
I mean, use
(cd dir; commands)
or
pushd dir
   commands
popd
to make it easier to know what is the current directory, if
necessary to add extra commands; usually one expects current
directory to be the builddir.
Avoid mv from builddir to buildroot, it just completely breaks
--short-circuit -bi

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component


More information about the package-review mailing list