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.