0

有一个简单的控制文件:

Source: my-package
Section: non-free
Priority: extra
Maintainer: Some one <someone@gmail.com>
Uploaders: Some one <someone@gmail.com>
Build-Depends: dh-autoreconf, pkg-config, debhelper, autotools-dev, dh-buildinfo,
 dh-systemd,
 packageA (>= 1.42),
 libpackage-dev (>= 1.5-32), libpackage-dev (<= 1.5-999),

Standards-Version: 1.0.0
Homepage: http://www.google.com

Package: my-package
Section: non-free
Architecture: any
Depends: lib-bla
Description: my awesome package

另外,我有一个 Map<> 包含: package : version

我需要修改此文件的Build-Depends属性(通过 groovy/Jenkins/shell)并替换每个完全不包含版本限制的构建依赖项(例如 pkg-config)以包含特定版本:(= 1.0)

版本应取自地图

修改后的文件应该是这样的:

..
..
Build-Depends: dh-autoreconf (= 1.0), pkg-config (= 2.0-10), debhelper(= 10.0-9), 
  autotools-dev (= 7.2.3-1), dh-buildinfo(= 3.0),
..
..

归根结底,需要一些方法来遍历 Build-Depends 检查是否包含版本限制,如果没有,则将版本从 Map

任何想法?我可以使用文本处理方法来做到这一点,但我会寻找更官方的方式来处理 Debian 的控制文件修改

4

0 回答 0