* extra/dh_bash-completion:
- updated to support a list of files in debian/<package>.bash-completion (Closes: #512917)
This commit is contained in:
parent
6a2ff139a0
commit
34ff7bfe8c
5
debian/changelog
vendored
5
debian/changelog
vendored
@ -79,6 +79,9 @@ bash-completion (200811xx) UNRELEASED; urgency=low
|
|||||||
- added Vcs-* fields
|
- added Vcs-* fields
|
||||||
* debian/install:
|
* debian/install:
|
||||||
- correctly install contrib/* under /etc/bash_completion.d/
|
- correctly install contrib/* under /etc/bash_completion.d/
|
||||||
|
* extra/dh_bash-completion:
|
||||||
|
- updated to support a list of files in debian/<package>.bash-completion
|
||||||
|
(Closes: #512917)
|
||||||
|
|
||||||
[ Ville Skyttä ]
|
[ Ville Skyttä ]
|
||||||
* Added JPEG 2000 files to display completion, thanks to Bastien Nocera
|
* Added JPEG 2000 files to display completion, thanks to Bastien Nocera
|
||||||
@ -103,7 +106,7 @@ bash-completion (200811xx) UNRELEASED; urgency=low
|
|||||||
* Remove duplicate cpio completion, thanks to Freddy Vulto (Closes: #512823)
|
* Remove duplicate cpio completion, thanks to Freddy Vulto (Closes: #512823)
|
||||||
* Fix awk error in "modprobe -r /" completion (Closes: #512556).
|
* Fix awk error in "modprobe -r /" completion (Closes: #512556).
|
||||||
|
|
||||||
-- David Paleino <d.paleino@gmail.com> Sat, 17 Jan 2009 19:01:16 +0100
|
-- David Paleino <d.paleino@gmail.com> Thu, 29 Jan 2009 14:49:19 +0100
|
||||||
|
|
||||||
bash-completion (20080705) unstable; urgency=low
|
bash-completion (20080705) unstable; urgency=low
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ dh_bash-completion - install bash completions for package
|
|||||||
=cut
|
=cut
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use File::Find;
|
||||||
use Debian::Debhelper::Dh_Lib;
|
use Debian::Debhelper::Dh_Lib;
|
||||||
|
|
||||||
=head1 SYNOPSIS
|
=head1 SYNOPSIS
|
||||||
@ -18,15 +19,25 @@ B<dh_bash-completion> [S<I<debhelper options>>]
|
|||||||
dh_bash-completion is a debhelper program that is responsible for installing
|
dh_bash-completion is a debhelper program that is responsible for installing
|
||||||
completions for bash, usable installing the "bash-completion" package.
|
completions for bash, usable installing the "bash-completion" package.
|
||||||
|
|
||||||
If a file named debian/package.bash-completion exists, then it is
|
If a file named debian/package.bash-completion exists, then different actions
|
||||||
installed into etc/bash_completion.d in the package build directory.
|
are performed, depending on its format.
|
||||||
This file is used to provide the user with proper completion for available
|
|
||||||
commands.
|
It can be a proper completion snippet, and in that case it would be installed
|
||||||
|
in the completion directory, and no other actions would be performed.
|
||||||
|
|
||||||
|
It can also be a list of files, with an optionally specified name to call the
|
||||||
|
completion snippet after. The file format is as follows:
|
||||||
|
|
||||||
|
my/path/to/foo-completion # this would be installed as "foo-completion"
|
||||||
|
my/path/to/bar-completion baz # this would be installed as "baz"
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
init();
|
init();
|
||||||
|
|
||||||
|
my $srcdir = '.';
|
||||||
|
$srcdir = $dh{SOURCEDIR}."/" if defined $dh{SOURCEDIR};
|
||||||
|
|
||||||
foreach my $package (@{$dh{DOPACKAGES}}) {
|
foreach my $package (@{$dh{DOPACKAGES}}) {
|
||||||
next if is_udeb($package);
|
next if is_udeb($package);
|
||||||
|
|
||||||
@ -34,11 +45,57 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
|
|||||||
my $bc_dir = "$tmp/etc/bash_completion.d";
|
my $bc_dir = "$tmp/etc/bash_completion.d";
|
||||||
my $completions = pkgfile($package,"bash-completion");
|
my $completions = pkgfile($package,"bash-completion");
|
||||||
|
|
||||||
if ($completions ne '') {
|
my @install;
|
||||||
|
my $name;
|
||||||
|
|
||||||
|
if ($completions) {
|
||||||
if (! -d "$bc_dir") {
|
if (! -d "$bc_dir") {
|
||||||
doit("install", "-d", "$bc_dir");
|
doit("install", "-d", "$bc_dir");
|
||||||
|
}
|
||||||
|
|
||||||
|
# try parsing a list of files
|
||||||
|
@install = filedoublearray($completions);
|
||||||
|
foreach my $set (@install) {
|
||||||
|
my @filelist;
|
||||||
|
my @tmp = @$set;
|
||||||
|
if (@$set > 1) {
|
||||||
|
$name = pop @$set;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$name = basename($tmp[0]);
|
||||||
|
}
|
||||||
|
verbose_print "installing $tmp[0] as $name";
|
||||||
|
|
||||||
|
my @found;
|
||||||
|
foreach my $glob (@$set) {
|
||||||
|
@found = glob "$srcdir/$glob";
|
||||||
|
if (!compat(6)) {
|
||||||
|
# Fall back to looking into debian/tmp
|
||||||
|
if (!@found || !-e $found[0]) {
|
||||||
|
@found = glob "debian/tmp/$glob";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!@found || !-e $found[0]) {
|
||||||
|
warning "file-list parsing failed, installing as proper snippet";
|
||||||
|
|
||||||
|
doit("install", "-p", "-m644", $completions, "$bc_dir/$package");
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
push @filelist, @found;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! compat(4)) { # check added in v5
|
||||||
|
# glob now, relative to srcdir
|
||||||
|
if (!@filelist) {
|
||||||
|
error("$package missing files (@$set), aborting");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach my $src (@filelist) {
|
||||||
|
doit("install", "-p", $src, "$bc_dir/$name");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
doit("install", "-p", "-m644", $completions, "$bc_dir/$package");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,15 +1,7 @@
|
|||||||
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
|
.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
|
||||||
.\"
|
.\"
|
||||||
.\" Standard preamble:
|
.\" Standard preamble:
|
||||||
.\" ========================================================================
|
.\" ========================================================================
|
||||||
.de Sh \" Subsection heading
|
|
||||||
.br
|
|
||||||
.if t .Sp
|
|
||||||
.ne 5
|
|
||||||
.PP
|
|
||||||
\fB\\$1\fR
|
|
||||||
.PP
|
|
||||||
..
|
|
||||||
.de Sp \" Vertical space (when we can't use .PP)
|
.de Sp \" Vertical space (when we can't use .PP)
|
||||||
.if t .sp .5v
|
.if t .sp .5v
|
||||||
.if n .sp
|
.if n .sp
|
||||||
@ -53,7 +45,7 @@
|
|||||||
.el .ds Aq '
|
.el .ds Aq '
|
||||||
.\"
|
.\"
|
||||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||||
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
|
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||||
.\" output yourself in some meaningful fashion.
|
.\" output yourself in some meaningful fashion.
|
||||||
.ie \nF \{\
|
.ie \nF \{\
|
||||||
@ -132,7 +124,7 @@
|
|||||||
.\" ========================================================================
|
.\" ========================================================================
|
||||||
.\"
|
.\"
|
||||||
.IX Title "DH_BASH-COMPLETION 1"
|
.IX Title "DH_BASH-COMPLETION 1"
|
||||||
.TH DH_BASH-COMPLETION 1 "2008-06-22" "20080617.1" "Bash-Completion Debhelper"
|
.TH DH_BASH-COMPLETION 1 "2009-01-29" "200811xx" "Bash-Completion Debhelper"
|
||||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||||
.\" way too many mistakes in technical documents.
|
.\" way too many mistakes in technical documents.
|
||||||
.if n .ad l
|
.if n .ad l
|
||||||
@ -147,10 +139,19 @@ dh_bash\-completion \- install bash completions for package
|
|||||||
dh_bash\-completion is a debhelper program that is responsible for installing
|
dh_bash\-completion is a debhelper program that is responsible for installing
|
||||||
completions for bash, usable installing the \*(L"bash-completion\*(R" package.
|
completions for bash, usable installing the \*(L"bash-completion\*(R" package.
|
||||||
.PP
|
.PP
|
||||||
If a file named debian/package.bash\-completion exists, then it is
|
If a file named debian/package.bash\-completion exists, then different actions
|
||||||
installed into etc/bash_completion.d in the package build directory.
|
are performed, depending on its format.
|
||||||
This file is used to provide the user with proper completion for available
|
.PP
|
||||||
commands.
|
It can be a proper completion snippet, and in that case it would be installed
|
||||||
|
in the completion directory, and no other actions would be performed.
|
||||||
|
.PP
|
||||||
|
It can also be a list of files, with an optionally specified name to call the
|
||||||
|
completion snippet after. The file format is as follows:
|
||||||
|
.PP
|
||||||
|
.Vb 2
|
||||||
|
\& my/path/to/foo\-completion # this would be installed as "foo\-completion"
|
||||||
|
\& my/path/to/bar\-completion baz # this would be installed as "baz"
|
||||||
|
.Ve
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.IX Header "SEE ALSO"
|
.IX Header "SEE ALSO"
|
||||||
\&\fIdebhelper\fR\|(1)
|
\&\fIdebhelper\fR\|(1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user