| |
@@ -580,6 +580,11 @@
|
| |
self.section_conflicts = ""
|
| |
self.section_files = ""
|
| |
|
| |
+ self.section_pre = ""
|
| |
+ self.section_post = ""
|
| |
+ self.section_preun = ""
|
| |
+ self.section_postun = ""
|
| |
+
|
| |
self.triggers = []
|
| |
|
| |
def add_group(self, groupName):
|
| |
@@ -626,6 +631,18 @@
|
| |
"Add a Conflicts: line"
|
| |
self.section_conflicts += "Conflicts: %s\n"%conflicts
|
| |
|
| |
+ def add_pre(self, preLine):
|
| |
+ self.section_pre += preLine
|
| |
+
|
| |
+ def add_post(self, postLine):
|
| |
+ self.section_post += postLine
|
| |
+
|
| |
+ def add_preun(self, preunLine):
|
| |
+ self.section_preun += preunLine
|
| |
+
|
| |
+ def add_postun(self, postunLine):
|
| |
+ self.section_postun += postunLine
|
| |
+
|
| |
def add_trigger(self, trigger):
|
| |
"Add a trigger"
|
| |
self.triggers.append(trigger)
|
| |
@@ -857,6 +874,26 @@
|
| |
|
| |
self.basePackage.write_triggers(specFile)
|
| |
for sub in self.subPackages:
|
| |
+ if sub.section_pre != '':
|
| |
+ specFile.write("%%pre %s\n"%sub.suffix)
|
| |
+ specFile.write(sub.section_pre)
|
| |
+ specFile.write("\n")
|
| |
+
|
| |
+ if sub.section_post != '':
|
| |
+ specFile.write("%%post %s\n"%sub.suffix)
|
| |
+ specFile.write(sub.section_post)
|
| |
+ specFile.write("\n")
|
| |
+
|
| |
+ if sub.section_preun != '':
|
| |
+ specFile.write("%%preun %s\n"%sub.suffix)
|
| |
+ specFile.write(sub.section_preun)
|
| |
+ specFile.write("\n")
|
| |
+
|
| |
+ if sub.section_postun != '':
|
| |
+ specFile.write("%%postun %s\n"%sub.suffix)
|
| |
+ specFile.write(sub.section_postun)
|
| |
+ specFile.write("\n")
|
| |
+
|
| |
sub.write_triggers(specFile)
|
| |
|
| |
specFile.write("%files\n")
|
| |
@@ -1603,6 +1640,58 @@
|
| |
|
| |
self.assert_header_has_item(rpmFile, rpm.RPMTAG_POSTUN, script)
|
| |
|
| |
+ def test_add_sub_pre(self):
|
| |
+ script = 'echo "Hello World!"'
|
| |
+ self.rpmbuild.add_subpackage('subpackage-pre-test')
|
| |
+ sub = self.rpmbuild.get_subpackage('subpackage-pre-test')
|
| |
+ sub.add_pre(script)
|
| |
+ self.rpmbuild.make()
|
| |
+ # FIXME: sort out architecture properly
|
| |
+ for arch in [expectedArch]:
|
| |
+ rpmFile = self.rpmbuild.get_built_rpm(arch, "%s-%s" % (self.rpmbuild.name, sub.suffix))
|
| |
+ self.assert_is_file(rpmFile)
|
| |
+
|
| |
+ self.assert_header_has_item(rpmFile, rpm.RPMTAG_PREIN, script)
|
| |
+
|
| |
+ def test_add_sub_post(self):
|
| |
+ script = 'echo "Hello World!"'
|
| |
+ self.rpmbuild.add_subpackage('subpackage-post-test')
|
| |
+ sub = self.rpmbuild.get_subpackage('subpackage-post-test')
|
| |
+ sub.add_post(script)
|
| |
+ self.rpmbuild.make()
|
| |
+ # FIXME: sort out architecture properly
|
| |
+ for arch in [expectedArch]:
|
| |
+ rpmFile = self.rpmbuild.get_built_rpm(arch, "%s-%s" % (self.rpmbuild.name, sub.suffix))
|
| |
+ self.assert_is_file(rpmFile)
|
| |
+
|
| |
+ self.assert_header_has_item(rpmFile, rpm.RPMTAG_POSTIN, script)
|
| |
+
|
| |
+ def test_add_sub_preun(self):
|
| |
+ script = 'echo "Hello World!"'
|
| |
+ self.rpmbuild.add_subpackage('subpackage-preun-test')
|
| |
+ sub = self.rpmbuild.get_subpackage('subpackage-preun-test')
|
| |
+ sub.add_preun(script)
|
| |
+ self.rpmbuild.make()
|
| |
+ # FIXME: sort out architecture properly
|
| |
+ for arch in [expectedArch]:
|
| |
+ rpmFile = self.rpmbuild.get_built_rpm(arch, "%s-%s" % (self.rpmbuild.name, sub.suffix))
|
| |
+ self.assert_is_file(rpmFile)
|
| |
+
|
| |
+ self.assert_header_has_item(rpmFile, rpm.RPMTAG_PREUN, script)
|
| |
+
|
| |
+ def test_add_sub_postun(self):
|
| |
+ script = 'echo "Hello World!"'
|
| |
+ self.rpmbuild.add_subpackage('subpackage-postun-test')
|
| |
+ sub = self.rpmbuild.get_subpackage('subpackage-postun-test')
|
| |
+ sub.add_postun(script)
|
| |
+ self.rpmbuild.make()
|
| |
+ # FIXME: sort out architecture properly
|
| |
+ for arch in [expectedArch]:
|
| |
+ rpmFile = self.rpmbuild.get_built_rpm(arch, "%s-%s" % (self.rpmbuild.name, sub.suffix))
|
| |
+ self.assert_is_file(rpmFile)
|
| |
+
|
| |
+ self.assert_header_has_item(rpmFile, rpm.RPMTAG_POSTUN, script)
|
| |
+
|
| |
def test_subpackage_names_A(self):
|
| |
self.assertEquals(self.rpmbuild.get_subpackage_names(), ["test-subpackage-names-A"])
|
| |
|
| |
Add add_(pre|post|preun|postun) to Subpackage, and write out subpackage
scriptlets in gather_spec_file