Koha/debian
Tomas Cohen Arazi fd0e8ff0ad Bug 10003: bash-completion for koha-list and other scripts
This patch implements bash-completion for the following commands:

 - koha-list
 - koha-enable
 - koha-disable
 - koha-email-enable
 - koha-email-disable
 - koha-enable-sip
 - koha-start-sip
 - koha-restart-sip
 - koha-stop-sip
 - koha-start-zebra
 - koha-stop-zebra
 - koha-restart-zebra

It is implemented in a way that it removes already used or mutually
exclusive parameters (instance names, option switches).
I already have written completion for other (more complex) commands,
but I belive a simpler patch is better to start with.

IMPORTANT: this patch relies on having the koha-list command available
in the path.

To test:
 - Make sure you have bash-completion installed and enabled (IRC might
   help us if you encounter problems).
 - Apply the patch.
Option 1:
 - Pick the debian/koha-common.bash-completion file and do
   $ cp debian/koha-common.bash-completion /etc/bash_completion.d/koha-common
 - Open a new bash shell (I do it opening a new terminal on my Ubuntu box).
 - Type one of the listed commands...
  And repeatedly press <TAB>.
 - Enjoy, and signoff if you belive it is usable. Otherwise report back.
Option 2:
 - run:
   $ . debian/koha-common.bash-completion
 - Type one of the listed commands...
  And repeatedly press <TAB>.
 - Enjoy, and signoff if you belive it is usable. Otherwise report back.

Tests:
- Some koha-list option switches are mutually exclusive, -h should be
  available in any context
- koha-enable should only autocomplete disabled instances
- koha-disable should only autocomplete enabled instances
- koha-email-enable should only autocomplete email-disabled instances
- koha-email-disable should only autocomplete email-enabled instances
- koha-*-zebra scripts should only autocomplete enabled instances.
- koha-*-sip scripts should only autocomplete sip-enabled instances.

Regards
To+

Note: writing bash-completion routines is a bit hacky, I tried to make
it the simplest way I could. Your comments are welcome.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-05-05 16:03:00 +00:00
..
docs Bug 10782 - Add a koha-mysqlcheck script 2014-04-23 12:30:06 +00:00
scripts Bug 10782 - Add a koha-mysqlcheck script 2014-04-23 12:30:06 +00:00
source Switch to native source format. 2010-05-25 07:57:37 -04:00
templates Bug 10942: (follow-up) debconfing the update option 2014-04-24 12:49:32 +00:00
bd-to-depends Add missing build-dependencies (python, python-debian). 2010-06-02 07:14:37 -04:00
build-git-snapshot Bug 11705 - change versioning of build-git-snapshot 2014-03-12 01:49:56 +00:00
changelog Bug 11284: Packaging updates for master branch 2013-11-27 15:37:45 +00:00
compat Replace old, non-functional Debian packaging with a new one. 2010-04-16 00:41:54 -04:00
control Bug 9032: (follow-up) add libemail-valid-perl as a Debian dependency 2014-04-20 22:02:21 +00:00
control.in Bug 8921: make koha-common*.deb depend on cron-daemon 2013-12-30 15:03:42 +00:00
copyright Update FSF address in debian/copyright. 2010-06-02 07:14:43 -04:00
koha-common.bash-completion Bug 10003: bash-completion for koha-list and other scripts 2014-05-05 16:03:00 +00:00
koha-common.config Bug 10942: (follow-up) debconfing the update option 2014-04-24 12:49:32 +00:00
koha-common.cron.d Bug 10379: silence zebra rebuild cron when no instances are enabled 2013-06-26 08:55:23 -07:00
koha-common.cron.daily Bug 9032: (follow-up) restore documented intepretation of virtualshelfshares.sharedate 2014-04-20 22:52:21 +00:00
koha-common.cron.hourly Add koha-foreach, a script to run a command for each Koha instance. 2010-05-25 07:59:45 -04:00
koha-common.default Bug 10942: (follow-up) create a /etc/koha/koha-common.conf 2014-04-24 12:48:36 +00:00
koha-common.dirs Split off koha-common. 2010-05-25 07:58:56 -04:00
koha-common.docs Bug 10802: make Debian package install history.txt 2013-09-16 15:27:16 +00:00
koha-common.init Bug 10624: add 'status' option switch for the packages init script 2013-10-09 04:53:42 +00:00
koha-common.install Bug 10802: make Debian package install history.txt 2013-09-16 15:27:16 +00:00
koha-common.logrotate Split off koha-common. 2010-05-25 07:58:56 -04:00
koha-common.postinst Bug 10942: (QA followup) make warnings to to STDERR 2014-04-24 12:50:54 +00:00
koha-common.README.Debian Bug 5139 - packages now do email and other cron jobs 2010-10-06 08:12:14 -04:00
koha-common.templates Bug 10942: (follow-up) debconfing the update option 2014-04-24 12:49:32 +00:00
koha-post-install-setup Add koha-post-install-setup, a script to be run by sysadmin post-install. 2010-05-25 07:59:19 -04:00
koha.apache-ports Replace old, non-functional Debian packaging with a new one. 2010-04-16 00:41:54 -04:00
koha.config Replace old, non-functional Debian packaging with a new one. 2010-04-16 00:41:54 -04:00
koha.dirs Replace old, non-functional Debian packaging with a new one. 2010-04-16 00:41:54 -04:00
koha.install Bug 7818 : Following, fixing so the packages build Still need to update koha-create to make use of the new file 2012-07-06 11:17:19 +02:00
koha.postinst Bug 4817: Point to README.Debian in koha package description, postinst output. 2010-05-27 05:19:03 -04:00
koha.postrm When purging, remove /var/log/koha. 2010-04-22 06:15:31 -04:00
koha.prerm Replace old, non-functional Debian packaging with a new one. 2010-04-16 00:41:54 -04:00
koha.README.Debian Bug 5550 - correct filename referenced in docs 2011-01-01 07:43:30 +13:00
list-deps Bug 9592 - update dependencies, allow blacklisting 2013-02-15 08:06:51 -05:00
README.build Bug 5602: Changes to account for the version update. 2011-08-04 10:26:39 +12:00
rules Bug 10003: bash-completion for koha-list and other scripts 2014-05-05 16:03:00 +00:00
unavailable.html Add koha-disable, a script to disable a Koha instance. 2010-05-25 07:59:29 -04:00
update-control Add tools to update debian/control's build dependencies. 2010-06-02 07:14:36 -04:00

In order to build .deb packages, following debian packages need to be present
(installed): 
devscripts
pbuilder
dh-make
fakeroot

As root (or sudo) execute:
pbuilder create

Executing build-git-snapshot without any arguments will leave package and the
rest in some pbuilder dir, eg. /var/cache/pbuilder/result It is highly
recommended that --buildresult option is used.