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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
#! /usr/bin/make -f
# DBS options
package := ezpublish
PWD := $(shell pwd)
CFLAGS := -O2 -Wall
INSTALL = install
INSTALL_DATA := $(INSTALL) -m644
INSTALL_DIR := $(INSTALL) -p -d -o root -g root -m 755
INSTALL_FILE := $(INSTALL) -p -o root -g root -m 644
INSTALL_PROGRAM := $(INSTALL) -m755
INSTALL_SCRIPT := $(INSTALL) -p -o root -g root -m 755
SCRIPT_DIR = /usr/share/dbs
# the dbs rules
TAR_DIR := ezpublish_2_2_8
include $(SCRIPT_DIR)/dbs-build.mk
# dpkg-arch rules
ifeq (,$(DEB_BUILD_GNU_TYPE))
include $(SCRIPT_DIR)/dpkg-arch.mk
endif
# Some vars needed for clean building the package
DEBIAN_ROOT := $(PWD)/debian/$(package)
# Misc. vars specific to this makefile
INSTBASEDIR=$(CURDIR)/debian/ezpublish-src
INSTSRCDIR=$(INSTBASEDIR)/usr/src/ezpublish
INSTLIBDIR=$(INSTBASEDIR)/usr/share/ezpublish
INSTDOCDIR=$(INSTBASEDIR)/usr/share/doc/ezpublish-src
TARGETS=lib www tpl data
BINFILES=clearcache.sh modfix.sh secure_clearcache.sh secure_modfix.sh
SEDRULE_FILENAME=-e s/\\.in$$//
SEDRULE_CONTENT=-e s,__BUILD_TREE__,$(BUILD_TREE),g
LANGS=`cd $(PWD)/$(BUILD_TREE) && find classes/locale -name '*.ini' -exec basename '{}' '.ini' \;`
find=cd $(PWD)/$(BUILD_TREE) && find *
findclean=egrep -v '^(ezexample|ezsysinfo|upgrade|checklists|installation|ezurltranslator/site\-ini)'
tar=cd $(PWD)/$(BUILD_TREE) && tar --append --mode='a=r,u+w,a+X'
tar_del=tar --delete
tar_list=tar --list
# Make rules
configure: $(STAMP_DIR)/stamp-configure
$(STAMP_DIR)/stamp-configure: $(patched)
dh_testdir
touch $(STAMP_DIR)/configure-stamp
build: $(STAMP_DIR)/stamp-build
chmod 0755 debian/localezcreate debian/localezmangle debian/localeztemplateget
$(STAMP_DIR)/stamp-build: $(patched) $(STAMP_DIR)/stamp-configure
dh_testdir
touch $(STAMP_DIR)/stamp-build
clean:
dh_testdir
rm -rf $(STAMP_DIR) $(SOURCE_DIR)
perl $(SCRIPT_DIR)/dbs_split clean
chmod -x debian/localezcreate debian/localezmangle debian/localeztemplateget
for file in `find debian -name '*.in'`; do \
eval targetfile=`echo $$file | sed $(SEDRULE_FILENAME)`; \
rm -f $$targetfile; \
done
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Install shared php code
for ext in php inc hlp; do \
$(tar) -f $(INSTSRCDIR)/lib.tar `$(find) -type f -name "*.$$ext"|$(findclean)`; \
done
$(tar) -f $(INSTSRCDIR)/lib.tar site.ini sitedir.ini
# Install language files
for oldlangpath in do_not_unpack/ezpublish-*.tar.gz; do \
$(INSTALL_FILE) $$oldlangpath $(INSTSRCDIR)/lang/`echo $$oldlangpath | sed 's/^.*-//'`; \
done
for lang in $(LANGS); do \
test -e $(INSTSRCDIR)/lang/$$lang.tar.gz && gunzip $(INSTSRCDIR)/lang/$$lang.tar.gz; \
for filematch in `$(find) -type f -name "*.ini" | $(findclean) | grep "/$$lang[/\.]"`; do \
$(tar) -f $(INSTSRCDIR)/lang/$$lang.tar $$filematch; \
done; \
for filematch in `$(tar_list) -f $(INSTSRCDIR)/lib.tar | grep "/$$lang[/\.]"`; do \
$(tar_del) -f $(INSTSRCDIR)/lib.tar $$filematch; \
$(tar) -f $(INSTSRCDIR)/lang/$$lang.tar $$filematch; \
done; \
done
# Install module documentation
for filematch in `$(find) -type f -name "site-ini.txt" | $(findclean)`; do \
$(INSTALL_FILE) $(BUILD_TREE)/$$filematch $(INSTDOCDIR)/modules/`dirname $$filematch | xargs basename`.txt; \
done
# Install public accessible files
for ext in gif css jpg png jar wbmp; do \
$(tar) -f $(INSTSRCDIR)/www.tar `$(find) -type f -name "*.$$ext"|$(findclean)`; \
done
# Move files from lib to www
for filematch in `$(tar_list) -f $(INSTSRCDIR)/lib.tar index*.php cron.php sitedir.ini`; do \
$(tar_del) -f $(INSTSRCDIR)/lib.tar $$filematch; \
$(tar) -f $(INSTSRCDIR)/www.tar $$filematch; \
done
# Install templates
for ext in tpl; do \
$(tar) -f $(INSTSRCDIR)/tpl.tar `$(find) -type f -name "*.$$ext"|$(findclean)`; \
done
# Move files from lib to tpl
for filematch in `$(tar_list) -f $(INSTSRCDIR)/lib.tar sitedesign site.ini`; do \
$(tar_del) -f $(INSTSRCDIR)/lib.tar $$filematch; \
$(tar) -f $(INSTSRCDIR)/tpl.tar $$filematch; \
done
# Cleanup upstream tarball
$(INSTALL_FILE) $(BUILD_TREE)/data.tar.gz $(INSTSRCDIR)/data.tar.gz
gunzip $(INSTSRCDIR)/data.tar.gz
$(tar_del) -f $(INSTSRCDIR)/data.tar */CVS/* *.cache
for file in $(TARGETS); do \
gzip --best $(INSTSRCDIR)/$$file.tar; \
done
for file in $(LANGS); do \
gzip --best $(INSTSRCDIR)/lang/$$file.tar; \
done
$(INSTALL_FILE) $(BUILD_TREE)/sql/*.sql $(INSTLIBDIR)/sql/
# $(INSTALL_FILE) debian/apache.conf $(INSTBASEDIR)/etc/apache/include.d/ezpublish
for binfile in $(BINFILES); do \
$(INSTALL_SCRIPT) $(BUILD_TREE)/$$binfile $(INSTLIBDIR)/bin/; \
done
# Initialize debhelper files
for file in `find debian -name '*.in'`; do \
eval targetfile=`echo $$file | sed $(SEDRULE_FILENAME)`; \
sed $(SEDRULE_CONTENT) <$$file >$$targetfile; \
done
binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs
dh_installexamples
dh_installchangelogs $(BUILD_TREE)/CHANGELOG
dh_link
dh_compress -Xezinstaller.sh -Xlocalezcreate -Xlocalezmangle -Xlocaleztemplateget
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
binary-arch:
# Do nothing, this is arch-independent.
getsource:
sh debian/getfromcvs.sh
binary: binary-indep binary-arch
|