| |
@@ -1140,12 +1140,19 @@
|
| |
sub.section_files += "/%s\n"%installPath
|
| |
self.add_payload_check(installPath, subpackageSuffix)
|
| |
|
| |
- def add_installed_symlink(self, installedPath, target, subpackageSuffix=None):
|
| |
+ def add_installed_symlink(self, installedPath, target, subpackageSuffix=None, isConfig=False, isDoc=False, isGhost=False):
|
| |
"""Add a simple symlinking into the %install phase, and pick it up in the %files list"""
|
| |
self.create_parent_dirs(installedPath)
|
| |
self.section_install += "ln -s %s $RPM_BUILD_ROOT/%s\n"%(target, installedPath)
|
| |
sub = self.get_subpackage(subpackageSuffix)
|
| |
- sub.section_files += "/%s\n"%installedPath
|
| |
+ tag = ""
|
| |
+ if isConfig:
|
| |
+ tag+="%config "
|
| |
+ if isDoc:
|
| |
+ tag+="%doc "
|
| |
+ if isGhost:
|
| |
+ tag+="%ghost "
|
| |
+ sub.section_files += '%s"/%s"\n'%(tag, installedPath)
|
| |
self.add_payload_check(installedPath, subpackageSuffix)
|
| |
|
| |
def add_simple_payload_file(self):
|
| |
@@ -1842,6 +1849,51 @@
|
| |
self.assertEqual(1, len(files))
|
| |
self.assertEqual("/foo", files[0][0])
|
| |
|
| |
+ def test_config_symlink(self):
|
| |
+ self.rpmbuild.add_installed_symlink("foo", "bar", isConfig=True)
|
| |
+ self.rpmbuild.make()
|
| |
+
|
| |
+ rpmsDir = self.rpmbuild.get_rpms_dir()
|
| |
+ self.assert_is_dir(rpmsDir)
|
| |
+
|
| |
+ for arch in [expectedArch]:
|
| |
+ # FIXME: sort out architecture properly
|
| |
+ rpmFile = self.rpmbuild.get_built_rpm(arch)
|
| |
+ h = get_rpm_header(rpmFile)
|
| |
+ files = list(h.fiFromHeader())
|
| |
+ self.assertEqual(1, len(files))
|
| |
+ self.assertEqual("/foo", files[0][0])
|
| |
+
|
| |
+ def test_doc_symlink(self):
|
| |
+ self.rpmbuild.add_installed_symlink("foo", "bar", isDoc=True)
|
| |
+ self.rpmbuild.make()
|
| |
+
|
| |
+ rpmsDir = self.rpmbuild.get_rpms_dir()
|
| |
+ self.assert_is_dir(rpmsDir)
|
| |
+
|
| |
+ for arch in [expectedArch]:
|
| |
+ # FIXME: sort out architecture properly
|
| |
+ rpmFile = self.rpmbuild.get_built_rpm(arch)
|
| |
+ h = get_rpm_header(rpmFile)
|
| |
+ files = list(h.fiFromHeader())
|
| |
+ self.assertEqual(1, len(files))
|
| |
+ self.assertEqual("/foo", files[0][0])
|
| |
+
|
| |
+ def test_ghost_symlink(self):
|
| |
+ self.rpmbuild.add_installed_symlink("foo", "bar", isGhost=True)
|
| |
+ self.rpmbuild.make()
|
| |
+
|
| |
+ rpmsDir = self.rpmbuild.get_rpms_dir()
|
| |
+ self.assert_is_dir(rpmsDir)
|
| |
+
|
| |
+ for arch in [expectedArch]:
|
| |
+ # FIXME: sort out architecture properly
|
| |
+ rpmFile = self.rpmbuild.get_built_rpm(arch)
|
| |
+ h = get_rpm_header(rpmFile)
|
| |
+ files = list(h.fiFromHeader())
|
| |
+ self.assertEqual(1, len(files))
|
| |
+ self.assertEqual("/foo", files[0][0])
|
| |
+
|
| |
def test_fake_virus(self):
|
| |
"""Ensure that adding a fake virus works as expected"""
|
| |
self.rpmbuild.add_fake_virus('fake-virus-infectee.exe', 'fake-virus-infectee.exe')
|
| |
Add isConfig, isDoc, and isGhost to add_installed_symlink.