svn commit: r348866 - head/ports-mgmt/poudriere-devel

Adam Weinberger adamw at adamw.org
Sun Mar 23 17:49:10 UTC 2014


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 at FreeBSD.org>
>> wrote:
>> | On 3/23/2014 11:11 AM, Mathieu Arnold wrote:
>> |> +--On 23 mars 2014 15:40:11 +0000 Bryan Drewery 
>> <bdrewery at 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 at adamw.org
http://www.adamw.org


More information about the svn-ports-all mailing list