This patch restructures the Koha packaging to support both systemd and SysV init systems through a clean separation of concerns. Package hierarchy: - koha-core: Core application files (no init system) - koha-systemd: Native systemd units (Provides: koha-init) - koha-sysv: SysV init scripts (Provides: koha-init, Conflicts: koha-systemd) - koha-common: Metapackage (Depends: koha-core, koha-systemd | koha-sysv) Changes: - koha-core: Removed 'daemon' dependency, updated description to clarify it provides core files without init system - koha-systemd: Now depends on koha-core instead of koha-common, provides koha-init virtual package - koha-sysv: Now depends on koha-core instead of koha-common, provides koha-init virtual package - koha-common: Converted to metapackage that depends on koha-core and prefers koha-systemd on systemd-based systems - Removed koha-common.install (files now installed by koha-core) - Simplified koha-common.postinst (metapackage has minimal logic) Benefits: - Clean separation between core application and init system - Users can explicitly choose their init system - KTD can use koha-sysv without systemd - Modern systems get native systemd by default - Conflicts prevent both init systems being active simultaneously Test plan: 1. Build packages 2. Install koha-common on a systemd system, verify koha-systemd is pulled in 3. Try installing both koha-systemd and koha-sysv, verify conflict 4. Install koha-core + koha-sysv explicitly, verify it works Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk> Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk> |
||
|---|---|---|
| .. | ||
| docs | ||
| scripts | ||
| source | ||
| systemd | ||
| templates | ||
| README.build | ||
| bd-to-depends | ||
| build-git-snapshot | ||
| changelog | ||
| clean | ||
| compat | ||
| control | ||
| control.in | ||
| copyright | ||
| koha-common.README.Debian | ||
| koha-common.bash-completion | ||
| koha-common.config | ||
| koha-common.cron.d | ||
| koha-common.cron.daily | ||
| koha-common.cron.hourly | ||
| koha-common.cron.monthly | ||
| koha-common.default | ||
| koha-common.dirs | ||
| koha-common.docs | ||
| koha-common.init | ||
| koha-common.links | ||
| koha-common.logrotate | ||
| koha-common.postinst | ||
| koha-common.preinst | ||
| koha-common.service | ||
| koha-common.templates | ||
| koha-core.bash-completion | ||
| koha-core.config | ||
| koha-core.default | ||
| koha-core.dirs | ||
| koha-core.docs | ||
| koha-core.init | ||
| koha-core.install | ||
| koha-core.links | ||
| koha-core.logrotate | ||
| koha-core.postinst | ||
| koha-core.preinst | ||
| koha-core.templates | ||
| koha-full.postinst | ||
| koha-post-install-setup | ||
| koha-systemd.README.Debian | ||
| koha-systemd.dirs | ||
| koha-systemd.install | ||
| koha-systemd.postinst | ||
| koha-systemd.prerm | ||
| koha-sysv.install | ||
| koha-sysv.postinst | ||
| koha-sysv.postrm | ||
| koha-sysv.prerm | ||
| koha.README.Debian | ||
| koha.apache-ports | ||
| koha.config | ||
| koha.dirs | ||
| koha.install | ||
| koha.postinst | ||
| koha.postrm | ||
| koha.prerm | ||
| list-deps | ||
| rules | ||
| unavailable.html | ||
| update-control | ||
README.build
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.