项目中要求将一个python脚本打包成rpm包,方便yum安装,研究了一遍,把其中的过程记录一下。
#/usr/bin/env python #-*- coding=utf-8 -*- print 'this is test'
这个脚本运行结果一目了然。
通过pip命令安装该组件:pip install pyinstaller
pyinstaller -F test.py
将生成的dist目录下生成的test文件打包为test.tar文件
安装rpmbuild 组件及生成相关目录
yum install rpmdevtools yum install -y rpm-build rpmdev-setuptree
以上命令运行成功后会在当前用户目录下生成rpmbuild目录,该目录会包含以下子目录
--BUILD #编译之前,如解压包后存放的路径
--BUILDROOT #编译后存放的路径
--RPMS #打包完成后rpm包存放的路径
--SOURCES #源包所放置的路径
--SPECS #spec文档放置的路径
--SPRMS #源码rpm包放置的路径
将3步骤生成的test.tar 文件考入SOURCES目录,编辑test.spec文件
Name:test Version:1.0 Release:0%{?dist} Summary: test Group:test License:GPL Source0:test.tar BuildRoot:%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %description -l zh_CN "the tools for test" %prep %setup -c -n test %install mkdir -p %{buildroot}/%{_usr}/bin install test %{buildroot}/%{_usr}/bin/test1.0 %files %doc /%{_usr}/bin/test1.0
该文件中具体的含义后续会有文章具体解释。
运行命令
rpmbuild -ba SPECS/test.spec
命令成功后会在RPMS目录中生成相应的rpm包