From owner-svn-ports-head@FreeBSD.ORG Sun Mar 23 18:11:44 2014 Return-Path: Delivered-To: svn-ports-head@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 D84A2AAA for ; Sun, 23 Mar 2014 18:11:44 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B126F601 for ; Sun, 23 Mar 2014 18:11:44 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.8/8.14.8) with ESMTP id s2NIBiiW072151 for ; Sun, 23 Mar 2014 18:11:44 GMT (envelope-from bdrewery@freefall.freebsd.org) Received: (from bdrewery@localhost) by freefall.freebsd.org (8.14.8/8.14.8/Submit) id s2NIBivI072148 for svn-ports-head@freebsd.org; Sun, 23 Mar 2014 18:11:44 GMT (envelope-from bdrewery) Received: (qmail 76322 invoked from network); 23 Mar 2014 13:11:42 -0500 Received: from unknown (HELO ?10.10.0.24?) (freebsd@shatow.net@10.10.0.24) by sweb.xzibition.com with ESMTPA; 23 Mar 2014 13:11:42 -0500 Message-ID: <532F23DD.5020008@FreeBSD.org> Date: Sun, 23 Mar 2014 13:11:41 -0500 From: Bryan Drewery Organization: FreeBSD User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Adam Weinberger Subject: Re: svn commit: r348866 - head/ports-mgmt/poudriere-devel References: <201403231540.s2NFeBjV061182@svn.freebsd.org> <9753239EA269BEFE3D11835F@atuin.in.mat.cc> <532F08B7.8010602@FreeBSD.org> <79C5E9B2B1255838D240E362@atuin.in.mat.cc> <532F09E2.6090309@FreeBSD.org> In-Reply-To: X-Enigmail-Version: 1.6 OpenPGP: id=6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="5rxogObxpp3bunXr0SG9AfPcEIwrTD5ts" Cc: Mathieu Arnold , svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Mar 2014 18:11:44 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --5rxogObxpp3bunXr0SG9AfPcEIwrTD5ts Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 3/23/2014 12:49 PM, Adam Weinberger wrote: > On 23 Mar 2014, at 12:20, Bryan Drewery wrote: >=20 >> On 3/23/2014 11:18 AM, Mathieu Arnold wrote: >>> >>> >>> +--On 23 mars 2014 11:15:51 -0500 Bryan Drewery >>> wrote: >>> | On 3/23/2014 11:11 AM, Mathieu Arnold wrote: >>> |> +--On 23 mars 2014 15:40:11 +0000 Bryan Drewery >>> >>> |> wrote: >>> |> | .include >>> |> | >>> |> | +post-install: >>> |> | .if ${PORT_OPTIONS:MZSH} >>> |> | -PLIST_FILES+=3D share/zsh/site-functions/_poudriere >>> |> | -PLIST_DIRSTRY+=3D share/zsh/site-functions >>> |> | -PLIST_DIRSTRY+=3D share/zsh/ >>> |> | -.else >>> |> | -MAKE_ENV+=3D NO_ZSH=3Dyes >>> |> | + @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/ >>> |> | + ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \ >>> |> | + ${STAGEDIR}${PREFIX}/share/zsh/site-functions/ >>> |> | .endif >>> |> >>> |> I think you could do without the include and always install the fi= le. >>> |> >>> | >>> | What? >>> >>> Replace: >>> >>> .include >>> >>> post-install: >>> .if ${PORT_OPTIONS:MZSH} >>> @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/ >>> ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \ >>> ${STAGEDIR}${PREFIX}/share/zsh/site-functions/ >>> .endif >>> >>> With: >>> >>> post-install: >>> @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/ >>> ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \ >>> ${STAGEDIR}${PREFIX}/share/zsh/site-functions/ >>> >>> The package won't register the file if the option is disabled, and it= >>> removes the need for make to parse bsd.port.mk twice. >>> >> >> And then there is a stage orphan. >> >> No. >=20 > Staging only installs things listed in the plist. If the ZSH option is > enabled, that file is in the plist. Stage orphans are files that never > get installed, no matter which options are selected. Right, there are no *leftovers*, but there are *orphans*. Files which are in stagedir and never installed. I invented the whole idea of stage orphans and checking for them in poudriere, before it was a target in ports. Installing a file to the stagedir and never installing in the package creates a fatal error in poudriere as an orphan. Leaving false-positive orphans creates a very hard to maintain situation. Someone will come along in the future and update, see orphans, and not know if they are new or not. The point is to find files you forgot to add to the plist. Sorry but the stagedir cannot have orphans in it, it's not intended for that. It's intended to make leftovers impossible and allow packaging as non-root. Leaving untracked files in there is a big red flag that your package is missing something. You must handle them either by not installing them or by removing them. People are missing this point. You must keep the stagedir clean if you want to pass poudriere testing. Many people have been giving incorrect advice on how to treat the stagedir and it's going to be a big problem once we start doing daily QAT/poudriere on the tree to find leftovers and orphans. Right now orphans are going unfound because QAT/tinderbox doesn't check for orphans. That is a big problem right now. When staging a port, you now have no idea if there are files missing from plist if you are depending on QAT. I really wish people would stop giving the awfully incorrect advice here. People are making it into some kind of style or opinion matter, but it's simply not the case. There are ideas and plans to only consider an orphan as something that is not in any plist (for subpackages), but we don't have subpackages yet. So we are left with keeping the stagedir clean. --=20 Regards, Bryan Drewery --5rxogObxpp3bunXr0SG9AfPcEIwrTD5ts Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJTLyPdAAoJEDXXcbtuRpfPEk0H/1vpIakLLYbNan3juif4wYEI gw3I75XvrwD+g8sBm25GO9RscisBiYcRGiDRT4e4x4RtBzTtsCawAoabpZpb/vft DxocrpxiUoO1A5iiaFrxNJEQ0ePmWqGH3PvYlhthp5zKezAQ3Fa3l77z79GeNTsW zdTQtifc7BT5hO1zacTa5yLHUktt817sicsZWSF0gTzvRh+xO4L0ZHje0SD7Sjth hnn42ADDvac6GJ8ZI3qzNbNjCjNUW8ZrQDPmVgVlWmFWr6rCryjw210fIPMvu1UN YMWASnqbg9eWJuojykqMjg6urI150lJx7aVWMUpTk62K9GvyLQ+cjvP0xsNio10= =xNQO -----END PGP SIGNATURE----- --5rxogObxpp3bunXr0SG9AfPcEIwrTD5ts--