Package: mock Version: 1.3.2-2 Severity: normal Dear Maintainer,
The mock package ships two commands: * mock * mockchain The mockchain command is not working because it tries to call /usr/bin/createrepo_c which is not available in any Debian package. (line 59 and 61 of /usr/bin/mockchain) Trace: sudo mockchain --localrepo /tmp -r epel-7-x86_64 -m --rebuild /tmp/nothing.rpm starting logfile: None results dir: /var/tmp/mock-chain-kakwa-10886-26_7_a7f/results/epel-7-x86_64 config dir: /var/tmp/mock-chain-kakwa-10886-26_7_a7f/configs/epel-7-x86_64 Traceback (most recent call last): File "/usr/bin/mockchain", line 414, in <module> sys.exit(main(sys.argv)) File "/usr/bin/mockchain", line 314, in main err = createrepo(opts.local_repo_dir)[1] File "/usr/bin/mockchain", line 63, in createrepo comm, stdout=subprocess.PIPE, stderr=subprocess.PIPE) File "/usr/lib/python3.5/subprocess.py", line 676, in __init__ restore_signals, start_new_session) File "/usr/lib/python3.5/subprocess.py", line 1289, in _execute_child raise child_exception_type(errno_num, err_msg) FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/createrepo_c' Test I've done: Replacing /usr/bin/createrepo_c by /usr/bin/createrepo (python implementation) seems to work fine, I've been enable to build rpms, including rpms depending on other rpms present in the local repo. Diff: diff --git a/mock/py/mockchain.py b/mock/py/mockchain.py index e783bd0..74746cd 100755 --- a/mock/py/mockchain.py +++ b/mock/py/mockchain.py @@ -56,9 +56,9 @@ mockconfig_path = '/etc/mock' def createrepo(path): if os.path.exists(path + '/repodata/repomd.xml'): - comm = ['/usr/bin/createrepo_c', '--update', path] + comm = ['/usr/bin/createrepo', '--update', path] else: - comm = ['/usr/bin/createrepo_c', path] + comm = ['/usr/bin/createrepo', path] cmd = subprocess.Popen( comm, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = cmd.communicate() I see two possibilities: * packaging createrepo_c (https://github.com/rpm-software-management/createrepo_c) in Debian. I've done a quick test, it builds ok and all the necessary dependencies are already available. * patching mockchain to use createrepo. In both cases, I think the corresponding createrepo(_c) package should be added as a dependency of the mock package. -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.12.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages mock depends on: ii python 2.7.13-2 ii python3 3.5.3-3 ii python3-rpm 4.12.0.2+dfsg1-2+b1 ii python3-six 1.10.0-4 ii usermode 1.109-1+b2 ii yum 3.4.3-3 ii yum-utils 1.1.31-2 mock recommends no packages. Versions of packages mock suggests: pn pigz <none> -- Configuration Files: /etc/mock/epel-6-x86_64.cfg changed [not included] /etc/mock/fedora-25-x86_64.cfg changed [not included] -- no debconf information