diff --git a/segenman b/segenman index 3d234a7..45c53dd 100755 --- a/segenman +++ b/segenman @@ -152,11 +152,33 @@ date = datetime.datetime.now().strftime("%d %b %Y") def prettyprint(f,trim): return " ".join(f[:-len(trim)].split("_")) +def get_os_version(): + os_version = "" + pkg_name = "selinux-policy" + try: + import commands + rc, output = commands.getstatusoutput("rpm -q '%s'" % pkg_name) + if rc == 0: + os_version = output.split(".")[-2] + except: + os_version = "" + + if os_version[0:2] == "fc": + os_version = "Fedora"+os_version[2:] + elif os_version[0:2] == "el": + os_version = "RHEL"+os_version[2:] + else: + os_version = "" + + return os_version + + +os_version = get_os_version() + class ManPage: - def __init__(self, domainname, path, os_version): + def __init__(self, domainname, path): self.domainname = domainname self.short_name = domainname - self.os_version = os_version self.type = self.domainname + "_t" self.fd = open("%s/%s_selinux.8" % (path, domainname), 'w') if domainname in roles: @@ -898,13 +920,10 @@ if __name__ == '__main__': parser = argparse.ArgumentParser(description='Generate SELinux man pages') parser.add_argument("-p", "--path", dest="path", default="/tmp", help="Path for SELinux man pages") - parser.add_argument("-v", "--version", dest="os_version", default="Fedora18",help="Version of OS") parser.add_argument("-l", "--list", dest="test_domains", default="", nargs="+", help="List of domains") try: args = parser.parse_args() - - os_version = args.os_version path = args.path if len(args.test_domains) == 0: @@ -922,4 +941,4 @@ if __name__ == '__main__': for domain in test_domains: print domain - ManPage(domain, path, os_version) + ManPage(domain, path)