X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=exim;h=34dd8d709af1005e5c11a7ad4e6994d3279923b9;hb=7ea731be4297f463684bdf81979f971d2102b86b;hp=6bfeb5a0ac1f2aea5565a628d0b1f2a6a939677c;hpb=c426f5dc07b0a086a3163697db3abb516955566c;p=buildscripts diff --git a/exim b/exim index 6bfeb5a..34dd8d7 100644 --- a/exim +++ b/exim @@ -1,52 +1,98 @@ #!/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 -apt-get install -y libopendmarc-dev libspf2-dev -apt-get -y build-dep exim4/flidas +# 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 -mkct -apt-get source exim4/flidas - -# 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 + +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