From owner-freebsd-ports@FreeBSD.ORG Mon May 26 15:30:58 2014 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1BF0EADE for ; Mon, 26 May 2014 15:30:58 +0000 (UTC) Received: from mail-ie0-x22d.google.com (mail-ie0-x22d.google.com [IPv6:2607:f8b0:4001:c03::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DC1D32EA7 for ; Mon, 26 May 2014 15:30:57 +0000 (UTC) Received: by mail-ie0-f173.google.com with SMTP id lx4so7790470iec.18 for ; Mon, 26 May 2014 08:30:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=jUkCyd7hcXyEeAq/V4WjKoz6m+C3V+/fbn3PcYasJwg=; b=R25nvw0XeHN1Wj1WQqqeSpuG3pBRi/Ndlkpq6XzwTtdsEffjWS/pmO4gSdZFi6jE1F Laekc3we1MZ26XnX/lJMIRaeZbixYV9fJ7cbEvIi1NM/uG5fViMxd93QZZaOlmIJxDcM RoL1vid4yoXBkfGuwZpqh5lAs/FUsUVCLjxlfg30zrwWhUe6TgeHY0J80ceybqqF6Xo1 1SI/OOjD/eH6CZjSfUcjfhV1401VpMr9c0yTb9U6+ikwU4SPErpWMXBMtsSaCfNwhYfW IpDXsJ9Mj6Taj7MnfdAG+ki/H+prIG8dBEeEAKRLvJgKvKvXQiHo76Vz9xLJgXA4tNa+ Aw5A== MIME-Version: 1.0 X-Received: by 10.50.253.163 with SMTP id ab3mr26507056igd.35.1401118257090; Mon, 26 May 2014 08:30:57 -0700 (PDT) Received: by 10.50.189.169 with HTTP; Mon, 26 May 2014 08:30:56 -0700 (PDT) In-Reply-To: <20140526100537.3a602adf@zeta.dino.sk> References: <20140525213854.0d952d1d@zeta.dino.sk> <20140525201008.GQ2341@home.opsec.eu> <20140525222726.47261ae9@zeta.dino.sk> <20140525204314.GR2341@home.opsec.eu> <20140525225151.227ea602@zeta.dino.sk> <20140525211955.GT2341@home.opsec.eu> <53829913.1050400@gmx.de> <20140526070435.1b82a448@zeta.dino.sk> <20140526100537.3a602adf@zeta.dino.sk> Date: Mon, 26 May 2014 10:30:57 -0500 Message-ID: Subject: Re: mail/courier build failures on newer FreeBSD versions From: Scot Hetzel To: Milan Obuch Content-Type: text/plain; charset=ISO-8859-1 Cc: FreeBSD Ports X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 May 2014 15:30:58 -0000 On Mon, May 26, 2014 at 3:05 AM, Milan Obuch wrote: > On Mon, 26 May 2014 02:45:45 -0500 > Scot Hetzel wrote: > >> On Mon, May 26, 2014 at 12:04 AM, Milan Obuch >> wrote: >> > On Mon, 26 May 2014 03:29:55 +0200 >> > Matthias Andree wrote: > > [ snip ] > >> > OK, I already began work on staging, this was just a small side step >> > fixing another issue, in my eyes easily acceptable, but when it >> > needs now be done in other order, fine. >> > >> >> Milan, if you could share some of the troubles you're encountering, >> >> people may be able to help you. >> >> >> > >> > Well, I did 'make check-plist', here is part of its output: >> > >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/%%MAILOWN%%d >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/esmtpd >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/esmtpd-msa >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/esmtpd-ssl >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/imapd >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/imapd-ssl >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/ldapaddressbook >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/%%CACHEOWN%%3d >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/%%CACHEOWN%%3d-ssl >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/sqwebmaild >> > Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/webmlmrc >> > >> > It does not take much time to revert, for me, at least in this case, >> > unnecessary substitution, some times a bit comic, to >> > >> > Error: Orphaned: etc/courier/courierd >> > Error: Orphaned: etc/courier/esmtpd >> > Error: Orphaned: etc/courier/esmtpd-msa >> > Error: Orphaned: etc/courier/esmtpd-ssl >> > Error: Orphaned: etc/courier/imapd >> > Error: Orphaned: etc/courier/imapd-ssl >> > Error: Orphaned: etc/courier/ldapaddressbook >> > Error: Orphaned: etc/courier/pop3d >> > Error: Orphaned: etc/courier/pop3d-ssl >> > Error: Orphaned: etc/courier/sqwebmaild >> > Error: Orphaned: etc/courier/webmlmrc >> > >> I looked at the ports Makefile, but didn't see how these files are >> installed. Are they being installed by the Courier's source >> Makefile's? If they are, you just need to stop it from creating them, >> as they will be created when pkg installs the port. >> > > They are comming from pkg-plist, see below... > When these files are installed into the STAGEDIR, the @exec lines in the pkg-plist are not executed. They are only executed when pkg installs the freshly created courier-0.65.3 package. I noticed that the post-install target has: 316 @${GREP} '^@exec ' ${TMPPLIST} \ 317 | ${SED} -e 's:^@exec ::' -e 's:%D:${PREFIX}:g' \ 318 > ${WRKDIR}/.PLIST.exec \ 319 && ${SH} ${WRKDIR}/.PLIST.exec This looks like it might cause the issue, especially if you had changed it to: 316 @${GREP} '^@exec ' ${TMPPLIST} \ 317 | ${SED} -e 's:^@exec ::' -e 's:%D:${STAGEDIR}${PREFIX}:g' \ 318 > ${WRKDIR}/.PLIST.exec \ 319 && ${SH} ${WRKDIR}/.PLIST.exec You should be able to remove this from the ports Makefile, as pkg will run the @exec lines when the package is installed. >> > All these files are configuration files and all are handled this >> > way: >> > >> > @unexec cmp -s %D/etc/courier/courierd %D/etc/courier/courierd.dist >> > && rm -f %D/etc/courier/courierd 2>/dev/null || true >> > etc/courier/courierd.dist >> > @exec [ -f %D/etc/courier/courierd.dist ] && >> > %%LOCALBASE%%/share/sysconftool/sysconftool >> > %D/etc/courier/courierd.dist >> > >> > which does create them if they do not exist copying .dist as >> > template on install and if they are still the same on unistall, they >> > are deleted. This way user configuration does not get lost across >> > upgrades, and sysconftool merges new configuration items when they >> > are introduced. >> > >> > This behavior is broken when I add these files into pkg-plist, they >> > are simply deleted on uninstall and user-made changes in >> > configuration is lost. How should this issue be solved? I think >> > there should be a method to tell 'this file should be specially >> > handled, ignore it, it is not an orphan' for make check-plist... >> > >> >> The new way to specify sample configuration files is to use the >> @sample keyword in the pkg-plist: >> >> @sample etc/courier/courierd.sample >> @sample etc/courier/esmtpd.sample >> @sample etc/courier/esmtpd-msa.sample >> @sample etc/courier/esmtpd-ssl.sample >> @sample etc/courier/imapd.sample >> @sample etc/courier/imapd-ssl.sample >> @sample etc/courier/ldapaddressbook.sample >> @sample etc/courier/pop3d.sample >> @sample etc/courier/pop3d-ssl.sample >> @sample etc/courier/sqwebmaild.sample >> @sample etc/courier/webmlmrc.sample >> >> Note: you would have to change the port to install the files with a >> .sample suffix, instead of a .dist suffix. >> > > Where can I find this docummented? I read in some mailing list post > about @sample, found this in Porter's handbook, > http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/plist-config.html > but I would like to see what it actually does... I will try, but > nevertheless, better description would be thanked for... > I had found the info on @sample here: http://www.freebsd.org/doc/en/books/porters-handbook/plist-keywords.html#plist-keywords-your-own It is implemented in ${PORTSDIR}/Keywords. -- DISCLAIMER: No electrons were maimed while sending this message. Only slightly bruised.