Spec URL: http://freevariable.com/thrift/thrift.spec SRPM URL: http://freevariable.com/thrift/thrift-0.9.0-1.fc18.src.rpm Description: Apache Thrift is a software framework for scalable cross-language services development; it combines a software stack with a code generation engine to build services that work efficiently and seamlessly. Fedora Account System Username: willb
There's already a thrift review in https://bugzilla.redhat.com/show_bug.cgi?id=861783 Could you two perhaps work together?
If I read the prior review request correctly, Gil is interested in thrift 0.7.0 because he needs it for a particular project; I need the current version as a dependency for other things. However, I've added him to the CC list here to coordinate if he's interested. (I did adapt his build.xml patch for this package.)
hi I apologize if I would comment on your work there are some problems in your spec file: 1 - Requires: gcc-c++ is only used for build c++ libraries and binary files (!?) 2 - %package -n java-%{name}* should be java-lib%{name} or lib%{name}-java because it should be the same as the name of the library (should remember the name of the library is installed or to be installed) 3 - %docdir %{_javadocdir}/%{name} NOT required %{_javadir}/lib%{name}-%{version}-javadoc.jar NOT required 4 - NO maven files (pom or depmad) 5 - the java library should at least have the following libraries as Requires mvn(org.slf4j:slf4j-api) mvn(commons-lang:commons-lang) mvn(org.apache.httpcomponents:httpclient) mvn(org.apache.httpcomponents:httpcore) sorry, but i haven't interest to update the my package at this version regards
*** Bug 861783 has been marked as a duplicate of this bug. ***
Wow! So you're added Erlang - that's nice :)
erlang-jsx is available here now https://bugzilla.redhat.com/show_bug.cgi?id=983778
Gil, thanks for the great feedback. I'll spin a new package with these fixes (and Erlang support) ASAP.
Small comment about the php sub-package Please remove Requires: php You obviously don't need "mod_php" and "httpd" (ABI requirement are enough) You can also remove %global php_extdir ... This macro is defined on fedora and rhel-6 (only required on rhel-5, which doesn't seems to be targeted) What is the {php_extdir}/Thrift/ dir used for ? I also prefer to have the subpackage dependencies in the subpackage definition. (ex BR: php-devel). It will also save you some conditional stuf for some language (erlang, ruby) as the sub-package definition already have this condition. Just make spec a little more legible.
%{php_extdir}/Thrift is a pure PHP library, so should be installed (moved) in the php include_path, so %{_datadir}/php/Thrift (PSR-0 compliant) According to phpcompatinfo analysis, this library requires : php(language) >= 5.3.0 php-date php-json And optionally php-pecl(APC), but seems preferable to not require it in fedora < 20 because APC (opcode cache part) have some bad side effects, APCU (dropin replacment in f20) is fine (no more opcode cache, only user data cache).
Hi, since Fedora support d lang please add this binding the only things to do is: sed -i 's/ldmd/ldmd2/g' configure as configure try to search ldmd whereas the name is ldmd2 thanks
oh yes you need to set d include dir path. /configure D_IMPORT_PREFIX=%{_d_includedir} replace d_lib_flag sed -i 's/d_lib_flag=.*/d_lib_flag=%{_d_optflags} -Isrc -shared' lib/d/Makefile set lib as shared so you need to replace these .a by .so from Makefile at root project dir D_EVENT_LIB_NAME = libthriftd-event.a D_LIB_NAME = libthriftd.a D_SSL_LIB_NAME = libthriftd-ssl.a
Step by step: $ sed -i 's/d_lib_flags = .*/d_lib_flags = %{_d_optflags} -Isrc -shared/' lib/d/Makefile $ sed -i 's/ldmd/ldmd2/g' configure $ sed -i 's/libthriftd-event.a/libthriftd-event.so/' Makefile $ sed -i 's/libthriftd.a/libthriftd.so/' Makefile $ sed -i 's/libthriftd-ssl.a/libthriftd-ssl.so/' Makefile $ ./configure D_IMPORT_PREFIX=%{_d_includedir}
after a check fix sed to write expected flags sed -i "s/d_lib_flags = .*/d_lib_flags = $(rpm --eval %{_d_optflags} ) -Isrc -shared/" lib/d/Makefile going to bed good luck ^^
OK, a new package and spec are available here: http://freevariable.com/thrift/thrift.spec http://freevariable.com/thrift/thrift-0.9.0-2.fc18.src.rpm Thanks for all of the helpful feedback. Remi, I guess I was confused because the PHP library depends on the binary extension, but it's sorted now. Jonathan, I've not yet enabled D support but will consider doing so after some more investigation.
Another updated package and spec are available now: http://freevariable.com/thrift/thrift.spec http://freevariable.com/thrift/thrift-0.9.0-4.fc19.src.rpm
Any chance of a version bump to 0.9.1?
Would you be interested in reviewing a package for thrift 0.9.1?
Definitely :) I have a particular use case in mind, but if there are other guidelines, I'd be happy to go with those, too.
hi Will see https://bugzilla.redhat.com/show_bug.cgi?id=993551 and http://fedoraproject.org/wiki/Changes/UnversionedDocdirs --docdir=%{_docdir}/%{name} can use also rpm macros for: /usr/bin/thrift >> %{_bindir}/thrift /usr/lib64/erlang/lib/%{name}-%{version}/ >> %{_libdir}/erlang/lib/%{name}-%{version}/ and if you use sed -i 's|-Dinstall.javadoc.path=$(DESTDIR)$(docdir)/java|-Dinstall.javadoc.path=$(DESTDIR)%{_javadocdir}/%{name}|' lib/java/Makefile.* install javadocs in the proper place also fir unversioned jar can use sed -i 's|${thrift.artifactid}-${version}|${thrift.artifactid}|' lib/java/build.xml regards
The update to 0.9.1 was a little trickier than one might have hoped, but it's done now: Spec URL: http://freevariable.com/thrift/thrift.spec SRPM URL: http://freevariable.com/thrift/thrift-0.9.1-2.fc19.src.rpm Koji results are here: http://koji.fedoraproject.org/koji/taskinfo?taskID=5980094
Created attachment 804645 [details] review notes problems: Issues: ======= - Packages have proper BuildRequires/Requires on jpackage-utils Skip - Permissions on files are set properly. Note: See rpmlint output See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions - All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. Note: These BR are not needed: gcc-c++ See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2 [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Apache (v2.0)", "BSD (2 clause)", "*No copyright* Apache (v2.0)", "Unknown or generated", "zlib/libpng". 55 files have unknown license. Detailed output of licensecheck in /home/gil/982285-thrift/licensecheck.txt [!]: Package should not use obsolete m4 macros Note: Some obsoleted macros found, see the attachment. See: https://fedorahosted.org/FedoraReview/wiki/AutoTools python-thrift.i686: E: non-standard-executable-perm /usr/lib/python2.7/site-packages/thrift/protocol/fastbinary.so 0775L erlang-thrift.i686: W: only-non-binary-in-usr-lib erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_reconnecting_client.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/include/thrift_protocol_behaviour.hrl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_file_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_memory_buffer.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_base64_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_buffered_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_disk_log_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/include/thrift_protocol.hrl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_transport_state_test.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_socket_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_service.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_client.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_protocol.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_processor.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_socket_server.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_server.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_http_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_client_util.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/include/thrift_transport_behaviour.hrl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/include/thrift_constants.hrl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/ebin/thrift.app erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_json_protocol.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_framed_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_binary_protocol.erl thrift.src: W: strange-permission thrift-0.9.1-bootstrap.sh 0755L thrift.src:67: W: macro-in-comment %{name} thrift.src:67: W: macro-in-comment %{version} thrift.src:67: W: macro-in-comment %{name} thrift.src:67: W: macro-in-comment %{version} thrift.src:292: W: macro-in-comment %{buildroot} thrift.src:295: W: macro-in-comment %{python_sitearch} thrift.src:295: W: macro-in-comment %{python_sitelib} thrift.src:297: W: macro-in-comment %{buildroot} thrift.src:297: W: macro-in-comment %{python_sitearch} thrift.src:297: W: macro-in-comment %{name} thrift.src:298: W: macro-in-comment %{buildroot} thrift.src:298: W: macro-in-comment %{python_sitelib} thrift.src:298: W: macro-in-comment %{name} thrift.src:298: W: macro-in-comment %{buildroot} thrift.src:298: W: macro-in-comment %{python_sitearch} thrift.src:299: W: macro-in-comment %{buildroot} thrift.src:299: W: macro-in-comment %{python_sitelib} thrift.src:304: W: macro-in-comment %{buildroot} thrift.src:77: W: mixed-use-of-spaces-and-tabs (spaces: line 77, tab: line 60) thrift.src: W: patch-not-applied Patch2: thrift-0.9.1-distbuild-issues.patch thrift.src: W: invalid-url Source0: http://archive.apache.org/dist/thrift/0.9.1/thrift-0.9.1-ff980c1.tar.gz HTTP Error 404: Not Found 8 packages and 0 specfiles checked; 26 errors, 24 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint thrift-devel perl-thrift java-libthrift erlang-thrift java-libthrift-javadoc python-thrift thrift thrift-devel.i686: W: undefined-non-weak-symbol /usr/lib/libthriftz-0.9.1.so apache::thrift::GlobalOutput thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftz-0.9.1.so /lib/libssl.so.10 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftz-0.9.1.so /lib/libcrypto.so.10 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftz-0.9.1.so /lib/librt.so.1 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftz-0.9.1.so /lib/libm.so.6 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift-0.9.1.so /lib/librt.so.1 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift-0.9.1.so /lib/libm.so.6 erlang-thrift.i686: W: only-non-binary-in-usr-lib erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_reconnecting_client.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/include/thrift_protocol_behaviour.hrl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_file_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_memory_buffer.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_base64_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_buffered_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_disk_log_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/include/thrift_protocol.hrl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_transport_state_test.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_socket_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_service.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_client.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_protocol.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_processor.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_socket_server.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_server.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_http_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_client_util.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/include/thrift_transport_behaviour.hrl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/include/thrift_constants.hrl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/ebin/thrift.app erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_json_protocol.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_framed_transport.erl erlang-thrift.i686: E: script-without-shebang /usr/lib/erlang/lib/thrift-0.9.1/src/thrift_binary_protocol.erl python-thrift.i686: E: non-standard-executable-perm /usr/lib/python2.7/site-packages/thrift/protocol/fastbinary.so 0775L thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_param_spec_object thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_free thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_param_spec_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_intern_static_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_byte_array_new thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_get_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_strdup thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_get_uint thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_object_class_install_property thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_param_spec_uint thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_malloc0_n thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_object_new thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_set_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_check_class_cast thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_byte_array_free thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_return_if_fail_warning thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_set_error thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_get_object thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_quark_from_static_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_check_instance_is_a thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_list_append thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_name thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_check_instance_cast thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_register_static_simple thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_byte_array_append thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_byte_array_remove_range thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_set_object thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_once_init_enter thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_set_uint thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_malloc_n thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_once_init_leave thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_class_peek_parent thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_log thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_class_adjust_private_offset thrift.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift_c_glib.so.0.0.0 /lib/libssl.so.10 thrift.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift_c_glib.so.0.0.0 /lib/libcrypto.so.10 thrift.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift_c_glib.so.0.0.0 /lib/librt.so.1 AutoTools: Obsoleted m4s found ------------------------------ AC_PROG_LIBTOOL found in: thrift-0.9.1/configure.ac:89
Created attachment 804646 [details] license check
please for all patched follow this format: 'name'-'version'-'...'.patch regards
(In reply to gil cattaneo from comment #23) > please,for all patch follow this format: 'name'-'version'-'...'.patch > regards
qt support isn't enabled...? checking for QT... QtCore >= 4.3, QtNetwork >= 4.3
(In reply to gil cattaneo from comment #25) > qt support isn't enabled...? > checking for QT... > QtCore >= 4.3, QtNetwork >= 4.3 C++ Library: Build TZlibTransport ...... : yes Build TNonblockingServer .. : Build TQTcpServer (Qt) .... : no and please remove empty %doc macro in devel sub package
Spec URL: http://freevariable.com/thrift/thrift.spec SRPM URL: http://freevariable.com/thrift/thrift-0.9.1-3.fc19.src.rpm Review notes: ===== MUST items ===== [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Apache (v2.0)", "BSD (2 clause)", "*No copyright* Apache (v2.0)", "Unknown or generated", "zlib/libpng". 55 files have unknown license. Detailed output of licensecheck in /home/gil/982285-thrift/licensecheck.txt I have updated the license field to mention the BSD- and zlib-licensed components. [!]: License file installed when any subpackage combination is installed. It appears that the license file is installed for every package except debuginfo. Am I missing something? ===== SHOULD items ===== Generic: [!]: Sources can be downloaded from URI in Source: tag Note: Could not download Source0 See: http://fedoraproject.org/wiki/Packaging:Guidelines#Tags I've changed the Source: location to the github archive of this release tag for 0.9.1 only (which had a broken upstream distribution tarball). [!]: Uses parallel make %{?_smp_mflags} macro. This is fixed, thanks. ===== EXTRA items ===== Generic: [!]: Package should not use obsolete m4 macros Note: Some obsoleted macros found, see the attachment. See: https://fedorahosted.org/FedoraReview/wiki/AutoTools AutoTools: Obsoleted m4s found ------------------------------ AC_PROG_LIBTOOL found in: thrift-0.9.1/configure.ac:89 This is fixed in %prep now, thanks.
hi please, add qt-devel references and move all build requires on main package regards
should fix these problems thrift.src: W: strange-permission bootstrap.sh 0755L thrift.src:310: W: macro-in-comment %{buildroot} thrift.src:313: W: macro-in-comment %{python_sitearch} thrift.src:313: W: macro-in-comment %{python_sitelib} thrift.src:315: W: macro-in-comment %{buildroot} thrift.src:315: W: macro-in-comment %{python_sitearch} thrift.src:315: W: macro-in-comment %{name} thrift.src:316: W: macro-in-comment %{buildroot} thrift.src:316: W: macro-in-comment %{python_sitelib} thrift.src:316: W: macro-in-comment %{name} thrift.src:316: W: macro-in-comment %{buildroot} thrift.src:316: W: macro-in-comment %{python_sitearch} thrift.src:317: W: macro-in-comment %{buildroot} thrift.src:317: W: macro-in-comment %{python_sitelib} thrift.src:322: W: macro-in-comment %{buildroot} thrift.src:70: W: mixed-use-of-spaces-and-tabs (spaces: line 70, tab: line 60) thrift.src: W: patch-not-applied Patch2: thrift-0.9.1-distbuild-issues.patch 8 packages and 0 specfiles checked; 25 errors, 19 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint thrift-devel perl-thrift java-libthrift erlang-thrift java-libthrift-javadoc python-thrift thrift thrift-devel.i686: W: undefined-non-weak-symbol /usr/lib/libthriftz-0.9.1.so apache::thrift::GlobalOutput thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftz-0.9.1.so /lib/libssl.so.10 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftz-0.9.1.so /lib/libcrypto.so.10 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftz-0.9.1.so /lib/librt.so.1 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftz-0.9.1.so /lib/libm.so.6 thrift-devel.i686: W: undefined-non-weak-symbol /usr/lib/libthriftqt-0.9.1.so apache::thrift::TOutput::strerror_s(int) thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftqt-0.9.1.so /lib/libssl.so.10 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftqt-0.9.1.so /lib/libcrypto.so.10 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftqt-0.9.1.so /lib/librt.so.1 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthriftqt-0.9.1.so /lib/libm.so.6 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift-0.9.1.so /lib/librt.so.1 thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift-0.9.1.so /lib/libm.so.6 thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_param_spec_object thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_free thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_param_spec_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_intern_static_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_byte_array_new thrift.i686: W: /usr/lib/libthrift_c_glib.so.0.0.0 g_value_get_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_strdup thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_get_uint thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_object_class_install_property thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_param_spec_uint thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_malloc0_n thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_object_new thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_set_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_check_class_cast thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_byte_array_free thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_return_if_fail_warning thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_set_error thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_get_object thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_quark_from_static_string thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_check_instance_is_a thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_list_append thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_name thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_check_instance_cast thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_register_static_simple thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_byte_array_append thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_byte_array_remove_range thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_set_object thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_once_init_enter thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_value_set_uint thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_malloc_n thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_once_init_leave thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_class_peek_parent thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_log thrift.i686: W: undefined-non-weak-symbol /usr/lib/libthrift_c_glib.so.0.0.0 g_type_class_adjust_private_offset thrift.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift_c_glib.so.0.0.0 /lib/libssl.so.10 thrift.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift_c_glib.so.0.0.0 /lib/libcrypto.so.10 thrift.i686: W: unused-direct-shlib-dependency /usr/lib/libthrift_c_glib.so.0.0.0 /lib/librt.so.1 7 packages and 0 specfiles checked; 25 errors, 51 warnings. # echo 'rpmlint-done:'
Spec URL: http://freevariable.com/thrift/thrift.spec SRPM URL: http://freevariable.com/thrift/thrift-0.9.1-4.fc19.src.rpm All of the rpmlint warnings are now fixed except the following: * erlang-thrift.x86_64: W: only-non-binary-in-usr-lib This is spurious, since this package installs .beam files (not just .erl and .hrl files) and /usr/lib is where Erlang packages go. * thrift.x86_64: W: no-manual-page-for-binary thrift Upstream doesn't ship one.
(In reply to Will Benton from comment #30) > Spec URL: http://freevariable.com/thrift/thrift.spec > SRPM URL: http://freevariable.com/thrift/thrift-0.9.1-4.fc19.src.rpm > > All of the rpmlint warnings are now fixed except the following: > > * erlang-thrift.x86_64: W: only-non-binary-in-usr-lib > > This is spurious, since this package installs .beam files (not just .erl and > .hrl files) and /usr/lib is where Erlang packages go. That's perfectly fine. This is a typical Erlang shortcoming - an arch-independent data (*.beam files) is installed into arch-dependent directory, (%{_libdir}/erlang/lib) thus making the entire package arch-dependent. It's annoying but harmless. We (me with my fellow colleague from SUSE community) are currently searching got a proper way to fix it, but don't expect that this issue will be resolved anytime soon.
Created attachment 806704 [details] build failed
(In reply to Peter Lemenkov from comment #31) > (In reply to Will Benton from comment #30) > > Spec URL: http://freevariable.com/thrift/thrift.spec > > SRPM URL: http://freevariable.com/thrift/thrift-0.9.1-4.fc19.src.rpm > > > > All of the rpmlint warnings are now fixed except the following: > > > > * erlang-thrift.x86_64: W: only-non-binary-in-usr-lib > > > > This is spurious, since this package installs .beam files (not just .erl and > > .hrl files) and /usr/lib is where Erlang packages go. > > That's perfectly fine. This is a typical Erlang shortcoming - an > arch-independent data (*.beam files) is installed into arch-dependent > directory, (%{_libdir}/erlang/lib) thus making the entire package > arch-dependent. It's annoying but harmless. > > We (me with my fellow colleague from SUSE community) are currently searching > got a proper way to fix it, but don't expect that this issue will be > resolved anytime soon. Peter, do you have a SIG or other mailing list for these efforts? I'm definitely interested in more RPM<->erlang integration.
(In reply to gil cattaneo from comment #32) > Created attachment 806704 [details] > build failed Sorry, Gil, I thought I was building against the in-situ libthrift and not one from an earlier package install. This latest build should (finally!) fix that: Spec URL: http://freevariable.com/thrift/thrift.spec SRPM URL: http://freevariable.com/thrift/thrift-0.9.1-5.fc19.src.rpm koji results: http://koji.fedoraproject.org/koji/taskinfo?taskID=6018132
no problems, thanks for your patience Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Packages have proper BuildRequires/Requires on jpackage-utils ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. [x]: Header files in -devel subpackage, if present. [x]: ldconfig called in %post and %postun if required. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Apache (v2.0)", "BSD (2 clause)", "*No copyright* Apache (v2.0)", "Unknown or generated", "zlib/libpng". 55 files have unknown license. Detailed output of licensecheck in /home/gil/982285-thrift/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 122880 bytes in 12 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Java: [x]: Javadoc documentation files are generated and included in -javadoc subpackage [x]: Javadoc subpackages should not have Requires: jpackage-utils [x]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink) [x]: Bundled jar/class files should be removed before build Maven: [x]: Pom files have correct Maven mapping Note: Some add_maven_depmap calls found. Please check if they are correct or update to latest guidelines [x]: If package contains pom.xml files install it (including depmaps) even when building with ant [x]: Old add_to_maven_depmap macro is not being used [x]: Packages DOES NOT have Requires(post) and Requires(postun) on jpackage- utils for %update_maven_depmap macro [x]: Package DOES NOT use %update_maven_depmap in %post/%postun [x]: Packages use %{_mavenpomdir} instead of %{_datadir}/maven2/poms Perl: [x]: Package contains the mandatory BuildRequires and Requires:. Note: Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) missing? Python: [x]: Python eggs must not download any dependencies during the build process. [ ]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in perl-thrift , java-libthrift-javadoc , java-libthrift [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: Scriptlets must be sane, if used. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [?]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: The placement of pkgconfig(.pc) files are correct. [x]: SourceX tarball generation or download is documented. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. Java: [x]: Packages are noarch unless they use JNI Note: thrift subpackage is not noarch. Please verify manually [x]: Package uses upstream build method (ant/maven/etc.) ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Package should not use obsolete m4 macros [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: thrift-0.9.1-5.fc21.i686.rpm thrift-devel-0.9.1-5.fc21.i686.rpm python-thrift-0.9.1-5.fc21.i686.rpm perl-thrift-0.9.1-5.fc21.noarch.rpm java-libthrift-javadoc-0.9.1-5.fc21.noarch.rpm java-libthrift-0.9.1-5.fc21.noarch.rpm erlang-thrift-0.9.1-5.fc21.i686.rpm thrift-0.9.1-5.fc21.src.rpm thrift.i686: W: no-manual-page-for-binary thrift erlang-thrift.i686: W: only-non-binary-in-usr-lib 8 packages and 0 specfiles checked; 0 errors, 2 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint thrift-devel perl-thrift java-libthrift erlang-thrift java-libthrift-javadoc python-thrift thrift erlang-thrift.i686: W: only-non-binary-in-usr-lib thrift.i686: W: no-manual-page-for-binary thrift 7 packages and 0 specfiles checked; 0 errors, 2 warnings. # echo 'rpmlint-done:' Requires -------- thrift-devel (rpmlib, GLIBC filtered): /usr/bin/pkg-config libQtCore.so.4 libQtNetwork.so.4 libc.so.6 libcrypto.so.10 libcrypto.so.10(libcrypto.so.10) libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GCC_4.0.0) libpthread.so.0 libssl.so.10 libssl.so.10(libssl.so.10) libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(CXXABI_1.3.1) libthrift-0.9.1.so libthrift_c_glib.so.0 libz.so.1 pkgconfig pkgconfig(glib-2.0) pkgconfig(gobject-2.0) pkgconfig(thrift) rtld(GNU_HASH) thrift(x86-32) perl-thrift (rpmlib, GLIBC filtered): perl perl(:MODULE_COMPAT_5.18.1) perl(Bit::Vector) perl(Encode) perl(HTTP::Request) perl(IO::Select) perl(IO::Socket::INET) perl(IO::String) perl(LWP::UserAgent) perl(POSIX) perl(Thrift) perl(Thrift::BinaryProtocol) perl(Thrift::BufferedTransport) perl(Thrift::Protocol) perl(Thrift::Server) perl(Thrift::ServerTransport) perl(Thrift::Socket) perl(Thrift::Transport) perl(base) perl(constant) perl(strict) perl(utf8) perl(warnings) java-libthrift (rpmlib, GLIBC filtered): java jpackage-utils mvn(commons-lang:commons-lang) mvn(org.apache.httpcomponents:httpclient) mvn(org.apache.httpcomponents:httpcore) mvn(org.slf4j:slf4j-api) erlang-thrift (rpmlib, GLIBC filtered): erlang erlang-jsx thrift(x86-32) java-libthrift-javadoc (rpmlib, GLIBC filtered): java-libthrift jpackage-utils python-thrift (rpmlib, GLIBC filtered): libc.so.6 libpthread.so.0 libpython2.7.so.1.0 python(abi) python2 rtld(GNU_HASH) thrift(x86-32) thrift (rpmlib, GLIBC filtered): /sbin/ldconfig bison boost flex libc.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libglib-2.0.so.0 libgobject-2.0.so.0 libm.so.6 libpthread.so.0 libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(CXXABI_1.3.1) mono-core openssl qt4 rtld(GNU_HASH) Provides -------- thrift-devel: libthrift-0.9.1.so libthriftqt-0.9.1.so libthriftz-0.9.1.so pkgconfig(thrift) pkgconfig(thrift-qt) pkgconfig(thrift-z) pkgconfig(thrift_c_glib) thrift-devel thrift-devel(x86-32) perl-thrift: perl(TApplicationException) perl(TMessageType) perl(TProtocolException) perl(TProtocolFactory) perl(TTransportException) perl(TType) perl(Thrift) perl(Thrift::BinaryProtocol) perl(Thrift::BinaryProtocolFactory) perl(Thrift::BufferedTransport) perl(Thrift::BufferedTransportFactory) perl(Thrift::ForkingServer) perl(Thrift::FramedTransport) perl(Thrift::HttpClient) perl(Thrift::MemoryBuffer) perl(Thrift::Protocol) perl(Thrift::Server) perl(Thrift::ServerSocket) perl(Thrift::ServerTransport) perl(Thrift::SimpleServer) perl(Thrift::Socket) perl(Thrift::TException) perl(Thrift::Transport) perl(Thrift::TransportFactory) perl-thrift java-libthrift: java-libthrift mvn(org.apache.thrift:libthrift) osgi(org.apache.thrift) erlang-thrift: erlang-thrift erlang-thrift(x86-32) java-libthrift-javadoc: java-libthrift-javadoc python-thrift: python-thrift python-thrift(x86-32) thrift: libthrift_c_glib.so.0 thrift thrift(x86-32) Unversioned so-files -------------------- python-thrift: /usr/lib/python2.7/site-packages/thrift/protocol/fastbinary.so Source checksums ---------------- https://raw.github.com/apache/thrift/0.9.1/bootstrap.sh : CHECKSUM(SHA256) this package : 0281b145fb2f509f509b8677c11da98af19e28e78103a76267553ba1d0b746c1 CHECKSUM(SHA256) upstream package : 0281b145fb2f509f509b8677c11da98af19e28e78103a76267553ba1d0b746c1 https://github.com/apache/thrift/archive/0.9.1.tar.gz : CHECKSUM(SHA256) this package : f9c04bf08e09de9f79dc8b0960817588ae2c08007b1980029ef1a1d8294e835f CHECKSUM(SHA256) upstream package : f9c04bf08e09de9f79dc8b0960817588ae2c08007b1980029ef1a1d8294e835f http://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.9.1/libthrift-0.9.1.pom : CHECKSUM(SHA256) this package : 502beb3f689f0e4b96dbacf6d97f70506b218da4c634a82d04159e34172849c7 CHECKSUM(SHA256) upstream package : 502beb3f689f0e4b96dbacf6d97f70506b218da4c634a82d04159e34172849c7 Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30 Command line :/usr/bin/fedora-review -b 982285 -m fedora-rawhide-i386 Buildroot used: fedora-rawhide-i386 Active plugins: Java, C/C++, Python, Shell-api, Perl, Generic Disabled plugins: Ruby, R, SugarActivity, PHP Disabled flags: EPEL5, EXARCH, DISTTAG thrift.i686: W: no-manual-page-for-binary thrift for this warning i found an manual from Debian if you want use i attached this one regards approved
Created attachment 806880 [details] manual for thrift compiler
forgotten this one: Requires: jpackage-utils must changed in Requires: javapackages-tools
hi i done some changes for build also fb303 sed -i 's|$(thrift_home)/bin/thrift|../../../compiler/cpp/thrift|g' \ contrib/fb303/cpp/Makefile.am \ contrib/fb303/py/Makefile.am sed -i 's|$(thrift_home)/include/thrift|../../../lib/cpp/src|g' \ contrib/fb303/cpp/Makefile.am \ contrib/fb303/py/Makefile.am ( cd contrib/fb303 echo "all: ant install: build/libfb303.jar mkdir -p %{buildroot}%{_javadir} %{_bindir}/install -c -m 644 build/libfb303.jar %{buildroot}%{_javadir} " > java/Makefile chmod 755 bootstrap.sh sh bootstrap.sh %configure --disable-static --with-java --without-php make )
(In reply to gil cattaneo from comment #38) > hi > i done some changes for build also fb303 > > sed -i 's|$(thrift_home)/bin/thrift|../../../compiler/cpp/thrift|g' \ > contrib/fb303/cpp/Makefile.am \ > contrib/fb303/py/Makefile.am > > sed -i 's|$(thrift_home)/include/thrift|../../../lib/cpp/src|g' \ > contrib/fb303/cpp/Makefile.am \ > contrib/fb303/py/Makefile.am > > ( > cd contrib/fb303 > echo "all: > ant > install: build/libfb303.jar > mkdir -p %{buildroot}%{_javadir} > %{_bindir}/install -c -m 644 build/libfb303.jar > %{buildroot}%{_javadir} > " > java/Makefile > chmod 755 bootstrap.sh > sh bootstrap.sh > %configure --disable-static --with-java --without-php > make > ) if you want include these changes then must restart with review
Created attachment 806998 [details] thrift-0.9.1-fb303-buildxml.patch - remove maven-ant-tasks support - generate unversioned libfb303 JAR - use system libraries - fix install task - add javadoc task
Build section sed -i 's|$(thrift_home)/bin/thrift|../../../compiler/cpp/thrift|g' \ contrib/fb303/cpp/Makefile.am \ contrib/fb303/py/Makefile.am sed -i 's|$(thrift_home)/include/thrift|../../../lib/cpp/src|g' \ contrib/fb303/cpp/Makefile.am ( cd contrib/fb303 chmod 755 bootstrap.sh sh bootstrap.sh %configure --disable-static --with-java --without-php make ( cd java ant dist ) ) Install section ( cd contrib/fb303 make DESTDIR=%{buildroot} install ( cd java ant -Dinstall.path=%{buildroot}%{_javadir} -Dinstall.javadoc.path=%{buildroot}%{_javadocdir}/fb303 install ) ) with 0.7.0 there are these problems thrift-devel.i686: W: unused-direct-shlib-dependency /usr/lib/libfb303.so /lib/libm.so.6 fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/ServiceTracker.h fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/FacebookService.h fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/FacebookBase.h fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/fb303_types.h fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/fb303_constants.h fb303.i686: W: no-soname /usr/lib/libfb303.so fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so typeinfo for apache::thrift::concurrency::ReadWriteMutex fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::ReadWriteMutex::acquireRead() const fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::ReadWriteMutex::acquireWrite() const fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::ReadWriteMutex::attemptRead() const fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::ReadWriteMutex::attemptWrite() const fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::ReadWriteMutex::release() const fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::Mutex::DEFAULT_INITIALIZER(void*) fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so vtable for apache::thrift::concurrency::ReadWriteMutex fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so vtable for apache::thrift::concurrency::Mutex fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::TApplicationException::read(apache::thrift::protocol::TProtocol*) fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::Mutex::unlock() const fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::ReadWriteMutex::ReadWriteMutex() fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::Mutex::Mutex(void (*)(void*)) fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::concurrency::Mutex::lock() const fb303.i686: W: undefined-non-weak-symbol /usr/lib/libfb303.so apache::thrift::TApplicationException::write(apache::thrift::protocol::TProtocol*) const fb30307.i686: W: unused-direct-shlib-dependency /usr/lib/libfb303.so /lib/libm.so.6 fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/ServiceTracker.h fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/FacebookService.h fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/FacebookBase.h fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/fb303_types.h fb303.i686: W: devel-file-in-non-devel-package /usr/include/thrift/fb303/fb303_constants.h
%files devel %{_includedir}/thrift %exclude %{_includedir}/thrift/fb303 %{_libdir}/*.so %exclude %{_libdir}/libfb303.so
there are also some unowned directories as: /usr/share/perl5/vendor_perl/Thrift /usr/include/thrift
(In reply to Will Benton from comment #33) > (In reply to Peter Lemenkov from comment #31) > Peter, do you have a SIG or other mailing list for these efforts? I'm > definitely interested in more RPM<->erlang integration. Unfortunately no - I didn't set up mailing list for that. So far there are just few guys expressed interest in Erlang RPM packaging and it's not a big deal to discuss it using personal emails. However I'm not against setting erlang@fedoraproject maillist - we just need someone who actally does it :)
New version; includes fb303. Spec URL: http://freevariable.com/thrift/thrift.spec SRPM URL: http://freevariable.com/thrift/thrift-0.9.1-6.fc19.src.rpm
great! i have a doubt, is really necessary this -a "org.apache.thrift:libfb303" seem the pom file got the same groupId:artifactId which you repass as alias ... ... <modelVersion>4.0.0</modelVersion> <groupId>org.apache.thrift</groupId> <artifactId>libfb303</artifactId> <version>0.9.1</version> <packaging>pom</packaging> <name>Apache Thrift</name> ... really is not necessary... or no? what are your intentions? regards
intents^
sorry for the noise and ... please put BuildRequires: ant in the main package and change jpackage-utils with javapackages-tools jpackage-utils was retired thanks
Created attachment 811763 [details] review notes I don't see problems apart the duplicates: %package -n lib%{name}-java BuildRequires: ant Requires: jpackage-utils replace with Requires: javapackages-tools %package -n fb303-java Requires: jpackage-utils replace with Requires: javapackages-tools BuildRequires: ant and -a "org.apache.thrift:libfb303" is not necessary pom file has the same please correct these problems before import in SCM approved
Thanks so much, Gil!
No SCM request found.
New Package SCM Request ======================= Package Name: thrift Short Description: software framework for cross-language services development Owners: willb Branches: f19 f20 InitialCC: willb
Git done (by process-git-requests).
thrift-0.9.1-7.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/thrift-0.9.1-7.fc20
thrift-0.9.1-7.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/thrift-0.9.1-7.fc19
thrift-0.9.1-7.fc20 has been pushed to the Fedora 20 testing repository.
Are these Requires really needed in this way? If a library is linked in, then the dependency is set automagically based on the soname of the library. Requires: openssl Requires: boost Requires: bison Requires: flex %ifarch %{mono_arches} Requires: mono-core %endif Requires: qt4 Also there are libraries (libthriftqt-0.9.1.so and others) packaged in the devel subpackage that should be part of the main package. Only libthriftqt.so belongs to devel. Please fix it as it violates the guidelines.
you want something like this: diff --git a/thrift.spec b/thrift.spec index c6c147f..510ab5f 100644 --- a/thrift.spec +++ b/thrift.spec @@ -469,12 +469,14 @@ find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r %doc LICENSE NOTICE %{_bindir}/thrift %{_libdir}/*.so.* +%{_libdir}/lib*-%{version}.so %{_mandir}/man1/thrift.1.gz %files devel %{_includedir}/thrift %exclude %{_includedir}/thrift/fb303 %{_libdir}/*.so +%exclude %{_libdir}/lib*-%{version}.so %exclude %{_libdir}/libfb303.so %{_libdir}/pkgconfig/thrift-z.pc %{_libdir}/pkgconfig/thrift-qt.pc
thrift-0.9.1-8.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/thrift-0.9.1-8.fc20
thrift-0.9.1-8.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/thrift-0.9.1-8.fc19
thrift-0.9.1-10.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/thrift-0.9.1-10.fc19
thrift-0.9.1-10.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.