From owner-svn-ports-head@FreeBSD.ORG Sat Mar 29 13:52:36 2014 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 392A5347 for ; Sat, 29 Mar 2014 13:52:36 +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)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15E742E3 for ; Sat, 29 Mar 2014 13:52:36 +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 s2TDqZSn062381 for ; Sat, 29 Mar 2014 13:52:35 GMT (envelope-from bdrewery@freefall.freebsd.org) Received: (from bdrewery@localhost) by freefall.freebsd.org (8.14.8/8.14.8/Submit) id s2TDqZEg062375 for svn-ports-head@freebsd.org; Sat, 29 Mar 2014 13:52:35 GMT (envelope-from bdrewery) Received: (qmail 36358 invoked from network); 29 Mar 2014 08:52:34 -0500 Received: from unknown (HELO ?10.10.0.24?) (freebsd@shatow.net@10.10.0.24) by sweb.xzibition.com with ESMTPA; 29 Mar 2014 08:52:34 -0500 Message-ID: <5336CFEF.5080400@FreeBSD.org> Date: Sat, 29 Mar 2014 08:51:43 -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> <532F23DD.5020008@FreeBSD.org> <893AE220-E1DA-4F3A-93E1-D7820B3C5FC4@adamw.org> In-Reply-To: <893AE220-E1DA-4F3A-93E1-D7820B3C5FC4@adamw.org> 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="5WUrjuLI88AkjqGmvdQP3Dd9MJwJvL9SQ" 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: Sat, 29 Mar 2014 13:52:36 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --5WUrjuLI88AkjqGmvdQP3Dd9MJwJvL9SQ Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 3/23/2014 1:31 PM, Adam Weinberger wrote: > On 23 Mar 2014, at 14:11, Bryan Drewery wrote: >=20 >> On 3/23/2014 12:49 PM, Adam Weinberger wrote: >>> On 23 Mar 2014, at 12:20, Bryan Drewery wrote: >>> >>>> 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 >>>>> file. >>>>> |> >>>>> | >>>>> | 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. >>> >>> Staging only installs things listed in the plist. If the ZSH option i= s >>> enabled, that file is in the plist. Stage orphans are files that neve= r >>> 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 stag= e >> 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 fo= r >> that. It's intended to make leftovers impossible and allow packaging a= s >> 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 stagi= ng >> 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 > The ability to dramatically simply a port's Makefile and let simple > plist %%OPTIONS%% figure out the rest is an incredibly powerful, useful= , > and advantageous thing. I am having trouble understanding why we should= > give it all up so "to pass poudriere testing." Ports work perfectly > right now. They install exactly what we intend them to install, and it > works perfectly for users. If poudriere is unhappy, then it seems to me= > that the problem is with poudriere. >=20 > Maybe it wasn't how you originally envisioned that staging would work. > But people have adopted it not because of "awfully incorrect advice," > but because that's how we want it to work. >=20 > Hitachi doesn't recall Magic Wands just because they wanted a back > massager. I also want it work like that. However, having false-positives leads to ignoring them entirely and causing breakage. I am working to merge the poudriere and check-orphans script into check-orphans, enable in tinderbox, and also cleanup EXAMPLES/DOCS false-positives with check-orphans. I also have work in progress for a way to mark files as explicitly ignored so they stop showing in orphans. >=20 > # Adam >=20 >=20 > --=20 > Adam Weinberger > adamw@adamw.org > http://www.adamw.org --=20 Regards, Bryan Drewery --5WUrjuLI88AkjqGmvdQP3Dd9MJwJvL9SQ 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/ iQEcBAEBAgAGBQJTNs/vAAoJEDXXcbtuRpfPxUEIAMOTuV5R7CKOyFNni9/X3PXn 8JunaoETr68RQLysR9scRPzxc09SrPaOlQIfNf99ptXY0u5ThEhDiAJ8oP8diGyE R1fYmLzchA7XpAdMkchsyUvFj32zPKp614Ycq3CMMF2akY7ZUUSS8yWatGc7bn2u K0Fbpo1iy1ceKF4jSbz4ArwK8vTZJnV66u6JjAdeVIayxDL4cObRijNKbbh9iqCs NKEboJCsHcQPOtsZHUTG0qSbDwyTFYCn89giaRyznmTi8Q9nm1eAcFKWyAwlFEH0 Wb8OhPHUa+UyTdVywiJf3cj8j4CrkNvoAyoC19Vn4yQl3bvlMRou3y6vdcSBp48= =qepw -----END PGP SIGNATURE----- --5WUrjuLI88AkjqGmvdQP3Dd9MJwJvL9SQ--