#!/bin/sh
# generate-fpm-patch - Generate a patch file from fpm sources
# 

START_DIR=`pwd`
if [ "$1" ] ; then FPM_DIR="$1"; else FPM_DIR=`dirname "$0"`; fi

CONFIGURE_AC="$FPM_DIR/configure.ac"
if [ "$FPM_DIR" = '.' ] || [ ! -f "$CONFIGURE_AC" ]; then
	echo This command must be executed one directory ABOVE the
	echo php-fpm source tree, with `php-fpm/generate-fpm-patch`
fi

PKG_DESCR=`cat "$CONFIGURE_AC" | grep AC_INIT | sed -e "s/AC_INIT.//" -e "s/. *$//"`
FPM_PATCH_HEADER=`cat <<- \
	FPM_PATCH_HEADER
	#
	# Ubuntu: https://bugs.launchpad.net/bugs/397721
	# Patch: https://code.launchpad.net/php-fpm
	# Description: $PKG_DESCR
	#
	FPM_PATCH_HEADER
	`
echo "$FPM_PATCH_HEADER" > fpm.patch
PHP_SRC="43fa2d06781b784bb2025b57a2230267" # echo "php-src" | md5
mkdir -p "$PHP_SRC/php-src-vanilla/sapi"
mkdir -p "$PHP_SRC/php-src/sapi"
cd "$PHP_SRC/php-src"
cp -RfL "../../$FPM_DIR" sapi/fpm
cd sapi/fpm

# Remove non-project files
rm -Rf .bzr* .git* *.cache autotools

# Remove standalone project files
STANDALONE_FILES="INSTALL Makefile.am Makefile.in acinclude.m4 aclocal.m4 autoconf.markdown \
buildconf compile config.guess config.sub configure configure.ac depcomp \
generate-autotools generate-fpm-patch fpm_autoconfig.h.in install-sh ltmain.sh m4 missing \
readme.markdown fpm/Makefile.am fpm/Makefile.in cgi/Makefile.am cgi/Makefile.in"
rm -rf $STANDALONE_FILES

# Remove those standalone files here that php-src won't use
# rm -rf file1 file2 file3...

cd "$START_DIR/$PHP_SRC"
# diff -Naur php-src-vanilla php-src | filterdiff --remove-timestamps >> fpm.patch
diff -Naur php-src-vanilla php-src >> fpm.patch
cp fpm.patch ../ && cd ../
rm -Rf $PHP_SRC
