From unknown Fri Jun 20 07:26:06 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#59705 <59705@debbugs.gnu.org> To: bug#59705 <59705@debbugs.gnu.org> Subject: Status: [PATCH] gnu: Add postfix. Reply-To: bug#59705 <59705@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:26:06 +0000 retitle 59705 [PATCH] gnu: Add postfix. reassign 59705 guix-patches submitter 59705 EuAndreh severity 59705 normal tag 59705 patch moreinfo thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 29 18:59:56 2022 Received: (at submit) by debbugs.gnu.org; 29 Nov 2022 23:59:56 +0000 Received: from localhost ([127.0.0.1]:57270 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0AW0-0004sK-Fm for submit@debbugs.gnu.org; Tue, 29 Nov 2022 18:59:55 -0500 Received: from lists.gnu.org ([209.51.188.17]:35170) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0AVv-0004sC-GQ for submit@debbugs.gnu.org; Tue, 29 Nov 2022 18:59:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p0AVu-00079B-1p for guix-patches@gnu.org; Tue, 29 Nov 2022 18:59:46 -0500 Received: from euandre.org ([216.238.68.100]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p0AVj-0003sO-Ra for guix-patches@gnu.org; Tue, 29 Nov 2022 18:59:45 -0500 Received: from euandre.org (localhost [127.0.0.1]) by euandre.org (Postfix) with ESMTP id D9B483794D5; Tue, 29 Nov 2022 20:59:32 -0300 (-03) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=euandre.org; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; s=dkimproxy; bh=8znTFtWve98jqKGbIU2A FnFv2Vg=; b=khByN+zfaPJQaT1SVtQj7zedk3bL4IBCvPE67VABKW1AmMkStHPW yefkwynxzCOyYoQH0XRd5yRnyo5RiMUWalZRH5nwv3j8HE4v4bAhuond6vIvhaKr ChCFRu8uHypjRjBZYrgGE0Zb1/kkqtD85Vzgy8dmMQetq1FA3YvdkfigkyJzzXu6 LClz867IjfCGSCE7DYPOiys3Cshi7ow4tQXkjF4pAdZfMiFabbeSRBOhjz2QKMsM /1sWc91XhW1QPC6RIZ8GHjZ9FW1ybxXpVu91GVOxWaoKZ7KGcOfXxq2D+Tj3RwMP 89LNR8b24s7bISFumq2QT7hR5fGG+YLEfQ== From: EuAndreh To: guix-patches@gnu.org Subject: [PATCH] gnu: Add postfix. Date: Tue, 29 Nov 2022 20:59:30 -0300 Message-Id: <20221129235930.2532-1-eu@euandre.org> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=216.238.68.100; envelope-from=eu@euandre.org; helo=euandre.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: EuAndreh X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) * gnu/packages/mail.scm (postfix): New variable. --- Notes: This package has a few too many assumptions about the system where it= s running. =20 Other than the usual call to hard-coded /bin/sh paths: =20 - is too conservative on the PATH that the "master" process is launch= ed into; - what is available to sbin(8) commands under their paths; - where the setuid programs live; - what should be the permissions of files under /etc/. =20 It also has a very opinionated way of being given $PREFIX paths, and = how the dynamic Makefiles are generated, how DESTDIR is handled, etc. =20 I had disabled the "postconf -e" ability to edit configuration option= s in-place, as the postfix-service-type that I'm working on generates those files and puts the in the store, which isn't writable. =20 All in all, this is a working package: this very email is sent from a local installation of Postfix in my Guix laptop, which forward the em= ail to the server running Postfix under Guix, who than sends it off to th= e internet! So if you're reading this, it is working :) gnu/packages/mail.scm | 125 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 754c9bc6de..c18ddced82 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -4876,3 +4876,128 @@ (define-public aerc ;; (license license:gpl3+))) + +(define-public postfix + (package + (name "postfix") + (version "3.8-20221023") + (source (origin + (method url-fetch) + (uri (string-append + "http://cdn.postfix.johnriley.me/mirrors/postfix-rel= ease/experimental/postfix-" + version ".tar.gz")) + (sha256 + (base32 + "0aaylhn81n9z3kidx53kzf2jrilr3lgwfxsk1r4hn7nkrp62bcwm"))= )) + (build-system gnu-build-system) + (arguments + (list #:tests? #f + #:modules `((srfi srfi-26) + ,@%gnu-build-system-modules) + #:phases #~(modify-phases %standard-phases + (add-before 'configure 'patch-/bin/sh + (lambda _ + (substitute* (find-files "." "^Makefile") + (("/bin/sh") + (which "sh"))))) + (add-before 'configure 'patch-bdb-include + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "makedefs" + (("/usr/include") + (string-append (assoc-ref inputs "bdb") + "/include"))))) + (add-before 'configure 'dont-hardcode-PATH + (lambda _ + (substitute* '("postfix-install" + "conf/post-install") + (("^PATH=3D") + "# PATH=3D")))) + (add-before 'configure 'fix-strict-PATH + (lambda _ + (substitute* "src/util/sys_defs.h" + (("^#define (ROOT_PATH|_PATH_DEFPATH|_PATH= _STDPATH).*") + "#define ROOT_PATH \"/run/setuid-programs= :/run/current-system/profile/bin:/run/current-system/profile/sbin\"\n")))= ) + (add-before 'configure 'use-relative-symlink-to-= store + (lambda _ + (substitute* "postfix-install" + (("ln -sf") + "ln -rsf")))) + (add-before 'configure 'fix-absolute-path-to-set= uid-programs + (lambda _ + (substitute* "conf/postfix-script" + (("\\$command_directory/postqueue") + "/run/setuid-programs/postqueue") + (("\\$command_directory/postdrop") + "/run/setuid-programs/postdrop")))) + (add-before 'configure 'disable-warning-on-non-w= ritable-config-files + (lambda _ + (substitute* "conf/postfix-script" + (("find \\$todo \\\\\\( -perm -020 -o -per= m -002 \\\\\\) \\\\\n") + " # find $todo \\( -perm -020 -o -perm -0= 02 \\)")))) + (add-before 'configure 'disable-write-to-/etc/po= stfix + (lambda _ + (substitute* "src/postconf/postconf_edit.c" + (("pcf_set_config_dir.*") + "return;")))) + (add-before 'configure 'setup-environment + (lambda* (#:key outputs inputs #:allow-other-k= eys) + (setenv "CCARGS" + (string-append + "-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CY= RUS_SASL -I" + (assoc-ref inputs "cyrus-sasl") + "/include/sasl")) + (setenv "AUXLIBS" "-lnsl -lcrypto -lssl -lsa= sl2") + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (sbin (string-append out "/sbin")) + (lib (string-append out "/lib/postfix= ")) + (libexec (string-append out + "/libexec/pos= tfix")) + (etc (string-append out "/etc/postfix= ")) + (man (string-append out "/share/man")= ) + (doc (string-append out + "/share/doc/postf= ix-" + #$version)) + (html (string-append doc "/html"))) + (setenv "install_root" "wip-prefix") + (setenv "newaliases_path" + (string-append bin "/newaliases")) + (setenv "mailq_path" + (string-append bin "/mailq")) + (setenv "sendmail_path" + (string-append sbin "/sendmail")) + (setenv "command_directory" sbin) + (setenv "shlib_directory" lib) + (setenv "daemon_directory" libexec) + (setenv "meta_directory" etc) + (setenv "sample_directory" etc) + (setenv "manpage_directory" man) + (setenv "readme_directory" doc) + (setenv "html_directory" html) + (setenv "sample_directory" + (string-append out "/share/postfix= "))))) + (replace 'configure + (lambda _ + (invoke "make" "makefiles" "pie=3Dyes" + "dynamicmaps=3Dyes"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "make" "non-interactive-package") + (delete-file-recursively "wip-prefix/var") + (copy-recursively "wip-prefix/etc" + (string-append out "/etc= ")) + (copy-recursively (string-append "wip-pref= ix" + out) out)= )))))) + (inputs (list bdb cyrus-sasl libnsl openssl perl)) + (native-inputs (list m4)) + (home-page "https://www.postfix.org") + (synopsis "sendmail compatible MTA") + (description + "Postfix is Wietse Venema's mail server that started life at IBM re= search +as an alternative to the widely-used Sendmail program. Now at Google, W= ietse +continues to support Postfix. + +Postfix attempts to be fast, easy to administer, and secure. The outsid= e has a +definite Sendmail-ish flavor, but the inside is completely different.") + (license (list license:ibmpl1.0 license:epl2.0)))) --=20 2.38.1 From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 18:32:25 2022 Received: (at 59705) by debbugs.gnu.org; 30 Nov 2022 23:32:25 +0000 Received: from localhost ([127.0.0.1]:35769 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0WYy-0005NE-NI for submit@debbugs.gnu.org; Wed, 30 Nov 2022 18:32:25 -0500 Received: from euandre.org ([216.238.68.100]:43070) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0WYs-0005N8-CS for 59705@debbugs.gnu.org; Wed, 30 Nov 2022 18:32:22 -0500 Received: from euandre.org (localhost [127.0.0.1]) by euandre.org (Postfix) with ESMTP id BE2393A81A2; Wed, 30 Nov 2022 20:32:15 -0300 (-03) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=euandre.org; h= message-id:date:mime-version:to:references:from:cc:subject :in-reply-to:content-type:content-transfer-encoding; s= dkimproxy; bh=QMvHvOT9RI/n8m77NWqOA5MMa2Q=; b=pQzPH2NOJfyE2+bL7z iP8y//Uvw83mEb3bnToUrvBJv39a3nT5nj1EKYBK35oPZVA2fgMC/jPmwLF9vtlv 6s1EuTrK+iIXM0YnWxVXWw9t51Lye9810EM134ZQuDadlxYZvTBgUTQ5EG7oUv6R 6R0Kgk8wPM7RuNLKXpxNvTmDQSRisPmK3EswsSaf5hTJ0lFjPs1nrbQlNXrYFP7G 9YLkm3JCVVtA75txhg87s8aKkKXe4aoDyH5VvQG4wB6rkaeMrMMjfF1N3FssqGea riTNR7j6c+bAXLYJb2+wungv/eIXU33SV7h+j5+PWId8T9JFYT5OHjOS0B/nnns9 jCvg== Message-ID: <08c43e00-4b3b-1195-49a6-f6f08ae68ddb@euandre.org> Date: Wed, 30 Nov 2022 23:32:11 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Content-Language: en-US, pt, fr, eo, en To: 59705@debbugs.gnu.org References: <20221129235930.2532-1-eu@euandre.org> From: EuAndreh Subject: Re: [bug#59705] [PATCH] gnu: Add postfix. In-Reply-To: <20221129235930.2532-1-eu@euandre.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59705 Cc: cwebber@dustycloud.org, brantcgardner@brantware.com, rekado@elephly.net, janneke@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Talking about this with rekado on IRC, it reminded me that I found out about the "wip-postfix" branch after I started working on this package. This patch supersedes it, and I took inspiration from it during the final tweaks. I'm Cc'ing some people involved in previous discussions about Postfix on Guix, and wip-postfix, and invite you to review it too: :) I'm doing the final polishing touches on postfix-service-type, alongsige with cyrus-sasl-service-type and dkimproxyout-service-type to have a fully compliant woking mail server. From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 14 06:36:14 2022 Received: (at control) by debbugs.gnu.org; 14 Dec 2022 11:36:14 +0000 Received: from localhost ([127.0.0.1]:38520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5Q3a-0002o3-KR for submit@debbugs.gnu.org; Wed, 14 Dec 2022 06:36:14 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34234) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5Q3Z-0002nx-Ql for control@debbugs.gnu.org; Wed, 14 Dec 2022 06:36:14 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p5Q3U-0000Mg-J7 for control@debbugs.gnu.org; Wed, 14 Dec 2022 06:36:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:Subject:From:To:Date:in-reply-to: references; bh=mKAz3ljVFkHNE2A+c3HZbhGlXWjl1zgq+eyOEVo8+ag=; b=EB1sBBaPvDrf0T pd7ksUe+N2PdSjGkSX4ChcIFMaTTXKClPu1Vk5ILBtj6MLzeHWgf5B6rAPYGM9G05IhWhhbzN00KT o5jXem7bXqOLH+QZqRTHlzY2XhYhJBARAmYTsYGUQyABcUr5K79R9vUpsqmok+TKc7/tG8kk7sD3I Hr9ia1Y5L6pMLwJSaQtO6AvGP97tn8c8+QdOv5CynTZqUGpeuy5IEuJ+15yFBBbhgFtt2Jj0OGnBo Jvs8Te/5Bilu1wP0L+MLC57xpmTPay97CtI86tqwXz0HHe1shbgTlwTLBw0dXt1kZceaMKI++0R4e B/VCguxdrVTyJA7WcrPA==; Received: from eduroam-111172.grenet.fr ([130.190.111.172] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p5Q3U-0002kH-7D for control@debbugs.gnu.org; Wed, 14 Dec 2022 06:36:08 -0500 Date: Wed, 14 Dec 2022 12:36:06 +0100 Message-Id: <87y1rarzdl.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #59705 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) tags 59705 + moreinfo quit