Date: Tuesday, March 19, 2019 @ 08:49:31 Author: mtorromeo Revision: 442632
archrelease: copy trunk to community-x86_64 Added: beats/repos/community-x86_64/PKGBUILD (from rev 442631, beats/trunk/PKGBUILD) beats/repos/community-x86_64/auditbeat.install (from rev 442631, beats/trunk/auditbeat.install) beats/repos/community-x86_64/auditbeat.service (from rev 442631, beats/trunk/auditbeat.service) beats/repos/community-x86_64/filebeat.service (from rev 442631, beats/trunk/filebeat.service) beats/repos/community-x86_64/filebeat.sysusers (from rev 442631, beats/trunk/filebeat.sysusers) beats/repos/community-x86_64/golang-crypto.patch (from rev 442631, beats/trunk/golang-crypto.patch) beats/repos/community-x86_64/gopacket-identifiers.patch (from rev 442631, beats/trunk/gopacket-identifiers.patch) beats/repos/community-x86_64/heartbeat.service (from rev 442631, beats/trunk/heartbeat.service) beats/repos/community-x86_64/journalbeat.service (from rev 442631, beats/trunk/journalbeat.service) beats/repos/community-x86_64/metricbeat.service (from rev 442631, beats/trunk/metricbeat.service) beats/repos/community-x86_64/packetbeat.service (from rev 442631, beats/trunk/packetbeat.service) beats/repos/community-x86_64/tmpfile.conf (from rev 442631, beats/trunk/tmpfile.conf) Deleted: beats/repos/community-x86_64/PKGBUILD beats/repos/community-x86_64/auditbeat.install beats/repos/community-x86_64/auditbeat.service beats/repos/community-x86_64/filebeat.service beats/repos/community-x86_64/filebeat.sysusers beats/repos/community-x86_64/golang-crypto.patch beats/repos/community-x86_64/gopacket-identifiers.patch beats/repos/community-x86_64/heartbeat.service beats/repos/community-x86_64/journalbeat.service beats/repos/community-x86_64/metricbeat.service beats/repos/community-x86_64/packetbeat.service beats/repos/community-x86_64/tmpfile.conf ----------------------------+ PKGBUILD | 378 +++++++++++++++++++++---------------------- auditbeat.install | 12 - auditbeat.service | 22 +- filebeat.service | 24 +- filebeat.sysusers | 2 golang-crypto.patch | 262 ++++++++++++++--------------- gopacket-identifiers.patch | 124 +++++++------- heartbeat.service | 22 +- journalbeat.service | 24 +- metricbeat.service | 22 +- packetbeat.service | 22 +- tmpfile.conf | 4 12 files changed, 459 insertions(+), 459 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2019-03-19 08:48:37 UTC (rev 442631) +++ PKGBUILD 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,189 +0,0 @@ -# Maintainer: Massimiliano Torromeo <massimiliano.torro...@gmail.com> -# Contributor: Tyler Langlois <ty |at| tjll |dot| net> - -pkgbase=beats -pkgname=(filebeat packetbeat metricbeat heartbeat-elastic auditbeat journalbeat) -pkgver=6.6.1 -pkgrel=1 -pkgdesc='Data shippers for Elasticsearch' -arch=('x86_64') -url='https://www.elastic.co/products/beats' -license=('Apache') -depends=('glibc') -makedepends=('go-pie' 'git' 'libpcap' 'rsync' 'python2-virtualenv' 'audit') -optdepends=('elasticsearch: for standalone installation' - 'python: for migration script') -source=("https://github.com/elastic/beats/archive/v$pkgver/beats-$pkgver.tar.gz" - "golang-crypto.patch" # golang/crypto patch - "gopacket-identifiers.patch" - "filebeat.sysusers" - "filebeat.service" - "packetbeat.service" - "metricbeat.service" - "heartbeat.service" - "auditbeat.service" - "journalbeat.service" - "tmpfile.conf") -sha256sums=('3da3a445927b84b64405470018aaa941f42f0bec571f265a0b621bfb218278f1' - '75583a195b43d7345449bbac60359bf54661ccbd699386a6e59bb483c6054338' - 'f0570a83aa59d28edfa9efd6b8d7884f79306b69f3a80f157314cc1896f40a99' - '33feb3690f8b31563cc1e2da557c2aa326501ce9ccd7e0a142036902bfdb05ff' - '4d5394cfe3299c9a6af5ac34c1ad4bcdc2e79162379cccbf00fb414eb28253c0' - '9f4e33fc768d3500fa3428dcbfda241c6473a2cae8cc4dbadf8f61ca9f2bbec5' - '26b123acd96808162a7f827ce6f0e9669140c2665fc28d76583a15996fbf853d' - '212cb4ab5a02d7078025f7d1f50f48e5caa25debce0852cf68cd8f89ed0a8d09' - 'b7f1c61950f21c7fab31166c68d4a9e5027f0c5bcc40a97913d6d89eaf643b85' - '57d2f5bf75b4b5214065ba408c98ec941fb0042f19a623add7f4396d640225ba' - 'f29361772f23ec42bb15b5e0ca7e93f17fe00d31cf08a9e2c0d0ab27f2277bbc') - -prepare() { - mkdir -p "$srcdir/bin" - ln -s /usr/bin/python2 "$srcdir/bin/python" - ln -s /usr/bin/pip2 "$srcdir/bin/pip" - ln -s /usr/bin/virtualenv2 "$srcdir/bin/virtualenv" - - export GOPATH="$srcdir"/gopath - mkdir -p "$GOPATH" - go get golang.org/x/sys/cpu - - cd "$srcdir"/beats-$pkgver/vendor/golang.org/x/crypto - patch -p1 -i "$srcdir"/golang-crypto.patch - - cd "$srcdir"/beats-$pkgver/vendor/github.com/tsg/gopacket - patch -p1 -i "$srcdir"/gopacket-identifiers.patch - - cd "$srcdir"/beats-$pkgver - - # Avoid installing extraneous configs - sed '/[- ]win/d ; /[- ]darwin/d ; /[- ]binary/d' -i */Makefile - - # Install the Linux config as default - sed -r 's#/([a-z]+)-linux.yml#/\1.yml#' -i */Makefile - - # Perform some timestomping to avoid make warnings - LANG=C _t="$(date -r Makefile +'%Y-%m-%d %k:%M:%S')" - touch -m -d "$_t" */Makefile - - # Use version instead of commit id - sed -ri "s/^COMMIT_ID=.*/COMMIT_ID=$pkgver/" libbeat/scripts/Makefile - - # Workaround to place extracted release into GOPATH - mkdir -p "$GOPATH"/src/github.com/elastic - ln -sf ../../../../beats-$pkgver "$GOPATH"/src/github.com/elastic/beats -} - -build() { - export GOPATH="$srcdir"/gopath - export PATH="$GOPATH/bin:$srcdir/bin:$PATH" - - cd "$GOPATH"/src/github.com/elastic/beats - git init # git root required by one of the build scripts - - cd libbeat - make update - - for beat in ${pkgname[@]}; do - beat="${beat%-elastic}" - msg2 "Building $beat..." - cd ../$beat - make - - if grep -Eq '^kibana:' Makefile; then - make kibana - fi - - if [ "$beat" = "auditbeat" ]; then - make fields - else - make update - fi - - if grep -Eq '^kibana:' Makefile; then - mv _meta/kibana{.generated,} - fi - done -} - -_do_package_beat() { - _pkgname="${pkgname%-elastic}" - - backup=(etc/$_pkgname/$_pkgname.yml) - - install -dm755 "$pkgdir"/{etc,usr/share,usr/share/licenses,var/lib}/$_pkgname - install -dm755 "$pkgdir"/usr/lib/tmpfiles.d - - cd "$srcdir"/beats-$pkgver - install -Dm644 NOTICE.txt "$pkgdir"/usr/share/licenses/$pkgname/NOTICE.txt - - cd $_pkgname - - cp $_pkgname.{yml,reference.yml} "$pkgdir"/etc/$_pkgname - install -Dm644 fields.yml "$pkgdir"/etc/$_pkgname/fields.yml - - install -Dm755 $_pkgname \ - "$pkgdir"/usr/bin/$_pkgname - install -Dm644 "$srcdir"/$_pkgname.service \ - "$pkgdir"/usr/lib/systemd/system/$_pkgname.service - - sed "s/BEATNAME/$_pkgname/g" "$srcdir"/tmpfile.conf > "$pkgdir"/usr/lib/tmpfiles.d/$_pkgname.conf - - if [ -d _meta/kibana ]; then - cp -R _meta/kibana "$pkgdir"/usr/share/$_pkgname/ - fi - - if [ -d module ]; then - cp -R module "$pkgdir"/usr/share/$_pkgname/ - rm -rf "$pkgdir"/usr/share/$_pkgname/module/*/{,info/}_meta - fi - - if [ -d modules.d ]; then - cp -R modules.d "$pkgdir"/etc/$_pkgname/ - fi -} - -package_filebeat() { - pkgdesc='Sends log files to Logstash or directly to Elasticsearch' - - _do_package_beat - - cd "$srcdir"/beats-$pkgver/$pkgname - install -Dm644 "$srcdir"/$pkgname.sysusers \ - "$pkgdir"/usr/lib/sysusers.d/$pkgname.conf -} - -package_packetbeat() { - pkgdesc='Analyzes network traffic and sends the data to Elasticsearch' - depends=('libpcap') - - _do_package_beat -} - -package_metricbeat() { - pkgdesc='Server monitoring agent that sends metrics to Elasticsearch' - conflicts=('topbeat') - replaces=('topbeat') - - _do_package_beat -} - -package_heartbeat-elastic() { - pkgdesc='Ping remote services for availability and log results to Elasticsearch or send to Logstash' - conflicts=('heartbeat') - replaces=('heartbeat') - - _do_package_beat -} - -package_auditbeat() { - pkgdesc='Audit the activities of users and processes on your system' - depends=('audit') - install='auditbeat.install' - - _do_package_beat -} - -package_journalbeat() { - pkgdesc='Data collector to read and forward journal entries from journald to Elasticsearch' - - _do_package_beat -} Copied: beats/repos/community-x86_64/PKGBUILD (from rev 442631, beats/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,189 @@ +# Maintainer: Massimiliano Torromeo <massimiliano.torro...@gmail.com> +# Contributor: Tyler Langlois <ty |at| tjll |dot| net> + +pkgbase=beats +pkgname=(filebeat packetbeat metricbeat heartbeat-elastic auditbeat journalbeat) +pkgver=6.6.2 +pkgrel=1 +pkgdesc='Data shippers for Elasticsearch' +arch=('x86_64') +url='https://www.elastic.co/products/beats' +license=('Apache') +depends=('glibc') +makedepends=('go-pie' 'git' 'libpcap' 'rsync' 'python2-virtualenv' 'audit') +optdepends=('elasticsearch: for standalone installation' + 'python: for migration script') +source=("https://github.com/elastic/beats/archive/v$pkgver/beats-$pkgver.tar.gz" + "golang-crypto.patch" # golang/crypto patch + "gopacket-identifiers.patch" + "filebeat.sysusers" + "filebeat.service" + "packetbeat.service" + "metricbeat.service" + "heartbeat.service" + "auditbeat.service" + "journalbeat.service" + "tmpfile.conf") +sha256sums=('0a57123098b2b94a7aea2821cf286cd473ffe072f552f74c3cb1fb6f5e128833' + '75583a195b43d7345449bbac60359bf54661ccbd699386a6e59bb483c6054338' + 'f0570a83aa59d28edfa9efd6b8d7884f79306b69f3a80f157314cc1896f40a99' + '33feb3690f8b31563cc1e2da557c2aa326501ce9ccd7e0a142036902bfdb05ff' + '4d5394cfe3299c9a6af5ac34c1ad4bcdc2e79162379cccbf00fb414eb28253c0' + '9f4e33fc768d3500fa3428dcbfda241c6473a2cae8cc4dbadf8f61ca9f2bbec5' + '26b123acd96808162a7f827ce6f0e9669140c2665fc28d76583a15996fbf853d' + '212cb4ab5a02d7078025f7d1f50f48e5caa25debce0852cf68cd8f89ed0a8d09' + 'b7f1c61950f21c7fab31166c68d4a9e5027f0c5bcc40a97913d6d89eaf643b85' + '57d2f5bf75b4b5214065ba408c98ec941fb0042f19a623add7f4396d640225ba' + 'f29361772f23ec42bb15b5e0ca7e93f17fe00d31cf08a9e2c0d0ab27f2277bbc') + +prepare() { + mkdir -p "$srcdir/bin" + ln -s /usr/bin/python2 "$srcdir/bin/python" + ln -s /usr/bin/pip2 "$srcdir/bin/pip" + ln -s /usr/bin/virtualenv2 "$srcdir/bin/virtualenv" + + export GOPATH="$srcdir"/gopath + mkdir -p "$GOPATH" + go get golang.org/x/sys/cpu + + cd "$srcdir"/beats-$pkgver/vendor/golang.org/x/crypto + patch -p1 -i "$srcdir"/golang-crypto.patch + + cd "$srcdir"/beats-$pkgver/vendor/github.com/tsg/gopacket + patch -p1 -i "$srcdir"/gopacket-identifiers.patch + + cd "$srcdir"/beats-$pkgver + + # Avoid installing extraneous configs + sed '/[- ]win/d ; /[- ]darwin/d ; /[- ]binary/d' -i */Makefile + + # Install the Linux config as default + sed -r 's#/([a-z]+)-linux.yml#/\1.yml#' -i */Makefile + + # Perform some timestomping to avoid make warnings + LANG=C _t="$(date -r Makefile +'%Y-%m-%d %k:%M:%S')" + touch -m -d "$_t" */Makefile + + # Use version instead of commit id + sed -ri "s/^COMMIT_ID=.*/COMMIT_ID=$pkgver/" libbeat/scripts/Makefile + + # Workaround to place extracted release into GOPATH + mkdir -p "$GOPATH"/src/github.com/elastic + ln -sf ../../../../beats-$pkgver "$GOPATH"/src/github.com/elastic/beats +} + +build() { + export GOPATH="$srcdir"/gopath + export PATH="$GOPATH/bin:$srcdir/bin:$PATH" + + cd "$GOPATH"/src/github.com/elastic/beats + git init # git root required by one of the build scripts + + cd libbeat + make update + + for beat in ${pkgname[@]}; do + beat="${beat%-elastic}" + msg2 "Building $beat..." + cd ../$beat + make + + if grep -Eq '^kibana:' Makefile; then + make kibana + fi + + if [ "$beat" = "auditbeat" ]; then + make fields + else + make update + fi + + if grep -Eq '^kibana:' Makefile; then + mv _meta/kibana{.generated,} + fi + done +} + +_do_package_beat() { + _pkgname="${pkgname%-elastic}" + + backup=(etc/$_pkgname/$_pkgname.yml) + + install -dm755 "$pkgdir"/{etc,usr/share,usr/share/licenses,var/lib}/$_pkgname + install -dm755 "$pkgdir"/usr/lib/tmpfiles.d + + cd "$srcdir"/beats-$pkgver + install -Dm644 NOTICE.txt "$pkgdir"/usr/share/licenses/$pkgname/NOTICE.txt + + cd $_pkgname + + cp $_pkgname.{yml,reference.yml} "$pkgdir"/etc/$_pkgname + install -Dm644 fields.yml "$pkgdir"/etc/$_pkgname/fields.yml + + install -Dm755 $_pkgname \ + "$pkgdir"/usr/bin/$_pkgname + install -Dm644 "$srcdir"/$_pkgname.service \ + "$pkgdir"/usr/lib/systemd/system/$_pkgname.service + + sed "s/BEATNAME/$_pkgname/g" "$srcdir"/tmpfile.conf > "$pkgdir"/usr/lib/tmpfiles.d/$_pkgname.conf + + if [ -d _meta/kibana ]; then + cp -R _meta/kibana "$pkgdir"/usr/share/$_pkgname/ + fi + + if [ -d module ]; then + cp -R module "$pkgdir"/usr/share/$_pkgname/ + rm -rf "$pkgdir"/usr/share/$_pkgname/module/*/{,info/}_meta + fi + + if [ -d modules.d ]; then + cp -R modules.d "$pkgdir"/etc/$_pkgname/ + fi +} + +package_filebeat() { + pkgdesc='Sends log files to Logstash or directly to Elasticsearch' + + _do_package_beat + + cd "$srcdir"/beats-$pkgver/$pkgname + install -Dm644 "$srcdir"/$pkgname.sysusers \ + "$pkgdir"/usr/lib/sysusers.d/$pkgname.conf +} + +package_packetbeat() { + pkgdesc='Analyzes network traffic and sends the data to Elasticsearch' + depends=('libpcap') + + _do_package_beat +} + +package_metricbeat() { + pkgdesc='Server monitoring agent that sends metrics to Elasticsearch' + conflicts=('topbeat') + replaces=('topbeat') + + _do_package_beat +} + +package_heartbeat-elastic() { + pkgdesc='Ping remote services for availability and log results to Elasticsearch or send to Logstash' + conflicts=('heartbeat') + replaces=('heartbeat') + + _do_package_beat +} + +package_auditbeat() { + pkgdesc='Audit the activities of users and processes on your system' + depends=('audit') + install='auditbeat.install' + + _do_package_beat +} + +package_journalbeat() { + pkgdesc='Data collector to read and forward journal entries from journald to Elasticsearch' + + _do_package_beat +} Deleted: auditbeat.install =================================================================== --- auditbeat.install 2019-03-19 08:48:37 UTC (rev 442631) +++ auditbeat.install 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,6 +0,0 @@ -post_install() { - echo "CONFIG_AUDIT is disabled in the Arch kernel packages so a custom kernel" - echo "is required for the Auditbeat auditd module to work. However, some features" - echo "like the the file integrity module will work fine without kernel audit support." - echo "The package linux-hardened has full support for audit." -} Copied: beats/repos/community-x86_64/auditbeat.install (from rev 442631, beats/trunk/auditbeat.install) =================================================================== --- auditbeat.install (rev 0) +++ auditbeat.install 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,6 @@ +post_install() { + echo "CONFIG_AUDIT is disabled in the Arch kernel packages so a custom kernel" + echo "is required for the Auditbeat auditd module to work. However, some features" + echo "like the the file integrity module will work fine without kernel audit support." + echo "The package linux-hardened has full support for audit." +} Deleted: auditbeat.service =================================================================== --- auditbeat.service 2019-03-19 08:48:37 UTC (rev 442631) +++ auditbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,11 +0,0 @@ -[Unit] -Description=Audit agent and shipper for Elasticsearch -Documentation=https://www.elastic.co/guide/en/beats/auditbeat/current/index.html -After=network.target - -[Service] -ExecStart=/usr/bin/auditbeat -c /etc/auditbeat/auditbeat.yml -path.home /usr/share/auditbeat -path.config /etc/auditbeat -path.data /var/lib/auditbeat -path.logs /var/log/auditbeat -Restart=on-failure - -[Install] -WantedBy=multi-user.target Copied: beats/repos/community-x86_64/auditbeat.service (from rev 442631, beats/trunk/auditbeat.service) =================================================================== --- auditbeat.service (rev 0) +++ auditbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,11 @@ +[Unit] +Description=Audit agent and shipper for Elasticsearch +Documentation=https://www.elastic.co/guide/en/beats/auditbeat/current/index.html +After=network.target + +[Service] +ExecStart=/usr/bin/auditbeat -c /etc/auditbeat/auditbeat.yml -path.home /usr/share/auditbeat -path.config /etc/auditbeat -path.data /var/lib/auditbeat -path.logs /var/log/auditbeat +Restart=on-failure + +[Install] +WantedBy=multi-user.target Deleted: filebeat.service =================================================================== --- filebeat.service 2019-03-19 08:48:37 UTC (rev 442631) +++ filebeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,12 +0,0 @@ -[Unit] -Description=Log file forwarder to remote sources -Documentation=https://www.elastic.co/guide/en/beats/filebeat/current/index.html -After=network.target - -[Service] -User=filebeat -ExecStart=/usr/bin/filebeat -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat -Restart=on-failure - -[Install] -WantedBy=multi-user.target Copied: beats/repos/community-x86_64/filebeat.service (from rev 442631, beats/trunk/filebeat.service) =================================================================== --- filebeat.service (rev 0) +++ filebeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,12 @@ +[Unit] +Description=Log file forwarder to remote sources +Documentation=https://www.elastic.co/guide/en/beats/filebeat/current/index.html +After=network.target + +[Service] +User=filebeat +ExecStart=/usr/bin/filebeat -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat +Restart=on-failure + +[Install] +WantedBy=multi-user.target Deleted: filebeat.sysusers =================================================================== --- filebeat.sysusers 2019-03-19 08:48:37 UTC (rev 442631) +++ filebeat.sysusers 2019-03-19 08:49:31 UTC (rev 442632) @@ -1 +0,0 @@ -u filebeat - "Lightweight Shipper for Log Data" /var/lib/filebeat Copied: beats/repos/community-x86_64/filebeat.sysusers (from rev 442631, beats/trunk/filebeat.sysusers) =================================================================== --- filebeat.sysusers (rev 0) +++ filebeat.sysusers 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1 @@ +u filebeat - "Lightweight Shipper for Log Data" /var/lib/filebeat Deleted: golang-crypto.patch =================================================================== --- golang-crypto.patch 2019-03-19 08:48:37 UTC (rev 442631) +++ golang-crypto.patch 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,131 +0,0 @@ -From ae8bce0030810cf999bb2b9868ae5c7c58e6343b Mon Sep 17 00:00:00 2001 -From: Andreas Auernhammer <a...@mail.de> -Date: Mon, 30 Apr 2018 19:54:52 +0200 -Subject: [PATCH] crypto/{blake2b,blake2s,argon2,chacha20poly1305}: replace CPU - feature detection - -This change removes package specific CPU-feature detection code and -replaces it with x/sys/cpu. - -Fixes golang/go#24843 - -Change-Id: I150dd7b3aeb8eef428c91f9b1df741ceb8a87a24 -Reviewed-on: https://go-review.googlesource.com/110355 -Run-TryBot: Ilya Tocar <ilya.to...@intel.com> -TryBot-Result: Gobot Gobot <go...@golang.org> -Reviewed-by: Brad Fitzpatrick <bradf...@golang.org> ---- - blake2b/blake2bAVX2_amd64.go | 26 ++++----- - blake2b/blake2bAVX2_amd64.s | 12 ----- - blake2b/blake2b_amd64.go | 7 ++- - blake2b/blake2b_amd64.s | 9 ---- - 11 files changed, 41 insertions(+), 182 deletions(-) - -diff --git a/blake2b/blake2bAVX2_amd64.go b/blake2b/blake2bAVX2_amd64.go -index 8c41cf6c7..4d31dd0fd 100644 ---- a/blake2b/blake2bAVX2_amd64.go -+++ b/blake2b/blake2bAVX2_amd64.go -@@ -6,21 +6,14 @@ - - package blake2b - -+import "golang.org/x/sys/cpu" -+ - func init() { -- useAVX2 = supportsAVX2() -- useAVX = supportsAVX() -- useSSE4 = supportsSSE4() -+ useAVX2 = cpu.X86.HasAVX2 -+ useAVX = cpu.X86.HasAVX -+ useSSE4 = cpu.X86.HasSSE41 - } - --//go:noescape --func supportsSSE4() bool -- --//go:noescape --func supportsAVX() bool -- --//go:noescape --func supportsAVX2() bool -- - //go:noescape - func hashBlocksAVX2(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) - -@@ -31,13 +24,14 @@ func hashBlocksAVX(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) - func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) - - func hashBlocks(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) { -- if useAVX2 { -+ switch { -+ case useAVX2: - hashBlocksAVX2(h, c, flag, blocks) -- } else if useAVX { -+ case useAVX: - hashBlocksAVX(h, c, flag, blocks) -- } else if useSSE4 { -+ case useSSE4: - hashBlocksSSE4(h, c, flag, blocks) -- } else { -+ default: - hashBlocksGeneric(h, c, flag, blocks) - } - } -diff --git a/blake2b/blake2bAVX2_amd64.s b/blake2b/blake2bAVX2_amd64.s -index 784bce6a9..5593b1b3d 100644 ---- a/blake2b/blake2bAVX2_amd64.s -+++ b/blake2b/blake2bAVX2_amd64.s -@@ -748,15 +748,3 @@ noinc: - - MOVQ BP, SP - RET -- --// func supportsAVX2() bool --TEXT ·supportsAVX2(SB), 4, $0-1 -- MOVQ runtime·support_avx2(SB), AX -- MOVB AX, ret+0(FP) -- RET -- --// func supportsAVX() bool --TEXT ·supportsAVX(SB), 4, $0-1 -- MOVQ runtime·support_avx(SB), AX -- MOVB AX, ret+0(FP) -- RET -diff --git a/blake2b/blake2b_amd64.go b/blake2b/blake2b_amd64.go -index 2ab7c30fc..30e2fcd58 100644 ---- a/blake2b/blake2b_amd64.go -+++ b/blake2b/blake2b_amd64.go -@@ -6,13 +6,12 @@ - - package blake2b - -+import "golang.org/x/sys/cpu" -+ - func init() { -- useSSE4 = supportsSSE4() -+ useSSE4 = cpu.X86.HasSSE41 - } - --//go:noescape --func supportsSSE4() bool -- - //go:noescape - func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) - -diff --git a/blake2b/blake2b_amd64.s b/blake2b/blake2b_amd64.s -index 64530740b..578e947b3 100644 ---- a/blake2b/blake2b_amd64.s -+++ b/blake2b/blake2b_amd64.s -@@ -279,12 +279,3 @@ noinc: - - MOVQ BP, SP - RET -- --// func supportsSSE4() bool --TEXT ·supportsSSE4(SB), 4, $0-1 -- MOVL $1, AX -- CPUID -- SHRL $19, CX // Bit 19 indicates SSE4 support -- ANDL $1, CX // CX != 0 if support SSE4 -- MOVB CX, ret+0(FP) -- RET Copied: beats/repos/community-x86_64/golang-crypto.patch (from rev 442631, beats/trunk/golang-crypto.patch) =================================================================== --- golang-crypto.patch (rev 0) +++ golang-crypto.patch 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,131 @@ +From ae8bce0030810cf999bb2b9868ae5c7c58e6343b Mon Sep 17 00:00:00 2001 +From: Andreas Auernhammer <a...@mail.de> +Date: Mon, 30 Apr 2018 19:54:52 +0200 +Subject: [PATCH] crypto/{blake2b,blake2s,argon2,chacha20poly1305}: replace CPU + feature detection + +This change removes package specific CPU-feature detection code and +replaces it with x/sys/cpu. + +Fixes golang/go#24843 + +Change-Id: I150dd7b3aeb8eef428c91f9b1df741ceb8a87a24 +Reviewed-on: https://go-review.googlesource.com/110355 +Run-TryBot: Ilya Tocar <ilya.to...@intel.com> +TryBot-Result: Gobot Gobot <go...@golang.org> +Reviewed-by: Brad Fitzpatrick <bradf...@golang.org> +--- + blake2b/blake2bAVX2_amd64.go | 26 ++++----- + blake2b/blake2bAVX2_amd64.s | 12 ----- + blake2b/blake2b_amd64.go | 7 ++- + blake2b/blake2b_amd64.s | 9 ---- + 11 files changed, 41 insertions(+), 182 deletions(-) + +diff --git a/blake2b/blake2bAVX2_amd64.go b/blake2b/blake2bAVX2_amd64.go +index 8c41cf6c7..4d31dd0fd 100644 +--- a/blake2b/blake2bAVX2_amd64.go ++++ b/blake2b/blake2bAVX2_amd64.go +@@ -6,21 +6,14 @@ + + package blake2b + ++import "golang.org/x/sys/cpu" ++ + func init() { +- useAVX2 = supportsAVX2() +- useAVX = supportsAVX() +- useSSE4 = supportsSSE4() ++ useAVX2 = cpu.X86.HasAVX2 ++ useAVX = cpu.X86.HasAVX ++ useSSE4 = cpu.X86.HasSSE41 + } + +-//go:noescape +-func supportsSSE4() bool +- +-//go:noescape +-func supportsAVX() bool +- +-//go:noescape +-func supportsAVX2() bool +- + //go:noescape + func hashBlocksAVX2(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) + +@@ -31,13 +24,14 @@ func hashBlocksAVX(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) + func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) + + func hashBlocks(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) { +- if useAVX2 { ++ switch { ++ case useAVX2: + hashBlocksAVX2(h, c, flag, blocks) +- } else if useAVX { ++ case useAVX: + hashBlocksAVX(h, c, flag, blocks) +- } else if useSSE4 { ++ case useSSE4: + hashBlocksSSE4(h, c, flag, blocks) +- } else { ++ default: + hashBlocksGeneric(h, c, flag, blocks) + } + } +diff --git a/blake2b/blake2bAVX2_amd64.s b/blake2b/blake2bAVX2_amd64.s +index 784bce6a9..5593b1b3d 100644 +--- a/blake2b/blake2bAVX2_amd64.s ++++ b/blake2b/blake2bAVX2_amd64.s +@@ -748,15 +748,3 @@ noinc: + + MOVQ BP, SP + RET +- +-// func supportsAVX2() bool +-TEXT ·supportsAVX2(SB), 4, $0-1 +- MOVQ runtime·support_avx2(SB), AX +- MOVB AX, ret+0(FP) +- RET +- +-// func supportsAVX() bool +-TEXT ·supportsAVX(SB), 4, $0-1 +- MOVQ runtime·support_avx(SB), AX +- MOVB AX, ret+0(FP) +- RET +diff --git a/blake2b/blake2b_amd64.go b/blake2b/blake2b_amd64.go +index 2ab7c30fc..30e2fcd58 100644 +--- a/blake2b/blake2b_amd64.go ++++ b/blake2b/blake2b_amd64.go +@@ -6,13 +6,12 @@ + + package blake2b + ++import "golang.org/x/sys/cpu" ++ + func init() { +- useSSE4 = supportsSSE4() ++ useSSE4 = cpu.X86.HasSSE41 + } + +-//go:noescape +-func supportsSSE4() bool +- + //go:noescape + func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) + +diff --git a/blake2b/blake2b_amd64.s b/blake2b/blake2b_amd64.s +index 64530740b..578e947b3 100644 +--- a/blake2b/blake2b_amd64.s ++++ b/blake2b/blake2b_amd64.s +@@ -279,12 +279,3 @@ noinc: + + MOVQ BP, SP + RET +- +-// func supportsSSE4() bool +-TEXT ·supportsSSE4(SB), 4, $0-1 +- MOVL $1, AX +- CPUID +- SHRL $19, CX // Bit 19 indicates SSE4 support +- ANDL $1, CX // CX != 0 if support SSE4 +- MOVB CX, ret+0(FP) +- RET Deleted: gopacket-identifiers.patch =================================================================== --- gopacket-identifiers.patch 2019-03-19 08:48:37 UTC (rev 442631) +++ gopacket-identifiers.patch 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,62 +0,0 @@ -diff --git a/pcap/pcap.go b/pcap/pcap.go -index c869bcc..35fb11c 100644 ---- a/pcap/pcap.go -+++ b/pcap/pcap.go -@@ -170,7 +170,7 @@ type InterfaceAddress struct { - // BPF is a compiled filter program, useful for offline packet matching. - type BPF struct { - orig string -- bpf _Ctype_struct_bpf_program // takes a finalizer, not overriden by outsiders -+ bpf C.struct_bpf_program // takes a finalizer, not overriden by outsiders - } - - // BlockForever, when passed into OpenLive/SetTimeout, causes it to block forever -@@ -382,7 +382,7 @@ func (p *Handle) Error() error { - - // Stats returns statistics on the underlying pcap handle. - func (p *Handle) Stats() (stat *Stats, err error) { -- var cstats _Ctype_struct_pcap_stat -+ var cstats C.struct_pcap_stat - if -1 == C.pcap_stats(p.cptr, &cstats) { - return nil, p.Error() - } -@@ -443,7 +443,7 @@ func (p *Handle) SetBPFFilter(expr string) (err error) { - } - } - -- var bpf _Ctype_struct_bpf_program -+ var bpf C.struct_bpf_program - cexpr := C.CString(expr) - defer C.free(unsafe.Pointer(cexpr)) - -@@ -486,7 +486,7 @@ func (b *BPF) String() string { - } - - // BPF returns the compiled BPF program. --func (b *BPF) BPF() _Ctype_struct_bpf_program { -+func (b *BPF) BPF() C.struct_bpf_program { - return b.bpf - } - -@@ -549,10 +549,10 @@ func FindAllDevs() (ifs []Interface, err error) { - return - } - --func findalladdresses(addresses *_Ctype_struct_pcap_addr) (retval []InterfaceAddress) { -+func findalladdresses(addresses *C.struct_pcap_addr) (retval []InterfaceAddress) { - // TODO - make it support more than IPv4 and IPv6? - retval = make([]InterfaceAddress, 0, 1) -- for curaddr := addresses; curaddr != nil; curaddr = (*_Ctype_struct_pcap_addr)(curaddr.next) { -+ for curaddr := addresses; curaddr != nil; curaddr = (*C.struct_pcap_addr)(curaddr.next) { - var a InterfaceAddress - var err error - // In case of a tun device on Linux the link layer has no curaddr.addr. -@@ -818,7 +818,7 @@ func (h *Handle) NewDumper(file string) (dumper *Dumper, err error) { - // Writes a packet to the file. The return values of ReadPacketData - // can be passed to this function as arguments. - func (d *Dumper) WritePacketData(data []byte, ci gopacket.CaptureInfo) (err error) { -- var pkthdr _Ctype_struct_pcap_pkthdr -+ var pkthdr C.struct_pcap_pkthdr - pkthdr.caplen = C.bpf_u_int32(ci.CaptureLength) - pkthdr.len = C.bpf_u_int32(ci.Length) - Copied: beats/repos/community-x86_64/gopacket-identifiers.patch (from rev 442631, beats/trunk/gopacket-identifiers.patch) =================================================================== --- gopacket-identifiers.patch (rev 0) +++ gopacket-identifiers.patch 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,62 @@ +diff --git a/pcap/pcap.go b/pcap/pcap.go +index c869bcc..35fb11c 100644 +--- a/pcap/pcap.go ++++ b/pcap/pcap.go +@@ -170,7 +170,7 @@ type InterfaceAddress struct { + // BPF is a compiled filter program, useful for offline packet matching. + type BPF struct { + orig string +- bpf _Ctype_struct_bpf_program // takes a finalizer, not overriden by outsiders ++ bpf C.struct_bpf_program // takes a finalizer, not overriden by outsiders + } + + // BlockForever, when passed into OpenLive/SetTimeout, causes it to block forever +@@ -382,7 +382,7 @@ func (p *Handle) Error() error { + + // Stats returns statistics on the underlying pcap handle. + func (p *Handle) Stats() (stat *Stats, err error) { +- var cstats _Ctype_struct_pcap_stat ++ var cstats C.struct_pcap_stat + if -1 == C.pcap_stats(p.cptr, &cstats) { + return nil, p.Error() + } +@@ -443,7 +443,7 @@ func (p *Handle) SetBPFFilter(expr string) (err error) { + } + } + +- var bpf _Ctype_struct_bpf_program ++ var bpf C.struct_bpf_program + cexpr := C.CString(expr) + defer C.free(unsafe.Pointer(cexpr)) + +@@ -486,7 +486,7 @@ func (b *BPF) String() string { + } + + // BPF returns the compiled BPF program. +-func (b *BPF) BPF() _Ctype_struct_bpf_program { ++func (b *BPF) BPF() C.struct_bpf_program { + return b.bpf + } + +@@ -549,10 +549,10 @@ func FindAllDevs() (ifs []Interface, err error) { + return + } + +-func findalladdresses(addresses *_Ctype_struct_pcap_addr) (retval []InterfaceAddress) { ++func findalladdresses(addresses *C.struct_pcap_addr) (retval []InterfaceAddress) { + // TODO - make it support more than IPv4 and IPv6? + retval = make([]InterfaceAddress, 0, 1) +- for curaddr := addresses; curaddr != nil; curaddr = (*_Ctype_struct_pcap_addr)(curaddr.next) { ++ for curaddr := addresses; curaddr != nil; curaddr = (*C.struct_pcap_addr)(curaddr.next) { + var a InterfaceAddress + var err error + // In case of a tun device on Linux the link layer has no curaddr.addr. +@@ -818,7 +818,7 @@ func (h *Handle) NewDumper(file string) (dumper *Dumper, err error) { + // Writes a packet to the file. The return values of ReadPacketData + // can be passed to this function as arguments. + func (d *Dumper) WritePacketData(data []byte, ci gopacket.CaptureInfo) (err error) { +- var pkthdr _Ctype_struct_pcap_pkthdr ++ var pkthdr C.struct_pcap_pkthdr + pkthdr.caplen = C.bpf_u_int32(ci.CaptureLength) + pkthdr.len = C.bpf_u_int32(ci.Length) + Deleted: heartbeat.service =================================================================== --- heartbeat.service 2019-03-19 08:48:37 UTC (rev 442631) +++ heartbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,11 +0,0 @@ -[Unit] -Description=Uptime monitoring agent that stores metrics in Elasticsearch -Documentation=https://www.elastic.co/guide/en/beats/heartbeat/current/index.html -After=network.target - -[Service] -ExecStart=/usr/bin/heartbeat -c /etc/heartbeat/heartbeat.yml -path.home /usr/share/heartbeat -path.config /etc/heartbeat -path.data /var/lib/heartbeat -path.logs /var/log/heartbeat -Restart=on-failure - -[Install] -WantedBy=multi-user.target Copied: beats/repos/community-x86_64/heartbeat.service (from rev 442631, beats/trunk/heartbeat.service) =================================================================== --- heartbeat.service (rev 0) +++ heartbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,11 @@ +[Unit] +Description=Uptime monitoring agent that stores metrics in Elasticsearch +Documentation=https://www.elastic.co/guide/en/beats/heartbeat/current/index.html +After=network.target + +[Service] +ExecStart=/usr/bin/heartbeat -c /etc/heartbeat/heartbeat.yml -path.home /usr/share/heartbeat -path.config /etc/heartbeat -path.data /var/lib/heartbeat -path.logs /var/log/heartbeat +Restart=on-failure + +[Install] +WantedBy=multi-user.target Deleted: journalbeat.service =================================================================== --- journalbeat.service 2019-03-19 08:48:37 UTC (rev 442631) +++ journalbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,12 +0,0 @@ -[Unit] -Description=Journalbeat ships systemd journal entries to Elasticsearch or Logstash. -Documentation=https://www.elastic.co/products/beats/journalbeat -Wants=network.target -After=network.target - -[Service] -ExecStart=/usr/bin/journalbeat -c /etc/journalbeat/journalbeat.yml -path.home /usr/share/journalbeat -path.config /etc/journalbeat -path.data /var/lib/journalbeat -path.logs /var/log/journalbeat -Restart=on-failure - -[Install] -WantedBy=multi-user.target Copied: beats/repos/community-x86_64/journalbeat.service (from rev 442631, beats/trunk/journalbeat.service) =================================================================== --- journalbeat.service (rev 0) +++ journalbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,12 @@ +[Unit] +Description=Journalbeat ships systemd journal entries to Elasticsearch or Logstash. +Documentation=https://www.elastic.co/products/beats/journalbeat +Wants=network.target +After=network.target + +[Service] +ExecStart=/usr/bin/journalbeat -c /etc/journalbeat/journalbeat.yml -path.home /usr/share/journalbeat -path.config /etc/journalbeat -path.data /var/lib/journalbeat -path.logs /var/log/journalbeat +Restart=on-failure + +[Install] +WantedBy=multi-user.target Deleted: metricbeat.service =================================================================== --- metricbeat.service 2019-03-19 08:48:37 UTC (rev 442631) +++ metricbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,11 +0,0 @@ -[Unit] -Description=Server monitoring agent that stores metrics in Elasticsearch -Documentation=https://www.elastic.co/guide/en/beats/metricbeat/current/index.html -After=network.target - -[Service] -ExecStart=/usr/bin/metricbeat -c /etc/metricbeat/metricbeat.yml -path.home /usr/share/metricbeat -path.config /etc/metricbeat -path.data /var/lib/metricbeat -path.logs /var/log/metricbeat -Restart=on-failure - -[Install] -WantedBy=multi-user.target Copied: beats/repos/community-x86_64/metricbeat.service (from rev 442631, beats/trunk/metricbeat.service) =================================================================== --- metricbeat.service (rev 0) +++ metricbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,11 @@ +[Unit] +Description=Server monitoring agent that stores metrics in Elasticsearch +Documentation=https://www.elastic.co/guide/en/beats/metricbeat/current/index.html +After=network.target + +[Service] +ExecStart=/usr/bin/metricbeat -c /etc/metricbeat/metricbeat.yml -path.home /usr/share/metricbeat -path.config /etc/metricbeat -path.data /var/lib/metricbeat -path.logs /var/log/metricbeat +Restart=on-failure + +[Install] +WantedBy=multi-user.target Deleted: packetbeat.service =================================================================== --- packetbeat.service 2019-03-19 08:48:37 UTC (rev 442631) +++ packetbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,11 +0,0 @@ -[Unit] -Description=Real-Time Packet Analyzer -Documentation=https://www.elastic.co/guide/en/beats/packetbeat/current/index.html -After=network.target - -[Service] -ExecStart=/usr/bin/packetbeat -c /etc/packetbeat/packetbeat.yml -path.home /usr/share/packetbeat -path.config /etc/packetbeat -path.data /var/lib/packetbeat -path.logs /var/log/packetbeat -Restart=on-failure - -[Install] -WantedBy=multi-user.target Copied: beats/repos/community-x86_64/packetbeat.service (from rev 442631, beats/trunk/packetbeat.service) =================================================================== --- packetbeat.service (rev 0) +++ packetbeat.service 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,11 @@ +[Unit] +Description=Real-Time Packet Analyzer +Documentation=https://www.elastic.co/guide/en/beats/packetbeat/current/index.html +After=network.target + +[Service] +ExecStart=/usr/bin/packetbeat -c /etc/packetbeat/packetbeat.yml -path.home /usr/share/packetbeat -path.config /etc/packetbeat -path.data /var/lib/packetbeat -path.logs /var/log/packetbeat +Restart=on-failure + +[Install] +WantedBy=multi-user.target Deleted: tmpfile.conf =================================================================== --- tmpfile.conf 2019-03-19 08:48:37 UTC (rev 442631) +++ tmpfile.conf 2019-03-19 08:49:31 UTC (rev 442632) @@ -1,2 +0,0 @@ -d /var/log/BEATNAME 0755 root root - -d /var/lib/BEATNAME 0755 root root - Copied: beats/repos/community-x86_64/tmpfile.conf (from rev 442631, beats/trunk/tmpfile.conf) =================================================================== --- tmpfile.conf (rev 0) +++ tmpfile.conf 2019-03-19 08:49:31 UTC (rev 442632) @@ -0,0 +1,2 @@ +d /var/log/BEATNAME 0755 root root - +d /var/lib/BEATNAME 0755 root root -