Merge pull request #14203 from yashodha/dev_705
[civicrm-core.git] / tools / scripts / composer / net-smtp-fix.sh
1 #!/bin/bash
2
3 ## Cleanup the vendor tree. The main issue here is that civi Civi is
4 ## deployed as a module inside a CMS, so all its source-code gets published.
5 ## Some libraries distribute admin tools and sample files which should not
6 ## be published.
7 ##
8 ## This script should be idempotent -- if you rerun it several times, it
9 ## should always produce the same post-condition.
10
11 ## Replace a line in a file
12 ## This is a bit like 'sed -i', but dumber and more cross-platform.
13
14 ##############################################################################
15 ## usage: safe_delete <relpath...>
16 function safe_delete() {
17 for file in "$@" ; do
18 if [ -z "$file" ]; then
19 echo "Skip: empty file name"
20 elif [ -e "$file" ]; then
21 rm -rf "$file"
22 fi
23 done
24 }
25
26
27 ##############################################################################
28 # Add in CiviCRM custom error message for CRM-8744.
29 if ! grep -q 'CRM-8744' vendor/pear/net_smtp/Net/SMTP.php; then
30 patch vendor/pear/net_smtp/Net/SMTP.php < tools/scripts/composer/patches/net-smtp-patch.txt
31 fi
32 if ! grep -q '@STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT' vendor/pear/net_smtp/Net/SMTP.php; then
33 patch vendor/pear/net_smtp/Net/SMTP.php < tools/scripts/composer/patches/net-smtp-tls-patch.txt
34 fi
35 if ! grep -q 'function __construct' vendor/pear/net_smtp/Net/SMTP.php; then
36 patch vendor/pear/net_smtp/Net/SMTP.php < tools/scripts/composer/patches/net-smtp-php7-patch.txt
37 fi
38 if grep -q '&Auth_SASL::factory' vendor/pear/net_smtp/Net/SMTP.php; then
39 patch vendor/pear/net_smtp/Net/SMTP.php < tools/scripts/composer/patches/net-smtp-ref-patch.txt
40 fi
41
42 safe_delete vendor/pear/net_smtp/{README.rst,examples,phpdoc.sh,tests}