[Bug 539983] Review Request: qjson - qt-based library that maps JSON data to QVariant object

bugzilla at redhat.com bugzilla at redhat.com
Thu Nov 26 06:31:42 UTC 2009


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=539983





--- Comment #4 from Orcan 'oget' Ogetbil <oget.fedora at gmail.com>  2009-11-26 01:31:40 EDT ---
(In reply to comment #2)
> OK... Its gonna be obvious now that I'm no developer. I've managed to address
> some of the issues as detailed below.

It's all okay. Nobody is born as a programmer. I will try to be as explicit as
possible.

> 
> - Split off development libraries to its own package
> - Modified licensing in spec file to reflect GPL2 code though docs state that
>   qjson licensed under LPGL
> - Uncommeted and corrected sed line in this spec file
> 
> 
> I'm open to any suggestions and comments you may have regarding the following
> issues:
> 
> - I have no idea how to run the tests.

When you are running "%{cmake} ..", you can add the flag
"-DQJSON_BUILD_TESTS=1" so the tests are built. i.e.
   %{cmake} .. -DQJSON_BUILD_TESTS=1

Then in the %check section you will execute these tests. Something like
   %check
   LD_PRELOAD=%{_target_platform}/%{_lib}/libqjson.so
%{_target_platform}/tests/testparser
   LD_PRELOAD=%{_target_platform}/%{_lib}/libqjson.so
%{_target_platform}/tests/testserializer

If you don't use LD_PRELOAD, the tests will fail because it can't access the
library you just built.


> - How do I compile the doxygen doc? Can that be done during rpmbuild?

Add BR: doxygen. Then in the doc/ directory, just run
   doxygen
It will create an html/ direcory inside doc/ add this directory to the %doc of
the devel subpackage.


> - Since this is a development package, it would probably be best if this
>   was a multilib package. How do I accomplish that?

You don't need to do anything about multilib. Releng takes care of that.

> - I thought the %defattr macro conferred ownership to files and directories
>   being installed. Please correct me.

Think of it this way: All files and directories are some entries in the
filesystem. Directories are special kind of "files". Now each RPM must either
own the directory it puts a file inside, or it must require a package that owns
a directory. This package puts a file inside %{_includedir}/qjson/ but this
directory is not owned by any package! You must own this directory with the
devel subpackage. So replace the line
   %{_includedir}/qjson/*.h
with either
   %{_includedir}/qjson/
or
   %dir %{_includedir}/qjson
   %{_includedir}/qjson/*.h
so that the directory is owned. I hope you got the idea. This must be satisfied
by any package in Fedora.

> - Where can I find an example to properly add FindQJSON.cmake as a requirment?
>   Or better yet and quicker if you could detail the correct line.
> 

I don't know exactly. You might want to do some research. However, I see that
cmake package put a lot of modules into /usr/share/cmake/Modules/ so you might
want to move that file into that directory in %install. Also I believe that
this file must go to the devel package. Note that you will need to require
cmake (for the devel package) for directory ownership.

But as I said, I don't know exactly. Please check this.

> Looking very forward to your feedback and thankyou very much for your help
> 
> 
> Spec URL: http://orbsky.homelinux.org/packages/qjson.spec
> SRPM URL: http://orbsky.homelinux.org/packages/qjson-0.6.3-2.fc11.src.rpm  

You are welcome. One more thing (at least) need to be fixed. In Fedora the
files

   %{_libdir}/libfoo.so.*
go to the main library package, whereas the single file, which is a symlink
   %{_libdir}/libfoo.so
goes to the devel package. Please fix this in your package accordingly.

-- 
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 Fedora-package-review mailing list