| 1 |
########################################################### |
|---|
| 2 |
# |
|---|
| 3 |
# amavisd-new |
|---|
| 4 |
# |
|---|
| 5 |
########################################################### |
|---|
| 6 |
|
|---|
| 7 |
AMAVISD-NEW_SITE=http://www.ijs.si/software/amavisd |
|---|
| 8 |
AMAVISD-NEW_VERSION=2.4.5 |
|---|
| 9 |
AMAVISD-NEW_SOURCE=amavisd-new-$(AMAVISD-NEW_VERSION).tar.gz |
|---|
| 10 |
AMAVISD-NEW_DIR=amavisd-new-$(AMAVISD-NEW_VERSION) |
|---|
| 11 |
AMAVISD-NEW_UNZIP=zcat |
|---|
| 12 |
AMAVISD-NEW_MAINTAINER=NSLU2 Linux <nslu2-linux@yahoogroups.com> |
|---|
| 13 |
AMAVISD-NEW_DESCRIPTION=amavisd-new is a high-performance interface between mailer (MTA) and content checkers |
|---|
| 14 |
AMAVISD-NEW_SECTION=mail |
|---|
| 15 |
AMAVISD-NEW_PRIORITY=optional |
|---|
| 16 |
AMAVISD-NEW_DEPENDS=perl-archive-tar, perl-archive-zip, perl-compress-zlib, \ |
|---|
| 17 |
perl-convert-tnef, perl-convert-uulib, perl-digest-perl-md5, \ |
|---|
| 18 |
perl-io-multiplex, perl-io-socket-ssl, perl-io-stringy, perl-io-zlib, \ |
|---|
| 19 |
perl-mailtools, perl-mime-tools, perl-net-server, perl-unix-syslog, \ |
|---|
| 20 |
perl-berkeleydb, perl-uri, spamassassin, bzip2, file, net-tools |
|---|
| 21 |
AMAVISD-NEW_SUGGESTS=perl-net-cidr-lite, perl-net-dns, perl-sys-hostname-long, \ |
|---|
| 22 |
perl-mail-spf-query, cpio, unrar, gzip, tnef, zoo, lha, arc, unarj |
|---|
| 23 |
AMAVISD-NEW_CONFLICTS= |
|---|
| 24 |
|
|---|
| 25 |
# |
|---|
| 26 |
# AMAVISD-NEW_IPK_VERSION should be incremented when the ipk changes. |
|---|
| 27 |
# |
|---|
| 28 |
AMAVISD-NEW_IPK_VERSION=3 |
|---|
| 29 |
|
|---|
| 30 |
# |
|---|
| 31 |
# AMAVISD-NEW_CONFFILES should be a list of user-editable files |
|---|
| 32 |
AMAVISD-NEW_CONFFILES=/opt/etc/amavisd.conf /opt/etc/init.d/S60amavisd |
|---|
| 33 |
|
|---|
| 34 |
# |
|---|
| 35 |
# AMAVISD-NEW_PATCHES should list any patches, in the the order in |
|---|
| 36 |
# which they should be applied to the source code. |
|---|
| 37 |
# |
|---|
| 38 |
#AMAVISD-NEW_PATCHES=$(AMAVISD-NEW_SOURCE_DIR)/configure.patch |
|---|
| 39 |
|
|---|
| 40 |
# |
|---|
| 41 |
# If the compilation of the package requires additional |
|---|
| 42 |
# compilation or linking flags, then list them here. |
|---|
| 43 |
# |
|---|
| 44 |
AMAVISD-NEW_CPPFLAGS= |
|---|
| 45 |
AMAVISD-NEW_LDFLAGS= |
|---|
| 46 |
|
|---|
| 47 |
# |
|---|
| 48 |
# AMAVISD-NEW_BUILD_DIR is the directory in which the build is done. |
|---|
| 49 |
# AMAVISD-NEW_SOURCE_DIR is the directory which holds all the |
|---|
| 50 |
# patches and ipkg control files. |
|---|
| 51 |
# AMAVISD-NEW_IPK_DIR is the directory in which the ipk is built. |
|---|
| 52 |
# AMAVISD-NEW_IPK is the name of the resulting ipk files. |
|---|
| 53 |
# |
|---|
| 54 |
# You should not change any of these variables. |
|---|
| 55 |
# |
|---|
| 56 |
AMAVISD-NEW_BUILD_DIR=$(BUILD_DIR)/amavisd-new |
|---|
| 57 |
AMAVISD-NEW_SOURCE_DIR=$(SOURCE_DIR)/amavisd-new |
|---|
| 58 |
AMAVISD-NEW_IPK_DIR=$(BUILD_DIR)/amavisd-new-$(AMAVISD-NEW_VERSION)-ipk |
|---|
| 59 |
AMAVISD-NEW_IPK=$(BUILD_DIR)/amavisd-new_$(AMAVISD-NEW_VERSION)-$(AMAVISD-NEW_IPK_VERSION)_$(TARGET_ARCH).ipk |
|---|
| 60 |
|
|---|
| 61 |
.PHONY: amavisd-new-source amavisd-new-unpack amavisd-new amavisd-new-stage amavisd-new-ipk amavisd-new-clean amavisd-new-dirclean amavisd-new-check |
|---|
| 62 |
|
|---|
| 63 |
# |
|---|
| 64 |
# This is the dependency on the source code. If the source is missing, |
|---|
| 65 |
# then it will be fetched from the site using wget. |
|---|
| 66 |
# |
|---|
| 67 |
$(DL_DIR)/$(AMAVISD-NEW_SOURCE): |
|---|
| 68 |
$(WGET) -P $(DL_DIR) $(AMAVISD-NEW_SITE)/$(AMAVISD-NEW_SOURCE) |
|---|
| 69 |
|
|---|
| 70 |
# |
|---|
| 71 |
# The source code depends on it existing within the download directory. |
|---|
| 72 |
# This target will be called by the top level Makefile to download the |
|---|
| 73 |
# source code's archive (.tar.gz, .bz2, etc.) |
|---|
| 74 |
# |
|---|
| 75 |
amavisd-new-source: $(DL_DIR)/$(AMAVISD-NEW_SOURCE) $(AMAVISD-NEW_PATCHES) |
|---|
| 76 |
|
|---|
| 77 |
$(AMAVISD-NEW_BUILD_DIR)/.configured: $(DL_DIR)/$(AMAVISD-NEW_SOURCE) $(AMAVISD-NEW_PATCHES) make/amavisd-new.mk |
|---|
| 78 |
rm -rf $(BUILD_DIR)/$(AMAVISD-NEW_DIR) $(AMAVISD-NEW_BUILD_DIR) |
|---|
| 79 |
$(AMAVISD-NEW_UNZIP) $(DL_DIR)/$(AMAVISD-NEW_SOURCE) | tar -C $(BUILD_DIR) -xvf - |
|---|
| 80 |
if test -n "$(AMAVISD-NEW_PATCHES)" ; \ |
|---|
| 81 |
then cat $(AMAVISD-NEW_PATCHES) | \ |
|---|
| 82 |
patch -d $(BUILD_DIR)/$(AMAVISD-NEW_DIR) -p0 ; \ |
|---|
| 83 |
fi |
|---|
| 84 |
if test "$(BUILD_DIR)/$(AMAVISD-NEW_DIR)" != "$(AMAVISD-NEW_BUILD_DIR)" ; \ |
|---|
| 85 |
then mv $(BUILD_DIR)/$(AMAVISD-NEW_DIR) $(AMAVISD-NEW_BUILD_DIR) ; \ |
|---|
| 86 |
fi |
|---|
| 87 |
touch $(AMAVISD-NEW_BUILD_DIR)/.configured |
|---|
| 88 |
|
|---|
| 89 |
amavisd-new-unpack: $(AMAVISD-NEW_BUILD_DIR)/.configured |
|---|
| 90 |
|
|---|
| 91 |
# |
|---|
| 92 |
# This builds the actual binary. |
|---|
| 93 |
# |
|---|
| 94 |
$(AMAVISD-NEW_BUILD_DIR)/.built: $(AMAVISD-NEW_BUILD_DIR)/.configured |
|---|
| 95 |
rm -f $(AMAVISD-NEW_BUILD_DIR)/.built |
|---|
| 96 |
(cd $(AMAVISD-NEW_BUILD_DIR); \ |
|---|
| 97 |
perl -pi -e 's|/usr/bin/perl|/opt/bin/perl|' amavisd; \ |
|---|
| 98 |
perl -pi -e 's|/var/amavis|/opt/var/spool/amavis|' amavisd; \ |
|---|
| 99 |
perl -pi -e 's|/etc/amavisd.conf|/opt/etc/amavisd.conf|' amavisd \ |
|---|
| 100 |
) |
|---|
| 101 |
touch $(AMAVISD-NEW_BUILD_DIR)/.built |
|---|
| 102 |
|
|---|
| 103 |
# |
|---|
| 104 |
# This is the build convenience target. |
|---|
| 105 |
# |
|---|
| 106 |
amavisd-new: $(AMAVISD-NEW_BUILD_DIR)/.built |
|---|
| 107 |
|
|---|
| 108 |
# |
|---|
| 109 |
# If you are building a library, then you need to stage it too. |
|---|
| 110 |
# |
|---|
| 111 |
$(AMAVISD-NEW_BUILD_DIR)/.staged: $(AMAVISD-NEW_BUILD_DIR)/.built |
|---|
| 112 |
rm -f $(AMAVISD-NEW_BUILD_DIR)/.staged |
|---|
| 113 |
$(MAKE) -C $(AMAVISD-NEW_BUILD_DIR) DESTDIR=$(STAGING_DIR) install |
|---|
| 114 |
touch $(AMAVISD-NEW_BUILD_DIR)/.staged |
|---|
| 115 |
|
|---|
| 116 |
amavisd-new-stage: $(AMAVISD-NEW_BUILD_DIR)/.staged |
|---|
| 117 |
|
|---|
| 118 |
# |
|---|
| 119 |
# This rule creates a control file for ipkg. It is no longer |
|---|
| 120 |
# necessary to create a seperate control file under sources/amavisd-new |
|---|
| 121 |
# |
|---|
| 122 |
$(AMAVISD-NEW_IPK_DIR)/CONTROL/control: |
|---|
| 123 |
@install -d $(AMAVISD-NEW_IPK_DIR)/CONTROL |
|---|
| 124 |
@rm -f $@ |
|---|
| 125 |
@echo "Package: amavisd-new" >>$@ |
|---|
| 126 |
@echo "Architecture: $(TARGET_ARCH)" >>$@ |
|---|
| 127 |
@echo "Priority: $(AMAVISD-NEW_PRIORITY)" >>$@ |
|---|
| 128 |
@echo "Section: $(AMAVISD-NEW_SECTION)" >>$@ |
|---|
| 129 |
@echo "Version: $(AMAVISD-NEW_VERSION)-$(AMAVISD-NEW_IPK_VERSION)" >>$@ |
|---|
| 130 |
@echo "Maintainer: $(AMAVISD-NEW_MAINTAINER)" >>$@ |
|---|
| 131 |
@echo "Source: $(AMAVISD-NEW_SITE)/$(AMAVISD-NEW_SOURCE)" >>$@ |
|---|
| 132 |
@echo "Description: $(AMAVISD-NEW_DESCRIPTION)" >>$@ |
|---|
| 133 |
@echo "Depends: $(AMAVISD-NEW_DEPENDS)" >>$@ |
|---|
| 134 |
@echo "Suggests: $(AMAVISD-NEW_SUGGESTS)" >>$@ |
|---|
| 135 |
@echo "Conflicts: $(AMAVISD-NEW_CONFLICTS)" >>$@ |
|---|
| 136 |
|
|---|
| 137 |
# |
|---|
| 138 |
# This builds the IPK file. |
|---|
| 139 |
# |
|---|
| 140 |
# Binaries should be installed into $(AMAVISD-NEW_IPK_DIR)/opt/sbin or $(AMAVISD-NEW_IPK_DIR)/opt/bin |
|---|
| 141 |
# (use the location in a well-known Linux distro as a guide for choosing sbin or bin). |
|---|
| 142 |
# Libraries and include files should be installed into $(AMAVISD-NEW_IPK_DIR)/opt/{lib,include} |
|---|
| 143 |
# Configuration files should be installed in $(AMAVISD-NEW_IPK_DIR)/opt/etc/amavisd-new/... |
|---|
| 144 |
# Documentation files should be installed in $(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/... |
|---|
| 145 |
# Daemon startup scripts should be installed in $(AMAVISD-NEW_IPK_DIR)/opt/etc/init.d/S??amavisd-new |
|---|
| 146 |
# |
|---|
| 147 |
# You may need to patch your application to make it use these locations. |
|---|
| 148 |
# |
|---|
| 149 |
$(AMAVISD-NEW_IPK): $(AMAVISD-NEW_BUILD_DIR)/.built |
|---|
| 150 |
rm -rf $(AMAVISD-NEW_IPK_DIR) $(BUILD_DIR)/amavisd-new_*_$(TARGET_ARCH).ipk |
|---|
| 151 |
install -d $(AMAVISD-NEW_IPK_DIR)/opt/sbin/ |
|---|
| 152 |
install -m 755 $(AMAVISD-NEW_BUILD_DIR)/amavisd $(AMAVISD-NEW_IPK_DIR)/opt/sbin/amavisd |
|---|
| 153 |
install -d $(AMAVISD-NEW_IPK_DIR)/opt/etc/ |
|---|
| 154 |
install -m 644 $(AMAVISD-NEW_SOURCE_DIR)/amavisd.conf $(AMAVISD-NEW_IPK_DIR)/opt/etc/amavisd.conf |
|---|
| 155 |
install -d \ |
|---|
| 156 |
$(AMAVISD-NEW_IPK_DIR)/opt/lib/perl5/site_perl/$(PERL_VERSION) |
|---|
| 157 |
install -m 755 $(AMAVISD-NEW_BUILD_DIR)/JpegTester.pm \ |
|---|
| 158 |
$(AMAVISD-NEW_IPK_DIR)/opt/lib/perl5/site_perl/$(PERL_VERSION) |
|---|
| 159 |
install -d $(AMAVISD-NEW_IPK_DIR)/opt/etc/init.d |
|---|
| 160 |
install -d -m 0755 $(AMAVISD-NEW_IPK_DIR)/opt/var/spool |
|---|
| 161 |
install -d -m 0700 $(AMAVISD-NEW_IPK_DIR)/opt/var/spool/amavis |
|---|
| 162 |
install -d -m 0700 $(AMAVISD-NEW_IPK_DIR)/opt/var/spool/amavis/db |
|---|
| 163 |
install -d -m 0700 $(AMAVISD-NEW_IPK_DIR)/opt/var/spool/amavis/virusmails |
|---|
| 164 |
|
|---|
| 165 |
install -m 755 $(AMAVISD-NEW_SOURCE_DIR)/rc.amavisd $(AMAVISD-NEW_IPK_DIR)/opt/etc/init.d/S60amavisd |
|---|
| 166 |
rm -rf $(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/ |
|---|
| 167 |
install -d -m 755 $(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/ |
|---|
| 168 |
install -d -m 755 $(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/helper-prog |
|---|
| 169 |
install -d -m 755 $(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/README_FILES |
|---|
| 170 |
install -d -m 755 $(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/test-messages |
|---|
| 171 |
(cd $(AMAVISD-NEW_BUILD_DIR); \ |
|---|
| 172 |
install -m 644 amavisd.conf* \ |
|---|
| 173 |
$(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/; \ |
|---|
| 174 |
install -m 644 LICENSE $(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/; \ |
|---|
| 175 |
install -m 644 MANIFEST $(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/; \ |
|---|
| 176 |
install -m 644 RELEASE_NOTES \ |
|---|
| 177 |
$(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/; \ |
|---|
| 178 |
install -m 644 TODO $(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/; \ |
|---|
| 179 |
install -m 644 helper-progs/* \ |
|---|
| 180 |
$(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/helper-progs/; \ |
|---|
| 181 |
install -m 644 README_FILES/* \ |
|---|
| 182 |
$(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/README_FILES/; \ |
|---|
| 183 |
install -m 644 test-messages/* \ |
|---|
| 184 |
$(AMAVISD-NEW_IPK_DIR)/opt/doc/amavisd-new/test-messages/; \ |
|---|
| 185 |
) |
|---|
| 186 |
$(MAKE) $(AMAVISD-NEW_IPK_DIR)/CONTROL/control |
|---|
| 187 |
install -m 755 $(AMAVISD-NEW_SOURCE_DIR)/postinst $(AMAVISD-NEW_IPK_DIR)/CONTROL/postinst |
|---|
| 188 |
# install -m 755 $(AMAVISD-NEW_SOURCE_DIR)/prerm $(AMAVISD-NEW_IPK_DIR)/CONTROL/prerm |
|---|
| 189 |
echo $(AMAVISD-NEW_CONFFILES) | sed -e 's/ /\n/g' > $(AMAVISD-NEW_IPK_DIR)/CONTROL/conffiles |
|---|
| 190 |
cd $(BUILD_DIR); $(IPKG_BUILD) $(AMAVISD-NEW_IPK_DIR) |
|---|
| 191 |
|
|---|
| 192 |
# |
|---|
| 193 |
# This is called from the top level makefile to create the IPK file. |
|---|
| 194 |
# |
|---|
| 195 |
amavisd-new-ipk: $(AMAVISD-NEW_IPK) |
|---|
| 196 |
|
|---|
| 197 |
# |
|---|
| 198 |
# This is called from the top level makefile to clean all of the built files. |
|---|
| 199 |
# |
|---|
| 200 |
amavisd-new-clean: |
|---|
| 201 |
rm -f $(AMAVISD-NEW_BUILD_DIR)/.built |
|---|
| 202 |
-$(MAKE) -C $(AMAVISD-NEW_BUILD_DIR) clean |
|---|
| 203 |
|
|---|
| 204 |
# |
|---|
| 205 |
# This is called from the top level makefile to clean all dynamically created |
|---|
| 206 |
# directories. |
|---|
| 207 |
# |
|---|
| 208 |
amavisd-new-dirclean: |
|---|
| 209 |
rm -rf $(BUILD_DIR)/$(AMAVISD-NEW_DIR) $(AMAVISD-NEW_BUILD_DIR) $(AMAVISD-NEW_IPK_DIR) $(AMAVISD-NEW_IPK) |
|---|
| 210 |
|
|---|
| 211 |
# |
|---|
| 212 |
# |
|---|
| 213 |
# Some sanity check for the package. |
|---|
| 214 |
# |
|---|
| 215 |
# |
|---|
| 216 |
amavisd-new-check: $(AMAVISD-NEW_IPK) |
|---|
| 217 |
perl scripts/optware-check-package.pl --target=$(OPTWARE_TARGET) $(AMAVISD-NEW_IPK) |
|---|
| 218 |
|
|---|