apt-ostree/debian/apt-ostree.postrm
robojerk 4d05b6f091
Some checks failed
Comprehensive CI/CD Pipeline / Build and Test (push) Failing after 4m45s
Comprehensive CI/CD Pipeline / Security Audit (push) Failing after 7s
Comprehensive CI/CD Pipeline / Package Validation (push) Successful in 2m21s
Comprehensive CI/CD Pipeline / Status Report (push) Has been skipped
Fix YAML linting issues and update system requirements to Debian 13+
- Fix trailing spaces and blank lines in Forgejo workflows
- Update system requirements from Ubuntu Jammy/Bookworm to Debian 13+ (Trixie)
- Update test treefile to use Debian Trixie instead of Ubuntu Jammy
- Update documentation to reflect modern system requirements
- Fix yamllint errors for CI/CD functionality
- Ensure compatibility with modern OSTree and libapt versions
2025-08-18 11:39:58 -07:00

124 lines
3 KiB
Bash
Executable file

#!/bin/sh
set -e
# Source debconf library
. /usr/share/debconf/confmodule
# Define package name
PACKAGE="apt-ostree"
# Function to log messages
log() {
echo "$PACKAGE: $1" >&2
}
# Function to cleanup shell completions
cleanup_completions() {
log "Cleaning up shell completions..."
# Remove bash completion
if [ -f /usr/share/bash-completion/completions/apt-ostree ]; then
rm -f /usr/share/bash-completion/completions/apt-ostree
fi
# Remove zsh completion
if [ -f /usr/share/zsh/vendor-completions/_apt-ostree ]; then
rm -f /usr/share/zsh/vendor-completions/_apt-ostree
fi
# Reload bash completion if available (skip if problematic)
# if [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
# fi
}
# Function to cleanup man pages
cleanup_man_pages() {
log "Cleaning up man pages..."
# Remove man page
if [ -f /usr/share/man/man1/apt-ostree.1 ]; then
rm -f /usr/share/man/man1/apt-ostree.1
fi
# Update man page database
if command -v mandb >/dev/null 2>&1; then
mandb -q || true
fi
}
# Function to cleanup daemon service
cleanup_daemon() {
log "Cleaning up apt-ostreed daemon..."
# Check if systemd is available
if ! command -v systemctl >/dev/null 2>&1; then
log "Warning: systemd not available, skipping service cleanup"
return 0
fi
# Stop the service if running
if systemctl is-active --quiet apt-ostreed.service; then
log "Stopping apt-ostreed service..."
systemctl stop apt-ostreed.service || true
fi
# Disable the service
if systemctl is-enabled --quiet apt-ostreed.service; then
log "Disabling apt-ostreed service..."
systemctl disable apt-ostreed.service || true
fi
# Reload systemd daemon
systemctl daemon-reload || true
}
# Function to cleanup daemon files
cleanup_daemon_files() {
log "Cleaning up daemon files..."
# Remove systemd service files
if [ -f /lib/systemd/system/apt-ostreed.service ]; then
rm -f /lib/systemd/system/apt-ostreed.service
fi
if [ -f /lib/systemd/system/apt-ostreed.socket ]; then
rm -f /lib/systemd/system/apt-ostreed.socket
fi
# Remove polkit policy
if [ -f /usr/share/polkit-1/actions/org.projectatomic.aptostree1.policy ]; then
rm -f /usr/share/polkit-1/actions/org.projectatomic.aptostree1.policy
fi
# Remove configuration files
if [ -d /etc/apt-ostreed ]; then
rm -rf /etc/apt-ostreed
fi
# Remove binary
if [ -f /usr/libexec/apt-ostreed ]; then
rm -f /usr/libexec/apt-ostreed
fi
}
# Main execution
case "$1" in
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
cleanup_completions
cleanup_man_pages
cleanup_daemon
;;
purge)
cleanup_completions
cleanup_man_pages
cleanup_daemon
cleanup_daemon_files
;;
*)
log "Unknown action: $1"
exit 1
;;
esac
exit 0