docs: Add comprehensive documentation and update planning
- Add docs/README.md with project overview and current status - Add docs/architecture.md with detailed architecture documentation - Add docs/development.md with development guide for contributors - Update .notes/todo.md to reflect architecture fix completion - Update .notes/plan.md with completed phases and next priorities Architecture fixes (daemon and dbus), bubblewrap integration are now complete. Ready for OCI integration phase.
This commit is contained in:
parent
1cc175c110
commit
97a9c40d7e
33 changed files with 4488 additions and 118 deletions
135
scripts/install-daemon.sh
Executable file
135
scripts/install-daemon.sh
Executable file
|
|
@ -0,0 +1,135 @@
|
|||
#!/bin/bash
|
||||
# apt-ostree Daemon Installation Script
|
||||
# This script installs all daemon components for apt-ostree
|
||||
|
||||
set -e
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Function to print colored output
|
||||
print_status() {
|
||||
echo -e "${GREEN}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
print_warning() {
|
||||
echo -e "${YELLOW}[WARNING]${NC} $1"
|
||||
}
|
||||
|
||||
print_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
# Check if running as root
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
print_error "This script must be run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
print_status "Installing apt-ostree daemon components..."
|
||||
|
||||
# Create necessary directories
|
||||
print_status "Creating directories..."
|
||||
mkdir -p /usr/libexec
|
||||
mkdir -p /etc/apt-ostree
|
||||
mkdir -p /var/lib/apt-ostree
|
||||
mkdir -p /var/cache/apt-ostree
|
||||
mkdir -p /var/log/apt-ostree
|
||||
mkdir -p /etc/dbus-1/system.d
|
||||
mkdir -p /usr/share/dbus-1/system-services
|
||||
mkdir -p /usr/share/polkit-1/actions
|
||||
|
||||
# Copy daemon binary
|
||||
print_status "Installing daemon binary..."
|
||||
if [[ -f "target/release/apt-ostreed" ]]; then
|
||||
cp target/release/apt-ostreed /usr/libexec/
|
||||
chmod +x /usr/libexec/apt-ostreed
|
||||
else
|
||||
print_warning "Daemon binary not found, skipping..."
|
||||
fi
|
||||
|
||||
# Copy configuration files
|
||||
print_status "Installing configuration files..."
|
||||
cp src/daemon/apt-ostreed.conf /etc/apt-ostree/
|
||||
chmod 644 /etc/apt-ostree/apt-ostreed.conf
|
||||
|
||||
# Copy D-Bus configuration
|
||||
print_status "Installing D-Bus configuration..."
|
||||
cp src/daemon/org.aptostree.dev.conf /etc/dbus-1/system.d/
|
||||
cp src/daemon/org.aptostree.dev.service /usr/share/dbus-1/system-services/
|
||||
chmod 644 /etc/dbus-1/system.d/org.aptostree.dev.conf
|
||||
chmod 644 /usr/share/dbus-1/system-services/org.aptostree.dev.service
|
||||
|
||||
# Copy Polkit policy
|
||||
print_status "Installing Polkit policy..."
|
||||
cp src/daemon/org.aptostree.dev.policy /usr/share/polkit-1/actions/
|
||||
chmod 644 /usr/share/polkit-1/actions/org.aptostree.dev.policy
|
||||
|
||||
# Copy systemd services
|
||||
print_status "Installing systemd services..."
|
||||
cp src/daemon/apt-ostreed.service /etc/systemd/system/
|
||||
cp src/daemon/apt-ostree-bootstatus.service /etc/systemd/system/
|
||||
cp src/daemon/apt-ostree-countme.service /etc/systemd/system/
|
||||
cp src/daemon/apt-ostree-countme.timer /etc/systemd/system/
|
||||
cp src/daemon/apt-ostreed-automatic.service /etc/systemd/system/
|
||||
cp src/daemon/apt-ostreed-automatic.timer /etc/systemd/system/
|
||||
|
||||
chmod 644 /etc/systemd/system/apt-ostreed.service
|
||||
chmod 644 /etc/systemd/system/apt-ostree-bootstatus.service
|
||||
chmod 644 /etc/systemd/system/apt-ostree-countme.service
|
||||
chmod 644 /etc/systemd/system/apt-ostree-countme.timer
|
||||
chmod 644 /etc/systemd/system/apt-ostreed-automatic.service
|
||||
chmod 644 /etc/systemd/system/apt-ostreed-automatic.timer
|
||||
|
||||
# Set proper ownership
|
||||
print_status "Setting ownership..."
|
||||
chown -R root:root /var/lib/apt-ostree
|
||||
chown -R root:root /var/cache/apt-ostree
|
||||
chown -R root:root /var/log/apt-ostree
|
||||
|
||||
# Initialize OSTree repository if it doesn't exist
|
||||
if [[ ! -d "/var/lib/apt-ostree/repo/objects" ]]; then
|
||||
print_status "Initializing OSTree repository..."
|
||||
/usr/bin/ostree init --repo=/var/lib/apt-ostree/repo
|
||||
fi
|
||||
|
||||
# Reload systemd and D-Bus
|
||||
print_status "Reloading systemd and D-Bus..."
|
||||
systemctl daemon-reload
|
||||
systemctl reload dbus
|
||||
|
||||
# Enable services
|
||||
print_status "Enabling services..."
|
||||
systemctl enable apt-ostreed.service
|
||||
systemctl enable apt-ostree-bootstatus.service
|
||||
systemctl enable apt-ostree-countme.timer
|
||||
systemctl enable apt-ostreed-automatic.timer
|
||||
|
||||
# Start the daemon
|
||||
print_status "Starting apt-ostreed daemon..."
|
||||
systemctl start apt-ostreed.service
|
||||
|
||||
# Verify installation
|
||||
print_status "Verifying installation..."
|
||||
if systemctl is-active --quiet apt-ostreed.service; then
|
||||
print_status "apt-ostreed daemon is running"
|
||||
else
|
||||
print_error "apt-ostreed daemon failed to start"
|
||||
systemctl status apt-ostreed.service
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test D-Bus connection
|
||||
print_status "Testing D-Bus connection..."
|
||||
if gdbus introspect --system --dest org.aptostree.dev --object-path /org/aptostree/dev > /dev/null 2>&1; then
|
||||
print_status "D-Bus connection successful"
|
||||
else
|
||||
print_warning "D-Bus connection test failed"
|
||||
fi
|
||||
|
||||
print_status "apt-ostree daemon installation completed successfully!"
|
||||
print_status "You can now use 'apt-ostree' commands with daemon support"
|
||||
print_status "Use 'systemctl status apt-ostreed.service' to check daemon status"
|
||||
Loading…
Add table
Add a link
Reference in a new issue