myDSL Extensions (deprecated) :: dir permissions bug?
Just noticed this a little while ago...maybe it's an oversight or maybe intentional...
If you create a DSL extension which includes files placed into $HOME, there's a possibility of creating directories with root ownership even when using the --no-recursion --numeric-owner options. For example, I'd made a backup.tar.gz file which included the following:
home/dsl/.mc/ext
home/dsl/.mc/ini
home/dsl/.mc/menu
After installation, I could not use mc as a regular user. The application needed to write a new file to /home/dsl/.mc/, which it couldn't do because even though the contents of that directory were owned by dsl the actual directory was owned by root. In order to avoid this I needed to include the .mc directory in the archive:
home/dsl/.mc
home/dsl/.mc/ext
home/dsl/.mc/ini
home/dsl/.mc/menu
If a directory doesn't already exist, it will be created during installation by the copying of the files within the directory. This I knew. What I didn't know is that apparently the directory is created with root ownership regardless of its location or contents.
Perhaps the mydsl-install script needs an additional chown function to keep this from occurring. I don't see anything in tar which will prevent this behavior.
In the meantime, I'll be including non-existent /home/dsl/* directories in the package when necessary.
original here.