Winse Blog

走走停停, 熙熙攘攘, 忙忙碌碌, 不知何畏.

togo简单的RPM打包工具

源码: https://github.com/genereese/togo

安装

1
yum install https://github.com/genereese/togo/releases/download/v2.3r7/togo-2.3-7.noarch.rpm

实际案例使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 创建类似rpmbuild的骨架
togo project create my-new-rpm; cd my-new-rpm

# 内容准备
mkdir -p root/usr/local/bin; touch root/usr/local/bin/exmaple.sh
chmod +x root/usr/local/bin/exmaple.sh

# 排除目录、文件
togo file exclude root/usr/local/bin
  Removed '/usr/local/bin' from project ownership.
  Removed '/usr/local' from project ownership.
  Removed '/usr' from project ownership.

# 修改属性,如第二次重新打包就需要修改下release
vi spec/header

# 编译打包
togo build package

成果

1
2
3
4
$ ll rpms/my-new-rpm-1.0-1.noarch.rpm
-rw-r--r-- 1 root root 2236 Jul 14 12:17 rpms/my-new-rpm-1.0-1.noarch.rpm
$ rpm -qpl rpms/my-new-rpm-1.0-1.noarch.rpm
/usr/local/bin/exmaple.sh

打出来的就是第一个标准的rpm包,然后就可以按照rpm包的方式进行处理了:直接安装、或者使用createrepo来制作本地仓库等等。

用来简单打包文件还是挺方便的。相当于把骨架都搭建好了,然后还提供了一些方便的命令来进行维护修改。

还有一个 rpmdevtools 也是一个创建编译项目的脚手架,只不过这仅仅是对rpmbuild方式的辅助。更多的还是需要自己精心的维护spec。

还有提到的 docker-rpm-builder 需要centos7。如果要打那种N个环境的rpm包,才能体现出它的优势吧。

–END

Comments