AUTO_MKDIRS is also harmful for updates for the same reason, I switched myself to INSTALLATION_DIRS. I always treated PLIST as an integrity check of a generated package, not the other way around like PLIST defining directory tree for a package in a pre-install stage. If the data would be duplicated, we could just stop using PLIST at all and packaging everything without this stage. I don't see the point of 1% - we get the same result with the said INSTALLATION_DIRS if the installation tree has changed - we can alter it in Makefile off hand otherwise we need to manually rework PLIST. On 01.08.2016 00:24, Alistair Crooks wrote: > The typical user/consumer of a pkgsrc Makefile is not the package > creator. So optimising for the 1% at the expense of every other user is > inappropriate and arcane. > > 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. > > Regards, > Alistair > > On Friday, July 29, 2016, Kamil Rytarowski <n54%gmx.com@localhost > <mailto: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. >
Attachment:
signature.asc
Description: OpenPGP digital signature