Package: stow
Version: 2.3.1-1
Severity: normal
Tags: upstream

Dear Maintainer,

I wanted to test out the --dotfiles option after reading about it in the stow
patch notes, so I renamed the top directory in my 'beets' package from
'.config' to 'dot-config'.
I ran the command 'stow -t ~ --dotfiles beets' under my user in the directory
in which the beets package is located (~/Documents/Configurations/).
The output was 'stow: ERROR: stow_contents() called with non-directory path:
Documents/Configurations/beets/.config'.
Note: the '~/.config' directory existed prior to this test.
The output with -v 5:

stow dir is /home/daniel/Documents/Configurations
stow dir path relative to target /home/daniel is Documents/Configurations
cwd now /home/daniel
cwd restored to /home/daniel/Documents/Configurations
cwd now /home/daniel
Planning stow of package beets...
. not protected
Stowing contents of Documents/Configurations/beets (cwd=/home/daniel)
  => Documents/Configurations/beets
  is_a_node(.)
  link_task_action(.): no task
  dir_task_action(.): no task
    parent_link_scheduled_for_removal(.): prefix
    parent_link_scheduled_for_removal(.): returning false
  is_a_node(.): really exists
  Documents/Configurations/beets/.stow-local-ignore didn't exist
  /home/daniel/.stow-global-ignore didn't exist
  Using built-in ignore list
    Ignore list regexp for paths:
/(?^:(^|/)(^/README.*|^/COPYING|^/LICENSE.*|^/\.stow\-local\-ignore$)(/|$))/
    Ignore list regexp for segments:
/(?^:^(\.svn|\.git|.+,v|.+~|CVS|\.cvsignore|\.hg|\.gitignore|\.#.+|RCS|_darcs|#.*#)$)/
  Not ignoring dot-config
  Adjusting: dot-config => .config
Stowing Documents/Configurations / beets / .config
  => Documents/Configurations/beets/dot-config
  is_a_link(.config)
  link_task_action(.config): no task
  is_a_link(.config): returning 0
  is_a_node(.config)
  link_task_action(.config): no task
  dir_task_action(.config): no task
    parent_link_scheduled_for_removal(.config): prefix .config
    parent_link_scheduled_for_removal(.config): returning false
  is_a_node(.config): really exists
  Evaluate existing node: .config
  is_a_dir(.config)
  dir_task_action(.config): no task
    parent_link_scheduled_for_removal(.config): prefix .config
    parent_link_scheduled_for_removal(.config): returning false
  is_a_dir(.config): real dir
.config not protected
Stowing contents of Documents/Configurations/beets/.config (cwd=/home/daniel)
  => ../Documents/Configurations/beets/dot-config
stow: ERROR: stow_contents() called with non-directory path:
Documents/Configurations/beets/.config

I checked the ~/.config/beets directory and found out it was a broken symlink
pointing to '~/Documents/Configurations/beets/.config/beets' instead of
'~/Documents/Configurations/beets/dot-config/beets'.
I decided to test if the --dotfiles options is broken in general or just for
this specific case so I renamed the 'dot-config' directory to 'dot-config-
test'.
Running the original command in this case was successful, creating a symlink
'~/.config-test' to '~/Documents/Configurations/beets/dot-config-test' as
expected.

I hope I provided all the required information, this is my first time reporting
a bug for a Debian package.



-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-3-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_IL, LC_CTYPE=en_IL (charmap=UTF-8), LANGUAGE=en_IL:en 
(charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages stow depends on:
ii  perl  5.30.0-5

stow recommends no packages.

Versions of packages stow suggests:
pn  doc-base  <none>

-- no debconf information

Reply via email to