Bug 376541
Summary: | Review Request: xqilla10 - XQilla is an XQuery and XPath 2.0 library, built on top of Xerces-C | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Milan Zázrivec <mzazrivec> |
Component: | Package Review | Assignee: | Mamoru TASAKA <mtasaka> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | fedora-package-review, mtasaka, notting, tcallawa |
Target Milestone: | --- | Flags: | mtasaka:
fedora-review+
tcallawa: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2007-12-21 07:01:43 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: | 250093 |
Description
Milan Zázrivec
2007-11-11 21:23:01 UTC
My few comments on xqilla101: * xqilla101 is packaged XQilla version 1.0.1. It's not the latest upstream version, this package review resulted from review discussions going on in https://bugzilla.redhat.com/show_bug.cgi?id=250093 * xqilla101 source rpm also includes sources of xerces-c -- XQilla build process relies on few xerces-c include files that are not present in standard xerces-c-devel package. * Patch0 and Patch1 are work of Oracle (created for dbxml ver. 2.3.10) * Patch3 makes xqilla101 build process to link xqilla binary / library against system xerces-c library. * Koji builds: http://koji.fedoraproject.org/koji/taskinfo?taskID=234689 http://koji.fedoraproject.org/koji/taskinfo?taskID=234688 http://koji.fedoraproject.org/koji/taskinfo?taskID=234682 http://koji.fedoraproject.org/koji/taskinfo?taskID=234686 For 1.0.1-3: * SourceURL - Please specify full URLs for Source0/1. * Redundant (Build)Requires - I guess "xerces-c-devel >= 2.7.0" BuildRequires should pull "xerces-c >= 2.7.0". * Duplicate entry - The entry "License" or "URL" is needed only once for description unless they differ between subpackages. * EVR specific dependency between subpackages - Usually dependency between subpackages must be EVR (Epoch-Version-Release) (i.e. not only EV) specific. i.e. Usually -devel package should have "Requires: %{name} = %{version}-%{release}". * Dependency for xerces-c - Is xqilla101 has to be rebuilt (or will you want to rebuild) against new xerces-c if xerces-c is upgraded to 2.7.1, for example? (i.e. ABI not changed but updated with some reason)? If so, it may be better that xquilla101 has version specific dependency against xerces-c. - Also xqilla101-devel Requires (not BuildRequires) xerces-c-devel. * Timestamps - When you use "cp" or "install" commands, please add "-p" option to keep timestamps. - Also, for this package the following method will keep timestamps on installed header files (this method usually works for packages using "install-sh" for "make install"). --------------------------------------------------------------------- %install rm -rf %{buildroot} export CPPROG="cp -p" make install DESTDIR=%{buildroot} --------------------------------------------------------------------- * One line /sbin/ldconfig scriptlet call - To remove unneeded sh call, please replace this by --------------------------------------------------------------------- %post -p /sbin/ldconfig --------------------------------------------------------------------- for example. * devel-file-in-non-devel-package /usr/lib/libxqilla.so rpmlint - %_libdir/libxqilla.so must be moved to -devel package * Namespace conflict - Well, the reason this rpm is named xqilla101, not the direct xqilla101 is to make it sure that someone can package the latest xqilla and can import to Fedora. For that case, the libraries' name and the header directory must be renamed. - %_libdir/libxqilla.so should be renamed to %_libdir/libxqilla101.so, for example (also soname should be changed). ----------------------------------------------------------------------- 1368 g++ -shared -nostdlib .... -Wl,-soname -Wl,libxqilla.so.1 -o .libs/libxqilla.so.1.0.0 ----------------------------------------------------------------------- - %_includir/xqilla should be moved to %_includedir/xqilla101 - %_bindir/xqilla should also be renamed. * defattr - Now we recommend: %defattr(-,root,root,-) Updated version: http://www.fi.muni.cz/~xzazriv/xqilla101/xqilla101-1.0.1-4.fc8.src.rpm Koji builds: http://koji.fedoraproject.org/koji/taskinfo?taskID=237587 http://koji.fedoraproject.org/koji/taskinfo?taskID=237589 http://koji.fedoraproject.org/koji/taskinfo?taskID=237588 http://koji.fedoraproject.org/koji/taskinfo?taskID=237590 Well, I have not yet checked 1.0.1-4, however for license issues: A. ./include/xqilla/mapm/m_apm.h ./src/mapm/README and some other files under ./src/mapm Well, I am not sure the license of these files is regarded as free, or GPL compatible. ------------------------------------------------------------- * Permission to modify the software is granted, but not the right to * * distribute the modified code. Modifications are to be distributed * * as patches to released version. * ------------------------------------------------------------- B. ./src/parser/XQParser.cpp ./src/parser/XQParser.hpp seems GPLv2+. If so, all xqilla101 files should be GPL compatible. C. ./LICENSE.xquery.txt This is actually the same as db4. db4 rpm says db4 license is BSD-"style" however I am not sure how I can treat this "style".... License A is probably Free, but definitely GPL incompatible. This conflicts with License B. License C is db4, which is BSD with an additional clause, requiring that source be made available. It is GPL compatible. A and B directly conflict, you need to point this out to upstream and try to get them to resolve it. We would prefer that they drop the A license altogether, as it is a very poor license choice, and replace it with something GPL compatible (or GPL itself). The files with problematic license were not created by XQilla project, they come from mapm library (My Arbitrary Precision Math) created by Michael C. Ring. XQilla upstream adopted and used it, but the upstream does not own copyright for mapm and is not able to change it's license. If the license of that mapm part makes it impossible for XQilla to be included into Fedora, this bz can be safely closed. Well, as the code B is GPL, the whole codes used for XQilla must be GPL compatible. If it is impossible to remove either A part or B part, XQilla cannot be imported to Fedora. All right, I think get the problem now :-) Files src/parser/XQParser.cpp and src/parser/XQParser.hpp were generated automatically by bison from src/parser/XQParser.y bison implicitly puts the standard statement about GPLv2+ licensing into every file it generates. Apart from the GPLv2+ statement, bison v2.1 also puts following statement into the generated files: /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ So if I got it all correct, the statement about GPLv2+ can be safely ignored. Well, the problem is with the mapm code. It says: "Permission to modify the software is granted, but not the right to distribute the modified code. Modifications are to be distributed as patches to released version." But, it is rather obvious that the XQuilla upstream modified that code (#include <xqilla/framework/XQillaExport.hpp>) and is distributing the modified software, not as a patch to the released version. You really ought to contact the mapm author (ringx004.edu), explain the problem to him, and see if he is willing to relicense his code (and drop that icky distribution restriction). The author of mapm agreed with relicensing and should be changing the license text in the upstream package shortly. I'm including the text of new license: "Copyright (C) 1999 - 2007 Michael C. Ring Permission to use, copy, and distribute this software and its documentation for any purpose with or without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Permission to modify the software is granted. Permission to distribute the modified code is granted. Modifications are to be distributed by using the file 'license.txt' as a template to modify the file header. 'license.txt' is available in the official MAPM distribution. This software is provided "as is" without express or implied warranty." The text of "license.txt" says: "THIS FILE HAS BEEN MODIFIED FROM THE OFFICIAL MAPM DISTRIBUTION BY 'name/organization' on YYYY/MM/DD. THIS FILE IS ORIGINALLY FROM MAPM VERSION X.Y.Z." Would the new license language be acceptable for Fedora? Yes, its essentially MIT, so it is fine for Fedora. Thanks for doing the work to get this licensing resolved. Lifting FE-Legal. (In reply to comment #10) > The author of mapm agreed with relicensing and should be changing the license > text in the upstream package shortly. Great to hear! So if you are ready, please upload your new srpm then I will check it again. XQilla upstream just released XQilla 1.0.2, which adopts new MAPM library license plus couple of minor patches. I renamed the package name (plus everything related) to xqilla102: * http://www.fi.muni.cz/~xzazriv/xqilla102/xqilla102.spec * http://www.fi.muni.cz/~xzazriv/xqilla102/xqilla102-1.0.2-2.fc8.src.rpm Koji builds: * http://koji.fedoraproject.org/koji/taskinfo?taskID=291492 * http://koji.fedoraproject.org/koji/taskinfo?taskID=291491 * http://koji.fedoraproject.org/koji/taskinfo?taskID=291506 * http://koji.fedoraproject.org/koji/taskinfo?taskID=291501 I will check it later, however maybe it is better that this package is named to xqilla10? For 1.0.2-2: * Name - As said above, it maybe better that this rpm is named as xqilla10, as Fedora requests that each time you change the name, the corresponsing review request must be submitted. * xerces-c dependency - Is this what you really intend? ------------------------------------------------------------- Requires: libstdc++ >= 4.1.1 xerces-c = 2.7.0 (require 2.7.0 exactly) BuildRequires: xerces-c-devel >= 2.7.0 (require no less than 2.7.0) ------------------------------------------------------------- * Source - I recommend to use http://downloads.sourceforge.net/xqilla/XQilla-%{version}.tar.gz because with this you won't probably have to change the SourceURL when version is upgraded. * scriptlets description ------------------------------------------------------------- %clean rm -rf %{buildroot} %post -p /sbin/ldconfig %postun [A] /sbin/ldconfig [A] # xqilla [B] %files ------------------------------------------------------------- [A] When only calling /sbin/ldconfig is needed on %postun, please write in one line like -------------------------------------------------------------- %postun -p /sbin/ldconfig -------------------------------------------------------------- [B] Don't write this comment here. This comment is in %postun scriptlet. ! %_defaultdocdir - Not a issue, however I just note that all files under %_defaultdocdir are automatically marked as %doc. Here comes xqilla10 package and spec: * http://www.fi.muni.cz/~xzazriv/xqilla10/xqilla10-1.0.2-2.fc8.src.rpm * http://www.fi.muni.cz/~xzazriv/xqilla10/xqilla10.spec xqilla10 builds: * http://koji.fedoraproject.org/koji/taskinfo?taskID=295976 * http://koji.fedoraproject.org/koji/taskinfo?taskID=295975 * http://koji.fedoraproject.org/koji/taskinfo?taskID=295986 * http://koji.fedoraproject.org/koji/taskinfo?taskID=295977 Okay. ------------------------------------------------------- This package (xqilla10) is APPROVED by me ------------------------------------------------------- Please follow http://fedoraproject.org/wiki/PackageMaintainers/Join to import this package into Fedora. By the way, do you have to get sponsored? (Please refer to the Join page above and http://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored ) New Package CVS Request ======================= Package Name: xqilla10 Short Description: XQilla is an XQuery and XPath 2.0 library, built on top of Xerces-C Owners: mzazrive Branches: F-7 F-8 InitialCC: mzazrive Cvsextras Commits: yes cvs done. You don't need to list yourself in initialCC if you're also the package owner. :) Please close this bug when rebuild and request on bodhi system is done. Closing for now. |