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 176 177 178
|
#!/usr/bin/make -f
PACKAGE=proftpd-basic
PACKAGE_DEV=proftpd-dev
NAME=proftpd
VERSION=$(shell grep PROFTPD_VERSION_TEXT $(CURDIR)/include/version.h|cut -d\" -f2)
#
# HAVE_OPENSSL is required by mod_sql.c.
# See #233031 for details.
#
PROFTPD_FLAGS := -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_OPENSSL -DUSE_LDAP_TLS
CFLAGS := -O2 $(PROFTPD_FLAGS)
CC := gcc
# Some special build options
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -g -O0
endif
ifneq (,$(findstring verbose,$(DEB_BUILD_OPTIONS)))
DH_VERBOSE=1
export DH_VERBOSE
endif
# the dpatch rules
include /usr/share/dpatch/dpatch.make
#
# dpkg-arch rules
#
ifeq (,$(DEB_BUILD_GNU_TYPE))
include debian/scripts/dpkg-arch.mk
endif
# Note: use --localstatedir=/var/run/proftpd for > 1.3.2
DSOMODS1 = mod_unique_id:mod_site_misc:mod_load:mod_ban:mod_quotatab:mod_sql:mod_sql_mysql:mod_sql_postgres:mod_sql_sqlite:mod_sql_odbc:mod_dynmasq:
DSOMODS2 = mod_quotatab_sql:mod_ldap:mod_quotatab_ldap:mod_ratio:mod_tls:mod_rewrite:mod_radius:mod_wrap:mod_wrap2:mod_wrap2_file:
DSOMODS3 = mod_wrap2_sql:mod_quotatab_file:mod_quotatab_radius:mod_facl:mod_ctrls_admin:mod_vroot:
DSOMODS4 = mod_exec:mod_sftp:mod_sftp_pam:mod_sftp_sql:mod_shaper:mod_sql_passwd:mod_ifsession
CONF_ARGS := --prefix=/usr \
--with-includes=$(shell pg_config --includedir):$(shell mysql_config --include|sed -e 's/-I//') \
--mandir=/usr/share/man --sysconfdir=/etc/$(NAME) --localstatedir=/var/run --libexecdir=/usr/lib/$(NAME) \
--enable-sendfile --enable-facl --enable-dso --enable-autoshadow --enable-ctrls --with-modules=mod_readme \
--enable-ipv6 --enable-nls
# --enable-devel=stacktrace
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
CONF_ARGS += --build $(DEB_HOST_GNU_TYPE)
else
CONF_ARGS += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif
debian/control: debian/control.in
sed -e 's/@VERSION@/$(VERSION)/' $< >$@
debian/proftpd-substvars: debian/proftpd-substvars.in
sed -e 's/@VERSION@/$(VERSION)/' $< >$@
build: configure-stamp build-stamp
build-stamp:
dh_testdir
$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" all
touch $@
install: build
dh_testdir
dh_prep
$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
mv $(CURDIR)/debian/tmp/usr/share/locale/it_IT $(CURDIR)/debian/tmp/usr/share/locale/it
mv $(CURDIR)/debian/tmp/usr/share/locale/ru_RU $(CURDIR)/debian/tmp/usr/share/locale/ru
configure: configure-stamp
configure-stamp: patch-stamp
dh_testdir
# Use current autotools helpers
-test -r /usr/share/misc/config.sub && \
mv ./config.sub ./config.sub.original && \
cp -f /usr/share/misc/config.sub ./config.sub
-test -r /usr/share/misc/config.guess && \
mv ./config.guess ./config.guess.original && \
cp -f /usr/share/misc/config.guess ./config.guess
./configure $(CONF_ARGS) --with-shared=$(DSOMODS1)$(DSOMODS2)$(DSOMODS3)$(DSOMODS4)
touch $@
clean: debian/control debian/proftpd-substvars myclean unpatch
myclean:
dh_testdir
dh_clean
[ ! -f $(CURDIR)/Makefile ] || $(MAKE) distclean
# Reset upstream autotools helpers
[ ! -f config.sub.original ] || mv -f ./config.sub.original ./config.sub
[ ! -f config.guess.original ] || mv -f ./config.guess.original ./config.guess
rm -f debian/files.saved debian/files
rm -f $$(find . -type l) $$(find . -name "*~" -o -name "*.o")
rm -f $(NAME) config.cache config.log lib/*.a ftpshut Make.rules
rm -rf debian/$(PACKAGE) debian/$(NAME)-doc
rm -rf debian/files* debian/*.gz core
rm -f $$(find * -name "*.orig") modules/mod_ratio.c
rm -f contrib/dist/rpm/proftpd.spec
rm -rf $$(find $(CURDIR) -name .libs)
rm -f $$(find $(CURDIR) -name config.log )
rm -f $$(find $(CURDIR) -name config.status )
rm -f contrib/mod_wrap2/mod_wrap2.h \
contrib/mod_wrap2/Makefile \
contrib/mod_load/mod_load.c \
contrib/mod_load/mod_load.h \
contrib/mod_load/Makefile
# clean up libtool files still around
find contrib -name "*.la" -exec rm -f {} \;
binary-indep: checkroot build
dh_installdirs -i
dh_install -i
dh_installdocs -i
dh_installchangelogs -i ChangeLog
dh_installexamples -i
dh_compress -i
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_fixperms -i
dh_builddeb -i
binary-arch: checkroot build install
dh_installdirs -a
dh_install -a
dh_installdocs -a
dh_installchangelogs -a ChangeLog
dh_installman -a
dh_installlogrotate -a
dh_installpam -a --name=$(NAME)
# removes proftpd.conf installed by upstream
rm -f debian/$(PACKAGE)/etc/$(NAME)/$(NAME).conf
install -m 644 debian/templates/*.conf debian/$(PACKAGE)/usr/share/$(NAME)/templates
install -m 644 debian/templates/welcome.msg debian/$(PACKAGE)/usr/share/$(NAME)/templates/welcome.msg
install -m 644 debian/templates/ftpusers debian/$(PACKAGE)/etc
install -m 755 debian/$(PACKAGE).init debian/$(PACKAGE)/etc/init.d/$(NAME)
install -m 644 debian/templates/default debian/$(PACKAGE)/etc/default/$(NAME)
install contrib/xferstats.holger-preiss debian/$(PACKAGE)/usr/sbin/ftpstats
install -m 755 contrib/ftpasswd debian/$(PACKAGE)/usr/sbin/ftpasswd
install -m 755 contrib/ftpquota debian/$(PACKAGE)/usr/sbin/ftpquota
install -m 755 debian/proftpd-gencert debian/$(PACKAGE)/usr/sbin/proftpd-gencert
install -m 644 debian/proftpd-substvars debian/$(PACKAGE_DEV)/usr/share/$(NAME)/proftpd-substvars
dh_installdebconf -a
dh_compress -a
dh_fixperms -a
dh_makeshlibs -a
dh_shlibdeps -a -l$(CURDIR)/debian/tmp/usr/lib/$(NAME)
dh_installdeb -a
dh_perl -a
dh_gencontrol -a
dh_strip -a
dh_md5sums -a
dh_fixperms -a
dh_builddeb -a
binary: binary-arch binary-indep
checkroot:
dh_testdir
dh_testroot
.PHONY: binary binary-arch binary-indep clean checkroot patch unpatch myclean install configure
|