"J. Lewis Muir" <jlmuir%imca-cat.org@localhost> writes: >> If I set my umask to 0 instead of 022, then I do see what you are >> reporting. >> >> Is your umask 0? If you set it to 022, does that resolve things? > > No, my umask is 022. > > I'm building as root in a pkg_comp sandbox: > > # umask > 022 > # cd www/serf > # bmake stage-install > > The above fails for me in the way described. So, I don't understand why > it works for you but not for me. Are you building in a sandbox? Are > you building as a regular user (e.g., pbulk)? I am building as a regular user not in a sandbox. >> It's not immediately clear how pkgsrc should deal with a 0 umask. One >> option would be to notice and error out. Another would be to insist >> that all package build systems refrain from creating files with 022 set. >> But it is pretty clear that I don't want to do any of this during the >> freeze! > > Since my umask is 022, I don't know that this is the problem. > Nevertheless, if the umask can affect a build or install, then it seems > good to either make it so that the umask does not affect those things, > or control the umask so that it affects those things in the desired way. > This seems similar to the pkgsrc wrapper framework where it controls the > visibility of headers and libraries to avoid hidden dependencies and > thus makes builds more reproducible. Valid points. Perhaps you can really figure out what's going on, which may not be quick, and propose a change post-freeze. > I noticed that the header files in the distribution file are > world-writable and that they are world-writable for me after the extract > phase. Could this be a difference? > > === > # bmake extract > # ls -al /pkg_comp/work/pkg/www/serf/work/serf-1.3.9/*.h > -rw-rw-rw- 1 1000 1000 39346 Sep 17 2015 /pkg_comp/work/pkg/www/serf/work/serf-1.3.9/serf.h > -rw-rw-rw- 1 1000 1000 21225 Sep 17 2015 /pkg_comp/work/pkg/www/serf/work/serf-1.3.9/serf_bucket_types.h > -rw-rw-rw- 1 1000 1000 8787 Sep 17 2015 /pkg_comp/work/pkg/www/serf/work/serf-1.3.9/serf_bucket_util.h > -rw-rw-rw- 1 1000 1000 15934 Sep 17 2015 /pkg_comp/work/pkg/www/serf/work/serf-1.3.9/serf_private.h > === I see that too. For some reason people think it's ok to generate distfiles on windos :-) (Really, I have no idea what happened before, but I do remember an issue with odd permissions in distfiles and a decision to avoid running make dist on windows.) But when I do "make extract" I end up with 644. If I set uamsk to 0, they are 666. So I think tar is fixing up the permissions, perhaps because the UID is different. As root, it might not fix permissions, because it can set the owner also. So this is perhaps an extraction issue, more than a umask build issue.
Attachment:
signature.asc
Description: PGP signature