如何将rpm .spec文件中的值传递给python脚本?

时间:2014-04-10 15:33:39

标签: python rpm specifications

我有一个跟随的问题,顺便说一句。与我已经问过的问题非常相似:

how to pass a rpm spec parameter to C++ program

这次我想在Python脚本中使用值,该脚本在RPM .spec文件中定义。 特别是我想知道是否有办法在Python中读取_datadir的值?

感谢您的帮助;)

1 个答案:

答案 0 :(得分:0)

您可以使用RPM Python界面(在RPM API中记录)。

例如:

import os, rpm

def get_rpm_version(path):

    # open .rpm file
    fdno = os.open(path, os.O_RDONLY)

    # init transaction set
    ts = rpm.TransactionSet()

    # read header
    hdr = ts.hdrFromFdno(fdno)

    # close file
    os.close(fdno)

    # return version
    return hdr['version']