Date: Sat, 29 Mar 2014 08:51:43 -0500 From: Bryan Drewery <bdrewery@FreeBSD.org> To: Adam Weinberger <adamw@adamw.org> Cc: Mathieu Arnold <mat@FreeBSD.org>, svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org Subject: Re: svn commit: r348866 - head/ports-mgmt/poudriere-devel Message-ID: <5336CFEF.5080400@FreeBSD.org> In-Reply-To: <893AE220-E1DA-4F3A-93E1-D7820B3C5FC4@adamw.org> References: <201403231540.s2NFeBjV061182@svn.freebsd.org> <9753239EA269BEFE3D11835F@atuin.in.mat.cc> <532F08B7.8010602@FreeBSD.org> <79C5E9B2B1255838D240E362@atuin.in.mat.cc> <532F09E2.6090309@FreeBSD.org> <BA78CE46-49AC-4895-8EEA-973DADA0F8DB@adamw.org> <532F23DD.5020008@FreeBSD.org> <893AE220-E1DA-4F3A-93E1-D7820B3C5FC4@adamw.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <bdrewery@FreeBSD.o= rg> >>>>> wrote: >>>>> | On 3/23/2014 11:11 AM, Mathieu Arnold wrote: >>>>> |> +--On 23 mars 2014 15:40:11 +0000 Bryan Drewery >>>>> <bdrewery@FreeBSD.org> >>>>> |> wrote: >>>>> |> | .include <bsd.port.options.mk> >>>>> |> | >>>>> |> | +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 <bsd.port.options.mk> >>>>> >>>>> 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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5336CFEF.5080400>