rename binary from deb-mock to mock - update package name, entry points, and all references
Some checks failed
Build Deb-Mock Package / build (push) Successful in 53s
Test Deb-Mock Build / test (push) Has been cancelled
Build and Publish Debian Package / build-deb (push) Failing after 2s
Release Deb-Mock / release (push) Successful in 59s

This commit is contained in:
robojerk 2025-08-04 01:18:18 +00:00
parent 20947d240e
commit b5eb266f80
8 changed files with 104 additions and 99 deletions

View file

@ -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

View file

@ -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: |

View file

@ -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

4
debian/control vendored
View file

@ -1,4 +1,4 @@
Source: deb-mock
Source: mock
Section: devel
Priority: optional
Maintainer: Deb-Mock Team <deb-mock@raines.xyz>
@ -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

40
debian/postinst vendored
View file

@ -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 <username>"
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 <username>"

20
debian/prerm vendored
View file

@ -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
# 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

22
debian/rules vendored
View file

@ -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

View file

@ -43,7 +43,7 @@ setup(
],
entry_points={
"console_scripts": [
"deb-mock=deb_mock.cli:main",
"mock=deb_mock.cli:main",
],
},
include_package_data=True,