https://bugzilla.redhat.com/show_bug.cgi?id=2074529
Bug ID: 2074529 Summary: Review Request: p4lang-pi - Protocol Independent API Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: rstoyano@redhat.com QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://rstoyanov.fedorapeople.org/p4lang-pi.spec SRPM URL: https://rstoyanov.fedorapeople.org/p4lang-pi-0.1.0-1.fc37.src.rpm Description: Protocol Independent API (PI or P4 Runtime) defines a set of APIs that allow interacting with entities defined in a P4 program, such as tables, counters, meters. Fedora Account System Username: rstoyanov
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
Radostin Stoyanov rstoyano@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rstoyano@redhat.com
--- Comment #1 from Radostin Stoyanov rstoyano@redhat.com --- Created attachment 1872814 --> https://bugzilla.redhat.com/attachment.cgi?id=1872814&action=edit Fedora-review report
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
Adrian Reber adrian@lisas.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adrian@lisas.de
--- Comment #2 from Adrian Reber adrian@lisas.de --- Could you remove
# license %{__mkdir_p} %{buildroot}%{_datadir}/p4lang-pi %{__cp} LICENSE %{buildroot}%{_datadir}/p4lang-pi/LICENSE
and do %license PI-%{version}/LICENSE
does that work
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
--- Comment #3 from Radostin Stoyanov rstoyano@redhat.com --- Thank you for the review Adrian. I have updated the spec file and src RPM file with your suggestion. As as expected, the LICENSE file is now installed in /usr/share/licenses/p4lang-pi/.
Spec URL: https://rstoyanov.fedorapeople.org/p4lang-pi.spec SRPM URL: https://rstoyanov.fedorapeople.org/p4lang-pi-0.1.0-1.fc37.src.rpm
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
--- Comment #4 from Radostin Stoyanov rstoyano@redhat.com --- Created attachment 1875111 --> https://bugzilla.redhat.com/attachment.cgi?id=1875111&action=edit Fedora-review report
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
Adrian Reber adrian@lisas.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |fedora-review?
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
Adrian Reber adrian@lisas.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|nobody@fedoraproject.org |adrian@lisas.de
--- Comment #5 from Adrian Reber adrian@lisas.de --- It does not build on my Fedora 36 system. Does the package require something from rawhide?
/bin/sh ../libtool --tag=CXX --mode=link g++ -Wall -Werror -Wno-unused-command-line-argument -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/home/adrian/rpmbuild/BUILD/p4lang-pi-0.1.0/.package_note-p4lang-pi-0.1.0-1.fc36.x86_64.ld -o pi_server_dummy pi_server_main.o ../server/libpigrpcserver.la ../frontend/libpifeproto.la ../libpiprotogrpc.la ../libpiprotobuf.la ../../src/libpiall.la ../../targets/dummy/libpi_dummy.la -lmicrohttpd libtool: link: g++ -Wall -Werror -Wno-unused-command-line-argument -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT -Wl,/home/adrian/rpmbuild/BUILD/p4lang-pi-0.1.0/.package_note-p4lang-pi-0.1.0-1.fc36.x86_64.ld -o .libs/pi_server_dummy pi_server_main.o ../server/.libs/libpigrpcserver.so -L/usr/lib64 -L/usr/lib /home/adrian/rpmbuild/BUILD/p4lang-pi-0.1.0/PI-0.1.0/build/proto/frontend/.libs/libpifeproto.so /home/adrian/rpmbuild/BUILD/p4lang-pi-0.1.0/PI-0.1.0/build/proto/.libs/libpiprotogrpc.so -lboost_system ../frontend/.libs/libpifeproto.so /home/adrian/rpmbuild/BUILD/p4lang-pi-0.1.0/PI-0.1.0/build/frontends_extra/cpp/.libs/libpifecpp.so /home/adrian/rpmbuild/BUILD/p4lang-pi-0.1.0/PI-0.1.0/build/proto/p4info/.libs/libpiconvertproto.so /home/adrian/rpmbuild/BUILD/p4lang-pi-0.1.0/PI-0.1.0/build/src/.libs/libpip4info.so -lboost_thread ../.libs/libpiprotogrpc.so /home/adrian/rpmbuild/BUILD/p4lang-pi-0.1.0/PI-0.1.0/build/proto/.libs/libpiprotobuf.so -lgrpc++ -lgrpc -laddress_sorting -lre2 -lupb -lcares -lz -lgpr -lssl -lcrypto -labsl_hash -labsl_city -labsl_wyhash -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_exponential_biased -labsl_statusor -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_stacktrace -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_malloc_internal -labsl_time -labsl_civil_time -labsl_strings -labsl_strings_internal -lrt -labsl_base -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_time_zone -labsl_bad_variant_access -labsl_raw_logging_internal -labsl_log_severity ../.libs/libpiprotobuf.so -lprotobuf ../../src/.libs/libpiall.so -lm ../../targets/dummy/.libs/libpi_dummy.so -lmicrohttpd -pthread ../../../proto/demo_grpc/web_server.cpp: In function 'int {anonymous}::answer_to_connection(void*, MHD_Connection*, const char*, const char*, const char*, const char*, size_t*, void**)': ../../../proto/demo_grpc/web_server.cpp:199:39: error: invalid conversion from 'int (*)(void*, MHD_ValueKind, const char*, const char*, const char*, const char*, const char*, uint64_t, size_t)' {aka 'int (*)(void*, MHD_ValueKind, const char*, const char*, const char*, const char*, const char*, long unsigned int, long unsigned int)'} to 'MHD_PostDataIterator' {aka 'MHD_Result (*)(void*, MHD_ValueKind, const char*, const char*, const char*, const char*, const char*, long unsigned int, long unsigned int)'} [-fpermissive] 199 | connection, POSTBUFFERSIZE, iterate_post, | ^~~~~~~~~~~~ | | | int (*)(void*, MHD_ValueKind, const char*, const char*, const char*, const char*, const char*, uint64_t, size_t) {aka int (*)(void*, MHD_ValueKind, const char*, const char*, const char*, const char*, const char*, long unsigned int, long unsigned int)} In file included from ../../../proto/demo_grpc/web_server.cpp:26: /usr/include/microhttpd.h:4020:49: note: initializing argument 3 of 'MHD_PostProcessor* MHD_create_post_processor(MHD_Connection*, size_t, MHD_PostDataIterator, void*)' 4020 | MHD_PostDataIterator iter, void *iter_cls); | ~~~~~~~~~~~~~~~~~~~~~^~~~ ../../../proto/demo_grpc/web_server.cpp: In member function 'int WebServer::start()': ../../../proto/demo_grpc/web_server.cpp:240:29: error: invalid conversion from 'int (*)(void*, MHD_Connection*, const char*, const char*, const char*, const char*, size_t*, void**)' {aka 'int (*)(void*, MHD_Connection*, const char*, const char*, const char*, const char*, long unsigned int*, void**)'} to 'MHD_AccessHandlerCallback' {aka 'MHD_Result (*)(void*, MHD_Connection*, const char*, const char*, const char*, const char*, long unsigned int*, void**)'} [-fpermissive] 240 | &answer_to_connection, static_cast<void *>(this), | ^~~~~~~~~~~~~~~~~~~~~ | | | int (*)(void*, MHD_Connection*, const char*, const char*, const char*, const char*, size_t*, void**) {aka int (*)(void*, MHD_Connection*, const char*, const char*, const char*, const char*, long unsigned int*, void**)} /usr/include/microhttpd.h:2701:45: note: initializing argument 5 of 'MHD_Daemon* MHD_start_daemon(unsigned int, uint16_t, MHD_AcceptPolicyCallback, void*, MHD_AccessHandlerCallback, void*, ...)' 2701 | MHD_AccessHandlerCallback dh, void *dh_cls, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ At global scope: cc1plus: note: unrecognized command-line option '-Wno-unused-command-line-argument' may have been intended to silence earlier diagnostics make[4]: *** [Makefile:559: web_server.o] Error 1 make[4]: *** Waiting for unfinished jobs.... ../../../proto/demo_grpc/test_perf.cpp: In member function 'int P4RuntimeClient::assign_device(int, const pi_p4info_t*)': ../../../proto/demo_grpc/test_perf.cpp:115:27: error: ignoring return value of 'p4::config::v1::P4Info* p4::v1::ForwardingPipelineConfig::release_p4info()', declared with attribute 'nodiscard' [-Werror=unused-result] 115 | config->release_p4info(); | ~~~~~~~~~~~~~~~~~~~~~~^~ In file included from ../grpc_out/p4/v1/p4runtime.grpc.pb.h:22, from ../../../proto/demo_grpc/test_perf.cpp:20: ../cpp_out/p4/v1/p4runtime.pb.h:20462:34: note: declared here 20462 | inline ::p4::config::v1::P4Info* ForwardingPipelineConfig::release_p4info() { | ^~~~~~~~~~~~~~~~~~~~~~~~ At top level: cc1plus: note: unrecognized command-line option '-Wno-unused-command-line-argument' may have been intended to silence earlier diagnostics cc1plus: all warnings being treated as errors make[4]: *** [Makefile:559: test_perf.o] Error 1 In file included from /usr/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22, from /usr/include/boost/smart_ptr/detail/yield_k.hpp:23, from /usr/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14, from /usr/include/boost/smart_ptr/detail/spinlock.hpp:42, from /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp:25, from /usr/include/boost/smart_ptr/shared_ptr.hpp:29, from /usr/include/boost/shared_ptr.hpp:17, from /usr/include/boost/date_time/time_clock.hpp:17, from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:10, from /usr/include/boost/asio/time_traits.hpp:23, from /usr/include/boost/asio/detail/timer_queue_ptime.hpp:22, from /usr/include/boost/asio/detail/deadline_timer_service.hpp:29, from /usr/include/boost/asio/basic_deadline_timer.hpp:25, from /usr/include/boost/asio.hpp:25, from ../../../proto/demo_grpc/simple_router_mgr.h:25, from ../../../proto/demo_grpc/simple_router_mgr.cpp:21: /usr/include/boost/bind.hpp:36:1: note: '#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.' 36 | BOOST_PRAGMA_MESSAGE( | ^~~~~~~~~~~~~~~~~~~~ ../../../proto/demo_grpc/simple_router_mgr.cpp: In member function 'int SimpleRouterMgr::assign(const std::string&, const std::string*)': ../../../proto/demo_grpc/simple_router_mgr.cpp:273:25: error: ignoring return value of 'p4::config::v1::P4Info* p4::v1::ForwardingPipelineConfig::release_p4info()', declared with attribute 'nodiscard' [-Werror=unused-result] 273 | config->release_p4info(); | ~~~~~~~~~~~~~~~~~~~~~~^~ In file included from ../grpc_out/p4/v1/p4runtime.grpc.pb.h:22, from ../../../proto/demo_grpc/simple_router_mgr.h:29: ../cpp_out/p4/v1/p4runtime.pb.h:20462:34: note: declared here 20462 | inline ::p4::config::v1::P4Info* ForwardingPipelineConfig::release_p4info() { | ^~~~~~~~~~~~~~~~~~~~~~~~ ../../../proto/demo_grpc/simple_router_mgr.cpp: In member function 'int SimpleRouterMgr::add_one_entry(p4::v1::TableEntry*)': ../../../proto/demo_grpc/simple_router_mgr.cpp:318:30: error: ignoring return value of 'p4::v1::TableEntry* p4::v1::Entity::release_table_entry()', declared with attribute 'nodiscard' [-Werror=unused-result] 318 | entity->release_table_entry(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../cpp_out/p4/v1/p4runtime.pb.h:12593:30: note: declared here 12593 | inline ::p4::v1::TableEntry* Entity::release_table_entry() { | ^~~~~~ ../../../proto/demo_grpc/simple_router_mgr.cpp: In member function 'int SimpleRouterMgr::set_one_default_entry(pi_p4_id_t, p4::v1::Action*)': ../../../proto/demo_grpc/simple_router_mgr.cpp:442:24: error: ignoring return value of 'p4::v1::Action* p4::v1::TableAction::release_action()', declared with attribute 'nodiscard' [-Werror=unused-result] 442 | entry->release_action(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../cpp_out/p4/v1/p4runtime.pb.h:14995:26: note: declared here 14995 | inline ::p4::v1::Action* TableAction::release_action() { | ^~~~~~~~~~~ ../../../proto/demo_grpc/simple_router_mgr.cpp: In member function 'int SimpleRouterMgr::update_config_(const std::string&, const std::string*)': ../../../proto/demo_grpc/simple_router_mgr.cpp:729:27: error: ignoring return value of 'p4::config::v1::P4Info* p4::v1::ForwardingPipelineConfig::release_p4info()', declared with attribute 'nodiscard' [-Werror=unused-result] 729 | config->release_p4info(); | ~~~~~~~~~~~~~~~~~~~~~~^~ ../cpp_out/p4/v1/p4runtime.pb.h:20462:34: note: declared here 20462 | inline ::p4::config::v1::P4Info* ForwardingPipelineConfig::release_p4info() { | ^~~~~~~~~~~~~~~~~~~~~~~~ At top level: cc1plus: note: unrecognized command-line option '-Wno-unused-command-line-argument' may have been intended to silence earlier diagnostics cc1plus: all warnings being treated as errors
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
--- Comment #6 from Adrian Reber adrian@lisas.de --- If you make changes to your package during the review process please increase the Release and mention the changes in the changelog.
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
--- Comment #7 from Radostin Stoyanov rstoyano@redhat.com --- I am not able to replicate this error. Here are the steps I followed to test with Fedora 36:
$ sudo podman run -it registry.fedoraproject.org/fedora:36 bash
dnf install -y fedpkg rpmdevtools valgrind automake libtool python3-devel glibc-devel gcc gcc-c++ boost-devel boost-system boost-thread grpc-devel grpc-plugins protobuf-devel git clone https://github.com/rst0git/p4lang-pi-rpm.git cd p4lang-pi-rpm/ spectool -g p4lang-pi.spec fedpkg local
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
--- Comment #8 from Adrian Reber adrian@lisas.de --- That error only happens when libmicrohttpd-deve is installed, right.
https://bugzilla.redhat.com/show_bug.cgi?id=2074529
Adrian Reber adrian@lisas.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review? |fedora-review+
--- Comment #9 from Adrian Reber adrian@lisas.de --- Looks good. Please open an ExclusiveArch tracker bug once the package has been imported.
Product: Fedora Version: rawhide Component: Package Review
Red Hat Bugzilla bugzilla@redhat.com has canceled Package Review package-review@lists.fedoraproject.org's request for Radostin Stoyanov rstoyano@redhat.com's needinfo: Bug 2074529: Review Request: p4lang-pi - Protocol Independent API https://bugzilla.redhat.com/show_bug.cgi?id=2074529
--- Comment #12 from Red Hat Bugzilla bugzilla@redhat.com --- The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days
package-review@lists.fedoraproject.org