From 7dec0971dd6952a6f72fe44f374ab474519d9f06 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 18 Mar 2026 13:01:36 +0000 Subject: Make /var/qmail installation optional --- CONTRIBUTING | 28 +++++++++++++++++++++- INSTALL | 4 ++-- Makefile | 6 +++-- configure | 18 ++++++++++---- doc/index.html | 4 ++-- doc/upgrade.html | 4 ++-- package/configure-snippets/configure_case_lines | 4 +++- package/configure-snippets/configure_generate_make | 6 ++++- package/configure-snippets/configure_help_install | 1 + package/configure-snippets/configure_help_options | 6 ++--- package/configure-snippets/configure_init_vars | 1 + package/targets.mak | 6 ++++- 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.
  • A POSIX-compliant system with a standard C development environment
  • GNU make, version 3.81 or later
  • skalibs 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.
  • s6 version -2.14.0.1 or later. It's a build-time and run-time requirement.
  • +2.15.0.0 or later. It's a build-time and run-time requirement.
  • s6-dns 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.
  • 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 @@