First step (Re: [BRAINSTORMING] simplifying maintainer's life)

Baptiste Daroussin bapt at FreeBSD.org
Fri Sep 5 16:27:19 UTC 2014


On Fri, Sep 05, 2014 at 06:21:30PM +0200, Matthias Andree wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Am 05.09.2014 um 10:19 schrieb Baptiste Daroussin:
> > After the discussion that happened here is what I think we should do
> > If no stong objections are raised thise this will happen in pkg 1.3.8
> > 
> > - Ignore mtree in packages
> > - Automatically handle directory removal for any directory under PREFIX
> > - Introduce @dir (in fact already there) for directories with special care:
> >   * empty directories
> >   * directories with special credential (@dir(user,group,mode))
> > - Consider directories out of PREFIX as special hence needing to be listed with
> >   @dir
> > 
> > @dirrmtry and @dirrm will be considered changed into aliases for @dir but remain
> > for compatibility (with a warning if DEVELOPER_MODE is set)
> 
> Is pkg now ready to reference-count multiple packages referencing the
> same directory?

It has always been :)
> 
> > 
> > - the possibility to accept regular plist entry as directories will be in but
> >   disable by default, allowing vendors to rely on it if they do want but leaving
> >   the ports tree not accepting them (that clarifies a lot what the the plist for
> >   maintainers)
> 
> I strongly object to this part, and request that such dead code not be
> added to pkg.  This is a gratuitious change, for "vendors" that as of
> now are phantoms (lack a particular use case), and, as written before,
> it voids error checking on the file type, and dead code is usually
> buggier than used code because noone sees the bugs until the code is
> enabled (but not properly reintegrated) years later.

This is not dead code as I know already 2 vendors that uses that already,
secondly pkg(8) is used by system not using the ports tree, some of those
requires that feature.

In anycase there is no plan at all to activate this in the ports tree.
> 
> The use case why we need the distinction is the common error
> if a maintainer forgets the mkdir in the {pre,do,post}-install: target,
> and the install path lacks the trailing slash, then packaging will no
> longer fail.
> 
> Example:
> 
> post-install:
> 	${INSTALL_DATA} blah/something ${STAGEDIR}${DOCSDIR}/blah
> 
> This will rename something to blah while installing into ${DOCSDIR},
> rather than installing "something" into ${DOCSDIR}/blah/.
> 
> Especially with make makeplist or auto-plist rigs, this is bound to
> fail, and sit undiscovered for a while.
> 
> If the distinction between directory and other file types remains
> explicit and mandatory, these errors are much harder to find.
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1
> 
> iEYEARECAAYFAlQJ4wIACgkQvmGDOQUufZU+ZwCggmcsS2yyo761R8X3a9xUHnm7
> /yYAn0L3wvhqQYR21uTedLTco3sAXxvt
> =NJdy
> -----END PGP SIGNATURE-----

regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20140905/730b6b75/attachment.sig>


More information about the freebsd-ports mailing list