Bug 725200 (raptor2)

Summary: Review Request: raptor2 - RDF Parser Toolkit for Redland
Product: [Fedora] Fedora Reporter: Rex Dieter <rdieter>
Component: Package ReviewAssignee: Orcan Ogetbil <oget.fedora>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: dave, kevin, notting, oget.fedora, package-review
Target Milestone: ---Flags: oget.fedora: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: redland-1.0.14-1.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-22 15:13:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 656997    

Description Rex Dieter 2011-07-24 04:14:28 UTC
Spec URL: http://rdieter.fedorapeople.org/rpms/raptor2/raptor2.spec
SRPM URL: http://rdieter.fedorapeople.org/rpms/raptor2/raptor2-2.0.3-1.fc15.src.rpm
Description: 
Raptor is the RDF Parser Toolkit for Redland that provides
a set of standalone RDF parsers, generating triples from RDF/XML
or N-Triples.

Comment 1 Rex Dieter 2011-07-24 04:15:18 UTC
this is required for a rasqal/redland stack update.

Comment 2 Rex Dieter 2011-07-24 04:15:48 UTC
*** Bug 723909 has been marked as a duplicate of this bug. ***

Comment 3 Orcan Ogetbil 2011-07-24 14:26:44 UTC
Yes, the developers told me /usr/bin/rapper is the only real conflict in between. But it is nonessential, so can be excluded in one or the other package.

Now the big question is, how are we going to handle redland and rasqal builds? Which raptor will they link to?

Comment 4 Rex Dieter 2011-07-24 15:02:18 UTC
I figured raptor2, else the exercize is largely moot, from my pov.

Comment 5 Rex Dieter 2011-07-25 14:51:56 UTC
After taking a closer look, newer rasqal's (and soprano) require raptor2 anyway, so not using it isn't an option anyway.

Comment 6 Orcan Ogetbil 2011-07-25 15:09:51 UTC
Hmm, I wonder if our raptor1 applications will mind this combination (i.e. some might need raptor1 together with the redland that is compatible with raptor1). I'll have time tonight or tomorrow to check if we can get away with it easily.

Comment 7 Rex Dieter 2011-07-25 15:19:32 UTC
$ repoquery --whatrequires 'libraptor.so.1()(64bit)'
(pruned)
ardour-0:2.8.11-7.fc15.x86_64
flickcurl-0:1.18-2.fc15.x86_64
liblicense-0:0.8.1-5.x86_64
liblrdf-0:0.4.0-17.fc15.x86_64
librawstudio-0:2.0-1.fc15.x86_64
rasqal-0:0.9.21-2.fc15.x86_64
rawstudio-0:2.0-1.fc15.x86_64
redland-0:1.0.12-3.fc15.x86_64
sonic-visualiser-0:1.8-1.fc15.x86_64

of these, rasqal,redland are part of the stack in question.

of the others, I checked that sonic-visualizer, at least, only supports raptor(1)

so, that leaves,
ardour, flickcurl, liblicense, liblrdf, (lib)rawstudio to check.

Comment 8 Rex Dieter 2011-07-25 15:24:49 UTC
ardour here comes from indirect deps in liblrdf (probably overlinking)
liblrdf uses raptor(1) only, should be ok
flickcurl, ditto, ok
rawstudio BR's flickcurl, probably the same as ardour above (harmless overlinking)

So, looks like other packages that currently
BR: raptor-devel
should be unaffected by introducing raptor2.

Comment 9 Rex Dieter 2011-07-25 15:26:13 UTC
oh, and
liblicense uses raptor(1) only, similar to liblrdf, flickcurl.

Comment 10 Orcan Ogetbil 2011-07-26 02:08:00 UTC
(In reply to comment #7)
> 
> of the others, I checked that sonic-visualizer, at least, only supports
> raptor(1)
> 

correction: sonic-visualiser links to redland directly, and to raptor+rasqal indirectly. So it might or might not work. Fortunately, the code that uses redland is rather short, we can handle the port rather easily if there is need.

Thus we are good to go, but before we start the review, I have one last question: 

Does it make more sense to call the new package raptor2, or to make a new raptor1 package and update raptor package to raptor(2)? What do o holy guidelines recommend?

Comment 11 Rex Dieter 2011-07-26 02:18:34 UTC
internally, it's raptor2 everywhere (pkgconfig raptor2.pc, headers %_includedir/raptor, library, %{_libdir}/libraptor2.so, etc...), makes most sense to me to call it that, raptor2.

Comment 12 Rex Dieter 2011-07-26 02:19:21 UTC
typo there, headers => %_includedir/raptor2/

Comment 13 Orcan Ogetbil 2011-07-26 03:00:41 UTC
Alright then. Sold. I'll do the review.

Comment 14 Orcan Ogetbil 2011-07-26 03:48:31 UTC
Here is the review. There are a few blockers though:

* Fails to build on rawhide. I didn't look at it in detail yet.
   http://koji.fedoraproject.org/koji/taskinfo?taskID=3229864

* The main package does not have a group tag. It's interesting to see that rpmlint didn't complain.

* rpmlint:    raptor2.x86_64: W: no-documentation
There is a bunch of doc files (README, ChangeLog, etc) on the root of the source tree that we should probably package. Especially the licensing stuff.
Also examples/ directory could be packaged in devel subpackage.

* The LICENSE.txt says this is GPLv2+ or LGPLv2+ or ASL 2.0. However these files in src/ are GPLv3+:
   parsedate.c, turtle_parter.{c,h}
and this makes me confused.

* rpmlint says
   raptor2.x86_64: W: spelling-error %description -l en_US parsers -> parser, parses, parers
   raptor2.x86_64: W: incoherent-version-in-changelog -1 ['2.0.3-1.fc15', '2.0.3-1']
   raptor2.src: W: spelling-error %description -l en_US parsers -> parser, parses, parers
These can be ignored, except maybe you want to fix the changelog complaint.

? Shouldn't we package /usr/bin/rapper here instead of raptor(1). This is the one that is being maintained.

Comment 15 Kevin Kofler 2011-07-26 09:58:25 UTC
> * The main package does not have a group tag. It's interesting to see that
> rpmlint didn't complain.

The Group tag is no longer required.

> raptor2.x86_64: W: incoherent-version-in-changelog -1 ['2.0.3-1.fc15',
> '2.0.3-1']

The problem here is that there's a stray space before the "-1" in the changelog.

Comment 16 Orcan Ogetbil 2011-07-26 11:59:03 UTC
(In reply to comment #15)
> > * The main package does not have a group tag. It's interesting to see that
> > rpmlint didn't complain.
> 
> The Group tag is no longer required.
> 

Is it only required in the subpackage?

Comment 17 Kevin Kofler 2011-07-26 12:26:40 UTC
It's not required anywhere. Current versions of RPM don't require it anymore. That said, it should probably be used consistently. It is also needed for the older versions of RPM used in RHEL (at least RHEL 5, not sure about 6), in case we care about that.

Comment 18 Rex Dieter 2011-07-26 13:11:39 UTC
* re: license and    parsedate.c, turtle_parter.{c,h} .
These are bison generated files with the exception:
"As a special exception, you may create a larger work that contains
   part or all of the Bison parser skeleton and distribute that work
   under terms of your choice..."

* the failed rawhide build was due to missing curl-devel, broken rawhide buildroot most likely. it builds ok on f15.

* re: rappor.  I'll include rappor here again once it is imported into rawhide, and a raptor(1) build exists first without (to avoid conflicts)

* re: including examples/ in -devel.  I'd rather not.  upstream doesn't 'install' them, and our manually including them may lead to spurious multilib conflicts (been there, done that in other packages before, not fun).

And, here's a minor update,

Spec URL: http://rdieter.fedorapeople.org/rpms/raptor2/raptor2.spec
SRPM URL:
http://rdieter.fedorapeople.org/rpms/raptor2/raptor2-2.0.3-2.fc15.src.rpm

%changelog
* Tue Jul 26 2011 Rex Dieter <rdieter> 2.0.3-2
- -devel: drop Group: tag
- add lot's of %%doc's
- License: GPLv2+ or LGPLv2+ or ASL 2.0

Comment 19 Rex Dieter 2011-07-26 13:14:40 UTC
Took a closer look at rawhide failure,
raptor_internal.h:923:24: fatal error: curl/types.h: No such file or directory

looks like libcurl-devel simply no longer provides this header (yay for api changes!).  We'll have to fix that sooner or later, sure, but I hope you won't consider it a review blocker (for now).

in the meantime, here's a dist-f15 scratch build for testing purposes:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3231099

Comment 20 Orcan Ogetbil 2011-07-27 03:08:26 UTC
Okay this is good. The fix in rawhide is as simple as removing the
    #include <curl/types.h> 
line from raptor_internal.h. After removing the line, the package builds both in F-15 and rawhide. 

See the upstream commit
   https://github.com/dajobe/raptor/commit/820ea624587f045de732b7e0d6dda1499e0f61ff#src/raptor_internal.h

Accordingly, the typedef they need from types.h got moved into curl.h ~7 years ago (around curl-7.11.2) and this slipped through undocumented. Should be safe to patch out.

------------------------------------------
This package (raptor2) is APPROVED by oget
------------------------------------------

Comment 21 Rex Dieter 2011-07-29 04:28:41 UTC
I'll make sure to fix that prior to submitting any builds.

New Package SCM Request
=======================
Package Name: raptor2
Short Description: RDF Parser Toolkit for Redland
Owners: rdieter
Branches: f16

comaintainers encouraged to apply too (esp other existing raptor owners).

Comment 22 Gwyn Ciesla 2011-07-29 12:02:41 UTC
Git done (by process-git-requests).

Comment 23 Rex Dieter 2011-07-29 21:52:08 UTC
imported

Comment 24 Dave Beckett 2011-07-29 23:34:43 UTC
Hey folks - upstream author here.  Just to note raptor2 2.0.4 was released with the curl header fix.  Let me know anything I need to do/merge upstream.  Cheers

Comment 25 Orcan Ogetbil 2011-07-30 00:20:52 UTC
Hi Dave, there is only this patch Rex made to make raptor2 docs paralelly installable with raptor(1) docs:

   http://pkgs.fedoraproject.org/gitweb/?p=raptor2.git;a=blob_plain;f=raptor2-2.0.3-raptor2_doc.patch;hb=c4984f6edd0ee2eb82ae7d6e07d8edfaa6f4ed75

Dave, you can always find our patches at
   http://pkgs.fedoraproject.org/gitweb/?p=raptor2.git

or
   http://pkgs.fedoraproject.org/gitweb/?p=redland.git
etc. But we'll try to let you know in advance when we do something nontrivial.

Also, thank you Rex for taking care of this.

Comment 26 Fedora Update System 2011-08-01 04:14:05 UTC
soprano-2.6.52-2.20110723.fc16,redland-1.0.14-1.fc16,rasqal-0.9.26-1.fc16,raptor2-2.0.4-2.fc16,raptor-1.4.21-10.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/soprano-2.6.52-2.20110723.fc16,redland-1.0.14-1.fc16,rasqal-0.9.26-1.fc16,raptor2-2.0.4-2.fc16,raptor-1.4.21-10.fc16

Comment 27 Fedora Update System 2011-08-02 03:46:07 UTC
Package soprano-2.6.52-2.20110723.fc16, redland-1.0.14-1.fc16, rasqal-0.9.26-1.fc16, raptor2-2.0.4-2.fc16, raptor-1.4.21-10.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing soprano-2.6.52-2.20110723.fc16 redland-1.0.14-1.fc16 rasqal-0.9.26-1.fc16 raptor2-2.0.4-2.fc16 raptor-1.4.21-10.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/soprano-2.6.52-2.20110723.fc16,redland-1.0.14-1.fc16,rasqal-0.9.26-1.fc16,raptor2-2.0.4-2.fc16,raptor-1.4.21-10.fc16
then log in and leave karma (feedback).

Comment 28 Fedora Update System 2011-08-08 20:49:03 UTC
Package redland-1.0.14-1.fc16, rasqal-0.9.26-1.fc16, raptor2-2.0.4-2.fc16, raptor-1.4.21-10.fc16, soprano-2.7.0-1.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing redland-1.0.14-1.fc16 rasqal-0.9.26-1.fc16 raptor2-2.0.4-2.fc16 raptor-1.4.21-10.fc16 soprano-2.7.0-1.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/soprano-2.7.0-1.fc16,redland-1.0.14-1.fc16,rasqal-0.9.26-1.fc16,raptor2-2.0.4-2.fc16,raptor-1.4.21-10.fc16
then log in and leave karma (feedback).

Comment 29 Fedora Update System 2011-08-10 20:45:39 UTC
Package redland-1.0.14-1.fc16, rasqal-0.9.26-1.fc16, raptor2-2.0.4-2.fc16, raptor-1.4.21-10.fc16, soprano-2.7.0-1.fc16, sonic-visualiser-1.8-3.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing redland-1.0.14-1.fc16 rasqal-0.9.26-1.fc16 raptor2-2.0.4-2.fc16 raptor-1.4.21-10.fc16 soprano-2.7.0-1.fc16 sonic-visualiser-1.8-3.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/sonic-visualiser-1.8-3.fc16,soprano-2.7.0-1.fc16,redland-1.0.14-1.fc16,rasqal-0.9.26-1.fc16,raptor2-2.0.4-2.fc16,raptor-1.4.21-10.fc16
then log in and leave karma (feedback).

Comment 30 Fedora Update System 2011-08-22 15:13:22 UTC
redland-1.0.14-1.fc16, rasqal-0.9.26-1.fc16, raptor2-2.0.4-2.fc16, raptor-1.4.21-10.fc16, soprano-2.7.0-1.fc16, sonic-visualiser-1.8-3.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.