Bug 502686
Summary: | Review Request: wsdlpull - C++ Web Services client library | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Denis Arnaud <denis.arnaud_fedora> |
Component: | Package Review | Assignee: | Patrick Monnerat <patrick> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | fedora-package-review, notting, patrick |
Target Milestone: | --- | Flags: | patrick:
fedora-review+
kevin: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | wsdlpull-1.23-3.el5 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2010-08-06 19:56:26 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: |
Description
Denis Arnaud
2009-05-26 23:00:00 UTC
Spec URL: http://denisarnaud.fedorapeople.org/wsdlpull/123/wsdlpull.spec SRPM URL: http://denisarnaud.fedorapeople.org/wsdlpull/123/wsdlpull-1.23-1.fc11.src.rpm $ rpmlint -i SPECS/wsdlpull.spec SRPMS/wsdlpull-1.23-1.fc11.src.rpm RPMS/noarch/wsdlpull-doc-1.23-1.fc11.noarch.rpm RPMS/x86_64/wsdlpull-*fc11.x86_64.rpm RPMS/x86_64/wsdlpull-*fc11.i586.rpm 8 packages and 1 specfiles checked; 0 errors, 0 warnings. When building on (a kqemu virtual machine set-up with an installation from scratch of) CentOS 5.3, the RPM packages are well built. However, rpmlint still complains on CentOS 5.3 (that "libraries are delivered in a "noarch" package), due the "BuildArch: noarch" directive of the "doc" sub-package, though that directive is enclosed within proper "%if 0%{fedora} >= 10 [...] %endif" clause, as per the following: ------------------------- %package doc Summary: HTML documentation for the %{name} library Group: Documentation %if 0%{?fedora} >= 10 BuildArch: noarch BuildRequires: texlive-latex %endif ------------------------- I have checked that 'rpm --eval "%{fedora}"' gives "%{fedora}" under CentOS 5.3 (i.e, the %{fedora} macro is not defined on that distribution), whereas it gives "11" under Fedora Rawhide and "10" under Fedora 10 (as expected). However, I'm not sure that the following assertion "0%{fedora} >= 10" holds false under CentOS 5.3. Also, still on CentOS 5.3, the three %{rhel}, %{rhl} and %{el5} macros are undefined, though they should be defined, according to https://fedoraproject.org/wiki/Packaging:DistTag . Or, did I miss something? * The macros are Fedora EPEL specific. You need add-on packages: http://buildsys.fedoraproject.org/buildgroups/ * Have you verified that CentOS builds all packages as noarch? Or is it just rpmlint that returns a false positive? AFAIK, it only runs some regexp over the spec file. > 'rpm --eval "%{fedora}"' gives "%{fedora}" In the spec it's %{?fedora} however (cf. "rpm --eval %{?fedora}"), which expands to %nil if the macro is undefined. Hence 0%{?fedora} >= 10 is false on CentOS. (In reply to comment #3) I had added the EPEL RPM repository, and those macros were defined. But, as you suggested, I made a typo when trying to evaluate them with 'rpm --eval' :) However, I had it right in the specification file (http://denisarnaud.fedorapeople.org/wsdlpull/123/wsdlpull.spec) and: * All the packages, including the "doc" one, are generated under the specific architecture (RPMS/x86_64 in my case) directory (as expected). * Again as you suggested, it appears that it is just rpmlint returning a false positive. It is certainly due to the rpmlint "W: libdir-macro-in-noarch-package" bug (https://bugzilla.redhat.com/show_bug.cgi?id=488930). That bug has been corrected in version from 0.87-1, whereas the latest version available on CentOS 5.3 (Fedora EPEL 5) is 0.85-3 (newer versions are not even available in the epel-testing repository). So, that package builds nicely on all the platforms (Fedora 10, 11, rawhide and EPEL 5). For instance, for F11/F12: http://koji.fedoraproject.org/koji/taskinfo?taskID=1385925 The upstream team is happy with the packaging: http://tech.groups.yahoo.com/group/wsdlpull/message/947 :) Some remarks: You should use xargs option -r in find . -name 'CVS' -print | xargs rm -rf find . -name 'a.out' -print | xargs rm -f in prevision of fure versions not containing the targets. rpmlint wsdlpull-debuginfo-1.23-1.fc10.i386.rpm wsdlpull-debuginfo.i386: E: debuginfo-without-sources 1 packages and 0 specfiles checked; 1 errors, 0 warnings. To fix it, use: make CFLAGS="${RPM_OPT_FLAGS}" CXXFLAGS="${RPM_OPT_FLAGS}" %{?_smp_mflags} The license is probably more complex than simply LGPLv2: from the sources, it clearly appears there's an intention of using LGPLv2+, but some Makefiles don't. In addition there are some header files and XML schemas that seem to have an MIT type license, an some .xsd (content) files are copyright OReilly. I suggest you recheck all those all license stuff and put something looking like: %license: LGPLv2 and OReilly and MIT Latex seems unused during build: BuildRequires and all associated conditionals are thus subject to deletion. There is a conflict at installation time between this package and mono-web on file /usr/bin/wsdl (at least on F10; not tested on F11 and rawhide). %doc on devel package could be left out, since it only copies files that are included in the main (required) package. %global is now preferred over %define (I know it was not the case when you wrote this spec file, but rules change). Thanks for those remarks. I'll try to work on it this week-end. Ping ? ... very long week-end indeed :-) Are you still interested in importing this package into Fedora ? (In reply to comment #8) > ... very long week-end indeed :-) You're right! I still think it makes sense to have that package into Fedora, even though libcurl (http://curl.haxx.se/libcurl/) seems to represent a viable alternative. But as I have not so much free time these days, if you want to take the responsibility of that package, do not hesitate... libcurl only transmits data on IP-based protocols: there is no support for SOAP or XML. And I do not want to take your package: I started reviewing it (see comment 6) and I just want to know if the files I keep locally about this in-progress review will have a future, or if I can delete them (friday is housekeeping day :-) If you don't mind keeping those files around, it would be nice, as I do not want to give up (at least for now!). Thanks for your renewed support :) Spec: http://denisarnaud.fedorapeople.org/wsdlpull/123/wsdlpull.spec SRPM: http://denisarnaud.fedorapeople.org/wsdlpull/123/wsdlpull-1.23-2.fc13.src.rpm I eventually did it :) Normally, all your feedbacks (https://bugzilla.redhat.com/show_bug.cgi?id=502686#c6) have been taken into account. I've renamed the two generated binaries, namely wsdl and schema, into respectively wsdlpull and wsdlpull-schema, so as to avoid any name conflict. I've left the %doc in the -devel sub-package, though. Moreover, Fedora 13's rpmlint is stricter, and I have worked on reducing warnings. For instance, I had to add man pages (which I will of course submit upstream). Koji was migrated to a new version of software (v1.4, I believe) this week-end, and I could therefore not submit any task to it. Do not hesitate. Some more things: http://fedoraproject.org/wiki/Packaging:Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment This is not mandatory, but you planned to submit patches upstream and you forgot to do it. I suggest you do it now and insert the links to the upstream patch reports in your comments. From comment 6: > You should use xargs option -r in > find . -name 'CVS' -print | xargs rm -rf > find . -name 'a.out' -print | xargs rm -f > in prevision of future versions not containing the targets. You did not apply this change. Any reason for that ? > I've left the %doc in the -devel sub-package, though. Please read http://lists.fedoraproject.org/pipermail/devel/2010-July/138487.html and http://fedoraproject.org/wiki/Packaging:Guidelines#Duplicate_Files Buildroot is no longer needed: http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag You can save the "BuildRequires: dos2unix" by replacing the call to dos2unix by sed -i -e 's/\r$//' Spec: http://denisarnaud.fedorapeople.org/wsdlpull/123/wsdlpull.spec SRPM: http://denisarnaud.fedorapeople.org/wsdlpull/123/wsdlpull-1.23-3.fc13.src.rpm (In reply to comment #13) > http://fedoraproject.org/wiki/Packaging:Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment > This is not mandatory, but you planned to submit patches upstream and you > forgot to do it. I suggest you do it now and insert the links to the upstream > patch reports in your comments. Yes, of course, I knew that one :) I'll keep upstream (Vivek Krishna) updated, and include the corresponding references within the specification file. > From comment 6: > > You should use xargs option -r in > > find . -name 'CVS' -print | xargs rm -rf > > find . -name 'a.out' -print | xargs rm -f > > in prevision of future versions not containing the targets. > > You did not apply this change. Any reason for that ? Sorry for that. I did not understand it the first time: I thought you were referring to the -r option of the rm command, not of the xargs command... I now understand that that GNU extension to xargs is pretty useful when there is no CVS directory or a.out file. > > I've left the %doc in the -devel sub-package, though. > Please read > http://lists.fedoraproject.org/pipermail/devel/2010-July/138487.html and > http://fedoraproject.org/wiki/Packaging:Guidelines#Duplicate_Files Yes, I knew both items above. But duplicating files is tolerated... and prevents rpmlint from issuing the following warning: wsdlpull-devel.x86_64: W: no-documentation The package contains no documentation (README, doc, etc). You have to include documentation files. So, I removed the duplicated documentation files, and the warning is back. But it has no importance, hasn't it? .../... (In reply to comment #13) > Buildroot is no longer needed: > http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag You are right, and I did not remember that one. I've changed the BuildRoot tag line by: %{?el5:BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)} which is apparently the recommended option for EPEL 5 packaging (http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#BuildRoot_tag). However, rpmlint reports a warning here: wsdlpull.src: W: no-buildroot-tag But, as explained in that warning description, all is fine with a version of rpm greater than 4.6. Which is of course the case for all the active Fedora distributions and for EPEL 6 as well (but not for EPEL distributions for version 5 downwards). > You can save the "BuildRequires: dos2unix" by replacing the call to dos2unix by > > sed -i -e 's/\r$//' Yes, you are right. Even better, your solution sounds more Unix than that DOS file converter... The only thing remaining is to submit the patches upstream (to Vivek). Thanks for your feedback. rpmlint output: wsdlpull.spec: W: no-buildroot-tag wsdlpull.src: W: spelling-error %description -l en_US serializer -> serialize, serializes, serialized wsdlpull.src: W: no-buildroot-tag wsdlpull.x86_64: W: spelling-error %description -l en_US serializer -> serialize, serializes, serialized wsdlpull.x86_64: W: shared-lib-calls-exit /usr/lib64/libxmlpull.so.1.0.23 exit.5 wsdlpull-devel.x86_64: W: no-documentation 5 packages and 1 specfiles checked; 0 errors, 6 warnings. Can be safely ignored. (the exit call in the code is not a packaging problem: I suggest you talk with upstream about possible removal and/or replacement). Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2321987 Review: OK package meets naming and versioning guidelines. OK specfile is properly named, is cleanly written and uses macros consistently. OK source files match upstream: wsdlpull-1.23.tar.bz2 sha1: 7b61549e18bf0e9aae68bfb76264f6e58c8a8d7b md5: 68ba60913b5860cae1a07ee8ccdd43cf OK summary is OK. OK description is OK. OK dist tag is present. OK build root is OK. OK license field matches all the actual licenses. OK license is open source-compatible. OK license text included in package. OK All BuildRequires are needed. OK %clean is present. OK The package meets the Packaging Guidelines. OK package builds in Koji (rawhide). OK package installs properly. OK rpmlint is OK OK final provides and requires are sane: rpm -q --provides -p wsdlpull-1.23-3.fc12.x86_64.rpm libschema.so.1()(64bit) libwsdl.so.1()(64bit) libxmlpull.so.1()(64bit) wsdlpull = 1.23-3.fc12 wsdlpull(x86-64) = 1.23-3.fc12 rpm -q --requires -p wsdlpull-1.23-3.fc12.x86_64.rpm /sbin/ldconfig /sbin/ldconfig libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libcurl.so.4()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libschema.so.1()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libwsdl.so.1()(64bit) libxmlpull.so.1()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1 rpm -q --provides -p wsdlpull-devel-1.23-3.fc12.x86_64.rpm wsdlpull-devel = 1.23-3.fc12 wsdlpull-devel(x86-64) = 1.23-3.fc12 rpm -q --requires -p wsdlpull-devel-1.23-3.fc12.x86_64.rpm libschema.so.1()(64bit) libwsdl.so.1()(64bit) libxmlpull.so.1()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 wsdlpull = 1.23-3.fc12 rpmlib(PayloadIsXz) <= 5.2-1 rpm -q --provides -p wsdlpull-doc-1.23-3.fc12.noarch.rpm wsdlpull-doc = 1.23-3.fc12 rpm -q --requires -p wsdlpull-doc-1.23-3.fc12.noarch.rpm rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 OK %check is not present; no test suite upstream. OK shared libraries are added to the regular linker search paths: ldconfig properly called in %post and %postun OK owns the directories it creates. OK doesn't own any directories it shouldn't. OK no duplicates in %files. OK file permissions are appropriate. OK code and allowed content. OK There is a separate -doc subpackage for the documentation. OK %docs are not necessary for the proper functioning of the package. OK headers are in the -devel subpackage. OK no pkgconfig files. OK no static libraries. OK no libtool .la files. OK filenames are all valid UTF-8. SHOULD: All patches should have an upstream bug link or comment Why don't you simply leave them at http://sourceforge.net/tracker/?group_id=96736&atid=615730 and reference patch reports here ? Package approved (In reply to comment #17) > SHOULD: All patches should have an upstream bug link or comment > Why don't you simply leave them at > http://sourceforge.net/tracker/?group_id=96736&atid=615730 > and reference patch reports here? Yes, but apparently, the whole communication (including bugs and patches) should go through the dedicated Yahoo! group: http://tech.groups.yahoo.com/group/wsdlpull/ . I can of course create bug tickets, but they may never be read by the person they should reach. So, I have sent an email to Vivek (upstream owner), providing him with the three patches. [Note that I have (Vivek gave me, last year) access rights to publish packages on Sourceforge (http://sourceforge.net/projects/wsdlpull/files/binaries/wsdlpull%201.23/), but no write access on the CVS repository] I'll keep the specification file updated with latest debates around those patches. > Package approved Thanks for that extensive review! Now, I am unable to interact with the secured Koji server: http://lists.fedoraproject.org/pipermail/packaging/2010-July/007283.html I've fought hours and hours to find a work around (having tried on several Fedora distributions, thanks to VirtualBox, with several distinct user accounts), but could not. So, do not hesitate to create the package in CVS yourself. Otherwise, I'm afraid I won't be able to create it myself :( No hurry for me. I won't take your baby just before birth :-) If you have infrastructure access problems, check if your certificate is not outdated... Also last week I had several CVS/Koji connection problems: I reported them to the infrastructure trac system (https://fedorahosted.org/fedora-infrastructure/), they answered very kindly and they mended it. Else you better ask for help on some mailing list, but in any case you should be able to do the job yourself. Good luck. Once you get access figured out, please reset the fedora-cvs flag to ? and add a CVS request here. (In reply to comment #20) > Once you get access figured out, please reset the fedora-cvs flag to ? and > add a CVS request here. New Package CVS Request ======================= Package Name: wsdlpull Short Description: C++ Web Services client library Owners: denisarnaud Branches: F-11 F-12 F-13 EL-5 EL-6 # F-14 (if available) InitialCC: denisarnaud ======================= I can manage the CVS request from a network server (not my home desktop on which I experiment Koji connection issues) I own. (In reply to comment #16) > The only thing remaining is to submit the patches upstream (to Vivek). All the patches have been committed to the WSDLPull official repository, and integrated in the new release, namely 1.24. That latter has to be approved by the project owner, namely Vivek Krishna. Once it will be done, I will of course update the Fedora packaging CVS repository with that last version. CVS done (by process-cvs-requests.py). We no longer do F11 branches (it's end of life) We aren't yet doing F14 branches. Otherwise, all done. ;) wsdlpull-1.23-3.el5 has been submitted as an update for Fedora EPEL 5. http://admin.fedoraproject.org/updates/wsdlpull-1.23-3.el5 wsdlpull-1.23-3.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/wsdlpull-1.23-3.fc13 wsdlpull-1.23-3.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/wsdlpull-1.23-3.fc12 wsdlpull-1.23-3.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update wsdlpull'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/wsdlpull-1.23-3.el5 wsdlpull-1.23-3.el5 has been pushed to the Fedora EPEL 5 stable repository. If problems still persist, please make note of it in this bug report. |