#!/bin/bash # I, Ian Kelling, follow the GNU license recommendations at # https://www.gnu.org/licenses/license-recommendations.en.html. They # recommend that small programs, < 300 lines, be licensed under the # Apache License 2.0. This file contains or is part of one or more small # programs. If a small program grows beyond 300 lines, I plan to switch # its license to GPL. # Copyright 2024 Ian Kelling # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # libgcrypt-dev is a test dependency # libidn11-dev is some build dep for newer version not in apt-get install -y libopendmarc-dev libspf2-dev libgcrypt-dev libidn11-dev apt-get -y build-dep exim4/etiona # https://wiki.debian.org/BuildingAPackage apt-get install build-essential dpatch fakeroot devscripts equivs lintian quilt cd /a/opt/exim/src # created by using make wrapper /b/make-wrap and building the exim package #. /a/opt/dexim/iank-debian-make-env declare -x LC_ALL='C' declare -x PERL_USE_UNSAFE_INC='1' declare -x CFLAGS='-g -O2 -D_LARGEFILE_SOURCE -fno-strict-aliasing -Wall ' make # copy src/Local/Makefile from debian experimental package into local repo, # for running the tests, # edit src/Local/Makefile to remove ref: from EXIM_USER and EXIM_GROUP, # then change CONFIGURE_OWNER and CONGIGURE_USER to the default ones that # will be used when creating /a/opt/exim/test/test-config (iank/user2) # echo /a/opt/exim/test/test-config | s dd of=/etc/exim4/trusted_configs # edit /etc/hostname to be an fqdn, then hostname -F /etc/hostname. after # running a single test, change this back, its cached in test/dnszones, and # if you need to update that cache, rm -rf that dir. ##### the following just patches the flidas package to have dmarc support # mkct # apt-get source exim4/etiona # # to just patch heavy: # # first apply below patch, then build, then # #diff -u ./EDITME.exim4-light ./EDITME.exim4-heavy > /tmp/EDITME.exim4-heavy.diff # # remove extraneous differences # # meld ./debian/EDITME.exim4-heavy.diff /tmp/EDITME.exim4-heavy.diff # # diff -u ./debian/EDITME.exim4-heavy.diff /tmp/EDITME.exim4-heavy.diff # # edit the diff to get filenames right. # patch -p0 <<'EOF' # --- ./exim4-4.86.2/src/EDITME.orig 2019-07-31 11:34:22.284977059 -0400 # +++ ./exim4-4.86.2/src/EDITME 2019-07-31 11:35:01.361206192 -0400 # @@ -445,9 +445,9 @@ # # installed on your system (www.libspf2.org). Depending on where it is installed # # you may have to edit the CFLAGS and LDFLAGS lines. # -# EXPERIMENTAL_SPF=yes # -# CFLAGS += -I/usr/local/include # -# LDFLAGS += -lspf2 # +EXPERIMENTAL_SPF=yes # +CFLAGS += -I/usr/local/include # +LDFLAGS += -lspf2 # # Uncomment the following lines to add SRS (Sender rewriting scheme) support. # # You need to have libsrs_alt installed on your system (srs.mirtol.com). # @@ -469,9 +469,9 @@ # # Uncomment the following line to add DMARC checking capability, implemented # # using libopendmarc libraries. # -# EXPERIMENTAL_DMARC=yes # -# CFLAGS += -I/usr/local/include # -# LDFLAGS += -lopendmarc # +EXPERIMENTAL_DMARC=yes # +CFLAGS += -I/usr/local/include # +LDFLAGS += -lopendmarc # # Uncomment the following line to support Events, # EOF # cd exim4-4.86.2 # fakeroot debian/rules binary