To make it easier to install Koha for less technical users, there should be a metapackage to install Koha and dependencies like MariaDB, Elasticsearch, RabbitMQ, etc. There is discussion on the listserv about choosing names. When that discussion concludes, we can do the work here to create a metapackage that installs the bare minimum Koha and a metapackage that installs a fully functioning Koha with a minimum number of steps.
There was limited feedback on the listserv, but it seems like people are OK with creating a "koha-core" metapackage (requiring koha-common) and a "koha-full" metapackage (requiring koha-common, mariadb-server, elasticsearch, RabbitMQ, etc).
Created attachment 111673 [details] [review] Bug 26672: Add koha-core and koha-full metapackages
So far I've only included MySQL/MariaDB server and RabbitMQ, since there isn't an out-of-the-box installation option for Elasticsearch (https://wiki.koha-community.org/wiki/Koha_on_Debian#Elasticsearch). Perhaps we should also include a patch here to remove rabbitmq-server from koha-common as well.
Technically, we should move "memcached" from koha-common to koha-full, but I imagine that would take a lot of people by surprise... "koha" should also depend on "koha-full" instead of "koha-common"... While "idzebra-2.0" includes the Zebra server (zebrasrv), it also includes the Zebra zebraidx tool, which we need on the same server as Koha. Depending on the future of Zebra in Koha, we could have a koha-zebra package. I suppose the depth that we take this really depends on how comfortable people are with change...
Actually, maybe koha-core shouldn't be a metapackage for koha-common after all... We can do better than that... This is an opportunity to really decide on what is "core"...
Created attachment 111674 [details] [review] Bug 26672: Make koha-core not rely on koha-common and have koha-full rely on koha-core
Created attachment 113771 [details] [review] Bug 26672: Make koha-core not rely on koha-common and have koha-full rely on koha-core Signed-off-by: Mason James <mtj@kohaaloha.com>
Created attachment 113772 [details] [review] Bug 26672: Add koha-core and koha-full metapackages Signed-off-by: Mason James <mtj@kohaaloha.com>
After chatting with Mason, I think that these patches aren't going to be used and he has other patches in mind?
Created attachment 113974 [details] [review] Bug 26672: Add koha-core and koha-full def to debian/control files
Created attachment 113975 [details] [review] Bug 26672: Add additional koha-core and koha-full files to ./debian
Created attachment 113982 [details] [review] Bug 26672: Remove unrequired default-mysql-* references
Created attachment 113985 [details] [review] Bug 26672: Add additional koha-core and koha-full files to ./debian
Created attachment 113986 [details] [review] Bug 26672: Add koha-core and koha-full definitions to debian/control files
Created attachment 113992 [details] [review] Bug 26672: Add additional koha-core and koha-full files to ./debian Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Created attachment 113993 [details] [review] Bug 26672: Add koha-core and koha-full definitions to debian/control files Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
I like where this is going. And I will move koha-docker into using this as soon as we have this packages on the staging repo!
Pushed to master for 20.11, thanks to everybody involved!
Created attachment 113994 [details] [review] Bug 26672: Add koha-core and koha-full definitions to debian/control files Signed-off-by: Mason James <mtj@kohaaloha.com>
Created attachment 113995 [details] [review] Bug 26672: Remove unrequired default-mysql-* references
(In reply to Mason James from comment #20) > Created attachment 113995 [details] [review] [review] > Bug 26672: Remove unrequired default-mysql-* references Pushed to master!
(In reply to Tomás Cohen Arazi from comment #17) > I like where this is going. And I will move koha-docker into using this as > soon as we have this packages on the staging repo! Yay!
Comment on attachment 113993 [details] [review] Bug 26672: Add koha-core and koha-full definitions to debian/control files Review of attachment 113993 [details] [review]: ----------------------------------------------------------------- ::: debian/control.in @@ +113,5 @@ > + cron-daemon, > + daemon, > + debconf, > + mysql-client | default-mysql-client | virtual-mysql-client, > + perl-doc, perl-doc is just Perl documentation. Perhaps it would be better suited to koha-full as well? @@ +120,5 @@ > + sudo, > + fonts-dejavu | ttf-dejavu, > + unzip, > + xmlstarlet, > + yaz Technically, yaz should be in koha-full rather than koha-core I think, since it's mostly utilities for working with Zebra.
Something we should keep in mind is that many of the "debian" scripts (e.g. koha-create) may not work as expected in koha-core, since they expect dependencies like Apache and Zebra to be installed. But I guess that means the next step is probably to improve those scripts. After all, we're still in the process of weaning off Apache and Zebra, so I suppose it's no surprise that any koha-core installation will probably have Apache and Zebra installed alongside it manually for the time being. It's good to have the koha-core package without those dependencies though.
Created attachment 114004 [details] [review] Bug 26672: Add deps to koha-core, via debian/rules file
(In reply to Mason James from comment #25) > Created attachment 114004 [details] [review] [review] > Bug 26672: Add deps to koha-core, via debian/rules file Pushed to master.
Created attachment 114040 [details] [review] Bug 26672: Add 'experimental' info to koha-core and koha-full descriptions
(In reply to Mason James from comment #27) > Created attachment 114040 [details] [review] [review] > Bug 26672: Add 'experimental' info to koha-core and koha-full descriptions Pushed to master.
Doesn't apply cleanly to 20.05.x, please rebase if needed