tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: www/serf install permissions fix



"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



Home | Main Index | Thread Index | Old Index