svn commit: r333407 - head/share/mk

Bryan Drewery bdrewery at FreeBSD.org
Fri May 25 21:10:27 UTC 2018


On 5/9/2018 6:44 AM, Brad Davis wrote:
> Author: brd
> Date: Wed May  9 13:44:54 2018
> New Revision: 333407
> URL: https://svnweb.freebsd.org/changeset/base/333407
> 
> Log:
>   Enable directory creation with FILESDIR.
>   
>   This is part of packaging base work.
>   
>   Reviewed by:	will
>   Approved by:	bapt (mentor), allanjude (mentor)
>   Differential Revision:	https://reviews.freebsd.org/D15130
> 

Please update share/mk/bsd.README too.

I know I haven't been very responsive but it's partly because I'm still
fundamentally against this feature. It's adding a mechanism to replace
mtree without considering the whole picture and only binding it to FILES
rather than a bsd.dirs.mk; It doesn't actually satisfy replacing mtree
files since it only works if there is a FILESGROUP used (FILES must be
non-empty). So what's the point? My major concern is added confusion.
The creation of directories for installing is a pain point at work for
developers but I don't think this is enough. I liked the idea of
`install "-D"` but I know it's not efficient and had some implementation
issues.

More below...

> Modified:
>   head/share/mk/bsd.files.mk
>   head/share/mk/bsd.own.mk
> 
> Modified: head/share/mk/bsd.files.mk
> ==============================================================================
> --- head/share/mk/bsd.files.mk	Wed May  9 12:25:23 2018	(r333406)
> +++ head/share/mk/bsd.files.mk	Wed May  9 13:44:54 2018	(r333407)
> @@ -67,7 +67,7 @@ STAGE_AS_${file:T}= ${${group}NAME_${file:T}}
>  STAGE_DIR.${file:T}= ${STAGE_OBJTOP}${${group}DIR_${file:T}}
>  stage_as.${file:T}: ${file}
>  
> -installfiles-${group}: _${group}INS_${file:T}
> +installfiles-${group}: installdirs-${group} _${group}INS_${file:T}
>  _${group}INS_${file:T}: ${file}
>  	${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN_${.ALLSRC:T}} \
>  	    -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
> @@ -77,10 +77,24 @@ _${group}INS_${file:T}: ${file}
>  _${group}FILES+= ${file}
>  .endif
>  .endfor
> +
> +
> +installdirs-${group}:
> +	@echo installing dirs ${group}DIR ${${group}DIR}
> +.for dir in ${${group}DIR}
> +.if defined(NO_ROOT)
> +	${INSTALL} ${${group}TAG_ARGS} -d ${DESTDIR}${dir}
> +.else
> +	${INSTALL} ${${group}TAG_ARGS} -d -o ${DIROWN} -g ${DIRGRP} \
> +		-m ${DIRMODE} ${DESTDIR}${dir}

I missed this before but the OWN/GRP/MODE usage needs to be per group
just like the FILES group ones are above; it needs to be able to modify
the permissions per group rather than only using the globals.

> +.endif
> +.endfor
> +
> +
>  .if !empty(_${group}FILES)
>  stage_files.${group}: ${_${group}FILES}
>  
> -installfiles-${group}: _${group}INS
> +installfiles-${group}: installdirs-${group} _${group}INS
>  _${group}INS: ${_${group}FILES}
>  .if defined(${group}NAME)
>  	${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN} -g ${${group}GRP} \
> 
> Modified: head/share/mk/bsd.own.mk
> ==============================================================================
> --- head/share/mk/bsd.own.mk	Wed May  9 12:25:23 2018	(r333406)
> +++ head/share/mk/bsd.own.mk	Wed May  9 13:44:54 2018	(r333407)
> @@ -75,6 +75,13 @@
>  # CONFMODE	Configuration file mode. [644]
>  #
>  #
> +# DIROWN	Directory owner. [root]
> +#
> +# DIRGRP	Directory group. [wheel]
> +#
> +# DIRMODE	Directory mode. [755]
> +#
> +#
>  # DOCDIR	Base path for system documentation (e.g. PSD, USD,
>  #		handbook, FAQ etc.). [${SHAREDIR}/doc]
>  #
> @@ -185,6 +192,10 @@ MANDIR?=	${SHAREDIR}/man/man
>  MANOWN?=	${SHAREOWN}
>  MANGRP?=	${SHAREGRP}
>  MANMODE?=	${NOBINMODE}
> +
> +DIROWN?=	root
> +DIRGRP?=	wheel
> +DIRMODE?=	755
>  
>  DOCDIR?=	${SHAREDIR}/doc
>  DOCOWN?=	${SHAREOWN}
> 


-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20180525/5d34db07/attachment.sig>


More information about the svn-src-head mailing list