From 0a062291a05f5d77d1833fe95d8b3a4ab43af290 Mon Sep 17 00:00:00 2001 From: webbuilder_pel7ppc64lebuilder0 Date: Tue, 12 May 2020 20:49:17 +0200 Subject: [PATCH] spamassassin package update Signed-off-by: webbuilder_pel7ppc64lebuilder0 --- ...1-Disable-running-gyp-on-shared-deps.patch | 23 +-- SOURCES/README.RHEL.Fedora | 25 +-- SOURCES/nodejs-tarball.sh | 184 +++++++++++++++++- SOURCES/redhat_local.cf | 3 +- SOURCES/sa-update.cronscript | 6 +- SOURCES/sa-update.crontab | 2 +- SOURCES/sa-update.force-sysconfig | 2 +- SOURCES/sa-update.service | 4 +- SOURCES/sa-update.timer | 2 +- SPECS/spamassassin.spec | 53 +---- 10 files changed, 224 insertions(+), 80 deletions(-) diff --git a/SOURCES/0001-Disable-running-gyp-on-shared-deps.patch b/SOURCES/0001-Disable-running-gyp-on-shared-deps.patch index a9934a5..3c11dd8 100644 --- a/SOURCES/0001-Disable-running-gyp-on-shared-deps.patch +++ b/SOURCES/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 443fef828092b315a207a194f5fe74e52e451996 Mon Sep 17 00:00:00 2001 +From 7a6257be1d0276ff22d2d92ea89c5bca6c633802 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,15 +8,13 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile -index 3a343301d640bc7fd41e9680c74455bb260a950d..d2b9c13ee3e53d957ed32476e40fb09e41fcfded 100644 +index 316410e3f81e39cdddecf91d5b717c884a9c51b3..62c8ebb5b95a68e44d4c2ab3beee70d63c3175c7 100644 --- a/Makefile +++ b/Makefile -@@ -121,14 +121,13 @@ with-code-cache: - - .PHONY: test-code-cache +@@ -123,10 +123,9 @@ with-code-cache: test-code-cache: with-code-cache - $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) code-cache - + $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) code-cache + -out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \ - deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \ - deps/v8/gypfiles/features.gypi deps/v8/gypfiles/v8.gyp node.gyp \ @@ -24,10 +22,9 @@ index 3a343301d640bc7fd41e9680c74455bb260a950d..d2b9c13ee3e53d957ed32476e40fb09e +out/Makefile: common.gypi deps/http_parser/http_parser.gyp \ + deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \ + deps/v8/gypfiles/v8.gyp node.gyp config.gypi - $(PYTHON) tools/gyp_node.py -f make - + $(PYTHON) tools/gyp_node.py -f make + config.gypi: configure configure.py - @if [ -x config.status ]; then \ - ./config.status; \ --- -2.20.1 +-- +2.24.1 + diff --git a/SOURCES/README.RHEL.Fedora b/SOURCES/README.RHEL.Fedora index e80eaf9..a504866 100644 --- a/SOURCES/README.RHEL.Fedora +++ b/SOURCES/README.RHEL.Fedora @@ -1,9 +1,9 @@ Notes for Spamassassin for RHEL or Fedora ========================================= -spamassassin-3.3.x RPM package for RHEL 5+ or Fedora 11+ contains some new +spamassassin-3.3.x RPM package for RHEL 5+ or Fedora 11+ contains some new functionality beyond the upstream spamassassin documentation. -Upstream spamassassin-3.3.0 is no longer distributed with rules. Our package +Upstream spamassassin-3.3.0 is no longer distributed with rules. Our package contains rules in order to be less of a surprise to system administrators. However just as you wouldn't rely on antivirus software without signature updates, spamassassin cannot be relied upon without regular rule updates. @@ -11,15 +11,15 @@ updates, spamassassin cannot be relied upon without regular rule updates. 1) For these reasons, our RPM package now runs nightly sa-update by default. /etc/cron.d/sa-update -The default cron runs sa-update once every night. You may edit this cron -file to change the schedule of sa-update or to disable it entirely. If you -had modified this file in the past you may need to restore the new file +The default cron runs sa-update once every night. You may edit this cron +file to change the schedule of sa-update or to disable it entirely. If you +had modified this file in the past you may need to restore the new file from /etc/cron.d/sa-update.rpmnew 2) /usr/share/spamassassin/sa-update.cron -This script is executed by cron. It runs sa-update only if a known spam +This script is executed by cron. It runs sa-update only if a known spam daemon is running: spamd, amavisd, or mimedefang. If you do not run any -of these spam daemons but wish to have nightly sa-update, you may +of these spam daemons but wish to have nightly sa-update, you may override the daemon check in /etc/sysconfig/sa-update 3) /etc/mail/spamassassin/channel.d @@ -38,8 +38,9 @@ General Warnings Note about -d option ==================== -With spamassassin 3.4.0, this package has switched the way spamd is started. -You should no longer use the '-d' option in /etc/sysconfig/spamassassin. Doing -so will result in spamd starting and stopping in a loop. The default -/etc/sysconfig/spamassassin file has been adjusted for this, please merge -this change into that file if you have made any changes to it. +With spamassassin 3.4.0, this package has switched the way spamd is started. +You should no longer use the '-d' option in /etc/sysconfig/spamassassin. Doing +so will result in spamd starting and stopping in a loop. The default +/etc/sysconfig/spamassassin file has been adjusted for this, please merge +this change into that file if you have made any changes to it. + diff --git a/SOURCES/nodejs-tarball.sh b/SOURCES/nodejs-tarball.sh index 89385dc..582d7c4 100755 --- a/SOURCES/nodejs-tarball.sh +++ b/SOURCES/nodejs-tarball.sh @@ -1,7 +1,187 @@ #!/bin/sh +# Uses Argbash to generate command argument parsing. To update +# arguments, make sure to call +# `argbash nodejs-tarball.sh -o nodejs-tarball.sh` -version=$(rpm -q --specfile --qf='%{version}\n' SPECS/nodejs.spec | head -n1) -wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz +# ARG_POSITIONAL_SINGLE([version],[Node.js release version],[""]) +# ARG_DEFAULTS_POS([]) +# ARG_HELP([Tool to aid in Node.js packaging of new releases]) +# ARGBASH_GO() +# needed because of Argbash --> m4_ignore([ +### START OF CODE GENERATED BY Argbash v2.8.1 one line above ### +# Argbash is a bash code generator used to get arguments parsing right. +# Argbash is FREE SOFTWARE, see https://argbash.io for more info + + +die() +{ + local _ret=$2 + test -n "$_ret" || _ret=1 + test "$_PRINT_HELP" = yes && print_help >&2 + echo "$1" >&2 + exit ${_ret} +} + + +begins_with_short_option() +{ + local first_option all_short_options='h' + first_option="${1:0:1}" + test "$all_short_options" = "${all_short_options/$first_option/}" && return 1 || return 0 +} + +# THE DEFAULTS INITIALIZATION - POSITIONALS +_positionals=() +_arg_version="" +# THE DEFAULTS INITIALIZATION - OPTIONALS + + +print_help() +{ + printf '%s\n' "Tool to aid in Node.js packaging of new releases" + printf 'Usage: %s [-h|--help] []\n' "$0" + printf '\t%s\n' ": Node.js release version (default: '""')" + printf '\t%s\n' "-h, --help: Prints help" +} + + +parse_commandline() +{ + _positionals_count=0 + while test $# -gt 0 + do + _key="$1" + case "$_key" in + -h|--help) + print_help + exit 0 + ;; + -h*) + print_help + exit 0 + ;; + *) + _last_positional="$1" + _positionals+=("$_last_positional") + _positionals_count=$((_positionals_count + 1)) + ;; + esac + shift + done +} + + +handle_passed_args_count() +{ + test "${_positionals_count}" -le 1 || _PRINT_HELP=yes die "FATAL ERROR: There were spurious positional arguments --- we expect between 0 and 1, but got ${_positionals_count} (the last one was: '${_last_positional}')." 1 +} + + +assign_positional_args() +{ + local _positional_name _shift_for=$1 + _positional_names="_arg_version " + + shift "$_shift_for" + for _positional_name in ${_positional_names} + do + test $# -gt 0 || break + eval "$_positional_name=\${1}" || die "Error during argument parsing, possibly an Argbash bug." 1 + shift + done +} + +parse_commandline "$@" +handle_passed_args_count +assign_positional_args 1 "${_positionals[@]}" + +# OTHER STUFF GENERATED BY Argbash + +### END OF CODE GENERATED BY Argbash (sortof) ### ]) +# [ <-- needed because of Argbash + + +set -e + +echo $_arg_version + +if [ x$_arg_version != x ]; then + version=$_arg_version +else + version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1) +fi + +rm -f node-v${version}.tar.gz node-v${version}-stripped.tar.gz +wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz \ + http://nodejs.org/dist/v${version}/SHASUMS256.txt +sha256sum -c SHASUMS256.txt --ignore-missing tar -zxf node-v${version}.tar.gz rm -rf node-v${version}/deps/openssl tar -zcf node-v${version}-stripped.tar.gz node-v${version} + +# Download the matching version of ICU +rm -f icu4c*-src.tgz icu.md5 +ICUMD5=$(cat node-v${version}/tools/icu/current_ver.dep |jq -r '.[0].md5') +wget $(cat node-v${version}/tools/icu/current_ver.dep |jq -r '.[0].url') +ICUTARBALL=$(ls -1 icu4c*-src.tgz) +echo "$ICUMD5 $ICUTARBALL" > icu.md5 +md5sum -c icu.md5 +rm -f icu.md5 SHASUMS256.txt + +fedpkg new-sources node-v${version}-stripped.tar.gz icu4c*-src.tgz + +rm -f node-v${version}.tar.gz + +# Determine the bundled versions of the various packages +echo "Bundled software versions" +echo "-------------------------" +echo +echo "libnode shared object version" +echo "=========================" +grep "define NODE_MODULE_VERSION" node-v${version}/src/node_version.h +echo +echo "V8" +echo "=========================" +grep "define V8_MAJOR_VERSION" node-v${version}/deps/v8/include/v8-version.h +grep "define V8_MINOR_VERSION" node-v${version}/deps/v8/include/v8-version.h +grep "define V8_BUILD_NUMBER" node-v${version}/deps/v8/include/v8-version.h +grep "define V8_PATCH_LEVEL" node-v${version}/deps/v8/include/v8-version.h +echo +echo "c-ares" +echo "=========================" +grep "define ARES_VERSION_MAJOR" node-v${version}/deps/cares/include/ares_version.h +grep "define ARES_VERSION_MINOR" node-v${version}/deps/cares/include/ares_version.h +grep "define ARES_VERSION_PATCH" node-v${version}/deps/cares/include/ares_version.h +echo +echo "http-parser" +echo "=========================" +grep "define HTTP_PARSER_VERSION_MAJOR" node-v${version}/deps/http_parser/http_parser.h +grep "define HTTP_PARSER_VERSION_MINOR" node-v${version}/deps/http_parser/http_parser.h +grep "define HTTP_PARSER_VERSION_PATCH" node-v${version}/deps/http_parser/http_parser.h +echo +echo "libuv" +echo "=========================" +grep "define UV_VERSION_MAJOR" node-v${version}/deps/uv/include/uv/version.h +grep "define UV_VERSION_MINOR" node-v${version}/deps/uv/include/uv/version.h +grep "define UV_VERSION_PATCH" node-v${version}/deps/uv/include/uv/version.h +echo +echo "libuv" +echo "=========================" +grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +echo +echo "ICU" +echo "=========================" +grep "url" node-v${version}/tools/icu/current_ver.dep +echo +echo "punycode" +echo "=========================" +grep "'version'" node-v${version}/lib/punycode.js +echo +echo "npm" +echo "=========================" +grep "\"version\":" node-v${version}/deps/npm/package.json +echo +echo "Make sure these versions match what is in the RPM spec file" + +rm -rf node-v${version} +# ] <-- needed because of Argbash diff --git a/SOURCES/redhat_local.cf b/SOURCES/redhat_local.cf index d7eff0d..4f82886 100644 --- a/SOURCES/redhat_local.cf +++ b/SOURCES/redhat_local.cf @@ -1,4 +1,4 @@ -# These values can be overridden by editing ~/.spamassassin/user_prefs.cf +# These values can be overridden by editing ~/.spamassassin/user_prefs.cf # (see spamassassin(1) for details) # These should be safe assumptions and allow for simple visual sifting @@ -7,3 +7,4 @@ required_hits 5 report_safe 0 rewrite_header Subject [SPAM] + diff --git a/SOURCES/sa-update.cronscript b/SOURCES/sa-update.cronscript index c609ac6..24386a4 100644 --- a/SOURCES/sa-update.cronscript +++ b/SOURCES/sa-update.cronscript @@ -60,10 +60,10 @@ status=$? now=`date +"%d-%b-%Y %T"` # cron runs this script tee /var/log/sa-update.log # We want to always write to the log, but only send mail -# as configured. +# as configured. if [ $status -eq 0 ]; then if [ -n "$DEBUG" -o -n "$NOTIFY_UPD" ]; then - echo "$now: SpamAssassin: Update processed successfully" + echo "$now: SpamAssassin: Update processed successfully" else echo "$now: SpamAssassin: Update processed successfully" >>/var/log/sa-update.log fi @@ -78,7 +78,7 @@ if [ $status -eq 0 ]; then [ -f /etc/rc.d/init.d/mimedefang ] && service mimedefang condrestart >& /dev/null [ -f /etc/rc.d/init.d/spampd ] && service spampd condrestart >& /dev/null fi - + exit $status fi if [ $status -eq 1 ]; then diff --git a/SOURCES/sa-update.crontab b/SOURCES/sa-update.crontab index 72aedcc..ca08444 100644 --- a/SOURCES/sa-update.crontab +++ b/SOURCES/sa-update.crontab @@ -2,7 +2,7 @@ ### Spamassassin Rules Updates ### # # http://wiki.apache.org/spamassassin/RuleUpdates -# +# # sa-update automatically updates your rules once per day if a spam daemon like # spamd or amavisd are running. You can force sa-update to run in # /etc/sysconfig/sa-update diff --git a/SOURCES/sa-update.force-sysconfig b/SOURCES/sa-update.force-sysconfig index a1b9269..0730be7 100644 --- a/SOURCES/sa-update.force-sysconfig +++ b/SOURCES/sa-update.force-sysconfig @@ -11,7 +11,7 @@ # Default: Run only if a daemon is detected # Options for the actual sa-update command -# These are added to the channel configuration from +# These are added to the channel configuration from # /etc/mail/spamassassin/channel.d/*.conf # OPTIONS=-v diff --git a/SOURCES/sa-update.service b/SOURCES/sa-update.service index 6498539..b8098e6 100644 --- a/SOURCES/sa-update.service +++ b/SOURCES/sa-update.service @@ -1,7 +1,7 @@ ### Spamassassin Rules Updates ### # # http://wiki.apache.org/spamassassin/RuleUpdates -# +# # sa-update automatically updates your rules once per day if a spam daemon like # spamd or amavisd are running. @@ -12,7 +12,7 @@ Documentation=man:sa-update(1) [Service] # Note that the opposite of "yes" is the empty string, NOT "no" # Options for the actual sa-update command -# These are added to the channel configuration from +# These are added to the channel configuration from # /etc/mail/spamassassin/channel.d/*.conf Environment=OPTIONS=-v diff --git a/SOURCES/sa-update.timer b/SOURCES/sa-update.timer index c233018..6e5cba0 100644 --- a/SOURCES/sa-update.timer +++ b/SOURCES/sa-update.timer @@ -1,7 +1,7 @@ ### Spamassassin Rules Updates ### # # http://wiki.apache.org/spamassassin/RuleUpdates -# +# # sa-update automatically updates your rules once per day if a spam daemon like # spamd or amavisd are running. diff --git a/SPECS/spamassassin.spec b/SPECS/spamassassin.spec index 0eba936..c083a8b 100644 --- a/SPECS/spamassassin.spec +++ b/SPECS/spamassassin.spec @@ -1,55 +1,25 @@ -# OVERRIDE RHEL VERSION HERE, RHEL BUILDSYSTEM DOESN'T HAVE DIST TAG -#%%define rhel 4 - -# Define dist tags for old RHEL releases -%if 0%{?rhel} == 4 -%define dist .el4 -%endif -%if 0%{?rhel} == 5 -%define dist .el5 -%endif -%if 0%{?rhel} == 6 -%define dist .el6 -%endif - -# Define variables to use in conditionals -%define option_ssl 0 -%define perl_devel 0 -%define dkim_deps 0 -%global patricia_deps 0 -%global razor_deps 0 -%define require_encode_detect 0 -%define use_systemd 0 - -# SSL and IPv6 (FC6+, RHEL5+) %define option_ssl 1 -# Split perl-devel (FC7+ and RHEL-8+) %define perl_devel 1 -# Encode::Detect, not strictly required but helpful if you enable language detection (FC7+) -%define require_encode_detect 1 -# Mail::DKIM by default (F11+) -%define dkim_deps 1 -%define use_systemd 1 +%define dkim_deps 1 %global patricia_deps 1 %global razor_deps 1 - +%define require_encode_detect 1 +%define use_systemd 1 %define real_name Mail-SpamAssassin %{!?perl_vendorlib: %define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)} +%global saversion 3.004004 +%global rulesversion r1873061 -%global saversion 3.004002 -#%%global prerev rc2 - -Summary: Spam filter for email which can be invoked from mail delivery agents Name: spamassassin -Version: 3.4.2 -#Release: 0.8.%%{prerev}%%{?dist} -Release: 3%{?dist} +Version: 3.4.4 +Release: 1%{?dist} +Summary: Spam filter for email which can be invoked from mail delivery agents License: ASL 2.0 Group: Applications/Internet URL: https://spamassassin.apache.org/ Source0: https://www.apache.org/dist/%{name}/source/%{real_name}-%{version}.tar.bz2 #Source0: %%{real_name}-%%{version}-%%{prerev}.tar.bz2 -Source1: https://www.apache.org/dist/%{name}/source/%{real_name}-rules-%{version}.r1840640.tgz +Source1: https://www.apache.org/dist/%{name}/source/%{real_name}-rules-%{version}.%{rulesversion}.tgz #Source1: %%{real_name}-rules-%%{version}.%%{prerev}.tgz Source2: redhat_local.cf Source3: spamassassin-default.rc @@ -62,9 +32,7 @@ Source9: sa-update.force-sysconfig Source10: spamassassin-helper.sh Source11: spamassassin-official.conf Source13: README.RHEL.Fedora -%if %{use_systemd} Source14: spamassassin.service -%endif Source15: spamassassin.sysconfig.el Source16: sa-update.service Source17: sa-update.timer @@ -77,9 +45,6 @@ Patch1: spamassassin-3.4.1-add-logfile-homedir-options.patch # Patches 100+ are SVN backports (DO NOT REUSE!) # end of patches Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -%if %{use_systemd} == 0 -Requires: /sbin/chkconfig /sbin/service -%endif Requires(post): diffutils BuildRequires: gcc