用于分析RPM依赖关系和加快RPM构建过程的模块。
rpm-make-rules-dependency-lister的Python项目详细描述
#RPM使规则依赖列表器
[![pypi版本](https://badge.fury.io/py/rpm make rules dependency lister.svg)(https://badge.fury.io/py/rpm make rules dependency lister)
CLE您通常只需要重新打包几个RPM。
实际上,这个工具是一个简单的python3脚本,它读取一个.rpm文件并写入一个输出文本文件
,如果包含在make file中,它将指示gnu make有关.rpm pac的依赖项
kage,这样只有当其中一个依赖项被更新时,这样的rpm才能被重建
(而不是无条件地),从而加快打包所需的时间。
您曾经生成二进制文件等。
生成的输出文件的格式与gnu make语法兼容。
les_u dependency_lister-v--input/my/rpm/folder/myrpm.rpm
```
生成一个文件'/my/rpm/folder/myrpm.d',您可以检查它,以了解该实用程序对您的RPM文件的作用。
使用:
```
pip3 install rpm make rules dependency lister安装实用程序以便能够运行测试
git clone https://github.com/f18m/rpm make rules dependency lister.git
cd rpm make rules dependency lister/tests
ls-l
```
在从git干净签出之后,ectory只包含2个spec文件。
现在如果运行:
````
make所有rpm都将重新生成(首次生成)
ls-l
```
您将从这些spec文件生成rpm(需要安装"rpmbuild"实用程序!)以及与它们一起的依赖文件(那些*.d文件)。依赖项文件是使用
"rpm make rules dependency lister"实用程序生成的。稍后再详细介绍。
现在如果运行:
```
make不重建任何内容
```
这是因为gnu make现在有一个
打包文件的列表,除非打包文件被更新,否则不会不必要地重新生成rpm。
您可以通过运行:
````
make touch\u files\u pkga来测试它;这会更改从rpm a打包的文件的mtime
make#现在转速A是重建!
```
/>在用--search选项指定的目录列表中递归找到的所有文件,使用两个条件:
<1)文件名
2)其MD5或SHA256校验和
将使用rst条件(文件名)。
实际上,rpmbuild实用程序在默认情况下会附带在
打包文件上执行的许多安装后脚本。其中一些脚本将更改打包的文件,并可能更改RPM Make Rules Dependency Lister内部使用的SHA256校验和,以构建关联映射"打包的文件-文件依赖关系"。
一个示例是使用
```
rpm宏。在这种情况下,您可以使用--match executable by name only标志或删除这些RPM宏。
消除ELF文件的所有安装后修改的一种方法是向spec文件添加:
````
%global在gnu make过程中,只需向makefile添加3行:
````
dep_文件:=$(foreach spec,$(wildcard*.spec),deps/$(spec.d)第一行添加
%-$(rpm_version)-$(rpm撸release)$(rpm撸arch).rpm:%.spec
…您的rpm build调用…
rpm make_rules_dependency_lister--input$@--output=deps/$<;.d--search=<;srcdir>;\second line to add
````
,其中"srcdir"是您生成要打包的文件的目录,这些文件将被复制到rpm build根目录中。
最后,在makefile的末尾添加:
```
_文件)第三行添加
```
[![pypi版本](https://badge.fury.io/py/rpm make rules dependency lister.svg)(https://badge.fury.io/py/rpm make rules dependency lister)
CLE您通常只需要重新打包几个RPM。
实际上,这个工具是一个简单的python3脚本,它读取一个.rpm文件并写入一个输出文本文件
,如果包含在make file中,它将指示gnu make有关.rpm pac的依赖项
kage,这样只有当其中一个依赖项被更新时,这样的rpm才能被重建
(而不是无条件地),从而加快打包所需的时间。
您曾经生成二进制文件等。
生成的输出文件的格式与gnu make语法兼容。
les_u dependency_lister-v--input/my/rpm/folder/myrpm.rpm
```
生成一个文件'/my/rpm/folder/myrpm.d',您可以检查它,以了解该实用程序对您的RPM文件的作用。
使用:
```
pip3 install rpm make rules dependency lister安装实用程序以便能够运行测试
git clone https://github.com/f18m/rpm make rules dependency lister.git
cd rpm make rules dependency lister/tests
ls-l
```
在从git干净签出之后,ectory只包含2个spec文件。
现在如果运行:
````
make所有rpm都将重新生成(首次生成)
ls-l
```
您将从这些spec文件生成rpm(需要安装"rpmbuild"实用程序!)以及与它们一起的依赖文件(那些*.d文件)。依赖项文件是使用
"rpm make rules dependency lister"实用程序生成的。稍后再详细介绍。
现在如果运行:
```
make不重建任何内容
```
这是因为gnu make现在有一个
打包文件的列表,除非打包文件被更新,否则不会不必要地重新生成rpm。
您可以通过运行:
````
make touch\u files\u pkga来测试它;这会更改从rpm a打包的文件的mtime
make#现在转速A是重建!
```
/>在用--search选项指定的目录列表中递归找到的所有文件,使用两个条件:
<1)文件名
2)其MD5或SHA256校验和
将使用rst条件(文件名)。
实际上,rpmbuild实用程序在默认情况下会附带在
打包文件上执行的许多安装后脚本。其中一些脚本将更改打包的文件,并可能更改RPM Make Rules Dependency Lister内部使用的SHA256校验和,以构建关联映射"打包的文件-文件依赖关系"。
一个示例是使用
```
rpm宏。在这种情况下,您可以使用--match executable by name only标志或删除这些RPM宏。
消除ELF文件的所有安装后修改的一种方法是向spec文件添加:
````
%global在gnu make过程中,只需向makefile添加3行:
````
dep_文件:=$(foreach spec,$(wildcard*.spec),deps/$(spec.d)第一行添加
%-$(rpm_version)-$(rpm撸release)$(rpm撸arch).rpm:%.spec
…您的rpm build调用…
rpm make_rules_dependency_lister--input$@--output=deps/$<;.d--search=<;srcdir>;\second line to add
````
,其中"srcdir"是您生成要打包的文件的目录,这些文件将被复制到rpm build根目录中。
最后,在makefile的末尾添加:
```
_文件)第三行添加
```