Project = mod_perl
ProjectVersion = $(Project)-2.0.4
Patches = CVE-2009-0796.diff
include $(MAKEFILEPATH)/CoreOS/ReleaseControl/Common.make
VERSIONERDIR := /usr/local/versioner
PERLVERSIONS := $(VERSIONERDIR)/perl/versions
PERLSUBDEFAULT := $(shell sed -n '/^DEFAULT = /s///p' $(PERLVERSIONS))
PERLDEFAULT := $(shell grep '^$(PERLSUBDEFAULT)' $(PERLVERSIONS))
PERLUNORDEREDVERS := $(shell grep -v '^DEFAULT' $(PERLVERSIONS))
PERLORDEREDVERS := $(filter-out $(PERLDEFAULT),$(PERLUNORDEREDVERS)) $(PERLDEFAULT)
PERLEXTRASLIB := $(subst Perl,Perl/Extras,$(shell perl -e 'require Config; print $$Config::Config{installprivlib}'))
PERLARCHLIB := $(shell perl -e 'require Config; print $$Config::Config{installarchlib}')
PERLEXTRASARCHLIB := $(subst Perl,Perl/Extras,$(PERLARCHLIB))
install::
@echo "--> Extracting..."
$(TAR) -C $(OBJROOT) -zxf $(SRCROOT)/$(ProjectVersion).tar.gz
@echo "--> Applying patches..."
@set -x && \
cd $(OBJROOT)/$(ProjectVersion) && \
for patch in $(Patches); do \
patch -p0 -F0 -i $(SRCROOT)/files/$${patch}; \
done
@echo "--> Building/installing..."
@set -x && \
cd $(OBJROOT)/$(ProjectVersion) && \
for vers in $(PERLORDEREDVERS); do \
export VERSIONER_PERL_VERSION=$${vers} && \
installarchlib=`perl -MConfig -e 'print $$Config::Config{installarchlib}' | sed 's,Perl,Perl/Extras,'` && \
installprivlib=`perl -MConfig -e 'print $$Config::Config{installprivlib}' | sed 's,Perl,Perl/Extras,'` && \
ARCHFLAGS="$(RC_CFLAGS)" perl Makefile.PL \
MP_APXS="/usr/sbin/apxs" \
MP_CCOPTS="$(CFLAGS)" \
INSTALLARCHLIB=$${installarchlib} \
INSTALLDIRS=perl \
INSTALLMAN3DIR="$(MANDIR)/man3" && \
$(MAKE) && \
$(MAKE) install DESTDIR=$(DSTROOT); \
done
@echo "--> Post install cleanup..."
find $(DSTROOT) -name \*.bs -delete
find $(DSTROOT) -name perllocal.pod -delete
find $(DSTROOT) -type d -empty -delete
@set -x && \
cd $(DSTROOT) && \
for bundle in `find . -type f -name \*.bundle -o -name \*.so`; do \
bundledir=$(SYMROOT)/`dirname $${bundle}` && \
$(MKDIR) $${bundledir} && \
$(CP) $${bundle} $${bundledir} && \
$(STRIP) -x $${bundle}; \
done
$(INSTALL_DIRECTORY) $(DSTROOT)/usr/local/OpenSourceVersions
$(INSTALL_FILE) $(SRCROOT)/mod_perl.plist $(DSTROOT)/usr/local/OpenSourceVersions/apache_mod_perl.plist
$(INSTALL_DIRECTORY) $(DSTROOT)/usr/local/OpenSourceLicenses
$(INSTALL_FILE) $(OBJROOT)/$(ProjectVersion)/LICENSE $(DSTROOT)/usr/local/OpenSourceLicenses/apache_mod_perl.txt
$(MKDIR) $(DSTROOT)/usr/share/man/man1
$(INSTALL_FILE) $(SRCROOT)/mp2bug.1 $(DSTROOT)/usr/share/man/man1
$(_v) $(MAKE) compress_man_pages