Duplicating info between package Makefile and PLIST is error prone, liable to maintenance issues, unnecessary and unwanted. It pollutes the pkgsrc Makefile for no good reason (the info is already in the PLIST. by definition), and does not belong there.
In the same way that we have moved package installation commands from the PLIST to install and uninstall scripts (and it would be good to complete this), we need to focus on doing one thing well, in the appropriate place.
On Friday, July 29, 2016, Kamil Rytarowski <
n54%gmx.com@localhost> wrote:
On 29.07.2016 22:43, Joerg Sonnenberger wrote:
> On Thu, Jul 28, 2016 at 10:38:39PM +0200, Joerg Sonnenberger wrote:
>> On Tue, Jul 26, 2016 at 09:54:45AM -0700, Alistair Crooks wrote:
>>> Actually, I disagree - we need to talk about this, as the practice of
>>> copying information from the PLIST into the Makefile, having to
>>> maintain information in 2 places, and in general muddying the waters
>>> between a list of files in the package (the PLIST) and the
>>> instructions for building the whole package -- these 2 need to be kept
>>> distinct, both logically and physically.
>>>
>>> If AUTO_MKDIRS isn't working properly, let's fix it, and then make it
>>> the default, please
>>
>> Consider the typical example of
>> ${BSD_INSTALL_PROG} foo ${DESTDIR}${PREFIX}/bin
>>
>> This will complete successfully, whether bin is a directory or not.
>> With AUTO_MKDIRS, removing the PLIST, touching it, running stage-install
>> and then print-PLIST > PLIST will have a different result compared to
>> just stage-install. As such, I consider the part about creating bin a
>> very important and explicit part of the build instructions.
>
> To put this differently: I strongly prefer a dumb PLIST that can always
> be regenerated over a semi-smart PLIST that must exist to build the
> package. The PLIST is already redundant, so the argument for removing
> essential build instructions from the Makefile doesn't cut for me.
>
> Joerg
>
>From a creator of packages point of view AUTO_MKDIRS is harmful. For
some reason it's advertised by pkglint.
To make package functional I need to create dummy PLIST to bootstrap
dirs and later on to generate proper PLIST. I think it should be dropped
in favour of INSTALLATION_DIRS.