个人定制编译rpm,需解决三个问题,找到所需的源码包和SPEC文件,解决依赖问题。
本项目的目标是编译生成python3-zmq-20.0.0-1.x86_64.rpm,以处理openEuler22.03 LTS在yum安装saltstack3003.3过程中依赖的包python-pyzmq和python3-zmq始终存在冲突问题。
需参照本人前面写的文档,找到所需要的 pyzmq-20.0.0.tar.gz源码包:
需参照以下文档,找红帽系统下的python-zmq-20.0.0-1.el8.src.rpm文件,在redhat8/centos8,安装并抽取其中的spec文件:
完成以上准备工作后,开始正式工作。
1、首先确定openEuler22.03 LTS编译主机系统信息
[root@localhost ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"
2、在编译主机上新建编译文件目录,并将源码包,SPEC文件存放到相应位置,完成后的目录信息如下:
[root@localhost ~]# cd /root
[root@localhost ~]# tree rpmbuild/
rpmbuild/
├── SOURCES
│ └── pyzmq-20.0.0.tar.gz
└── SPECS
└── python-zmq.spec
3、安装编译环境
[root@localhost ~]# yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel -y
Last metadata expiration check: 0:18:36 ago on 2022年12月26日 星期一 12时22分03秒.
Package gcc-10.3.1-10.oe2203.x86_64 is already installed.
Package perl-devel-4:5.34.0-3.oe2203.x86_64 is already installed.
Dependencies resolved.
=========================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================================================================================
Installing:
openssl-devel x86_64 1:1.1.1m-13.oe2203 update 1.8 M
pam-devel x86_64 1.5.2-2.oe2203 OS 23 k
rpm-build x86_64 4.17.0-14.oe2203 update 69 k
zlib-devel x86_64 1.2.11-22.oe2203 update 90 k
Upgrading:
cpp x86_64 10.3.1-11.oe2203 update 8.9 M
gcc x86_64 10.3.1-11.oe2203 update 29 M
libgcc x86_64 10.3.1-11.oe2203 update 74 k
libgomp x86_64 10.3.1-11.oe2203 update 228 k
openssl x86_64 1:1.1.1m-13.oe2203 update 445 k
openssl-libs x86_64 1:1.1.1m-13.oe2203 update 1.4 M
python3-rpm x86_64 4.17.0-14.oe2203 update 79 k
rpm x86_64 4.17.0-14.oe2203 update 492 k
rpm-libs x86_64 4.17.0-14.oe2203 update 366 k
zlib x86_64 1.2.11-22.oe2203 update 88 k
Installing dependencies:
babeltrace x86_64 1.5.8-2.oe2203 OS 205 k
debugedit x86_64 5.0-2.oe2203 OS 74 k
dwz x86_64 0.14-3.oe2203 OS 119 k
e2fsprogs-devel x86_64 1.46.4-7.oe2203 OS 287 k
gdb-headless x86_64 11.1-1.oe2203 OS 3.5 M
keyutils-libs-devel x86_64 1.6.3-3.oe2203 OS 12 k
krb5-devel x86_64 1.19.2-2.oe2203 OS 164 k
libipt x86_64 2.0.4-1.oe2203 OS 51 k
libselinux-devel x86_64 3.3-1.oe2203 OS 102 k
libsepol-devel x86_64 3.3-2.oe2203 OS 362 k
libverto-devel x86_64 0.3.2-1.oe2203 OS 17 k
patch x86_64 2.7.6-12.oe2203 OS 123 k
pcre2-devel x86_64 10.39-1.oe2203 OS 501 k
Transaction Summary
=========================================================================================================================================================================================================================================
Install 17 Packages
Upgrade 10 Packages
Total download size: 48 M
Downloading Packages:
(1/27): debugedit-5.0-2.oe2203.x86_64.rpm 345 kB/s | 74 kB 00:00
...
(27/27): gcc-10.3.1-11.oe2203.x86_64.rpm 493 kB/s | 29 MB 00:59
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 725 kB/s | 48 MB 01:07
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Upgrading : zlib-1.2.11-22.oe2203.x86_64 1/37
Upgrading : openssl-libs-1:1.1.1m-13.oe2203.x86_64 2/37
Running scriptlet: openssl-libs-1:1.1.1m-13.oe2203.x86_64 2/37
Upgrading : libgomp-10.3.1-11.oe2203.x86_64 ...
36/37
Verifying : zlib-1.2.11-19.oe2203.x86_64 37/37
Upgraded:
cpp-10.3.1-11.oe2203.x86_64 gcc-10.3.1-11.oe2203.x86_64 libgcc-10.3.1-11.oe2203.x86_64 libgomp-10.3.1-11.oe2203.x86_64 openssl-1:1.1.1m-13.oe2203.x86_64 openssl-libs-1:1.1.1m-13.oe2203.x86_64
python3-rpm-4.17.0-14.oe2203.x86_64 rpm-4.17.0-14.oe2203.x86_64 rpm-libs-4.17.0-14.oe2203.x86_64 zlib-1.2.11-22.oe2203.x86_64
Installed:
babeltrace-1.5.8-2.oe2203.x86_64 debugedit-5.0-2.oe2203.x86_64 dwz-0.14-3.oe2203.x86_64 e2fsprogs-devel-1.46.4-7.oe2203.x86_64 gdb-headless-11.1-1.oe2203.x86_64 keyutils-libs-devel-1.6.3-3.oe2203.x86_64
krb5-devel-1.19.2-2.oe2203.x86_64 libipt-2.0.4-1.oe2203.x86_64 libselinux-devel-3.3-1.oe2203.x86_64 libsepol-devel-3.3-2.oe2203.x86_64 libverto-devel-0.3.2-1.oe2203.x86_64 openssl-devel-1:1.1.1m-13.oe2203.x86_64
pam-devel-1.5.2-2.oe2203.x86_64 patch-2.7.6-12.oe2203.x86_64 pcre2-devel-10.39-1.oe2203.x86_64 rpm-build-4.17.0-14.oe2203.x86_64 zlib-devel-1.2.11-22.oe2203.x86_64
Complete!
4、进行试编译,可以看到缺失很多依赖包
[root@localhost yum.repos.d]# cd /root/rpmbuild/SPECS/
[root@localhost SPECS]# rpmbuild -bb python-zmq.spec
错误:构建依赖失败:
/usr/bin/pathfix.py 被 python-zmq-20.0.0-1.x86_64 需要
chrpath 被 python-zmq-20.0.0-1.x86_64 需要
openstack-macros 被 python-zmq-20.0.0-1.x86_64 需要
python3-Cython 被 python-zmq-20.0.0-1.x86_64 需要
python3-devel 被 python-zmq-20.0.0-1.x86_64 需要
zeromq-devel 被 python-zmq-20.0.0-1.x86_64 需要
5、接下来就是安装编译文件所需的各个依赖包
[root@localhost SPECS]# dnf install chrpath
Last metadata expiration check: 0:01:14 ago on 2022年12月26日 星期一 13时30分00秒.
Dependencies resolved.
==========================================================================================
Package Architecture Version Repository Size
==========================================================================================
Installing:
chrpath x86_64 0.16-12.oe2203 OS 27 k
Transaction Summary
==========================================================================================
Install 1 Package
Total download size: 27 k
Installed size: 52 k
Is this ok [y/N]: y
Downloading Packages:
chrpath-0.16-12.oe2203.x86_64.rpm 155 kB/s | 27 kB 00:00
------------------------------------------------------------------------------------------
Total 154 kB/s | 27 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : chrpath-0.16-12.oe2203.x86_64 1/1
Verifying : chrpath-0.16-12.oe2203.x86_64 1/1
Installed:
chrpath-0.16-12.oe2203.x86_64
Complete!
[root@localhost SPECS]# dnf install python3-Cython
Last metadata expiration check: 0:01:52 ago on 2022年12月26日 星期一 13时30分00秒.
Dependencies resolved.
==========================================================================================
Package Architecture Version Repository Size
==========================================================================================
Installing:
python3-Cython x86_64 0.29.25-1.oe2203 everything 2.2 M
Transaction Summary
==========================================================================================
Install 1 Package
Total download size: 2.2 M
Installed size: 10 M
Is this ok [y/N]: y
Downloading Packages:
python3-Cython-0.29.25-1.oe2203.x86_64.rpm 950 kB/s | 2.2 MB 00:02
------------------------------------------------------------------------------------------
Total 950 kB/s | 2.2 MB 00:02
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-Cython-0.29.25-1.oe2203.x86_64 1/1
Running scriptlet: python3-Cython-0.29.25-1.oe2203.x86_64 1/1
Verifying : python3-Cython-0.29.25-1.oe2203.x86_64 1/1
Installed:
python3-Cython-0.29.25-1.oe2203.x86_64
Complete!
[root@localhost SPECS]# dnf install python3-devel
Last metadata expiration check: 0:02:17 ago on 2022年12月26日 星期一 13时30分00秒.
Dependencies resolved.
==========================================================================================
Package Architecture Version Repository Size
==========================================================================================
Installing:
python3-devel x86_64 3.9.9-17.oe2203 update 12 M
Upgrading:
python3 x86_64 3.9.9-17.oe2203 update 8.0 M
Installing dependencies:
python3-rpm-generators noarch 9-2.oe2203 OS 24 k
tk x86_64 1:8.6.10-2.oe2203 OS 1.1 M
Transaction Summary
==========================================================================================
Install 3 Packages
Upgrade 1 Package
Total download size: 21 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): python3-rpm-generators-9-2.oe2203.noarch.rpm 140 kB/s | 24 kB 00:00
(2/4): tk-8.6.10-2.oe2203.x86_64.rpm 98 kB/s | 1.1 MB 00:11
(3/4): python3-3.9.9-17.oe2203.x86_64.rpm 323 kB/s | 8.0 MB 00:25
(4/4): python3-devel-3.9.9-17.oe2203.x86_64.rpm 390 kB/s | 12 MB 00:30
------------------------------------------------------------------------------------------
Total 695 kB/s | 21 MB 00:30
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Upgrading : python3-3.9.9-17.oe2203.x86_64 1/5
Installing : python3-rpm-generators-9-2.oe2203.noarch 2/5
Running scriptlet: tk-1:8.6.10-2.oe2203.x86_64 3/5
Installing : tk-1:8.6.10-2.oe2203.x86_64 3/5
Installing : python3-devel-3.9.9-17.oe2203.x86_64 4/5
Cleanup : python3-3.9.9-7.oe2203.x86_64 5/5
Running scriptlet: python3-3.9.9-7.oe2203.x86_64 5/5
Verifying : python3-rpm-generators-9-2.oe2203.noarch 1/5
Verifying : tk-1:8.6.10-2.oe2203.x86_64 2/5
Verifying : python3-devel-3.9.9-17.oe2203.x86_64 3/5
Verifying : python3-3.9.9-17.oe2203.x86_64 4/5
Verifying : python3-3.9.9-7.oe2203.x86_64 5/5
Upgraded:
python3-3.9.9-17.oe2203.x86_64
Installed:
python3-devel-3.9.9-17.oe2203.x86_64 python3-rpm-generators-9-2.oe2203.noarch
tk-1:8.6.10-2.oe2203.x86_64
Complete!
[root@localhost SPECS]# dnf install zeromq-devel
Last metadata expiration check: 0:04:01 ago on 2022年12月26日 星期一 13时30分00秒.
Dependencies resolved.
==========================================================================================
Package Architecture Version Repository Size
==========================================================================================
Installing:
zeromq-devel x86_64 4.3.4-1.oe2203 everything 17 k
Installing dependencies:
libsodium-devel x86_64 1.0.18-1.oe2203 everything 1.3 M
libunwind-devel x86_64 2:1.5.0-2.oe2203 update 25 k
openpgm-devel x86_64 5.2.122-16.oe2203 everything 61 k
Transaction Summary
==========================================================================================
Install 4 Packages
Total download size: 1.4 M
Installed size: 4.7 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): zeromq-devel-4.3.4-1.oe2203.x86_64.rpm 102 kB/s | 17 kB 00:00
(2/4): libunwind-devel-1.5.0-2.oe2203.x86_64.rpm 453 kB/s | 25 kB 00:00
(3/4): openpgm-devel-5.2.122-16.oe2203.x86_64.rpm 180 kB/s | 61 kB 00:00
(4/4): libsodium-devel-1.0.18-1.oe2203.x86_64.rpm 963 kB/s | 1.3 MB 00:01
------------------------------------------------------------------------------------------
Total 1.0 MB/s | 1.4 MB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : libunwind-devel-2:1.5.0-2.oe2203.x86_64 1/4
Installing : openpgm-devel-5.2.122-16.oe2203.x86_64 2/4
Installing : libsodium-devel-1.0.18-1.oe2203.x86_64 3/4
Installing : zeromq-devel-4.3.4-1.oe2203.x86_64 4/4
Running scriptlet: zeromq-devel-4.3.4-1.oe2203.x86_64 4/4
Verifying : libsodium-devel-1.0.18-1.oe2203.x86_64 1/4
Verifying : openpgm-devel-5.2.122-16.oe2203.x86_64 2/4
Verifying : zeromq-devel-4.3.4-1.oe2203.x86_64 3/4
Verifying : libunwind-devel-2:1.5.0-2.oe2203.x86_64 4/4
Installed:
libsodium-devel-1.0.18-1.oe2203.x86_64 libunwind-devel-2:1.5.0-2.oe2203.x86_64
openpgm-devel-5.2.122-16.oe2203.x86_64 zeromq-devel-4.3.4-1.oe2203.x86_64
Complete!
[root@localhost SPECS]# rpm -ivh /tmp/openstack-macros-2020.1.2-2.4.noarch.rpm
警告:/tmp/openstack-macros-2020.1.2-2.4.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f6ab3975: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:openstack-macros-2020.1.2-2.4 ################################# [100%]
6、再次进行编译
[root@localhost SPECS]# rpmbuild -bb python-zmq.spec
正在执行(%prep):/bin/sh -e /var/tmp/rpm-tmp.AlSbXW
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
+ rm -rf pyzmq-20.0.0
+ /usr/bin/gzip -dc /root/rpmbuild/SOURCES/pyzmq-20.0.0.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd pyzmq-20.0.0
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ rm -rf bundled
+ find zmq -name '*.c' -delete
+ /usr/bin/python3 setup.py cython
Compiling zmq/backend/cython/_device.pyx because it changed.
Compiling zmq/backend/cython/_poll.pyx because it changed.
Compiling zmq/backend/cython/_proxy_steerable.pyx because it changed.
Compiling zmq/backend/cython/_version.pyx because it changed.
Compiling zmq/backend/cython/constants.pyx because it changed.
Compiling zmq/backend/cython/context.pyx because it changed.
Compiling zmq/backend/cython/error.pyx because it changed.
Compiling zmq/backend/cython/message.pyx because it changed.
Compiling zmq/backend/cython/socket.pyx because it changed.
Compiling zmq/backend/cython/utils.pyx because it changed.
Compiling zmq/devices/monitoredqueue.pyx because it changed.
[ 1/11] Cythonizing zmq/backend/cython/_device.pyx
[ 2/11] Cythonizing zmq/backend/cython/_poll.pyx
[ 3/11] Cythonizing zmq/backend/cython/_proxy_steerable.pyx
[ 4/11] Cythonizing zmq/backend/cython/_version.pyx
[ 5/11] Cythonizing zmq/backend/cython/constants.pyx
[ 6/11] Cythonizing zmq/backend/cython/context.pyx
[ 7/11] Cythonizing zmq/backend/cython/error.pyx
[ 8/11] Cythonizing zmq/backend/cython/message.pyx
[ 9/11] Cythonizing zmq/backend/cython/socket.pyx
[10/11] Cythonizing zmq/backend/cython/utils.pyx
[11/11] Cythonizing zmq/devices/monitoredqueue.pyx
running cython
+ for lib in zmq/eventloop/*.py
+ sed '/\/usr\/bin\/env/d' zmq/eventloop/__init__.py
+ touch -r zmq/eventloop/__init__.py zmq/eventloop/__init__.py.new
+ mv zmq/eventloop/__init__.py.new zmq/eventloop/__init__.py
+ for lib in zmq/eventloop/*.py
+ sed '/\/usr\/bin\/env/d' zmq/eventloop/_deprecated.py
+ touch -r zmq/eventloop/_deprecated.py zmq/eventloop/_deprecated.py.new
+ mv zmq/eventloop/_deprecated.py.new zmq/eventloop/_deprecated.py
+ for lib in zmq/eventloop/*.py
+ sed '/\/usr\/bin\/env/d' zmq/eventloop/future.py
+ touch -r zmq/eventloop/future.py zmq/eventloop/future.py.new
+ mv zmq/eventloop/future.py.new zmq/eventloop/future.py
+ for lib in zmq/eventloop/*.py
+ sed '/\/usr\/bin\/env/d' zmq/eventloop/ioloop.py
+ touch -r zmq/eventloop/ioloop.py zmq/eventloop/ioloop.py.new
+ mv zmq/eventloop/ioloop.py.new zmq/eventloop/ioloop.py
+ for lib in zmq/eventloop/*.py
+ sed '/\/usr\/bin\/env/d' zmq/eventloop/zmqstream.py
+ touch -r zmq/eventloop/zmqstream.py zmq/eventloop/zmqstream.py.new
+ mv zmq/eventloop/zmqstream.py.new zmq/eventloop/zmqstream.py
+ chmod -x examples/pubsub/topics_pub.py
+ chmod -x examples/pubsub/topics_sub.py
+ RPM_EC=0
++ jobs -p
+ exit 0
正在执行(%build):/bin/sh -e /var/tmp/rpm-tmp.KzvdcG
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd pyzmq-20.0.0
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/generic-hardened-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection '
+ LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld'
+ /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s'
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/zmq
copying zmq/decorators.py -> build/lib.linux-x86_64-3.9/zmq
copying zmq/error.py -> build/lib.linux-x86_64-3.9/zmq
copying zmq/_future.py -> build/lib.linux-x86_64-3.9/zmq
copying zmq/__init__.py -> build/lib.linux-x86_64-3.9/zmq
copying zmq/asyncio.py -> build/lib.linux-x86_64-3.9/zmq
creating build/lib.linux-x86_64-3.9/zmq/green
copying zmq/green/poll.py -> build/lib.linux-x86_64-3.9/zmq/green
copying zmq/green/device.py -> build/lib.linux-x86_64-3.9/zmq/green
copying zmq/green/core.py -> build/lib.linux-x86_64-3.9/zmq/green
copying zmq/green/__init__.py -> build/lib.linux-x86_64-3.9/zmq/green
creating build/lib.linux-x86_64-3.9/zmq/green/eventloop
copying zmq/green/eventloop/ioloop.py -> build/lib.linux-x86_64-3.9/zmq/green/eventloop
copying zmq/green/eventloop/__init__.py -> build/lib.linux-x86_64-3.9/zmq/green/eventloop
copying zmq/green/eventloop/zmqstream.py -> build/lib.linux-x86_64-3.9/zmq/green/eventloop
creating build/lib.linux-x86_64-3.9/zmq/backend
copying zmq/backend/select.py -> build/lib.linux-x86_64-3.9/zmq/backend
copying zmq/backend/__init__.py -> build/lib.linux-x86_64-3.9/zmq/backend
creating build/lib.linux-x86_64-3.9/zmq/backend/cython
copying zmq/backend/cython/__init__.py -> build/lib.linux-x86_64-3.9/zmq/backend/cython
creating build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/utils.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/devices.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/context.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/socket.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/error.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/_poll.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/message.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/__init__.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/constants.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/backend/cffi/_cffi.py -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
creating build/lib.linux-x86_64-3.9/zmq/devices
copying zmq/devices/monitoredqueuedevice.py -> build/lib.linux-x86_64-3.9/zmq/devices
copying zmq/devices/proxysteerabledevice.py -> build/lib.linux-x86_64-3.9/zmq/devices
copying zmq/devices/__init__.py -> build/lib.linux-x86_64-3.9/zmq/devices
copying zmq/devices/monitoredqueue.py -> build/lib.linux-x86_64-3.9/zmq/devices
copying zmq/devices/basedevice.py -> build/lib.linux-x86_64-3.9/zmq/devices
copying zmq/devices/proxydevice.py -> build/lib.linux-x86_64-3.9/zmq/devices
creating build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_version.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/conftest.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_monqueue.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_proxy_steerable.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_z85.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_win32_shim.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_includes.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_device.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_zmqstream.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_asyncio.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_ioloop.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_multipart.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_draft.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_auth.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_context.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_ssh.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_error.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_message.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_decorators.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_pair.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_monitor.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_log.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/__init__.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_etc.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_retry_eintr.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_imports.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_socket.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_constants.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_cython.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_future.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_security.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_reqrep.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_cffi_backend.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_poll.py -> build/lib.linux-x86_64-3.9/zmq/tests
copying zmq/tests/test_pubsub.py -> build/lib.linux-x86_64-3.9/zmq/tests
creating build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/win32.py -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/interop.py -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/strtypes.py -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/jsonapi.py -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/garbage.py -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/z85.py -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/constant_names.py -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/__init__.py -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/monitor.py -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/sixcerpt.py -> build/lib.linux-x86_64-3.9/zmq/utils
creating build/lib.linux-x86_64-3.9/zmq/ssh
copying zmq/ssh/forward.py -> build/lib.linux-x86_64-3.9/zmq/ssh
copying zmq/ssh/tunnel.py -> build/lib.linux-x86_64-3.9/zmq/ssh
copying zmq/ssh/__init__.py -> build/lib.linux-x86_64-3.9/zmq/ssh
creating build/lib.linux-x86_64-3.9/zmq/log
copying zmq/log/handlers.py -> build/lib.linux-x86_64-3.9/zmq/log
copying zmq/log/__main__.py -> build/lib.linux-x86_64-3.9/zmq/log
copying zmq/log/__init__.py -> build/lib.linux-x86_64-3.9/zmq/log
creating build/lib.linux-x86_64-3.9/zmq/auth
copying zmq/auth/base.py -> build/lib.linux-x86_64-3.9/zmq/auth
copying zmq/auth/ioloop.py -> build/lib.linux-x86_64-3.9/zmq/auth
copying zmq/auth/thread.py -> build/lib.linux-x86_64-3.9/zmq/auth
copying zmq/auth/__init__.py -> build/lib.linux-x86_64-3.9/zmq/auth
copying zmq/auth/asyncio.py -> build/lib.linux-x86_64-3.9/zmq/auth
copying zmq/auth/certs.py -> build/lib.linux-x86_64-3.9/zmq/auth
creating build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/version.py -> build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/tracker.py -> build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/context.py -> build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/socket.py -> build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/poll.py -> build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/attrsettr.py -> build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/stopwatch.py -> build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/__init__.py -> build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/constants.py -> build/lib.linux-x86_64-3.9/zmq/sugar
copying zmq/sugar/frame.py -> build/lib.linux-x86_64-3.9/zmq/sugar
creating build/lib.linux-x86_64-3.9/zmq/eventloop
copying zmq/eventloop/future.py -> build/lib.linux-x86_64-3.9/zmq/eventloop
copying zmq/eventloop/ioloop.py -> build/lib.linux-x86_64-3.9/zmq/eventloop
copying zmq/eventloop/_deprecated.py -> build/lib.linux-x86_64-3.9/zmq/eventloop
copying zmq/eventloop/__init__.py -> build/lib.linux-x86_64-3.9/zmq/eventloop
copying zmq/eventloop/zmqstream.py -> build/lib.linux-x86_64-3.9/zmq/eventloop
creating build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado
copying zmq/eventloop/minitornado/concurrent.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado
copying zmq/eventloop/minitornado/ioloop.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado
copying zmq/eventloop/minitornado/stack_context.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado
copying zmq/eventloop/minitornado/__init__.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado
copying zmq/eventloop/minitornado/util.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado
copying zmq/eventloop/minitornado/log.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado
creating build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado/platform
copying zmq/eventloop/minitornado/platform/interface.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado/platform
copying zmq/eventloop/minitornado/platform/auto.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado/platform
copying zmq/eventloop/minitornado/platform/__init__.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado/platform
copying zmq/eventloop/minitornado/platform/windows.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado/platform
copying zmq/eventloop/minitornado/platform/posix.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado/platform
copying zmq/eventloop/minitornado/platform/common.py -> build/lib.linux-x86_64-3.9/zmq/eventloop/minitornado/platform
copying zmq/__init__.pxd -> build/lib.linux-x86_64-3.9/zmq
copying zmq/backend/cython/__init__.pxd -> build/lib.linux-x86_64-3.9/zmq/backend/cython
copying zmq/backend/cython/checkrc.pxd -> build/lib.linux-x86_64-3.9/zmq/backend/cython
copying zmq/backend/cython/message.pxd -> build/lib.linux-x86_64-3.9/zmq/backend/cython
copying zmq/backend/cython/libzmq.pxd -> build/lib.linux-x86_64-3.9/zmq/backend/cython
copying zmq/backend/cython/socket.pxd -> build/lib.linux-x86_64-3.9/zmq/backend/cython
copying zmq/backend/cython/context.pxd -> build/lib.linux-x86_64-3.9/zmq/backend/cython
copying zmq/backend/cython/constant_enums.pxi -> build/lib.linux-x86_64-3.9/zmq/backend/cython
copying zmq/backend/cython/constants.pxi -> build/lib.linux-x86_64-3.9/zmq/backend/cython
copying zmq/backend/cffi/_cdefs.h -> build/lib.linux-x86_64-3.9/zmq/backend/cffi
copying zmq/devices/monitoredqueue.pxd -> build/lib.linux-x86_64-3.9/zmq/devices
copying zmq/utils/buffers.pxd -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/pyversion_compat.h -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/ipcmaxlen.h -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/zmq_compat.h -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/getpid_compat.h -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/zmq_constants.h -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/mutex.h -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/compiler.json -> build/lib.linux-x86_64-3.9/zmq/utils
copying zmq/utils/config.json -> build/lib.linux-x86_64-3.9/zmq/utils
running build_ext
running configure
Settings obtained from pkg-config: {'library_dirs': [], 'include_dirs': ['/usr/include/pgm-5.2', '/usr/lib64/pgm-5.2/include'], 'libraries': ['zmq']}
{'libraries': ['zmq'], 'include_dirs': ['/usr/include/pgm-5.2', '/usr/lib64/pgm-5.2/include'], 'library_dirs': [], 'runtime_library_dirs': [], 'extra_link_args': []}
gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -D_GNU_SOURCE -fPIC -fwrapv -D_GNU_SOURCE -fPIC -fwrapv -fstack-protector-strong -
.....中间省略若干行
6386 blocks
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1 1
Bytecompiling .py files below /root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64/usr/lib64/python3.9 using /usr/bin/python3.9
Bytecompiling .py files below /root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64/usr/lib/debug/usr/lib64/python3.9 using /usr/bin/python3.9
+ /usr/lib/rpm/brp-python-hardlink
正在执行(%check):/bin/sh -e /var/tmp/rpm-tmp.p28i5j
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd pyzmq-20.0.0
+ RPM_EC=0
++ jobs -p
+ exit 0
处理文件:python3-zmq-20.0.0-1.x86_64
正在执行(%doc):/bin/sh -e /var/tmp/rpm-tmp.Sf8HlU
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd pyzmq-20.0.0
+ DOCDIR=/root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64/usr/share/doc/python3-zmq
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64/usr/share/doc/python3-zmq
+ cp -pr README.md /root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64/usr/share/doc/python3-zmq
+ RPM_EC=0
++ jobs -p
+ exit 0
正在执行(%license):/bin/sh -e /var/tmp/rpm-tmp.aZ32qg
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd pyzmq-20.0.0
+ LICENSEDIR=/root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64/usr/share/doc/python3-zmq
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64/usr/share/doc/python3-zmq
+ cp -pr COPYING.BSD COPYING.LESSER /root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64/usr/share/doc/python3-zmq
+ RPM_EC=0
++ jobs -p
+ exit 0
警告:被列出两次的文件:/usr/share/doc/python3-zmq
警告:被列出两次的文件:/usr/share/doc/python3-zmq
Provides: python-pyzmq = 20.0.0-1 python-zmq = 20.0.0-1 python3-pyzmq = 20.0.0-1 python3-zmq = 20.0.0-1 python3-zmq(x86-64) = 20.0.0-1 python3.9dist(pyzmq) = 20 python3dist(pyzmq) = 20
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.4)(64bit) libzmq.so.5()(64bit) python(abi) = 3.9 rtld(GNU_HASH)
Obsoletes: python-pyzmq < 20.0.0-1 python-zmq < 20.0.0-1
处理文件:python3-zmq-tests-20.0.0-1.x86_64
Provides: python-pyzmq-tests = 20.0.0-1 python-zmq-tests = 20.0.0-1 python3-pyzmq-tests = 20.0.0-1 python3-zmq-tests = 20.0.0-1 python3-zmq-tests(x86-64) = 20.0.0-1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: python(abi) = 3.9
Obsoletes: python-pyzmq-tests < 20.0.0-1 python-zmq-tests < 20.0.0-1
处理文件:python-zmq-debuginfo-20.0.0-1.x86_64
Provides: python-zmq-debuginfo = 20.0.0-1 python-zmq-debuginfo(x86-64) = 20.0.0-1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Recommends: python-zmq-debugsource(x86-64) = 20.0.0-1
处理文件:python-zmq-debugsource-20.0.0-1.x86_64
Provides: python-zmq-debugsource = 20.0.0-1 python-zmq-debugsource(x86-64) = 20.0.0-1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
检查未打包文件:/usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64
已写至:/root/rpmbuild/RPMS/x86_64/python-zmq-debugsource-20.0.0-1.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/python3-zmq-20.0.0-1.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/python-zmq-debuginfo-20.0.0-1.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/python3-zmq-tests-20.0.0-1.x86_64.rpm
正在执行(%clean):/bin/sh -e /var/tmp/rpm-tmp.2LnkMB
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd pyzmq-20.0.0
+ /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/python-zmq-20.0.0-1.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
7、至此,编译成功完成,在目标目录可以看到生成的rpm文件
[root@localhost BUILDROOT]# cd /root/rpmbuild/RPMS/x86_64/
[root@localhost x86_64]# ll
总用量 1.4M
-rw-r--r--. 1 root root 375K 12月 26 13:36 python3-zmq-20.0.0-1.x86_64.rpm
-rw-r--r--. 1 root root 117K 12月 26 13:36 python3-zmq-tests-20.0.0-1.x86_64.rpm
-rw-r--r--. 1 root root 683K 12月 26 13:36 python-zmq-debuginfo-20.0.0-1.x86_64.rpm
-rw-r--r--. 1 root root 157K 12月 26 13:36 python-zmq-debugsource-20.0.0-1.x86_64.rpm
8、python3-zmq-20.0.0-1.x86_64.rpm即是我们所需的目标文件,我们可以添加salt源进行安装测试
[root@localhost yum.repos.d]# vi salt.repo
[root@localhost yum.repos.d]# cat salt.repo
[salt]
name=salt
#baseurl=https://repo.oepkgs.net/openeuler/rpm/openEuler-22.03-LTS/compatible/f35/x86_64/
baseurl=http://10.227.2.226/salt/openeuler22.03rpm/
enabled=1
gpgcheck=0
9、安装测试:
[root@localhost x86_64]# dnf localinstall python3-zmq-20.0.0-1.x86_64.rpm
OS 802 kB/s | 3.4 MB 00:04
everything 732 kB/s | 16 MB 00:22
EPOL 864 kB/s | 2.6 MB 00:03
debuginfo 755 kB/s | 3.9 MB 00:05
source 564 kB/s | 1.7 MB 00:03
update 717 kB/s | 29 MB 00:41
salt 513 kB/s | 2.2 MB 00:04
Dependencies resolved.
=========================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================================================================================
Installing:
python3-zmq x86_64 20.0.0-1 @commandline 375 k
Installing dependencies:
libsodium x86_64 1.0.18-1.oe2203 everything 155 k
libunwind x86_64 2:1.5.0-2.oe2203 update 54 k
openpgm x86_64 5.2.122-16.oe2203 everything 171 k
zeromq x86_64 4.3.4-1.oe2203 everything 267 k
Transaction Summary
=========================================================================================================================================================================================================================================
Install 5 Packages
Total size: 1.0 M
Total download size: 647 k
Installed size: 3.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): zeromq-4.3.4-1.oe2203.x86_64.rpm 650 kB/s | 267 kB 00:00
(2/4): libunwind-1.5.0-2.oe2203.x86_64.rpm 872 kB/s | 54 kB 00:00
(3/4): libsodium-1.0.18-1.oe2203.x86_64.rpm 255 kB/s | 155 kB 00:00
(4/4): openpgm-5.2.122-16.oe2203.x86_64.rpm 273 kB/s | 171 kB 00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 1.0 MB/s | 647 kB 00:00
retrieving repo key for everything unencrypted from http://repo.openeuler.org/openEuler-22.03-LTS/everything/x86_64/RPM-GPG-KEY-openEuler
everything 19 kB/s | 2.1 kB 00:00
Importing GPG key 0xB25E7F66:
Userid : "private OBS (key without passphrase) <defaultkey@localobs>"
Fingerprint: 12EA 74AC 9DF4 8D46 C69C A0BE D557 065E B25E 7F66
From : http://repo.openeuler.org/openEuler-22.03-LTS/everything/x86_64/RPM-GPG-KEY-openEuler
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: libunwind-2:1.5.0-2.oe2203.x86_64 1/5
Installing : libunwind-2:1.5.0-2.oe2203.x86_64 1/5
Installing : openpgm-5.2.122-16.oe2203.x86_64 2/5
Installing : libsodium-1.0.18-1.oe2203.x86_64 3/5
Installing : zeromq-4.3.4-1.oe2203.x86_64 4/5
Installing : python3-zmq-20.0.0-1.x86_64 5/5
Running scriptlet: python3-zmq-20.0.0-1.x86_64 5/5
Verifying : libsodium-1.0.18-1.oe2203.x86_64 1/5
Verifying : openpgm-5.2.122-16.oe2203.x86_64 2/5
Verifying : zeromq-4.3.4-1.oe2203.x86_64 3/5
Verifying : libunwind-2:1.5.0-2.oe2203.x86_64 4/5
Verifying : python3-zmq-20.0.0-1.x86_64 5/5
Installed:
libsodium-1.0.18-1.oe2203.x86_64 libunwind-2:1.5.0-2.oe2203.x86_64 openpgm-5.2.122-16.oe2203.x86_64 python3-zmq-20.0.0-1.x86_64 zeromq-4.3.4-1.oe2203.x86_64
Complete!
[root@localhost x86_64]#
新编译的python3-zmq-20.0.0-1.x86_64.rpm成功安装,编译工作圆满成功。