Package views used dynamic PLISTs, all of our perl packages use them too - I'd love to see us use them completely. Unfortunately, my views are not shared by others who consider the PLIST to be a sanity check when updating packages. I can see this PoV, but I don't agree with it.
Alistair
On Monday, August 1, 2016, Kamil Rytarowski <
n54%gmx.com@localhost> wrote:
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.
>