![가장을 사용하여 SRPM에서 RPM 패키지를 빌드할 수 없습니다.](https://linux55.com/image/138891/%EA%B0%80%EC%9E%A5%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20SRPM%EC%97%90%EC%84%9C%20RPM%20%ED%8C%A8%ED%82%A4%EC%A7%80%EB%A5%BC%20%EB%B9%8C%EB%93%9C%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..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
실행하는 명령은 "epel-7-x86_64"를 지정한 구성과 명령줄에 사용된 모든 플래그 mock
에서 나옵니다 . 구성은 일반적으로 이 경우 또는 에 --addrepo=
있습니다 . /etc/mock/$CONFIG.cfg
/etc/mock/epel-7-x86_64.cfg
현재는 빌드 머신의 로컬 캐시 repomd.xml
에서 오는 것 같습니다 . 필요한 경우 삭제하세요. yum
yum clean all
-m --verbose
추가 디버깅에 유용한 더 자세한 출력을 얻으려면 에 전달할 수 있어야 합니다 mockchain
.