aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-03-18 13:01:36 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-03-18 13:01:36 +0000
commit7dec0971dd6952a6f72fe44f374ab474519d9f06 (patch)
tree5ef8bb3339e21735d8543751b91245f7bba90369
parent50b0d5ce3ad04e2d49b7ea7ff8046a64991b1bf4 (diff)
downloadsmtpd-starttls-proxy-7dec0971dd6952a6f72fe44f374ab474519d9f06.tar.gz
Make /var/qmail installation optional
-rw-r--r--CONTRIBUTING28
-rw-r--r--INSTALL4
-rw-r--r--Makefile6
-rwxr-xr-xconfigure18
-rw-r--r--doc/index.html4
-rw-r--r--doc/upgrade.html4
-rw-r--r--package/configure-snippets/configure_case_lines4
-rw-r--r--package/configure-snippets/configure_generate_make6
-rw-r--r--package/configure-snippets/configure_help_install1
-rw-r--r--package/configure-snippets/configure_help_options6
-rw-r--r--package/configure-snippets/configure_init_vars1
-rw-r--r--package/targets.mak6
12 files changed, 68 insertions, 20 deletions
diff --git a/CONTRIBUTING b/CONTRIBUTING
index 6279422..3173998 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -1,5 +1,31 @@
- Please add a Signed-Off-By: line at the end of your commit,
+- License
+
+ Your contributions to this project are governed by the ISC license.
+ Please review the COPYING file for this project.
+
+
+- Contribution terms
+
+ When making a contribution you agree to the following terms:
+
+ * I, the contributor, am the copyright owner of these changes
+ * I submit these changes according to the project's license
+with no additionam requirements
+ * I understand these changes in full and will be able to respond
+to review comments.
+
+ Please add a Signed-Off-By: line at the end of your commits,
which certifies that you have the right and authority to pass
it on as an open-source patch, as explicited in the Developer's
Certificate of Origin available in this project's DCO file,
or at https://developercertificate.org/
+
+
+- AI policy
+
+ This project does not accept contributions generated by LLMs
+(large language models), sometimes also referred to as "AI".
+ This policy is not open to discussion. Any content submitted that is
+clearly labelled as LLM-generated will be immediately closed, and any
+attempt to bypass this policy in any way will result in a ban from the
+project.
diff --git a/INSTALL b/INSTALL
index 447a602..36862cf 100644
--- a/INSTALL
+++ b/INSTALL
@@ -6,8 +6,8 @@ Build Instructions
- A POSIX-compliant C development environment
- GNU make version 3.81 or later
- - skalibs version 2.14.5.2 or later: https://skarnet.org/software/skalibs/
- - s6 version 2.14.0.1 or later: https://skarnet.org/software/s6/
+ - skalibs version 2.14.6.0 or later: https://skarnet.org/software/skalibs/
+ - s6 version 2.15.0.0 or later: https://skarnet.org/software/s6/
- s6-networking version 2.7.2.1 or later: https://skarnet.org/software/s6-networking/
This software will run on any operating system that implements
diff --git a/Makefile b/Makefile
index 4562eb1..f519a87 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,6 @@ PC_TARGETS :=
LIB_DEFS :=
BIN_SYMLINKS :=
TEST_BINS :=
-EXTRA_INSTALL :=
-include config.mak
include package/targets.mak
@@ -125,7 +124,7 @@ ifneq ($(strip $(ALL_BINS)$(SHARED_LIBS)),)
exec $(STRIP) -R .note -R .comment $(ALL_BINS) $(SHARED_LIBS)
endif
-install: install-dynlib install-libexec install-bin install-symlinks install-lib install-include install-pkgconfig $(EXTRA_INSTALL)
+install: install-dynlib install-libexec install-bin install-symlinks install-lib install-include install-pkgconfig
install-dynlib: $(SHARED_LIBS:lib%.$(SHLIB_EXT).xyzzy=$(DESTDIR)$(dynlibdir)/lib%.$(SHLIB_EXT))
install-libexec: $(LIBEXEC_TARGETS:%=$(DESTDIR)$(libexecdir)/%)
install-bin: $(BIN_TARGETS:%=$(DESTDIR)$(bindir)/%)
@@ -191,6 +190,9 @@ lib%.a.xyzzy:
lib%.so.xyzzy:
exec $(CC) -o $@ $(CFLAGS_ALL) $(CFLAGS_SHARED) $(LDFLAGS_ALL) $(LDFLAGS_SHARED) -Wl,-soname,$(patsubst lib%.so.xyzzy,lib%.so.$(version_M),$@) -Wl,-rpath=$(dynlibdir) $^ $(EXTRA_LIBS) $(LDLIBS)
+-lskarnet:
+ $(error Unable to link against skalibs. Check that you are using the correct --with-lib or --with-dynlib options; see ./configure --help)
+
.PHONY: it all clean distclean tests check tgz strip install install-dynlib install-bin install-lib install-include install-pkgconfig
.DELETE_ON_ERROR:
diff --git a/configure b/configure
index 0640b19..b1f3565 100755
--- a/configure
+++ b/configure
@@ -25,6 +25,7 @@ Fine tuning of the installation directories:
--includedir=DIR C header files [PREFIX/include]
--sysconfdir=DIR global configuration files [PREFIX/etc]
--pkgconfdir=DIR pkg-config .pc files [PREFIX/lib/pkgconfig]
+ --qmaildir=DIR qmail installation directory [/var/qmail]
If no --prefix option is given, by default libdir (but not dynlibdir) will be
/usr/lib, and includedir will be /usr/include.
@@ -48,9 +49,9 @@ Optional features:
--enable-pkgconfig Build and install .pc files for pkg-config [disabled]
--enable-slashpackage[=ROOT] assume /package installation at ROOT [disabled]
--enable-absolute-paths hardcode absolute BINDIR/foobar paths in binaries [disabled]
- --with-qmail-home=DIR qmail installation directory [/var/qmail]
- --with-qmailr-ids=uid:gid qmail-remote user:group [qmailr:qmail]
-
+ --with-qmail-home=DIR qmail installation directory [/var/qmail]
+ --with-qmailr-ids=uid:gid qmail-remote user:group [qmailr:qmail]
+ --enable-qmail-install setup qmail to use qmail-remote [disabled]
EOF
exit 0
}
@@ -172,6 +173,7 @@ vpathd=''
build=
qmailhome=/var/qmail
qmailrids=qmailr:qmail
+qmailinstall=false
for arg ; do
case "$arg" in
@@ -209,8 +211,10 @@ for arg ; do
--disable-slashpackage) sproot= ; slashpackage=false ;;
--enable-absolute-paths|--enable-absolute-paths=yes) abspath=true ;;
--disable-absolute-paths|--enable-absolute-paths=no) abspath=false ;;
- --with-qmail-home=*) qmailhome=${arg#*=} ;;
+ --qmaildir=*) qmailhome=${arg#*=} ;;
--with-qmailr-ids=*) qmailrids=${arg#*=} ;;
+ --enable-qmail-install|--enable-qmail-install=yes) qmailinstall=true ;;
+ --disable-qmail-install|--enable-qmail-install=no) qmailinstall=false ;;
--enable-*|--disable-*|--with-*|--without-*|--*dir=*) ;;
--enable-*|--disable-*|--with-*|--without-*|--*dir=*) ;;
--host=*|--target=*) target=${arg#*=} ;;
@@ -518,7 +522,11 @@ else
fi
echo "QMAIL_HOME := $qmailhome"
echo "QMAILR_IDS := $qmailrids"
-
+if $qmailinstall ; then
+ echo 'INSTALL_QMAIL := 1'
+else
+ echo 'INSTALL_QMAIL :='
+fi
exec 1>&3 3>&-
echo " ... done."
diff --git a/doc/index.html b/doc/index.html
index c5423e5..c6db2ac 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -34,11 +34,11 @@ inetd-like mail servers that do not already support it.
<li> A POSIX-compliant system with a standard C development environment </li>
<li> GNU make, version 3.81 or later </li>
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version
-2.14.5.2 or later. It's a build-time requirement. It's also a run-time
+2.14.6.0 or later. It's a build-time requirement. It's also a run-time
requirement if you link against the shared version of the skalibs
library. </li>
<li> <a href="//skarnet.org/software/s6/">s6</a> version
-2.14.0.1 or later. It's a build-time and run-time requirement. </li>
+2.15.0.0 or later. It's a build-time and run-time requirement. </li>
<li> <a href="//skarnet.org/software/s6-dns/">s6-dns</a> version
2.4.1.1 or later. It's a build-time requirement. It's also a run-time requirement
if you link against the shared version of the s6-dns library. </li>
diff --git a/doc/upgrade.html b/doc/upgrade.html
index 5393bc0..2720b16 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -22,9 +22,9 @@
<ul>
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a>
-dependency bumped to 2.14.5.2 </li>
+dependency bumped to 2.14.6.0 </li>
<li> <a href="//skarnet.org/software/s6/">s6</a>
-dependency bumped to 2.14.0.1 </li>
+dependency bumped to 2.15.0.0 </li>
<li> New dependency: <a href="//skarnet.org/software/s6-dns/">s6-dns</a> 2.4.1.1 </li>
<li> <a href="//skarnet.org/software/s6-networking/">s6-networking</a>
dependency bumped to 2.7.2.1 and made mandatory. </li>
diff --git a/package/configure-snippets/configure_case_lines b/package/configure-snippets/configure_case_lines
index d0af7a0..abc541f 100644
--- a/package/configure-snippets/configure_case_lines
+++ b/package/configure-snippets/configure_case_lines
@@ -1,2 +1,4 @@
- --with-qmail-home=*) qmailhome=${arg#*=} ;;
+ --qmaildir=*) qmailhome=${arg#*=} ;;
--with-qmailr-ids=*) qmailrids=${arg#*=} ;;
+ --enable-qmail-install|--enable-qmail-install=yes) qmailinstall=true ;;
+ --disable-qmail-install|--enable-qmail-install=no) qmailinstall=false ;;
diff --git a/package/configure-snippets/configure_generate_make b/package/configure-snippets/configure_generate_make
index 54fa00c..83bdb9d 100644
--- a/package/configure-snippets/configure_generate_make
+++ b/package/configure-snippets/configure_generate_make
@@ -1,3 +1,7 @@
echo "QMAIL_HOME := $qmailhome"
echo "QMAILR_IDS := $qmailrids"
-
+if $qmailinstall ; then
+ echo 'INSTALL_QMAIL := 1'
+else
+ echo 'INSTALL_QMAIL :='
+fi
diff --git a/package/configure-snippets/configure_help_install b/package/configure-snippets/configure_help_install
index 8b13789..4ae3171 100644
--- a/package/configure-snippets/configure_help_install
+++ b/package/configure-snippets/configure_help_install
@@ -1 +1,2 @@
+ --qmaildir=DIR qmail installation directory [/var/qmail]
diff --git a/package/configure-snippets/configure_help_options b/package/configure-snippets/configure_help_options
index b439bc5..769f3a2 100644
--- a/package/configure-snippets/configure_help_options
+++ b/package/configure-snippets/configure_help_options
@@ -1,3 +1,3 @@
- --with-qmail-home=DIR qmail installation directory [/var/qmail]
- --with-qmailr-ids=uid:gid qmail-remote user:group [qmailr:qmail]
-
+ --with-qmail-home=DIR qmail installation directory [/var/qmail]
+ --with-qmailr-ids=uid:gid qmail-remote user:group [qmailr:qmail]
+ --enable-qmail-install setup qmail to use qmail-remote [disabled]
diff --git a/package/configure-snippets/configure_init_vars b/package/configure-snippets/configure_init_vars
index a30b387..2a2dd1c 100644
--- a/package/configure-snippets/configure_init_vars
+++ b/package/configure-snippets/configure_init_vars
@@ -1,2 +1,3 @@
qmailhome=/var/qmail
qmailrids=qmailr:qmail
+qmailinstall=false
diff --git a/package/targets.mak b/package/targets.mak
index f957f22..2f572dc 100644
--- a/package/targets.mak
+++ b/package/targets.mak
@@ -5,7 +5,9 @@ qmail-remote-io
LIBEXEC_TARGETS :=
-EXTRA_INSTALL += install-qmailr
+ifdef INSTALL_QMAIL
+
+install: install-qmailr
QMAILR_UID := $(firstword $(subst :, ,$(QMAILR_IDS)))
QMAILR_GID := $(lastword $(subst :, ,$(QMAILR_IDS)))
@@ -21,3 +23,5 @@ install-qmailr:
touch -- $(DESTDIR)$(QMAIL_HOME)/run/qmail-remote/tcpto6
chown -- $(QMAILR_IDS) $(DESTDIR)$(QMAIL_HOME)/run/qmail-remote/tcpto6
chmod 0640 $(DESTDIR)$(QMAIL_HOME)/run/qmail-remote/tcpto6
+
+endif