Koha/debian
Tomas Cohen Arazi 79fe1a6ab9 Bug 28364: Make log4perl.conf belong to the instance user
This patch makes koha-create generate the log4perl.conf file for the
instance, belonging to the instance user. This is done in order to have
the z3950 responder work.

My original idea was to make the responder accept a '-g' parameter but
that is not supported by Net::Z3950::Responder. Also, as the library
insists on handling the PID file on its own, it wont' work to handle the
responsability to start-stop-daemon. The only solution I found was
making the fiel be owned by the instance user.

1. Create a Koha instance:
   $ koha-create --create-db test
2. Initiate all the things
3. Enable and start the z3950 responder
   $ koha-z3950-responder --enable test
   $ koha-z3950-responder --start test
4. Try doing some search:
   $ yaz-client localhost:2100
=> FAIL: you get:
Connecting...OK.
Sent initrequest.
Target closed connection
Z> quit
See you later, alligator.
=> FAIL: No warning or anything on the logs
5. Stop the daemon
   $ koha-z3950-responder --stop test
6. Run it manually:
   $ PERL5LIB=/usr/share/koha/lib KOHA_CONF=/etc/koha/sites/test/koha-conf.xml \
              /usr/bin/perl /usr/share/koha/bin/z3950_responder.pl \
              -c /etc/koha/sites/test/z3950 -u test-koha \
              -p /var/run/koha/test/z3950-responder.pid -d test-koha-z3950
7. Repeat the 4, on a separate terminal (no daemon mode this time)
=> FAIL: You get:
Cannot open /etc/koha/sites/test/log4perl.conf (Permission denied) at /usr/share/perl5/Log/Log4perl/Config/BaseConfigurator.pm line 51.
8. Change the file owner:
   $ chown test-koha /etc/koha/sites/test/log4perl.conf
9. Repeat 6, and 4
=> SUCCESS: It doesn't break anymore!
10. Apply this patch
11. Create a new instance, with the patched koha-create:
    $ debian/scripts/koha-create --create-db test1
12: Check the generated files permissions:
    $ ls -l /etc/koha/sites/test2
=> SUCCESS: You get:
-rw-r----- 1 root       test2-koha 19720 May 17 13:26 koha-conf.xml
-rw-r----- 1 test2-koha test2-koha  2825 May 17 13:26 log4perl.conf
-rw-r----- 1 root       test2-koha  2014 May 17 13:26 zebra-authorities-dom.cfg
-rw-r----- 1 root       test2-koha  2279 May 17 13:26 zebra-biblios-dom.cfg
-rw-r----- 1 root       test2-koha    26 May 17 13:26 zebra.passwd

13. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-05-27 17:17:30 +02:00
..
docs Bug 27839: (follow-up) Update docs for koha-worker 2021-04-12 15:27:50 +02:00
scripts Bug 28364: Make log4perl.conf belong to the instance user 2021-05-27 17:17:30 +02:00
source
templates Bug 28158: Allow batchMod to run under plack 2021-05-27 14:12:24 +02:00
bd-to-depends
build-git-snapshot Bug 21000: Force case sensitivity on Getopt::Long 2019-07-15 11:27:57 +01:00
changelog
compat
control Bug 16067: Remove FastMmap 2020-12-04 15:40:58 +01:00
control.in Bug 26672: Add 'experimental' info to koha-core and koha-full descriptions 2020-11-27 13:24:12 +01:00
copyright Bug 24545: Fix license statements 2020-02-24 13:31:26 +00:00
koha-common.bash-completion Bug 27839: Add tab-completion in bash for koha-worker 2021-04-12 15:27:50 +02:00
koha-common.config
koha-common.cron.d
koha-common.cron.daily Bug 23207: (QA follow-up) Add to cron files 2021-04-22 11:11:05 +02:00
koha-common.cron.hourly Bug 23207: Add automatic checkin feature 2021-04-22 11:11:05 +02:00
koha-common.cron.monthly
koha-common.default
koha-common.dirs
koha-common.docs Bug 21626: (QA follow-up) Embed teams.yaml for debian packages 2019-05-17 14:46:10 +00:00
koha-common.init Bug 22417: Add debian script koha-worker 2020-10-05 15:22:44 +02:00
koha-common.install Bug 20410: Remove OpacGroupResults and PazPar2 2021-02-08 16:12:42 +01:00
koha-common.links Bug 22238: Remove koha-*-sip scripts in favor of koha-sip 2019-02-11 18:30:10 +00:00
koha-common.logrotate
koha-common.postinst Bug 14300: Add %P to SIP LogPattern 2021-04-21 15:25:07 +02:00
koha-common.preinst Bug 25485: Remove tiny_mce symlink during pre install of deb package 2020-05-20 09:15:13 +01:00
koha-common.README.Debian
koha-common.templates
koha-core.bash-completion Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.config Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.default Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.dirs Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.docs Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.init Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.install Bug 20410: Remove OpacGroupResults and PazPar2 2021-02-08 16:12:42 +01:00
koha-core.links Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.logrotate Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.postinst Bug 14300: Add %P to SIP LogPattern 2021-04-21 15:25:07 +02:00
koha-core.preinst Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.templates Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-full.postinst Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-post-install-setup
koha.apache-ports
koha.config
koha.dirs
koha.install
koha.postinst
koha.postrm
koha.prerm
koha.README.Debian
list-deps Bug 28302: Update packages to ignore CGI::Compile 0.24 (2) 2021-05-20 17:08:04 +02:00
README.build
rules Bug 26363: Remove tmp file during package build (follow-up) 2021-03-04 08:44:52 +01:00
unavailable.html
update-control

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.