]> arthur.barton.de Git - bup.git/commitdiff
Add meta support for restoring filesystem sockets.
authorRob Browning <rlb@defaultvalue.org>
Wed, 1 Jun 2011 00:49:26 +0000 (19:49 -0500)
committerAvery Pennarun <apenwarr@gmail.com>
Thu, 9 Jun 2011 03:12:23 +0000 (23:12 -0400)
Signed-off-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/metadata.py
t/mksock [new file with mode: 0755]
t/test-meta.sh

index 948e48a28be85cf7c2c158ea3c760cdcfb000389..b3884a4ac88753f490287e8ef8375d1e1b181ece 100644 (file)
@@ -243,6 +243,7 @@ class Metadata:
             or stat.S_ISCHR(self.mode) \
             or stat.S_ISBLK(self.mode) \
             or stat.S_ISFIFO(self.mode) \
+            or stat.S_ISSOCK(self.mode) \
             or stat.S_ISLNK(self.mode)
 
     def _create_via_common_rec(self, path, create_symlinks=True):
@@ -282,6 +283,8 @@ class Metadata:
         elif stat.S_ISFIFO(self.mode):
             assert(self._recognized_file_type())
             os.mknod(path, 0600 | stat.S_IFIFO)
+        elif stat.S_ISSOCK(self.mode):
+            os.mknod(path, 0600 | stat.S_IFSOCK)
         elif stat.S_ISLNK(self.mode):
             assert(self._recognized_file_type())
             if self.symlink_target and create_symlinks:
diff --git a/t/mksock b/t/mksock
new file mode 100755 (executable)
index 0000000..ee2dbfe
--- /dev/null
+++ b/t/mksock
@@ -0,0 +1,6 @@
+#!/usr/bin/env python
+
+import socket, sys
+
+s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM, 0)
+s.bind(sys.argv[1])
index 032d1583718f2af15df2d8ab36974e6e75549628..9227808a907aaa87a3dda280a393c22b15fc01a5 100755 (executable)
@@ -78,10 +78,12 @@ force-delete "$TOP/bupmeta.tmp"
 
 # Create a test tree.
 (
+    set -e
     rm -rf "$TOP/bupmeta.tmp/src"
     mkdir -p "$TOP/bupmeta.tmp/src"
     #cp -a Documentation cmd lib t "$TOP/bupmeta.tmp"/src
     cp -pPR Documentation cmd lib t "$TOP/bupmeta.tmp"/src
+    t/mksock "$TOP/bupmeta.tmp/src/test-socket" || true
 ) || WVFAIL
 
 # Use the test tree to check bup meta.