-WVSTART "restore --map-user/group/uid/gid (zero uid/gid trumps all)"
-WVPASS rm -rf dest
-WVPASS bup restore -C dest \
- --map-user "$user=$other_user" --map-group "$group=$other_group" \
- --map-uid "$uid=0" --map-gid "$gid=0" \
- "src/latest/$(pwd)/src/"
-WVPASS bup xstat dest/foo > foo-xstat
-WVPASS grep -qE "^uid: 0\$" foo-xstat
-WVPASS grep -qE "^gid: 0\$" foo-xstat
+has_uid_gid_0=$(WVPASS bup-python -c "
+import grp, pwd
+try:
+ pwd.getpwuid(0)
+ grp.getgrgid(0)
+ print('yes')
+except KeyError as ex:
+ pass
+") || exit $?
+if [ "$has_uid_gid_0" == yes ]
+then
+ WVSTART "restore --map-user/group/uid/gid (zero uid/gid trumps all)"
+ WVPASS rm -rf dest
+ WVPASS bup restore -C dest \
+ --map-user "$user=$other_user" --map-group "$group=$other_group" \
+ --map-uid "$uid=0" --map-gid "$gid=0" \
+ "src/latest/$(pwd)/src/"
+ WVPASS bup xstat dest/foo > foo-xstat
+ WVPASS grep -qE "^uid: 0\$" foo-xstat
+ WVPASS grep -qE "^gid: 0\$" foo-xstat