diff --git a/.forgejo/workflows/build-deb.yml b/.forgejo/workflows/build-deb.yml index 2637b3b..7e5e4ca 100644 --- a/.forgejo/workflows/build-deb.yml +++ b/.forgejo/workflows/build-deb.yml @@ -72,30 +72,30 @@ jobs: # Build the package dpkg-buildpackage -us -uc -b - # List built packages (handle missing .dsc file) - echo "Built packages:" - ls -la ../*.deb ../*.changes 2>/dev/null || true - ls -la ../*.dsc 2>/dev/null || echo "No .dsc file (binary-only package)" + # List built packages (handle missing .dsc file) + echo "Built packages:" + ls -la ../mock_*.deb ../mock_*.changes 2>/dev/null || true + ls -la ../mock_*.dsc 2>/dev/null || echo "No .dsc file (binary-only package)" - name: Upload build artifacts run: | echo "Debian package artifacts:" - ls -la ../*.deb ../*.changes 2>/dev/null || true - ls -la ../*.dsc 2>/dev/null || echo "No .dsc file (binary-only package)" + ls -la ../mock_*.deb ../mock_*.changes 2>/dev/null || true + ls -la ../mock_*.dsc 2>/dev/null || echo "No .dsc file (binary-only package)" echo "Package contents:" - dpkg -c ../deb-mock_*.deb || true + dpkg -c ../mock_*.deb || true - name: Create release assets run: | mkdir -p release-assets - cp ../deb-mock_*.deb release-assets/ 2>/dev/null || echo "No .deb files found" - cp ../deb-mock_*.changes release-assets/ 2>/dev/null || echo "No .changes files found" + cp ../mock_*.deb release-assets/ 2>/dev/null || echo "No .deb files found" + cp ../mock_*.changes release-assets/ 2>/dev/null || echo "No .changes files found" # Create a summary file - echo "Deb-Mock Package Build Summary" > release-assets/BUILD_SUMMARY.txt - echo "===============================" >> release-assets/BUILD_SUMMARY.txt + echo "Mock Package Build Summary" > release-assets/BUILD_SUMMARY.txt + echo "==========================" >> release-assets/BUILD_SUMMARY.txt echo "Build Date: $(date)" >> release-assets/BUILD_SUMMARY.txt - echo "Package: deb-mock" >> release-assets/BUILD_SUMMARY.txt + echo "Package: mock" >> release-assets/BUILD_SUMMARY.txt echo "Version: $VERSION" >> release-assets/BUILD_SUMMARY.txt echo "" >> release-assets/BUILD_SUMMARY.txt echo "Built Packages:" >> release-assets/BUILD_SUMMARY.txt @@ -123,9 +123,9 @@ jobs: # List packages for upload echo "Built packages:" - ls -la ../*.deb 2>/dev/null || echo "No .deb files found" + ls -la ../mock_*.deb 2>/dev/null || echo "No .deb files found" - for deb_file in ../deb-mock_*.deb; do + for deb_file in ../mock_*.deb; do if [ -f "$deb_file" ]; then echo "Uploading $deb_file to Forgejo Debian Package Registry..." filename=$(basename "$deb_file") @@ -158,7 +158,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') run: | echo "=== Upload Summary ===" - echo "✅ Deb-Mock package uploaded successfully to Forgejo Debian Package Registry" + echo "✅ Mock package uploaded successfully to Forgejo Debian Package Registry" echo "✅ Package automatically assigned to repository by Forgejo" echo "" echo "📦 Package should now be available at:" @@ -167,7 +167,7 @@ jobs: echo "🎯 Next steps:" echo " - Verify package appears in repository packages page" echo " - Test package installation on Debian/Ubuntu systems" - echo " - Users can install with: sudo apt install deb-mock" + echo " - Users can install with: sudo apt install mock" - name: Setup Debian repository if: startsWith(github.ref, 'refs/tags/') @@ -201,7 +201,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') run: | # Add the package to the repository - reprepro -b debian-repo includedeb unstable ../deb-mock_*.deb + reprepro -b debian-repo includedeb unstable ../mock_*.deb # List repository contents reprepro -b debian-repo list unstable diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index aba3f0e..a788b49 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -34,6 +34,11 @@ jobs: - name: Install system dependencies run: | + # Configure APT to use your cache server + echo 'Acquire::http::Proxy "http://192.168.1.79:3142";' | sudo tee /etc/apt/apt.conf.d/99proxy + echo 'Acquire::https::Proxy "http://192.168.1.79:3142";' | sudo tee -a /etc/apt/apt.conf.d/99proxy + + sudo apt update sudo apt install -y sbuild schroot debootstrap - name: Create deb-mock directories @@ -61,63 +66,63 @@ jobs: - name: Test CLI interface run: | source venv/bin/activate - deb-mock --help - deb-mock --version + mock --help + mock --version - name: Test configuration system run: | source venv/bin/activate - deb-mock debug-config - deb-mock list-configs - deb-mock config + mock debug-config + mock list-configs + mock config - name: Test package management commands run: | source venv/bin/activate - deb-mock install-deps --help - deb-mock install --help - deb-mock update --help - deb-mock remove --help - deb-mock apt --help + mock install-deps --help + mock install --help + mock update --help + mock remove --help + mock apt --help - name: Test advanced build options run: | source venv/bin/activate - deb-mock build --help + mock build --help - name: Test chroot management run: | source venv/bin/activate - deb-mock list-chroots - deb-mock list-configs + mock list-chroots + mock list-configs - name: Test file operations run: | source venv/bin/activate - deb-mock copyin --help - deb-mock copyout --help + mock copyin --help + mock copyout --help - name: Test shell access run: | source venv/bin/activate - deb-mock shell --help + mock shell --help - name: Test cache management run: | source venv/bin/activate - deb-mock cache-stats - deb-mock cleanup-caches --help + mock cache-stats + mock cleanup-caches --help - name: Test chain building run: | source venv/bin/activate - deb-mock chain --help + mock chain --help - name: Test custom configuration run: | source venv/bin/activate - deb-mock -c test-config.yaml debug-config - deb-mock -c test-config.yaml config + mock -c test-config.yaml debug-config + mock -c test-config.yaml config - name: Run unit tests run: | diff --git a/README.md b/README.md index bc2040f..ea72165 100644 --- a/README.md +++ b/README.md @@ -51,20 +51,20 @@ wget -O - https://git.raines.xyz/api/packages/robojerk/debian/gpg.key | sudo apt echo 'deb [signed-by=/usr/share/keyrings/forgejo-robojerk.gpg] https://git.raines.xyz/api/packages/robojerk/debian unstable main' | sudo tee /etc/apt/sources.list.d/deb-mock.list sudo apt update -# Install deb-mock -sudo apt install -y deb-mock +# Install mock +sudo apt install -y mock ``` ### From Debian Repository (Alternative) ```bash -# Add the Deb-Mock repository -wget -O - http://debian.raines.xyz/deb-mock.gpg.key | sudo apt-key add - -echo 'deb http://debian.raines.xyz unstable main' | sudo tee /etc/apt/sources.list.d/deb-mock.list +# Add the Mock repository +wget -O - http://debian.raines.xyz/mock.gpg.key | sudo apt-key add - +echo 'deb http://debian.raines.xyz unstable main' | sudo tee /etc/apt/sources.list.d/mock.list sudo apt update -# Install deb-mock -sudo apt install -y deb-mock +# Install mock +sudo apt install -y mock ``` ### From Source @@ -102,38 +102,38 @@ sudo dpkg -i ../deb-mock_*.deb ```bash # Build a source package (like: mock -r fedora-35-x86_64 package.src.rpm) -deb-mock build package.dsc +mock build package.dsc # Build with specific chroot config (like: mock -r debian-bookworm-amd64 package.src.rpm) -deb-mock -r debian-bookworm-amd64 build package.dsc +mock -r debian-bookworm-amd64 build package.dsc # Build with specific chroot -deb-mock build --chroot=bookworm-amd64 package.dsc +mock build --chroot=bookworm-amd64 package.dsc # Build with specific architecture -deb-mock build --arch=amd64 package.dsc +mock build --arch=amd64 package.dsc ``` ### Advanced Build Options (Mock's advanced CLI options) ```bash # Skip running tests (like: mock --nocheck) -deb-mock build --no-check package.dsc +mock build --no-check package.dsc # Build in offline mode (like: mock --offline) -deb-mock build --offline package.dsc +mock build --offline package.dsc # Set build timeout (like: mock --rpmbuild_timeout) -deb-mock build --build-timeout 3600 package.dsc +mock build --build-timeout 3600 package.dsc # Force architecture (like: mock --forcearch) -deb-mock build --force-arch amd64 package.dsc +mock build --force-arch amd64 package.dsc # Unique extension for buildroot (like: mock --uniqueext) -deb-mock build --unique-ext mybuild package.dsc +mock build --unique-ext mybuild package.dsc # Clean chroot after build (like: mock --cleanup-after) -deb-mock build --cleanup-after package.dsc +mock build --cleanup-after package.dsc # Don't clean chroot after build (like: mock --no-cleanup-after) deb-mock build --no-cleanup-after package.dsc diff --git a/debian/control b/debian/control index 0057ee1..c3601a2 100644 --- a/debian/control +++ b/debian/control @@ -1,4 +1,4 @@ -Source: deb-mock +Source: mock Section: devel Priority: optional Maintainer: Deb-Mock Team @@ -8,7 +8,7 @@ Homepage: https://git.raines.xyz/robojerk/deb-mock Vcs-Git: https://git.raines.xyz/robojerk/deb-mock.git Vcs-Browser: https://git.raines.xyz/robojerk/deb-mock -Package: deb-mock +Package: mock Architecture: all Depends: ${python3:Depends}, ${misc:Depends}, python3-click (>= 8.0.0), python3-yaml (>= 6.0), python3-jinja2 (>= 3.0.0), python3-requests (>= 2.25.0), sbuild, schroot, debootstrap Recommends: ccache, python3-pytest, python3-pytest-cov diff --git a/debian/postinst b/debian/postinst index 373ad9b..8b36f99 100755 --- a/debian/postinst +++ b/debian/postinst @@ -1,27 +1,27 @@ #!/bin/sh set -e -# Create necessary directories -mkdir -p /var/lib/deb-mock/chroots -mkdir -p /var/cache/deb-mock -mkdir -p /etc/schroot/chroot.d + # Create necessary directories + mkdir -p /var/lib/mock/chroots + mkdir -p /var/cache/mock + mkdir -p /etc/schroot/chroot.d -# Set proper permissions -chown root:root /var/lib/deb-mock/chroots -chmod 755 /var/lib/deb-mock/chroots -chown root:root /var/cache/deb-mock -chmod 755 /var/cache/deb-mock + # Set proper permissions + chown root:root /var/lib/mock/chroots + chmod 755 /var/lib/mock/chroots + chown root:root /var/cache/mock + chmod 755 /var/cache/mock -# Create deb-mock group if it doesn't exist -if ! getent group deb-mock >/dev/null 2>&1; then - addgroup --system deb-mock -fi + # Create mock group if it doesn't exist + if ! getent group mock >/dev/null 2>&1; then + addgroup --system mock + fi -# Add users to deb-mock group if they exist -if getent passwd build >/dev/null 2>&1; then - usermod -a -G deb-mock build || true -fi + # Add users to mock group if they exist + if getent passwd build >/dev/null 2>&1; then + usermod -a -G mock build || true + fi -echo "deb-mock package installed successfully." -echo "Users in the 'deb-mock' group can use deb-mock without sudo." -echo "To add a user to the deb-mock group: sudo usermod -a -G deb-mock " \ No newline at end of file + echo "mock package installed successfully." + echo "Users in the 'mock' group can use mock without sudo." + echo "To add a user to the mock group: sudo usermod -a -G mock " \ No newline at end of file diff --git a/debian/prerm b/debian/prerm index 7b60b8d..dfcc5c5 100755 --- a/debian/prerm +++ b/debian/prerm @@ -1,14 +1,14 @@ #!/bin/sh set -e -# Remove users from deb-mock group -if getent passwd build >/dev/null 2>&1; then - gpasswd -d build deb-mock || true -fi + # Remove users from mock group + if getent passwd build >/dev/null 2>&1; then + gpasswd -d build mock || true + fi -# Remove deb-mock group if it's empty -if getent group deb-mock >/dev/null 2>&1; then - if [ $(getent group deb-mock | cut -d: -f4 | tr ',' '\n' | wc -l) -eq 0 ]; then - delgroup deb-mock || true - fi -fi \ No newline at end of file + # Remove mock group if it's empty + if getent group mock >/dev/null 2>&1; then + if [ $(getent group mock | cut -d: -f4 | tr ',' '\n' | wc -l) -eq 0 ]; then + delgroup mock || true + fi + fi \ No newline at end of file diff --git a/debian/rules b/debian/rules index f83e576..6118406 100755 --- a/debian/rules +++ b/debian/rules @@ -9,17 +9,17 @@ export PYBUILD_NAME=deb-mock override_dh_auto_install: dh_auto_install - # Create necessary directories - mkdir -p debian/deb-mock/usr/bin - mkdir -p debian/deb-mock/usr/share/deb-mock/configs - mkdir -p debian/deb-mock/usr/share/doc/deb-mock - # Install the deb-mock executable - install -D -m 755 deb_mock/cli.py debian/deb-mock/usr/bin/deb-mock - # Install configuration files - install -D -m 644 deb_mock/configs/*.yaml debian/deb-mock/usr/share/deb-mock/configs/ - # Install documentation - install -D -m 644 README.md debian/deb-mock/usr/share/doc/deb-mock/README.md - install -D -m 644 docs/*.md debian/deb-mock/usr/share/doc/deb-mock/ 2>/dev/null || true + # Create necessary directories + mkdir -p debian/mock/usr/bin + mkdir -p debian/mock/usr/share/mock/configs + mkdir -p debian/mock/usr/share/doc/mock + # Install the mock executable + install -D -m 755 deb_mock/cli.py debian/mock/usr/bin/mock + # Install configuration files + install -D -m 644 deb_mock/configs/*.yaml debian/mock/usr/share/mock/configs/ + # Install documentation + install -D -m 644 README.md debian/mock/usr/share/doc/mock/README.md + install -D -m 644 docs/*.md debian/mock/usr/share/doc/mock/ 2>/dev/null || true override_dh_auto_test: # Skip tests during package build - they're run in CI/CD diff --git a/setup.py b/setup.py index 645d593..333da8d 100644 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ setup( ], entry_points={ "console_scripts": [ - "deb-mock=deb_mock.cli:main", + "mock=deb_mock.cli:main", ], }, include_package_data=True,