On Wed, Feb 20, 2019 at 01:22:25PM +0000, Ian Abbott wrote:
> On 20/02/2019 13:17, Ian Abbott wrote:
> > On 20/02/2019 00:59, Jon Ringle wrote:
> > > I've got a strange permission problem when I build on our build
> > > server that was recently updated from Ubuntu-14.04 to Ubuntu-16.04.
> > > 
> > > On our Ubuntu-16.04 server, on most of the platform/packages/
> > > subdirectories the packages are getting created with other having no
> > > permissions at all:
> > > 
> > > rootfs/platform-ec1c/packages$ tree -d -L 1 -p
> > > .
> > > ├── [drwxr-x---]  attr-2.4.47
> > > ├── [drwxr-x---]  avahi-0.7
> > > ├── [drwxr-x---]  bash-4.3.30
> > > ├── [drwxr-x---]  boost_1_67_0
> > > ├── [drwxr-x---]  busybox-1.29.3
> > > ├── [drwxr-x---]  coreutils-8.29
> > > ...
> > > 
> > > This results in all files contained within those directories to also
> > > have no perms for other,

This makes no sense. I can see that (with umask 0027) the directories may
have this mode because we create them with 'mkdir' in
ptxd_make_world_install_prepare() and no mode is set.

But the files should have the correct permissions. E.g. 'attr' installs all
files with explicitly specified modes, so that should be independent of the
umask.

> > > and get installed on my target in the same
> > > way. This in turn then causes permission problems to occur.
> > > 
> > > I'm at a loss as to what to look for to resolve this problem.
> > > 
> > > Suggestions?
> > 
> > I think you are building with umask 0027, so files are created with no
> > permissions for 'other' users.  This should not affect the contents of
> > the platform-ec1c/packages/*.ipk files, or the contents of the
> > platform-ec1c/root/ directory, or the contents of the
> > platform-ec1c/images/root.* images, which should all contain files with
> > the correct permissions for the target.

We explicitly set the mode in install_copy, so for the most part it should
be correct regardless of the permissions in packages/. The exceptions are
install_tree, install_glob, etc. Here we pick the mode from the source
file. So there may be some issues with directory permissions.

> Correction: The platform-ec1c/root/ directory contents do not have the
> correct ownership for the target, but the file mode bits should be correct.

For the most part. We also skip any suid bits because they don't make sense
without the ownership.

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to