Refactor main application structure; move main logic to __main__.py and add example configuration file

This commit is contained in:
Edgar P. Burkhart 2025-03-09 10:29:23 +01:00
parent d827788da1
commit b46e0dbad1
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
4 changed files with 96 additions and 0 deletions

57
PKGBUILD Normal file
View file

@ -0,0 +1,57 @@
# This is an example PKGBUILD file. Use this as a start to creating your own,
# and remove these comments. For more information, see 'man PKGBUILD'.
# NOTE: Please fill out the license field for your package! If it is unknown,
# then please put 'unknown'.
# The following guidelines are specific to BZR, GIT, HG and SVN packages.
# Other VCS sources are not natively supported by makepkg yet.
# Maintainer: edpibu <git@edgarpierre.fr>
pkgname=hasspy-git
pkgver=2025.3.0
pkgrel=1
pkgdesc="Home assistant utility"
arch=(any)
url="https://git.edgarpierre.fr/edpibu/hasspy"
license=('GPL-3.0-or-later')
groups=()
depends=('python-paho-mqtt')
makedepends=('git' 'uv' 'python-installer') # 'bzr', 'git', 'mercurial' or 'subversion'
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
replaces=()
backup=("/etc/hasspy/config.toml")
options=()
install=
source=('FOLDER::VCS+URL#FRAGMENT')
noextract=()
sha256sums=('SKIP')
# Please refer to the 'USING VCS SOURCES' section of the PKGBUILD man page for
# a description of each element in the source array.
source=("git+https://git.edgarpierre.fr/edpibu/hasspy.git")
pkgver() {
cd "$srcdir/${pkgname%-git}"
# The examples below are not absolute and need to be adapted to each repo. The
# primary goal is to generate version numbers that will increase according to
# pacman's version comparisons with later commits to the repo. The format
# VERSION='VER_NUM.rREV_NUM.HASH', or a relevant subset in case VER_NUM or HASH
# are not available, is recommended.
# Git, no tags available
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cd "$srcdir/${pkgname%-git}"
uv build
}
package() {
cd "$srcdir/${pkgname%-git}"
python -m installer --destdir="${pkgdir}" dist/*.whl
install -Dm644 config.example.toml "${pkgdir}/etc/${pkgname}/config.toml"
}

4
config.example.toml Normal file
View file

@ -0,0 +1,4 @@
host ="homeassistant.local"
port = 1883
username = "hasspy"
password = "password"

35
hasspy.install Normal file
View file

@ -0,0 +1,35 @@
# This is a default template for a post-install scriptlet.
# Uncomment only required functions and remove any functions
# you don't need (and this header).
## arg 1: the new package version
#pre_install() {
# do something here
#}
## arg 1: the new package version
#post_install() {
# do something here
#}
## arg 1: the new package version
## arg 2: the old package version
#pre_upgrade() {
# do something here
#}
## arg 1: the new package version
## arg 2: the old package version
#post_upgrade() {
# do something here
#}
## arg 1: the old package version
#pre_remove() {
# do something here
#}
## arg 1: the old package version
#post_remove() {
# do something here
#}