Some checks are pending
Checks / Spelling (push) Waiting to run
Checks / Python Linters (push) Waiting to run
Checks / Shell Linters (push) Waiting to run
Checks / 📦 Packit config lint (push) Waiting to run
Checks / 🔍 Check for valid snapshot urls (push) Waiting to run
Checks / 🔍 Check JSON files for formatting consistency (push) Waiting to run
Generate / Documentation (push) Waiting to run
Generate / Test Data (push) Waiting to run
Tests / Unittest (push) Waiting to run
Tests / Assembler test (legacy) (push) Waiting to run
Tests / Smoke run: unittest as normal user on default runner (push) Waiting to run
5.2 KiB
5.2 KiB
Debian Forge Configuration
This directory contains configuration files for Debian Forge. The system is designed to be collaborative-friendly, allowing each developer to have their own settings without affecting others.
Configuration Files
debian-forge.conf (Default Configuration)
- Purpose: Default configuration values for the project
- Status: Tracked in git (shared by all collaborators)
- Usage: Contains sensible defaults and examples
debian-forge.local.conf.example (Template)
- Purpose: Template for local configuration
- Status: Tracked in git (shared template)
- Usage: Copy this file to create your local configuration
debian-forge.local.conf (Local Configuration)
- Purpose: Your personal configuration settings
- Status: NOT tracked in git (personal to each collaborator)
- Usage: Customize this file for your environment
Quick Start
1. Set up your local configuration
# Create your local configuration file
./tools/debian-forge-config setup
# This copies the example template to config/debian-forge.local.conf
# Edit this file to customize your settings
2. Configure apt-cacher-ng proxy
# Set your proxy URL
./tools/debian-forge-config apt-proxy http://localhost:3142
# Or disable proxy
./tools/debian-forge-config apt-proxy none
# Or set via environment variable
export DEBIAN_FORGE_APT_PROXY=http://localhost:3142
3. View current configuration
./tools/debian-forge-config show
Configuration Options
apt-cacher-ng Section
[apt-cacher-ng]
# Set to your proxy URL, or leave empty to disable
url = http://localhost:3142
Examples:
url = http://localhost:3142- Local proxyurl = http://192.168.1.100:3142- Network proxyurl = http://apt-cache.company.local:3142- Company proxyurl =- No proxy (leave empty)
build Section
[build]
# We support Debian 13+ (Trixie and newer)
# Current Debian releases:
# - trixie (Debian 13) - STABLE (recommended)
# - forky (Debian 14) - TESTING
# - sid (Debian Unstable) - UNSTABLE (use with caution)
default_suite = trixie
default_arch = amd64
timeout = 3600
jobs = 4
Debian Release Status (as of 2024):
- trixie (Debian 13) - STABLE - Recommended for production
- forky (Debian 14) - TESTING - For development and testing
- sid (Debian Unstable) - UNSTABLE - Use with caution
- bookworm (Debian 12) - OLDSTABLE - Limited support
- bullseye (Debian 11) - OLDOLDSTABLE - Not supported
Note: Debian Forge supports Debian 13+ (Trixie and newer). Older releases may have compatibility issues.
stages Section
[stages]
apt_update = true
apt_recommends = false
apt_unauthenticated = false
Priority Order
Configuration values are loaded in this priority order (highest to lowest):
- Stage options (passed directly to stages)
- Environment variables (e.g.,
DEBIAN_FORGE_APT_PROXY) - Local configuration (
debian-forge.local.conf) - Default configuration (
debian-forge.conf)
Environment Variables
You can override any configuration setting using environment variables:
# Override apt-cacher-ng proxy
export DEBIAN_FORGE_APT_PROXY=http://localhost:3142
# Override default suite
export DEBIAN_FORGE_DEFAULT_SUITE=forky
# Override default architecture
export DEBIAN_FORGE_DEFAULT_ARCH=arm64
CLI Tool Usage
The debian-forge-config tool provides several commands:
# Set up local configuration
./tools/debian-forge-config setup
# Show current configuration
./tools/debian-forge-config show
# Set apt-cacher-ng proxy
./tools/debian-forge-config apt-proxy http://localhost:3142
# Set any configuration value
./tools/debian-forge-config set build default_suite trixie
Collaboration Workflow
For New Collaborators:
- Clone the repository
- Run
./tools/debian-forge-config setup - Edit
config/debian-forge.local.confwith your settings - Your local settings won't affect others
For Existing Collaborators:
- Your
debian-forge.local.confis already configured - Update settings as needed using the CLI tool
- Your changes remain local
For Project Updates:
- Default configuration changes are tracked in git
- Your local overrides are preserved
- You can merge new default settings as needed
File Locations
- Default config:
config/debian-forge.conf - Your local config:
config/debian-forge.local.conf(create this) - Template:
config/debian-forge.local.conf.example - CLI tool:
tools/debian-forge-config
Troubleshooting
Configuration not loading?
- Check that
config/debian-forge.local.confexists - Verify file permissions
- Use
./tools/debian-forge-config showto debug
Proxy not working?
- Verify your proxy URL is correct
- Check that apt-cacher-ng is running
- Use environment variable override for testing
Settings not taking effect?
- Remember the priority order
- Stage options override configuration files
- Use
./tools/debian-forge-config showto see current values
Debian version compatibility?
- We support Debian 13+ (Trixie and newer)
- Older releases may have compatibility issues
- Use
trixie(stable) for production builds - Use
forky(testing) for development