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 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
124 lines
3 KiB
Bash
Executable file
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
|