Bug 216527 - devel/libevent2: update to 2.1.8 and cleanup
Summary: devel/libevent2: update to 2.1.8 and cleanup
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jan Beich
URL: http://archives.seul.org/libevent/use...
Keywords: patch, patch-ready
Depends on: 216531 216532
Blocks:
  Show dependency treegraph
 
Reported: 2017-01-27 17:15 UTC by Jan Beich
Modified: 2017-02-04 07:59 UTC (History)
2 users (show)

See Also:
jbeich: exp-run?


Attachments
v0 (60.05 KB, patch)
2017-01-27 17:15 UTC, Jan Beich
no flags Details | Diff
v0 (60.39 KB, patch)
2017-01-28 12:21 UTC, Jan Beich
no flags Details | Diff
tests output (77.93 KB, text/plain)
2017-01-28 12:25 UTC, Jan Beich
jbeich: maintainer-approval? (mm)
Details
v0.1 (60.98 KB, patch)
2017-01-28 13:02 UTC, Jan Beich
no flags Details | Diff
v0.2 (62.74 KB, patch)
2017-01-28 17:23 UTC, Jan Beich
jbeich: maintainer-approval? (mm)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2017-01-27 17:15:04 UTC
Created attachment 179355 [details]
v0

See URL for upstream changelog. SONAME has changed, so PORTREVISION bump in consumers has to be bumped (128 ports).

Firefox 54 (scheduled on 2017-06-13) is going to require libevent 2.1.8 for --with-system-libevent. 

Cleanup includes:
- Convert PORTNAME suffix to PKGNAMESUFFIX
- Convert USE_OPENSSL to USES=ssl
- Convert regression-test to "make test" (see ports r398125)
- Group option helpers together (i.e. INSTALL_TARGET isn't related)

"poudriere bulk -t" is green for:
- 10.3 i386
- 10.3 amd64
- 11.0 i386
- 11.0 amd64
- /head@312009 amd64
- /projects/clang400-import@312720 amd64
- OPENSSL=off + THREADS=off
- DEFAULT_VERSIONS += ssl=openssl
- DEFAULT_VERSIONS += ssl=openssl-devel
- DEFAULT_VERSIONS += ssl=libressl
- DEFAULT_VERSIONS += ssl=libressl-devel
Comment 1 Martin Matuska freebsd_committer 2017-01-27 18:21:53 UTC
Approved if it passes all tests.
Comment 2 Jan Beich freebsd_committer 2017-01-27 19:05:29 UTC
(In reply to Martin Matuska from comment #1)
> Approved if it passes all tests.

My kernel lacks "options INET6", so "1/311 TESTS FAILED. (19 skipped)". A lot more fail inside jail due to source IP being different.
Comment 3 commit-hook freebsd_committer 2017-01-27 19:26:14 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 27 19:26:05 UTC 2017
New revision: 432564
URL: https://svnweb.freebsd.org/changeset/ports/432564

Log:
  security/openiked: unbreak with libevent >= 2.1

  checking libevent header version... not found
  configure: error: libevent version header not found. -I/usr/local/include
  ===>  Script "configure" failed unexpectedly.

  PR:		216527

Changes:
  head/security/openiked/files/patch-configure.ac
Comment 4 commit-hook freebsd_committer 2017-01-27 19:27:17 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 27 19:26:22 UTC 2017
New revision: 432565
URL: https://svnweb.freebsd.org/changeset/ports/432565

Log:
  databases/mysql-proxy: unbreak with libevent >= 2.1

  chassis-mainloop.c:102:54: error: use of undeclared identifier '_EVENT_VERSION'
          if (0 != chassis_check_version(event_get_version(), _EVENT_VERSION)) {
                                                              ^
  chassis-mainloop.c:104:15: error: use of undeclared identifier '_EVENT_VERSION'
                                  G_STRLOC, _EVENT_VERSION, event_get_version());
                                            ^
  /usr/local/include/glib-2.0/glib/gmessages.h:161:32: note: expanded from macro 'g_critical'
                                 __VA_ARGS__)
                                 ^
  chassis-mainloop.c:119:37: error: use of undeclared identifier '_EVENT_VERSION'
          chas->event_hdr_version = g_strdup(_EVENT_VERSION);
                                             ^

  PR:		216527

Changes:
  head/databases/mysql-proxy/files/patch-src_chassis-mainloop.c
Comment 5 commit-hook freebsd_committer 2017-01-27 19:27:18 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 27 19:26:42 UTC 2017
New revision: 432566
URL: https://svnweb.freebsd.org/changeset/ports/432566

Log:
  gecko: unbreak with libevent >= 2.1

  In file included from objdir//ipc/chromium/Unified_cpp_ipc_chromium0.cpp:119:
  ipc/chromium/src/base/message_pump_libevent.cc:29:1: error: use of undeclared identifier '_EVENT_SIZEOF_LONG'
  CHECK_EVENT_SIZEOF(LONG,      long);
  ^
  ipc/chromium/src/base/message_pump_libevent.cc:26:19: note: expanded from macro 'CHECK_EVENT_SIZEOF'
      static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \
                    ^
  <scratch space>:50:1: note: expanded from here
  _EVENT_SIZEOF_LONG
  ^

  PR:		216527
  Obtained from:	upstream

Changes:
  head/mail/thunderbird/files/patch-bug1318914
  head/www/firefox/files/patch-bug1318914
  head/www/firefox-esr/files/patch-bug1318914
  head/www/libxul/files/patch-bug1318914
  head/www/seamonkey/files/patch-bug1318914
Comment 6 Jan Beich freebsd_committer 2017-01-28 12:21:27 UTC
Created attachment 179372 [details]
v0

Unsilence regress_debug output.
Comment 7 Jan Beich freebsd_committer 2017-01-28 12:25:21 UTC
Created attachment 179373 [details]
tests output

Is this enough or do you need more tests run? I'm using 12.0 amd64 + drm-next + custom kernel config, so the output may not be representative for 10.3 or 11.0.
Comment 8 Jan Beich freebsd_committer 2017-01-28 13:02:19 UTC
Created attachment 179374 [details]
v0.1

Actually fix "struct linger" check, instead of pretending it works.
Comment 9 Martin Matuska freebsd_committer 2017-01-28 14:41:28 UTC
I meant mainly FreeBSD integration tests - that it builds correctly and all dependent ports link correctly (and/or are correctly updated).
Comment 10 Jan Beich freebsd_committer 2017-01-28 15:08:31 UTC
Ah, I did forget to mention that all direct consumers were tested as well. Only 2 may end up BROKEN (see blocking bugs), and the plan is to sacrifice them. exp-run is supposed to confirm nothing was overlooked.
Comment 11 Jan Beich freebsd_committer 2017-01-28 15:59:56 UTC
Missed 4 non-default consumers. All of them are green except bug 216548 (false positive).

### /usr/local/etc/poudriere.d/PR216527-make.conf ###
OPTIONS_SET += LIBEVENT
irc_bitlbee_UNSET += GLIB
lang_io_SET += Socket
Comment 12 Jan Beich freebsd_committer 2017-01-28 17:23:04 UTC
Created attachment 179376 [details]
v0.2

- Fix a few more conditionals under test/
- Annotate patches with upstream PRs

So far only Gentoo jumped on libevent 2.1.x ship, Debian only has it in experimental.
http://repology.org/metapackage/libevent/versions
http://repology.org/metapackage/libevent2/versions
Comment 13 Jan Beich freebsd_committer 2017-01-28 17:33:32 UTC
Bernard, can you check LibreSSL support works fine (i.e. runtime)?
Comment 14 Jan Beich freebsd_committer 2017-01-29 22:04:00 UTC
(In reply to Jan Beich (mail not working) from comment #13)
> Bernard, can you check LibreSSL support works fine (i.e. runtime)?

Nevermind, "make test" is green with DEFAULT_VERSIONS+=ssl=libressl. Very few ports actually depend on SSL bits.

$ pkg rquery '%o %B' | awk '/libevent_openssl/ || /libevhtp/ { print $1 }' | sort -u
devel/pecl-event
net-mgmt/seafile-server
net/turnserver
security/certificate-transparency
security/sslsplit
www/libevhtp
www/nghttp2
www/spdylay
Comment 15 Jan Beich freebsd_committer 2017-01-30 01:49:54 UTC
libevent2-2.1.8 itself builds fine via qemu-user-static on aarch64, armv6, mips (o32), mips64.
Comment 16 Bernard Spil freebsd_committer 2017-01-30 08:47:23 UTC
Just ran a private poudriere build with the update to 2.1.8. So far so good.
This was on a system with LibreSSL in base.

https://brnrd.eu/poudriere/build.html?mastername=110libre-default&build=2017-01-30_09h30m24s

I'm not using nghttp2 myself (just libnghttp2 which doesn't depend on libevent2) but it built fine as well.
Comment 19 Sunpoet Po-Chuan Hsieh freebsd_committer 2017-02-02 11:34:36 UTC
(In reply to Jan Beich (mail not working) from comment #18)

Fixed in r433141. Thanks!
Comment 20 Jan Beich freebsd_committer 2017-02-04 06:21:24 UTC
Antoine, no new failures apart from those 2?
Comment 21 Antoine Brodin freebsd_committer 2017-02-04 06:51:33 UTC
(In reply to Jan Beich (mail not working) from comment #20)
Yes there are only those 2 failures.
Comment 22 commit-hook freebsd_committer 2017-02-04 07:57:48 UTC
A commit references this bug:

Author: jbeich
Date: Sat Feb  4 07:57:06 UTC 2017
New revision: 433286
URL: https://svnweb.freebsd.org/changeset/ports/433286

Log:
  devel/libevent2: update to 2.1.8 and cleanup

  - DEFAULT_VERSIONS += ssl=openssl-devel is now supported
  - devel/py-event and devel/p5-Event-Lib are marked BROKEN

  Changes:	https://github.com/libevent/libevent/raw/release-2.1.8-stable/whatsnew-2.1.txt
  Changes:	https://github.com/libevent/libevent/raw/release-2.1.8-stable/ChangeLog
  PR:		216527
  Exp-run by:	antoine
  Approved by:	mm (maintainer)

Changes:
  head/audio/forked-daapd/Makefile
  head/databases/libcouchbase/Makefile
  head/databases/libmemcached/Makefile
  head/databases/memcached/Makefile
  head/databases/memcacheq/Makefile
  head/databases/mysql-proxy/Makefile
  head/databases/mysql56-client/Makefile
  head/databases/mysql56-server/Makefile
  head/databases/mysql57-client/Makefile
  head/databases/mysql57-server/Makefile
  head/databases/mysql80-client/Makefile
  head/databases/mysql80-server/Makefile
  head/databases/percona57-client/Makefile
  head/databases/percona57-pam-for-mysql/Makefile
  head/databases/percona57-server/Makefile
  head/databases/pgbouncer/Makefile
  head/databases/sharedance/Makefile
  head/devel/eventxx/Makefile
  head/devel/fstrm/Makefile
  head/devel/gearmand/Makefile
  head/devel/gearmand-devel/Makefile
  head/devel/libdnsres/Makefile
  head/devel/libevent2/Makefile
  head/devel/libevent2/distinfo
  head/devel/libevent2/files/
  head/devel/libevent2/files/patch-gcc7
  head/devel/libevent2/files/patch-libressl
  head/devel/libevent2/files/patch-test_bench
  head/devel/libevent2/files/patch-test_test.sh
  head/devel/libevent2/pkg-plist
  head/devel/libmsocket/Makefile
  head/devel/p5-Event-Lib/Makefile
  head/devel/pecl-event/Makefile
  head/devel/pecl-libevent/Makefile
  head/devel/pinba_engine/Makefile
  head/devel/py-event/Makefile
  head/devel/thrift-cpp/Makefile
  head/dns/adsuck/Makefile
  head/dns/dnscrypt-wrapper/Makefile
  head/dns/dnsproxy/Makefile
  head/dns/getdns/Makefile
  head/dns/nsd/Makefile
  head/dns/openmdns/Makefile
  head/dns/unbound/Makefile
  head/irc/bitlbee/Makefile
  head/lang/io/Makefile
  head/mail/dbmail/Makefile
  head/mail/mailest/Makefile
  head/mail/opensmtpd/Makefile
  head/mail/opensmtpd-devel/Makefile
  head/mail/opensmtpd-extras/Makefile
  head/mail/opensmtpd-extras-filter-clamav/Makefile
  head/mail/opensmtpd-extras-filter-dkim/Makefile
  head/mail/opensmtpd-extras-filter-dnsbl/Makefile
  head/mail/opensmtpd-extras-filter-lua/Makefile
  head/mail/opensmtpd-extras-filter-monkey/Makefile
  head/mail/opensmtpd-extras-filter-pause/Makefile
  head/mail/opensmtpd-extras-filter-perl/Makefile
  head/mail/opensmtpd-extras-filter-python/Makefile
  head/mail/opensmtpd-extras-filter-regex/Makefile
  head/mail/opensmtpd-extras-filter-spamassassin/Makefile
  head/mail/opensmtpd-extras-queue-python/Makefile
  head/mail/opensmtpd-extras-queue-ram/Makefile
  head/mail/opensmtpd-extras-scheduler-python/Makefile
  head/mail/opensmtpd-extras-scheduler-ram/Makefile
  head/mail/opensmtpd-extras-table-ldap/Makefile
  head/mail/opensmtpd-extras-table-mysql/Makefile
  head/mail/opensmtpd-extras-table-passwd/Makefile
  head/mail/opensmtpd-extras-table-postgresql/Makefile
  head/mail/opensmtpd-extras-table-python/Makefile
  head/mail/opensmtpd-extras-table-redis/Makefile
  head/mail/opensmtpd-extras-table-socketmap/Makefile
  head/mail/opensmtpd-extras-table-sqlite/Makefile
  head/mail/opensmtpd-extras-tool-stats/Makefile
  head/mail/rspamd/Makefile
  head/mail/rspamd-devel/Makefile
  head/mail/thunderbird/Makefile
  head/net/aprsc/Makefile
  head/net/honeyd/Makefile
  head/net/ifstated/Makefile
  head/net/ladvd/Makefile
  head/net/netatalk3/Makefile
  head/net/ntop/Makefile
  head/net/ntp/Makefile
  head/net/ntp-devel/Makefile
  head/net/nylon/Makefile
  head/net/openmpi2/Makefile
  head/net/scribe/Makefile
  head/net/trickle/Makefile
  head/net/turnserver/Makefile
  head/net-im/telegram/Makefile
  head/net-mgmt/ccnet-client/Makefile
  head/net-mgmt/ccnet-server/Makefile
  head/net-mgmt/lldpd/Makefile
  head/net-mgmt/seafile-client/Makefile
  head/net-mgmt/seafile-gui/Makefile
  head/net-mgmt/seafile-server/Makefile
  head/net-p2p/bitcoin/Makefile
  head/net-p2p/bitcoin-daemon/Makefile
  head/net-p2p/bitcoin-utils/Makefile
  head/net-p2p/libswift/Makefile
  head/net-p2p/transmission-cli/Makefile
  head/net-p2p/transmission-daemon/Makefile
  head/net-p2p/transmission-gtk/Makefile
  head/net-p2p/transmission-qt4/Makefile
  head/net-p2p/unworkable/Makefile
  head/security/certificate-transparency/Makefile
  head/security/fragroute/Makefile
  head/security/obfsclient/Makefile
  head/security/openiked/Makefile
  head/security/scanssh/Makefile
  head/security/spybye/Makefile
  head/security/sslsplit/Makefile
  head/security/stegdetect/Makefile
  head/security/tor/Makefile
  head/security/tor-devel/Makefile
  head/sysutils/grok/Makefile
  head/sysutils/ori/Makefile
  head/sysutils/tlsdate/Makefile
  head/sysutils/tmate/Makefile
  head/sysutils/tmate-slave/Makefile
  head/sysutils/tmux/Makefile
  head/textproc/groonga/Makefile
  head/www/crawl/Makefile
  head/www/firefox/Makefile
  head/www/firefox-esr/Makefile
  head/www/httpsqs/Makefile
  head/www/libevhtp/Makefile
  head/www/libxul/Makefile
  head/www/mohawk/Makefile
  head/www/nghttp2/Makefile
  head/www/pecl-http/Makefile
  head/www/pecl-http2/Makefile
  head/www/seamonkey/Makefile
  head/www/slowcgi/Makefile
  head/www/spdylay/Makefile
Comment 23 Jan Beich freebsd_committer 2017-02-04 07:58:56 UTC
Thanks. Approval assumed per comment 1 + comment 9.