[PATCH 01/21] Updated create_package_installed template process

Shawn Wells shawn.d.wells at gmail.com
Sat Mar 30 00:28:04 UTC 2013


-------------- next part --------------
>From 1868e163ba098b3bc1e33301bbe5208686439c56 Mon Sep 17 00:00:00 2001
From: Shawn Wells <shawn at redhat.com>
Date: Fri, 29 Mar 2013 15:27:56 -0400
Subject: [PATCH 01/21] Updated create_package_installed template process
 - Updated create_package_installed.py to generate bash scripts,
 using template_BASH_package_installed as template
 - Fixes are put into output/ with .sh extensions
 - `make copy` takes the .sh scripts and places them into ../../fixes/bash
 - Renamed template_package_instaled --> template_OVAL_package_installed

---
 RHEL6/input/checks/templates/Makefile              |    1 +
 .../checks/templates/create_package_installed.py   |   16 ++++++++----
 .../templates/template_BASH_package_installed      |    1 +
 .../templates/template_OVAL_package_installed      |   25 ++++++++++++++++++++
 .../checks/templates/template_package_installed    |   25 --------------------
 5 files changed, 38 insertions(+), 30 deletions(-)
 create mode 100644 RHEL6/input/checks/templates/template_BASH_package_installed
 create mode 100644 RHEL6/input/checks/templates/template_OVAL_package_installed
 delete mode 100644 RHEL6/input/checks/templates/template_package_installed

diff --git a/RHEL6/input/checks/templates/Makefile b/RHEL6/input/checks/templates/Makefile
index c17bfc2..da6568a 100644
--- a/RHEL6/input/checks/templates/Makefile
+++ b/RHEL6/input/checks/templates/Makefile
@@ -22,6 +22,7 @@ compare:
 
 copy:
 	cp output/*.xml ../
+	cp output/*.sh ../../fixes/bash/
 
 find-untemplated: templates
 	./find_untemplated.py
diff --git a/RHEL6/input/checks/templates/create_package_installed.py b/RHEL6/input/checks/templates/create_package_installed.py
index e227567..b32e18c 100755
--- a/RHEL6/input/checks/templates/create_package_installed.py
+++ b/RHEL6/input/checks/templates/create_package_installed.py
@@ -15,12 +15,18 @@ import sys, csv, re
 def output_check(package_info):
     pkgname = package_info[0]
     if pkgname:
-        with open("./template_package_installed", 'r') as templatefile:
-            filestring = templatefile.read()
+        with open("./template_OVAL_package_installed", 'r') as OVALtemplatefile:
+            filestring = OVALtemplatefile.read()
             filestring = filestring.replace("PKGNAME", pkgname)
-            with open("./output/package_" + pkgname + "_installed.xml", 'wb+') as outputfile:
-                outputfile.write(filestring)
-                outputfile.close()
+            with open("./output/package_" + pkgname + "_installed.xml", 'wb+') as OVALoutputfile:
+                OVALoutputfile.write(filestring)
+                OVALoutputfile.close()
+	with open("./template_BASH_package_installed", 'r') as BASHtemplatefile:
+		filestring = BASHtemplatefile.read()
+		filestring = filestring.replace("PKGNAME", pkgname)
+		with open("./output/package_" + pkgname + "_installed.sh", 'wb+') as BASHoutputfile:
+			BASHoutputfile.write(filestring)
+			BASHoutputfile.close()
     else:
         print "ERROR: input violation: the package name must be defined"
 
diff --git a/RHEL6/input/checks/templates/template_BASH_package_installed b/RHEL6/input/checks/templates/template_BASH_package_installed
new file mode 100644
index 0000000..1ea466e
--- /dev/null
+++ b/RHEL6/input/checks/templates/template_BASH_package_installed
@@ -0,0 +1 @@
+yum -y install PKGNAME
diff --git a/RHEL6/input/checks/templates/template_OVAL_package_installed b/RHEL6/input/checks/templates/template_OVAL_package_installed
new file mode 100644
index 0000000..d668705
--- /dev/null
+++ b/RHEL6/input/checks/templates/template_OVAL_package_installed
@@ -0,0 +1,25 @@
+<def-group>
+ <!-- THIS FILE IS GENERATED by create_package_installed.py.  DO NOT EDIT.  -->
+  <definition class="compliance" id="package_PKGNAME_installed"
+  version="1">
+    <metadata>
+      <title>Package PKGNAME Installed</title>
+      <affected family="unix">
+        <platform>Red Hat Enterprise Linux 6</platform>
+      </affected>
+      <description>The RPM package PKGNAME should be installed.</description>
+    </metadata>
+    <criteria>
+      <criterion comment="package PKGNAME is installed"
+      test_ref="test_package_PKGNAME_installed" />
+    </criteria>
+  </definition>
+  <linux:rpminfo_test check="all" check_existence="all_exist"
+  id="test_package_PKGNAME_installed" version="1"
+  comment="package PKGNAME is installed">
+    <linux:object object_ref="obj_package_PKGNAME" />
+  </linux:rpminfo_test>
+  <linux:rpminfo_object id="obj_package_PKGNAME" version="1">
+    <linux:name>PKGNAME</linux:name>
+  </linux:rpminfo_object>
+</def-group>
diff --git a/RHEL6/input/checks/templates/template_package_installed b/RHEL6/input/checks/templates/template_package_installed
deleted file mode 100644
index d668705..0000000
--- a/RHEL6/input/checks/templates/template_package_installed
+++ /dev/null
@@ -1,25 +0,0 @@
-<def-group>
- <!-- THIS FILE IS GENERATED by create_package_installed.py.  DO NOT EDIT.  -->
-  <definition class="compliance" id="package_PKGNAME_installed"
-  version="1">
-    <metadata>
-      <title>Package PKGNAME Installed</title>
-      <affected family="unix">
-        <platform>Red Hat Enterprise Linux 6</platform>
-      </affected>
-      <description>The RPM package PKGNAME should be installed.</description>
-    </metadata>
-    <criteria>
-      <criterion comment="package PKGNAME is installed"
-      test_ref="test_package_PKGNAME_installed" />
-    </criteria>
-  </definition>
-  <linux:rpminfo_test check="all" check_existence="all_exist"
-  id="test_package_PKGNAME_installed" version="1"
-  comment="package PKGNAME is installed">
-    <linux:object object_ref="obj_package_PKGNAME" />
-  </linux:rpminfo_test>
-  <linux:rpminfo_object id="obj_package_PKGNAME" version="1">
-    <linux:name>PKGNAME</linux:name>
-  </linux:rpminfo_object>
-</def-group>
-- 
1.7.1



More information about the scap-security-guide mailing list