The lib/*/obj/.depend files end up having permissions 600 since they are
created as tempfiles and then moved to the obj directory. I think that
there is no deeper reason for such restrictive permissions and it gets
in the way of having a dedicated build user.
If we copy the files and then remove the originals, the permissions of
the .depend fiels are subject to the file creation rules, so they honor
permissions of the obj directories and the umask.
ok?
Index: lib/csu/Makefile
===================================================================
RCS file: /var/cvs/src/lib/csu/Makefile,v
retrieving revision 1.24
diff -u -p -r1.24 Makefile
--- lib/csu/Makefile 15 Oct 2016 13:00:07 -0000 1.24
+++ lib/csu/Makefile 6 Nov 2016 11:27:23 -0000
@@ -85,9 +85,8 @@ afterdepend: .depend
@TMP=`mktemp .dependXXXXXXXXXX` || exit 1; \
if sed -e 's/^\([^\.]*\).o[ ]*:/\1.o g\1.o r\1.o:/' \
< .depend > $$TMP; then \
- mv $$TMP .depend; \
- else \
- rm -f $$TMP; \
- fi
+ cp $$TMP .depend; \
+ fi; \
+ rm -f $$TMP
.include <bsd.prog.mk>
Index: share/mk/bsd.lib.mk
===================================================================
RCS file: /var/cvs/src/share/mk/bsd.lib.mk,v
retrieving revision 1.78
diff -u -p -r1.78 bsd.lib.mk
--- share/mk/bsd.lib.mk 15 Oct 2016 13:00:07 -0000 1.78
+++ share/mk/bsd.lib.mk 6 Nov 2016 11:18:12 -0000
@@ -230,10 +230,9 @@ afterdepend: .depend
@TMP=`mktemp .dependXXXXXXXXXX` || exit 1; \
if sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so \1.do:/' \
< .depend > $$TMP; then \
- mv $$TMP .depend; \
- else \
- rm -f $$TMP; \
- fi
+ cp $$TMP .depend; \
+ fi ; \
+ rm -f $$TMP
.endif
.if !target(install)