Instead of manually managing the informant
group and /var/cache/informant
in post_install()
you could use sysusers.d
and tmpfiles.d
.
Check out plex-media-server
for an AUR package that does this.
Git Clone URL: | https://aur.archlinux.org/informant.git (read-only, click to copy) |
---|---|
Package Base: | informant |
Description: | An Arch Linux News reader and pacman hook |
Upstream URL: | https://github.com/bradford-smith94/informant |
Keywords: | news |
Licenses: | MIT |
Submitter: | bradford-smith94 |
Maintainer: | bradford-smith94 |
Last Packager: | bradford-smith94 |
Votes: | 111 |
Popularity: | 2.40 |
First Submitted: | 2018-02-27 18:54 (UTC) |
Last Updated: | 2024-09-02 23:58 (UTC) |
Instead of manually managing the informant
group and /var/cache/informant
in post_install()
you could use sysusers.d
and tmpfiles.d
.
Check out plex-media-server
for an AUR package that does this.
Installation is tripping over 00-informant.hook. I suspected that options=(zipman)
might be the cause of these errors but removing it from PKGBUILD had no effect.
warning: could not get file information for usr/share/licenses/informant/LICENSE
warning: could not get file information for usr/share/man/man1/informant.1.gz
:: Running pre-transaction hooks...
(1/1) Performing snapper pre snapshots for the following configurations...
:: Processing package changes...
(1/1) reinstalling informant [---] 100%
error: could not extract /usr/share/libalpm/hooks/00-informant.hook (Zstd decompression failed: Unknown frame descriptor)
error: problem occurred while upgrading informant
NOTE: Add yourself to group "informant" to avoid the need for sudo
error: could not commit transaction
error: failed to commit transaction (transaction aborted)
Errors occurred, no packages were upgraded.
As a workaround, I just manually run the install lines in package()
.
If you had informant installed prior to the Python 3.10 update, the installed package is built on Python 3.9 and will not work once pacman removes Python 3.9.
To fix this you just need to rebuild informant.
Informant seems to be broken with the installation of Python 3.10.
core/python 3.10.1-1 (11.3 MiB 53.6 MiB) (Installed)
➜ informant
Traceback (most recent call last):
File "/usr/bin/informant", line 33, in <module>
sys.exit(load_entry_point('informant==0.4.5', 'console_scripts', 'informant')())
File "/usr/bin/informant", line 22, in importlib_load_entry_point
for entry_point in distribution(dist_name).entry_points
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 919, in distribution
return Distribution.from_name(distribution_name)
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 518, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for informant
I was able to resolve the issue via this process:
yay -R informant
python -m pip install $(pip list --path ~/.local/lib/python3.9/site-packages | cut -d " " -f1 | egrep -v 'Package|---')
yay -S $(pacman -Qmq $(pacman -Qqo /usr/lib/python3.9)) --answerclean All
yay -S informant
If you haven't run a system update in the last few days the sgmllib
issue should be all worked out by now (it was on the mirrors closest to me).
If you used the method posted by @m8D2 I would recommend that you run sudo pacman -D --asdeps python-sgmllib3k
to have pacman properly track it as a dependency rather than explicitly installed (unless you want it explicitly installed).
See also: https://wiki.archlinux.org/title/Pacman#Installation_reason
The sgmllib
errors are caused by an update to the python-feedparser
package dropping python-sgmllib
as a dependency in python-feedparser 6.0.1-1
this is recently fixed in python-feedparser 6.0.1-2
. A system update should fix this issue once the latest version of the feedparser package hits your mirror.
The solution posted by @m8D2 is correct if you need it before the feedparser update.
@waitnsea, i solved this by uninstalling informant
and python-sgmlib
, system update and installing python-sgmlib3k
and re-installing informant
:
yay -R informant python-sgmlib
sudo pacman -Syu python-sgmllib3k
yay -S informant
When I use:
ModuleNotFoundError: No module named 'sgmllib'
Pinned Comments
bradford-smith94 commented on 2024-04-30 01:59 (UTC) (edited on 2024-04-30 02:01 (UTC) by bradford-smith94)
After a major Python upgrade
informant
will break with an error likely including something like:This is inconvenient and not ideal, as it will cause all following pacman commands to fail. But since the version of Python that
informant
was built against is no longer there, this is the way it will be.In this case,
informant
simply needs to be rebuilt against the newest Python version. Please do not flag the package out of date. Since v0.4.6 and upgrade/install (rebuild) of justinformant
itself should not trigger the hook, so you may be able to just force a rebuild ofinformant
. However, this will still fail if rebuildinginformant
requires pacman to install makedepends. In that case:informant
does not block removes, so first runsudo pacman -R informant
and then reinstallinformant
(make sure it forces a rebuilt and doesn't reinstall a cached version).Further discussion of the Python major version update causing errors can be found at the Github issue: https://github.com/bradford-smith94/informant/issues/40.