# Mock Package Dependency Issue ## ๐Ÿšจ **Issue Summary** The `mock` package (formerly `deb-mock`) has a dependency issue that prevents installation in the current Debian Trixie environment. ## ๐Ÿ” **Problem Details** ### **Dependency Chain** ``` mock โ†’ mock-filesystem โ†’ shadow-utils (NOT AVAILABLE) ``` ### **Root Cause** - `mock-filesystem` depends on `shadow-utils` - `shadow-utils` package is not available in the Debian Trixie repository - `passwd` package is available and provides the same functionality ### **Error Message** ``` Unsatisfied dependencies: mock-filesystem : Depends: shadow-utils but it is not installable Error: Unable to correct problems, you have held broken packages. ``` ## ๐Ÿ”ง **Available Alternatives** ### **What's Available** ```bash $ apt-cache search shadow | grep -E "(shadow|passwd|useradd|groupadd)" passwd - change and administer password and group data liblinux-usermod-perl - module to modify user and group accounts libnss-extrausers - nss module to have an additional passwd, shadow and group file libpasswd-unix-perl - object-oriented and function interface to standard Unix files ``` ### **What's Missing** - `shadow-utils` package is not available in Debian Trixie - This package typically provides: `useradd`, `groupadd`, `usermod`, `groupmod`, `userdel`, `groupdel` ## ๐Ÿ› ๏ธ **Proposed Solutions** ### **Solution 1: Update Package Dependencies** Update `mock-filesystem` to depend on `passwd` instead of `shadow-utils`: ```diff - Depends: shadow-utils + Depends: passwd ``` ### **Solution 2: Make Dependencies Optional** Make the shadow utilities dependency optional: ```diff - Depends: shadow-utils + Depends: passwd | shadow-utils ``` ### **Solution 3: Remove Dependency** If shadow utilities aren't actually required for filesystem layout: ```diff - Depends: shadow-utils + # Remove this line entirely ``` ## ๐Ÿงช **Verification Steps** ### **Check Current System** ```bash # Check what shadow utilities are available $ which useradd groupadd usermod groupmod userdel groupdel /usr/sbin/useradd /usr/sbin/groupadd /usr/sbin/usermod /usr/sbin/groupmod /usr/sbin/userdel /usr/sbin/groupdel # Check which package provides them $ dpkg -S /usr/sbin/useradd passwd: /usr/sbin/useradd ``` ### **Test Mock Functionality** Once the dependency is fixed, test that mock works correctly: ```bash # Install mock $ sudo apt install mock # Test basic functionality $ mock --help $ mock --version ``` ## ๐Ÿ“‹ **Action Items** ### **For deb-mock Team** 1. **Update `mock-filesystem` package** to depend on `passwd` instead of `shadow-utils` 2. **Test the updated package** in a clean Debian Trixie environment 3. **Publish the fixed package** to the repository 4. **Update package metadata** to reflect the correct dependencies ### **For debian-forge Team** 1. **Document the issue** (this document) 2. **Test integration** once the package is fixed 3. **Update documentation** with working installation instructions 4. **Deploy to production** once mock is available ## ๐ŸŽฏ **Expected Outcome** Once the dependency issue is resolved: 1. **Mock Installation** - `sudo apt install mock` should work 2. **Full Integration Testing** - Complete test suite execution 3. **Production Deployment** - debian-forge mock integration ready 4. **User Experience** - Seamless mock environment creation ## ๐Ÿ“ž **Contact Information** - **Package Maintainer**: Deb-Mock Team - **Repository**: https://git.raines.xyz/robojerk/deb-mock - **Issue Tracker**: [To be created] ## ๐Ÿ“Š **Impact Assessment** ### **Current Impact** - **Mock Integration**: Blocked (cannot install mock package) - **debian-forge**: Mock features unavailable - **User Experience**: Mock functionality not accessible ### **After Fix** - **Mock Integration**: Fully functional - **debian-forge**: Complete mock support - **User Experience**: Full mock environment capabilities ## ๐Ÿš€ **Timeline** ### **Immediate (Today)** - [x] Document the issue - [x] Identify root cause - [x] Propose solutions ### **Short Term (1-2 days)** - [ ] deb-mock team fixes package dependency - [ ] Updated package published to repository - [ ] debian-forge team tests integration ### **Medium Term (1 week)** - [ ] Full integration testing completed - [ ] Production deployment ready - [ ] User documentation updated ## ๐Ÿ“ **Notes** - The `passwd` package provides all the shadow utilities that `shadow-utils` would provide - This is a common issue when packages are built for different distributions - The fix should be straightforward - just update the dependency declaration - No code changes are needed, just package metadata updates **Status**: BLOCKED - Waiting for package dependency fix **Priority**: HIGH - Blocks mock integration functionality **Effort**: LOW - Simple dependency update required