diff --git a/rattail_fabric2/apt.py b/rattail_fabric2/apt.py index e685c5a..1dd8014 100644 --- a/rattail_fabric2/apt.py +++ b/rattail_fabric2/apt.py @@ -2,7 +2,7 @@ ################################################################################ # # Rattail -- Retail Software Framework -# Copyright © 2010-2018 Lance Edgar +# Copyright © 2010-2025 Lance Edgar # # This file is part of Rattail. # @@ -44,6 +44,19 @@ def install(c, *packages, **kwargs): frontend, target, force_yes, ' '.join(packages)), **kwargs) +def is_installed(c, package): + """ + Check if the given APT package is installed. + + :param c: Fabric connection. + + :param package: Name of package to be checked. + + :returns: ``True`` if package is installed, else ``False``. + """ + return c.run(f"dpkg-query -s {package}", warn=True).ok + + def purge(c, *packages): """ Uninstall and purge config for given packages