Package Details: vdo 6.2.3.114-1

Git Clone URL: https://aur.archlinux.org/vdo.git (read-only, click to copy)
Package Base: vdo
Description: Userspace tools for managing VDO volumes
Upstream URL: https://github.com/dm-vdo/vdo
Licenses: GPL2
Submitter: zapp-brannigan
Maintainer: zapp-brannigan
Last Packager: zapp-brannigan
Votes: 4
Popularity: 0.86
First Submitted: 2018-08-19 18:41
Last Updated: 2020-07-31 13:26

Latest Comments

jgottula commented on 2020-04-13 00:41

It looks like this package is installing bash completion files into /bash_completion.d/, rather than into /etc/bash_completion.d/ or /usr/share/bash-completion/completions/ as it ought to do.

I took a peek at the makefiles, and it appears that the install rule in vdo-manager/Makefile calls the install program with a destination directory of $(COMPLETIONINSTALLDIR), which in turn is defined as COMPLETIONINSTALLDIR=$(DESTDIR)$(sysconfdir)/bash_completion.d.

The PKGBUILD currently doesn't supply any sysconfdir= value in the make install invocation, so $(sysconfdir) is the empty string, and so we end up with $(COMPLETIONINSTALLDIR) resolving to /bash_completion.d.

The simplest fix is to add sysconfdir=/etc to the make install invocation. That at least gets the files installed to /etc/bash_completion.d/.

Probably even better would be to add an extra fixup to relocate those files over to /usr/share/bash-completion/completions/, as from my observations that appears to be where completion files from system packages are ideally meant to go. (Similar to how e.g. /usr/lib/udev/rules.d/ is for udev files provided by the system and /etc/udev/rules.d/ is for udev files or overrides created by the user.)