diff options
author | Alexander Pyhalov <apyhalov@gmail.com> | 2014-09-22 18:30:58 +0400 |
---|---|---|
committer | Dan McDonald <danmcd@omniti.com> | 2014-09-23 13:46:14 -0400 |
commit | 3be32116258babbbdd231a5bba8e6e58e87daa99 (patch) | |
tree | b400cab651749a95cdc7e42e80b321af86b8498b /usr/src/tools/scripts/validate_pkg.py | |
parent | 482a774964a5167f49856a87b22ce7797ce5d694 (diff) | |
download | illumos-joyent-3be32116258babbbdd231a5bba8e6e58e87daa99.tar.gz |
5189 validate_pkg should support mediated links
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Diffstat (limited to 'usr/src/tools/scripts/validate_pkg.py')
-rw-r--r-- | usr/src/tools/scripts/validate_pkg.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/usr/src/tools/scripts/validate_pkg.py b/usr/src/tools/scripts/validate_pkg.py index 2ac1e009d0..6678b211e8 100644 --- a/usr/src/tools/scripts/validate_pkg.py +++ b/usr/src/tools/scripts/validate_pkg.py @@ -60,6 +60,7 @@ OUTPUTMAP = { ("path", "path=") ], "link": [ + ("mediator", "mediator="), ("path", "path="), ("target", "target=") ], @@ -196,9 +197,10 @@ class FileInfo(object): # # For symlinks, all that's left is the link target. + # For mediated symlinks targets can differ. # if typelhs == "link": - return lhs.target != rhs.target + return (lhs.mediator is None) and (lhs.target != rhs.target) # # For a directory, it's important that both be directories, @@ -306,6 +308,7 @@ class ActionInfo(FileInfo): elif action.name == "link": target = action.attrs["target"] self.target = os.path.normpath(target) + self.mediator = action.attrs.get("mediator") elif action.name == "dir": self.owner = action.attrs["owner"] self.group = action.attrs["group"] @@ -366,6 +369,7 @@ class RealFileInfo(FileInfo): self.isdir = True elif stat.S_ISLNK(mode): self.target = os.path.normpath(os.readlink(path)) + self.mediator = None else: raise UnsupportedFileFormatError(path, mode) |