![无法使用模拟从 SRPM 构建 RPM 包](https://linux22.com/image/138891/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E6%A8%A1%E6%8B%9F%E4%BB%8E%20SRPM%20%E6%9E%84%E5%BB%BA%20RPM%20%E5%8C%85.png)
我已经成功构建了 SRPM,在这一步之后,我尝试从 SRPM 构建 RPM。以下是我构建 RPM 的目录。源 RPM 位于以下目录中。
$ ls
$ agent-ovs genie libopflex libopflex-metadata LICENSE repo sample target
然后为了构建 RPM,我使用mockchain
如下:
$ mockchain -m --nocheck -r epel-7-x86_64 -a file://`pwd`/repo/ \
-l target libopflex/*.src.rpm genie/target/libmodelgbp/*.src.rpm \
agent-ovs/*.src.rpm
一旦我执行上述操作,我就会收到以下错误。当我检查 URL 时,它们不存在。我该如何调试这个,我什至不知道从哪里mockchain
获取这个 URL 和repomd.xml
.
INFO buildroot.py:295: Mock Version: 1.2.12
DEBUG util.py:94: ensuring that dir exists: /var/lib/mock/epel-7-x86_64-noiro-28879/root/dev/pts
DEBUG util.py:97: creating dir: /var/lib/mock/epel-7-x86_64-noiro-28879/root/dev/pts
DEBUG util.py:94: ensuring that dir exists: /var/lib/mock/epel-7-x86_64-noiro-28879/root/dev/shm
DEBUG util.py:97: creating dir: /var/lib/mock/epel-7-x86_64-noiro-28879/root/dev/shm
DEBUG buildroot.py:433: kernel version == 3.10.0-229.14.1.el7.x86_64
DEBUG util.py:106: touching file: /var/lib/mock/epel-7-x86_64-noiro-28879/root/etc/fstab
DEBUG util.py:106: touching file: /var/lib/mock/epel-7-x86_64-noiro-28879/root/var/log/yum.log
DEBUG util.py:508: child environment: None
DEBUG util.py:441: Executing command: ['/bin/mount', '-n', '-t', 'proc', 'proc', '/var/lib/mock/epel-7-x86_64-noiro-28879/root/proc'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} and shell False
DEBUG util.py:488: Child return code was: 0
DEBUG util.py:508: child environment: None
DEBUG util.py:441: Executing command: ['/bin/mount', '-n', '-t', 'sysfs', 'sysfs', '/var/lib/mock/epel-7-x86_64-noiro-28879/root/sys'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} and shell False
DEBUG util.py:488: Child return code was: 0
DEBUG util.py:508: child environment: None
DEBUG util.py:441: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', 'tmpfs', '/var/lib/mock/epel-7-x86_64-noiro-28879/root/dev/shm'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} and shell False
DEBUG util.py:488: Child return code was: 0
DEBUG util.py:508: child environment: None
DEBUG util.py:441: Executing command: ['/bin/mount', '-n', '-t', 'devpts', '-o', 'gid=5,mode=0620,ptmxmode=0666,newinstance', 'devpts', '/var/lib/mock/epel-7-x86_64-noiro-28879/root/dev/pts'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} and shell False
DEBUG util.py:488: Child return code was: 0
DEBUG util.py:508: child environment: None
DEBUG util.py:441: Executing command: ['/bin/mount', '-n', '--bind', '/var/cache/mock/epel-7-x86_64/yum_cache/', '/var/lib/mock/epel-7-x86_64-noiro-28879/root/var/cache/yum/'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} and shell False
DEBUG util.py:488: Child return code was: 0
DEBUG util.py:508: child environment: None
DEBUG util.py:441: Executing command: ['/bin/mount', '-n', '--bind', '/var/cache/mock/epel-7-x86_64/ccache/u1000/', '/var/lib/mock/epel-7-x86_64-noiro-28879/root/tmp/ccache'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} and shell False
DEBUG util.py:488: Child return code was: 0
DEBUG buildroot.py:132: rootdir = /var/lib/mock/epel-7-x86_64-noiro-28879/root
DEBUG buildroot.py:133: resultdir = /home/noiro/workspace/team_noiro_engineering/Opflex-master_RPM/target/results/epel-7-x86_64/libmodelgbp-1.9.0-2.el7
DEBUG util.py:94: ensuring that dir exists: /var/lib/mock/epel-7-x86_64-noiro-28879/root/etc/pki/mock
DEBUG util.py:97: creating dir: /var/lib/mock/epel-7-x86_64-noiro-28879/root/etc/pki/mock
DEBUG util.py:94: ensuring that dir exists: /var/lib/mock/epel-7-x86_64-noiro-28879/root/etc/yum/pluginconf.d
DEBUG util.py:97: creating dir: /var/lib/mock/epel-7-x86_64-noiro-28879/root/etc/yum/pluginconf.d
DEBUG package_manager.py:178: configure yum
DEBUG package_manager.py:184: configure yum priorities
DEBUG package_manager.py:186: configure yum rhnplugin
DEBUG package_manager.py:77: ['/usr/bin/yum', '--installroot', '/var/lib/mock/epel-7-x86_64-noiro-28879/root/', '--releasever', '7', 'install', '@buildsys-build']
DEBUG util.py:508: child environment: None
DEBUG util.py:441: Executing command: ['/usr/bin/yum', '--installroot', '/var/lib/mock/epel-7-x86_64-noiro-28879/root/', '--releasever', '7', 'install', '@buildsys-build'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'LC_MESSAGES': 'C', 'HOSTNAME': 'mock', 'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'CCACHE_DIR': '/tmp/ccache', 'HOME': '/builddir', 'CCACHE_UMASK': '002'} and shell False
DEBUG util.py:377: Not using downloaded repomd.xml because it is older than what we have:
DEBUG util.py:377: Current : Wed May 23 08:25:37 2018
DEBUG util.py:377: Downloaded: Mon Mar 5 10:53:23 2018
DEBUG util.py:377: http://mirror.datto.com/fedora/epel/7/x86_64/repodata/8224258b31fc16b72cdee55b19d8b214a0ad8d47f8ad32adcaa574fc8247f286-primary.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found
DEBUG util.py:377: Trying other mirror.
DEBUG util.py:377: https://mirrors.cat.pdx.edu/epel/7/x86_64/repodata/8224258b31fc16b72cdee55b19d8b214a0ad8d47f8ad32adcaa574fc8247f286-primary.sqlite.bz2: [Errno 14] HTTPS Error 404 - Not Found
DEBUG util.py:377: Trying other mirror.
答案1
yum
的存储库及其mockchain
执行mock
的命令将来自您指定的配置“epel-7-x86_64”以及--addrepo=
命令行上使用的任何标志。配置通常位于/etc/mock/$CONFIG.cfg
或在本例中为/etc/mock/epel-7-x86_64.cfg
。
当前repomd.xml
似乎来自yum
构建计算机上的本地缓存,如有yum clean all
必要,请删除它。
对于对额外调试有用的更详细输出,您应该能够传递-m --verbose
到mockchain
.