diff options
Diffstat (limited to 'python-sd-notify.spec')
-rw-r--r-- | python-sd-notify.spec | 240 |
1 files changed, 240 insertions, 0 deletions
diff --git a/python-sd-notify.spec b/python-sd-notify.spec new file mode 100644 index 0000000..03ea314 --- /dev/null +++ b/python-sd-notify.spec @@ -0,0 +1,240 @@ +%global _empty_manifest_terminate_build 0 +Name: python-sd-notify +Version: 0.1.0 +Release: 1 +Summary: Simple sd_notify client library for Python 3 +License: MIT License +URL: http://github.com/stigok/sd-notify/ +Source0: https://mirrors.aliyun.com/pypi/web/packages/8f/c4/486fbcc18a768e9b4de682dab28f2d654e9fa9ad902fdc45221275996120/sd-notify-0.1.0.tar.gz +BuildArch: noarch + + +%description +# sd_notify + +Simple sd_notify(3) client functionality implemented in Python 3. + +Usage: +``` +import sd_notify + +notify = sd_notify.Notifier() +if not notify.enabled(): + # Then it's probably not running is systemd with watchdog enabled + raise Exception("Watchdog not enabled") + +# Report a status message +notify.status("Initialising my service...") +time.sleep(3) + +# Report that the program init is complete +notify.ready() +notify.status("Waiting for web requests...") +time.sleep(3) + +# Report an error to the service manager +notify.notify_error("An irrecoverable error occured!") +# The service manager will probably kill the program here +time.sleep(3) +``` + +Author: stig@stigok.com Dec 2019 + +## Reference +### `<class 'sd_notify.Notifier'>` +#### `_send(msg)` +Send string `msg` as bytes on the notification socket + +#### `enabled()` +Return a boolean stating whether watchdog is enabled + +#### `notify()` +Report a healthy service state + +#### `notify_error(msg=None)` +Report a watchdog error. This program will likely be killed by the +service manager. + +If `msg` is not None, it will be reported as an error message to the +service manager. + +#### `ready()` +Report ready service state, i.e. completed initialisation + +#### `status(msg)` +Set a service status message + + + + + +%package -n python3-sd-notify +Summary: Simple sd_notify client library for Python 3 +Provides: python-sd-notify +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-sd-notify +# sd_notify + +Simple sd_notify(3) client functionality implemented in Python 3. + +Usage: +``` +import sd_notify + +notify = sd_notify.Notifier() +if not notify.enabled(): + # Then it's probably not running is systemd with watchdog enabled + raise Exception("Watchdog not enabled") + +# Report a status message +notify.status("Initialising my service...") +time.sleep(3) + +# Report that the program init is complete +notify.ready() +notify.status("Waiting for web requests...") +time.sleep(3) + +# Report an error to the service manager +notify.notify_error("An irrecoverable error occured!") +# The service manager will probably kill the program here +time.sleep(3) +``` + +Author: stig@stigok.com Dec 2019 + +## Reference +### `<class 'sd_notify.Notifier'>` +#### `_send(msg)` +Send string `msg` as bytes on the notification socket + +#### `enabled()` +Return a boolean stating whether watchdog is enabled + +#### `notify()` +Report a healthy service state + +#### `notify_error(msg=None)` +Report a watchdog error. This program will likely be killed by the +service manager. + +If `msg` is not None, it will be reported as an error message to the +service manager. + +#### `ready()` +Report ready service state, i.e. completed initialisation + +#### `status(msg)` +Set a service status message + + + + + +%package help +Summary: Development documents and examples for sd-notify +Provides: python3-sd-notify-doc +%description help +# sd_notify + +Simple sd_notify(3) client functionality implemented in Python 3. + +Usage: +``` +import sd_notify + +notify = sd_notify.Notifier() +if not notify.enabled(): + # Then it's probably not running is systemd with watchdog enabled + raise Exception("Watchdog not enabled") + +# Report a status message +notify.status("Initialising my service...") +time.sleep(3) + +# Report that the program init is complete +notify.ready() +notify.status("Waiting for web requests...") +time.sleep(3) + +# Report an error to the service manager +notify.notify_error("An irrecoverable error occured!") +# The service manager will probably kill the program here +time.sleep(3) +``` + +Author: stig@stigok.com Dec 2019 + +## Reference +### `<class 'sd_notify.Notifier'>` +#### `_send(msg)` +Send string `msg` as bytes on the notification socket + +#### `enabled()` +Return a boolean stating whether watchdog is enabled + +#### `notify()` +Report a healthy service state + +#### `notify_error(msg=None)` +Report a watchdog error. This program will likely be killed by the +service manager. + +If `msg` is not None, it will be reported as an error message to the +service manager. + +#### `ready()` +Report ready service state, i.e. completed initialisation + +#### `status(msg)` +Set a service status message + + + + + +%prep +%autosetup -n sd-notify-0.1.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-sd-notify -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.0-1 +- Package Spec generated |