summarylogtreecommitdiffstats
path: root/generate_patches
blob: 7b38e3e99c3af2855174f9bc6985b5adf4aca23f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/bin/bash

. PKGBUILD

makepkg -o --nodeps --noprepare --skipinteg

pushd "src/${_pkgbase}-${pkgver}"

sed -e '/if test "$APACHE_VERSION" -lt 2004001; then/i PHP_BUILD_THREAD_SAFE' \
	-e '/if test "$APACHE_VERSION" -lt 2004001; then/,+10d' \
	-i.orig sapi/apache2handler/config.m4

sed 's/.conf.default/.conf/g' -i.orig sapi/fpm/Makefile.frag

sed \
	-e 's#run/php-fpm.pid#/run/php-fpm/php-fpm.pid#' \
	-e 's#^;error_log =.*#error_log = syslog#' \
	-i.orig sapi/fpm/php-fpm.conf.in

sed \
	-e 's#^listen =.*#listen = /run/php-fpm/php-fpm.sock#' \
	-e 's#^;listen.owner =#listen.owner =#' \
	-e 's#^;listen.group =#listen.group =#' \
	-e 's#^;chdir =.*#;chdir = /srv/http#' \
	-i.orig sapi/fpm/www.conf.in

sed \
	-e 's#^PIDFile=.*#PIDFile=/run/php-fpm/php-fpm.pid#' \
	-i.orig sapi/fpm/php-fpm.service.in

# available extensions after build
# find /var/lib/archbuild/*-x86_64/*/build/php/src/build/modules -name '*.so' -exec basename {} .so \; | sort -u
availableExtensions=(
	bcmath
	bz2
	calendar
	curl
	dba
	enchant
	exif
	ffi
	ftp
	gd
	gettext
	gmp
	iconv
	imap
	intl
	ldap
	mysqli
	odbc
	opcache
	pdo_dblib
	pdo_mysql
	pdo_odbc
	pdo_pgsql
	pdo_sqlite
	pgsql
	pspell
	shmop
	snmp
	soap
	sockets
	sodium
	sqlite3
	sysvmsg
	sysvsem
	sysvshm
	tidy
	xsl
	zip
)

extensions=''
for extension in "${availableExtensions[@]}"; do
	if [[ $extension == 'curl' ]]; then
		extensions+="extension=${extension}\n"
	elif [[ $extension == 'opcache' ]]; then
		extensions+=";zend_extension=${extension}\n"
	elif [[ $extension == 'zip' ]]; then
		extensions+="extension=${extension}\n"
	else
		extensions+=";extension=${extension}\n"
	fi
done

sed \
	-r ":a;N;\$!ba;s/; Notes for Windows environments :\n.+;?extension=\w+\n/${extensions}/g" \
	-i.orig php.ini-production
sed \
	-e 's#^;extension_dir = "\./"$#extension_dir = "/usr/lib/php/modules/"#g' \
	-i php.ini-production

diff -u configure sapi/apache2handler/config.m4 | filterdiff --clean --remove-timestamps > ../../apache.patch
diff -u sapi/apache2handler/config.m4.orig sapi/apache2handler/config.m4 | filterdiff --clean --remove-timestamps > ../../apache.patch

{
	diff -u sapi/fpm/Makefile.frag.orig sapi/fpm/Makefile.frag
	diff -u sapi/fpm/php-fpm.conf.in.orig sapi/fpm/php-fpm.conf.in
	diff -u sapi/fpm/www.conf.in.orig sapi/fpm/www.conf.in
	diff -u sapi/fpm/php-fpm.service.in.orig sapi/fpm/php-fpm.service.in
} | filterdiff --clean --remove-timestamps > ../../php-fpm.patch

diff -u php.ini-production.orig php.ini-production | filterdiff --clean --remove-timestamps > ../../php.ini.patch

popd