Date: Sun, 23 Mar 2014 13:49:06 -0400 From: "Adam Weinberger" <adamw@adamw.org> To: "Bryan Drewery" <bdrewery@FreeBSD.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: <BA78CE46-49AC-4895-8EEA-973DADA0F8DB@adamw.org> In-Reply-To: <532F09E2.6090309@FreeBSD.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>
next in thread | previous in thread | raw e-mail | index | archive | help
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.org> >> 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+= share/zsh/site-functions/_poudriere >> |> | -PLIST_DIRSTRY+= share/zsh/site-functions >> |> | -PLIST_DIRSTRY+= share/zsh/ >> |> | -.else >> |> | -MAKE_ENV+= NO_ZSH=yes >> |> | + @${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 is enabled, that file is in the plist. Stage orphans are files that never get installed, no matter which options are selected. The poudriere-devel port installs things into DATDIR without checking whether NOPORTDATA is defined. The port installs manpages without checked whether NO_INSTALL_MANPAGES is defined. Yet, magically, those options continue to work. Just install everything into STAGEDIR, and let the plist do the heavy lifting for you. # Adam -- Adam Weinberger adamw@adamw.org http://www.adamw.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BA78CE46-49AC-4895-8EEA-973DADA0F8DB>