From patchwork Mon Mar 29 14:24:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rovanion Luckey X-Patchwork-Id: 28172 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2048727BC64; Mon, 29 Mar 2021 15:26:12 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,T_DKIM_INVALID, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 50A7427BC63 for ; Mon, 29 Mar 2021 15:26:11 +0100 (BST) Received: from localhost ([::1]:53676 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lQsqI-0002Vh-Dy for patchwork@mira.cbaines.net; Mon, 29 Mar 2021 10:26:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36918) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lQsqA-0002S1-6W for guix-patches@gnu.org; Mon, 29 Mar 2021 10:26:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37642) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lQsq9-0005hJ-Tw for guix-patches@gnu.org; Mon, 29 Mar 2021 10:26:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lQsq9-0008Vi-QI for guix-patches@gnu.org; Mon, 29 Mar 2021 10:26:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47435] gnu: mail: Make the sendmail package actually output its binary Resent-From: Rovanion Luckey Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 29 Mar 2021 14:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47435 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Leo Famulari Cc: 47435@debbugs.gnu.org Received: via spool by 47435-submit@debbugs.gnu.org id=B47435.161702792332661 (code B ref 47435); Mon, 29 Mar 2021 14:26:01 +0000 Received: (at 47435) by debbugs.gnu.org; 29 Mar 2021 14:25:23 +0000 Received: from localhost ([127.0.0.1]:49188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQspX-0008Uj-2H for submit@debbugs.gnu.org; Mon, 29 Mar 2021 10:25:23 -0400 Received: from mail-il1-f180.google.com ([209.85.166.180]:45712) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQspU-0008UT-QK for 47435@debbugs.gnu.org; Mon, 29 Mar 2021 10:25:21 -0400 Received: by mail-il1-f180.google.com with SMTP id w2so10895246ilj.12 for <47435@debbugs.gnu.org>; Mon, 29 Mar 2021 07:25:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=NNu7KcLTLe2F0BaslxeLYmQrkpu7xeN0u6g09RpfFSQ=; b=QDHdOHJq7gX4bW1dRSztR972ZL2ZX8iE3RkYvijtxb5xjLXNfd/QrPnF2XlPgZ4Jw5 h8qsMTRIKvlPCCUy5nLiApnMmevxqP2DIdluk3OaVqrsXL1BSIzA2qTTKuVBNqbk0qN+ 6MMDUlV8ENgP6NJZFLDXdADRAHzaDZW/UrCm1Mqqi6KjEIXy3MuxmY7ooeuLj7mxsRvs xUGwiegjemVe37K4S4fGGVZD2El/+l9od9LERBV4Zs9s5iD7gC+J7fldx2Rnr6DqY2qw 6HfqF+Gh/SlbWRmSeYz8hNv8zYyhxeKEYyMc6hurtPx8u4bza2WkK3vh04NqDnGaBlp0 A1cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NNu7KcLTLe2F0BaslxeLYmQrkpu7xeN0u6g09RpfFSQ=; b=kHg2HXDxqHhxsYGDBqbOPfKdwZSAEg8+C/8CfODIBRJyD5JW6zDF4aAkiig3NmZtZa xJqXcWmz4n6VMCWnuguYBFSunDdj8a4pO6TNTU8OrwM/MZ58TrM/yNxdYhjNEsb/wm/v f097OfElZZydENNq6UKkJg/IBgXYF/9M9RvkLCEGZRkYuB/QJY2MAG08kKbvvnTsuAcK F9PmGubX26yVU1HssSGqNNH4SPemlmkmlcT09ZW38Y7BR2sgIH7L9OL0IYO16yAI+OIi nexEvI9MqOOl3xc089qc9+IlU4c2BmkVqQ+R6vAWODX4PZC/U2jsgxF0yuwgxjlchUzy dNKQ== X-Gm-Message-State: AOAM532koQDTDtdnZOxSQnr0Ag/kJApgJmZYGauGsLAxPngNl47Hp4Yc hH0ZeS6OyMFYbVsjo1qc+hzYdzS310MfEtf6u5Cbl9U5 X-Google-Smtp-Source: ABdhPJxJtJEwL9Ldq7D124C6y81QSteQcjo4vzPo8J0ElQ1nOiCGueIvPiMqg7jHUQ1k6+si7DnvnYeEBbbqpRVkDuQ= X-Received: by 2002:a05:6e02:170c:: with SMTP id u12mr21197931ill.100.1617027915113; Mon, 29 Mar 2021 07:25:15 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Rovanion Luckey Date: Mon, 29 Mar 2021 16:24:48 +0200 Message-ID: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Attached to this email you will find three patches that 1. make the sendmail binary appear in PATH after the sendmail package is installed, 2. add libmilter to the package collection and 3. updates sendmail and libmilter to 8.16.1. I ended up putting smrsh back in libexec because that is where all the other distros put it and seems like a program that should only be used by sendmail itself. From 7629f800d16e37236e539397d0393d729bb06e73 Mon Sep 17 00:00:00 2001 From: Rovanion Luckey Date: Sat, 27 Mar 2021 18:28:02 +0100 Subject: [PATCH 1/3] gnu: sendmail: Fix output's directory structure. * gnu/packages/mail.scm (sendmail)[arguments]<#:phases>: Properly specify output directories in replacement 'configure and 'pre-> install. --- gnu/packages/mail.scm | 41 ++++++++++---- .../sendmail-libmilter-shared-library.patch | 56 +++++++++++++++++++ 2 files changed, 87 insertions(+), 10 deletions(-) create mode 100644 gnu/packages/patches/sendmail-libmilter-shared-library.patch diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b02f547e03..a1f4147aa5 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2742,7 +2742,8 @@ powerful user customization features.") version ".tar.gz")) (sha256 (base32 - "0fdl9ndmspqspdlmghzxlaqk56j3yajk52d7jxcg21b7sxglpy94")))) + "0fdl9ndmspqspdlmghzxlaqk56j3yajk52d7jxcg21b7sxglpy94")) + (patches (search-patches "sendmail-libmilter-shared-library.patch")))) (build-system gnu-build-system) (arguments `(#:phases @@ -2761,23 +2762,44 @@ powerful user customization features.") (("SHELL=/bin/sh") (string-append "SHELL=" (which "sh")))) #t)) (replace 'configure - (lambda _ + (lambda* (#:key outputs #:allow-other-keys) ;; Render harmless any attempts to chown or chgrp (substitute* "devtools/bin/install.sh" (("owner=\\$2") "owner=''") (("group=\\$2") "group=''")) - (with-output-to-file "devtools/Site/site.config.m4" - (lambda () - (format #t " + (let ((out (assoc-ref outputs "out"))) + (with-output-to-file "devtools/Site/site.config.m4" + (lambda () + ;; See 'devtools/M4/UNIX/defines.m4' for the list of + ;; installation directories. + (format #t " define(`confCC', `gcc') +define(`confAR', `ar') +define(`confCCOPTS', `-fPIC') define(`confOPTIMIZE', `-g -O2') define(`confLIBS', `-lresolv') define(`confINSTALL', `~a/devtools/bin/install.sh') define(`confDEPEND_TYPE', `CC-M') define(`confINST_DEP', `') -" (getcwd)))) + +define(`confLIBDIR', `~a/lib/') +define(`confINCLUDEDIR', `~a/include') +define(`confHFDIR', `~a/etc/mail') +define(`confSTDIR', `~a/etc/mail') +define(`confMBINDIR', `~a/sbin') +define(`confUBINDIR', `~a/bin') +define(`confSBINDIR', `~a/sbin') +define(`confEBINDIR', `~a/libexec') +define(`confMANROOT', `~a/share/man')~%" + (getcwd) + out out out out out out out out out)))) + (substitute* "cf/cf/Makefile" + (("^MAILDIR=.*") + (string-append "MAILDIR = " + (assoc-ref outputs "out") + "/etc/mail\n"))) #t)) (replace 'build (lambda _ @@ -2789,10 +2811,9 @@ define(`confINST_DEP', `') (add-before 'install 'pre-install (lambda _ (let ((out (assoc-ref %outputs "out"))) - (mkdir-p (string-append out "/usr/bin")) - (mkdir-p (string-append out "/usr/sbin")) - (mkdir-p (string-append out "/etc/mail")) - (setenv "DESTDIR" out) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out "/sbin")) + (mkdir-p (string-append out "/var/spool/mail")) (with-directory-excursion "cf/cf" (invoke "sh" "Build" "install-cf")) #t)))) diff --git a/gnu/packages/patches/sendmail-libmilter-shared-library.patch b/gnu/packages/patches/sendmail-libmilter-shared-library.patch new file mode 100644 index 0000000000..1e256c59ec --- /dev/null +++ b/gnu/packages/patches/sendmail-libmilter-shared-library.patch @@ -0,0 +1,56 @@ +diff -Nru sendmail-8.14.3.orig/devtools/M4/UNIX/milterlibrary.m4 sendmail-8.14.3/devtools/M4/UNIX/milterlibrary.m4 +--- sendmail-8.14.3.orig/devtools/M4/UNIX/milterlibrary.m4 1970-01-01 01:00:00.000000000 +0100 ++++ sendmail-8.14.3/devtools/M4/UNIX/milterlibrary.m4 2009-08-22 21:51:10.000000000 +0200 +@@ -0,0 +1,39 @@ ++divert(-1) ++# ++# Copyright (c) 1999-2001 Sendmail, Inc. and its suppliers. ++# All rights reserved. ++# ++# By using this file, you agree to the terms and conditions set ++# forth in the LICENSE file which can be found at the top level of ++# the sendmail distribution. ++# ++# ++# Definitions for Makefile construction for sendmail ++# ++divert(0)dnl ++include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/links.m4')dnl ++define(`confSOEXT', ifdef(`confSOEXT', `confSOEXT', `so'))dnl ++bldLIST_PUSH_ITEM(`bldC_PRODUCTS', bldCURRENT_PRODUCT)dnl ++bldPUSH_TARGET(bldCURRENT_PRODUCT`.'confSOEXT bldCURRENT_PRODUCT`.a')dnl ++bldPUSH_INSTALL_TARGET(`install-'bldCURRENT_PRODUCT)dnl ++bldPUSH_CLEAN_TARGET(bldCURRENT_PRODUCT`-clean')dnl ++ ++include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4') ++divert(bldTARGETS_SECTION) ++bldCURRENT_PRODUCT`.'confSOEXT: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'} ++ ${CCLINK} ${LDOPTS_SO} -o bldCURRENT_PRODUCT.confSOEXT ifdef(`confSONAME',`-Wl,confSONAME,bldCURRENT_PRODUCT.confSOEXT.${MILTER_SOVER}') ${bldCURRENT_PRODUCT`OBJS'} -lc ${LIBS} ++bldCURRENT_PRODUCT.a: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'} ++ ${AR} ${AROPTS} bldCURRENT_PRODUCT.a ${bldCURRENT_PRODUCT`OBJS'} ++ ${RANLIB} ${RANLIBOPTS} bldCURRENT_PRODUCT.a ++ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)') ++ ++install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.confSOEXT bldCURRENT_PRODUCT.a ++ifdef(`bldINSTALLABLE', ` ifdef(`confMKDIR', `if [ ! -d "${DESTDIR}${bldINSTALL_DIR`'LIBDIR}" ]; then confMKDIR -p "${DESTDIR}${bldINSTALL_DIR`'LIBDIR}"; else :; fi ') ++ ${INSTALL} -c bldCURRENT_PRODUCT.confSOEXT "${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.confSOEXT.${MILTER_SOVER}" ++ ${LN} ${LNOPTS} bldCURRENT_PRODUCT.confSOEXT.${MILTER_SOVER} "${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.confSOEXT" ++ ${INSTALL} -c -m 644 bldCURRENT_PRODUCT.a "${DESTDIR}${LIBDIR}"') ++ ++bldCURRENT_PRODUCT-clean: ++ rm -f ${OBJS} bldCURRENT_PRODUCT.confSOEXT bldCURRENT_PRODUCT.a ${MANPAGES} ++ ++divert(0) ++COPTS+= confCCOPTS_SO +diff -Nru sendmail-8.14.3.orig/libmilter/Makefile.m4 sendmail-8.14.3/libmilter/Makefile.m4 +--- sendmail-8.14.3.orig/libmilter/Makefile.m4 2008-04-08 07:23:44.000000000 +0200 ++++ sendmail-8.14.3/libmilter/Makefile.m4 2009-08-22 21:53:35.000000000 +0200 +@@ -9,7 +9,7 @@ + SMSRCDIR=ifdef(`confSMSRCDIR', `confSMSRCDIR', `${SRCDIR}/sendmail') + PREPENDDEF(`confINCDIRS', `-I${SMSRCDIR} ') + +-bldPRODUCT_START(`library', `libmilter') ++bldPRODUCT_START(`milterlibrary', `libmilter') + define(`bldINSTALLABLE', `true') + define(`LIBMILTER_EXTRAS', `errstring.c strl.c') + APPENDDEF(`confENVDEF', `-DNOT_SENDMAIL -Dsm_snprintf=snprintf') -- 2.30.0