diff --git a/app-misc/openhab-bin/Manifest b/app-misc/openhab-bin/Manifest index d090b7ae00563..b62e7d4045d90 100644 --- a/app-misc/openhab-bin/Manifest +++ b/app-misc/openhab-bin/Manifest @@ -1,3 +1,4 @@ DIST openhab-4.3.3.tar.gz 111159608 BLAKE2B c8408039a1696e94e8049b3da7fb9813b0cbccacf80286fd7450290acb409edfadb7fbd289c3792b4ebbf104fef4e9233651db7e3b22d62f0bcb0952e71d10f3 SHA512 fbe7e1e077d3c63c3a03d73b74887c7375caa29ff20d7c385c3eef8c2874f213398a4046482e34b1a69a0440cce6cfb6f1fc047b705348ad0506e11004ff376c DIST openhab-4.3.4.tar.gz 111168408 BLAKE2B 240610f53b60bef369ae8d7d25e9e693839f54011c81461145a923509b408eeef65410d05744d714da86569b1700403575b453cf03e01dcd18bfd8a93d5fb3e3 SHA512 859774f875321a3ad920f27feedaf209d1dc1307a6f43f27643c155445d702595736fdbd0b68fbce96f9d9bb421cf48d18b71c5de5c813cc4246cbd9a17d0e60 +DIST openhab-4.3.5.tar.gz 111171501 BLAKE2B db9e1d4ee0643309841115cf6ac20ec8e44467f5f677c99ac1e5d41c660095f035fc3e8e9d0cbc1a8e91824244339fb99a919027c95656578797cc675567a779 SHA512 a422b2b272019b96c01e1c0f35262e7d39931465752edf4aa17c4c1ed0ab9c81b73fb51f725bbc91bb3936f898fbd3947965898a110975fd4c812bd4e836dbcd DIST openhab-cli-2024-01-14 8633 BLAKE2B 0b0999abcb884b779087b92f9f3e08fee3662753692392fbb30d218d0fc25fd1fca613c32b8193a3365764c55ac3525f8369aeea4edbf61223cd0219209c4cbf SHA512 bf24ae776d4362e8a60a0c71cb025834e5f645a24377a87484477f544026f2fdd996a1781f1082e62197fce33a9dadb5972df22ce3e4cd9f73d3088ec5bc0a98 diff --git a/app-misc/openhab-bin/openhab-bin-4.3.5.ebuild b/app-misc/openhab-bin/openhab-bin-4.3.5.ebuild new file mode 100644 index 0000000000000..d03408ef3a297 --- /dev/null +++ b/app-misc/openhab-bin/openhab-bin-4.3.5.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo systemd tmpfiles + +MY_PN=${PN%-bin} +MY_P=${MY_PN}-${PV} +MY_CLI_VER=2024-01-14 + +DESCRIPTION="An open-source automation software for your home" +HOMEPAGE="https://www.openhab.org/" +SRC_URI=" + https://github.com/openhab/openhab-distro/releases/download/${PV}/${MY_P}.tar.gz + https://raw.githubusercontent.com/openhab/openhab-linuxpkg/10061acd36524afb12a033fea6dcf142b399bf56/resources/usr/bin/openhab-cli + -> openhab-cli-${MY_CLI_VER} +" + +S="${WORKDIR}" +LICENSE="EPL-2.0" +SLOT="0" + +KEYWORDS="~amd64 ~arm64" + +MY_JAVA_DEPEND=">=virtual/jre-17" + +# app-arch/zip: used by "openhab-cli backup" +RDEPEND=" + ${MY_JAVA_DEPEND} + acct-user/openhab + app-arch/zip + dev-java/java-config +" + +BDEPEND="app-arch/unzip" + +src_compile() { + : +} + +src_install() { + # We use move here to preserve the executable bit on the files under + # openhab/runtime/bin. + domove() { + local source="${1}" + local target="${2}" + + local dest="${ED}/${target}" + + mkdir -p "${dest}" || die "Failed to create ${dest}" + mv "${source}"/* "${dest}" || die "Failed to move" + } + + domove runtime /usr/share/openhab/runtime + domove conf /etc/openhab + + domove userdata /var/lib/openhab + fowners -R openhab:openhab /var/lib/openhab + + local dirs=( + /usr/share/openhab/addons + /var/log/openhab + ) + local d + for d in "${dirs[@]}"; do + keepdir "${d}" + fowners openhab:openhab "${d}" + done + + newenvd "${FILESDIR}"/openhab.env 50openhab + + systemd_dounit "${FILESDIR}"/openhab.service + newtmpfiles "${FILESDIR}"/openhab.tmpfiles openhab.conf + + newbin - openhab <&2 echo "Could not find Java VM for ${MY_JAVA_DEPEND}" + exit 1 + fi + + if ! JAVA_HOME_ASSIGNMENT=\$(java-config -P \${GENTOO_JAVA_VM} | grep JAVA_HOME); then + >&2 echo "Could not retrieve JAVA_HOME of \${GENTOO_JAVA_VM}" + exit 1 + fi + + eval \${JAVA_HOME_ASSIGNMENT} +fi + +export JAVA_HOME +exec /usr/share/openhab/runtime/bin/karaf "\$@" +EOF + newbin "${DISTDIR}"/openhab-cli-${MY_CLI_VER} openhab-cli + + newinitd "${FILESDIR}"/openhab.initd openhab +} + +pkg_postinst() { + tmpfiles_process openhab.conf + + if [[ -z ${REPLACING_VERSIONS} && -z ${OPENHAB_POSTINST_UPDATE} ]]; then + return + fi + + if [[ -d "${EROOT}"/run/systemd/system ]]; then + if systemctl is-active --quiet openhab; then + local openhab_service_active=1 + einfo "Restarting OpenHAB service due to version update" + edob systemctl daemon-reload + edob systemctl stop openhab + fi + + echo y | edob -m "Cleaning OpenHAB cache" \ + openhab-cli clean-cache + assert "Failed to clean OpenHAB cache" + + if [[ -v openhab_service_active ]]; then + edob systemctl start openhab + fi + elif [[ -d /run/openrc ]]; then + einfo "Follow these steps to complete the update of OpenHAB:" + einfo + einfo "1. Stop the OpenHAB's service" + einfo "$ rc-service openhab stop" + einfo "2. Clean OpenHAB's cache" + einfo "$ openahb-cli clean-cache" + einfo "3. Restart OpenHAB's service" + einfo "$ rc-service openhab start" + fi +}