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
8 ## This script should be idempotent -- if you rerun it several times, it
9 ## should always produce the same post-condition.
11 ## Replace a line in a file
12 ## This is a bit like 'sed -i', but dumber and more cross-platform.
14 ##############################################################################
15 ## usage: safe_delete <relpath...>
16 function safe_delete
() {
18 if [ -z "$file" ]; then
19 echo "Skip: empty file name"
20 elif [ -e "$file" ]; then
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
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
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
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
42 safe_delete vendor
/pear
/net_smtp
/{README.rst
,examples
,phpdoc.sh
,tests
}