Basic Wyng functions on FreeBSD
Opened this issue · 1 comments
tasket commented
Experiment
See if Wyng can list and retrieve data on non-Linux systems.
Test system
- FreeBSD 14.0 in Qubes HVM
- Python 3.9
- Wyng 0.8 beta5
Observations
After installing the py39-zstd and py39-pycryptodome packages in FreeBSD, then copying an existing Wyng archive from a Linux VM...
Trying simple wyng --dest=file:/path list
:
- ctypes setup of fallocate() fails –this function is only needed for
receive
- Cryptodome library doesn't expose its own name, only as "Crypto" namespace
- The following block stops initialization with an IOError (probably the /var/lock path is not supported):
lockf = open(lockpath, "w")
fcntl.lockf(lockf, fcntl.LOCK_EX|fcntl.LOCK_NB)
- Some command paths in class CP don't match
stat -f -c '%a %S'
fails with 'No such file or directory' –probably replace this withdf -P
chattr
command not found- Workarounds for all of the above succeeded in producing an archive listing
Also:
- Auth agent doesn't work; passphrase not cached
Trying wyng --dest=file:/path verify volname
:
- The following
awk
command exited with status 2:
do_exec([[CP.awk, r'{sub("/manifest","",FILENAME); print $0, FILENAME > "'
+cdir+r'/"FILENAME}', fname+"/manifest"]], cwd=vol.path)
Installing gawk
and changing the command path fixed this.
-
BSD
sed
does not like the\s
and\S
sequences for space; works with the replacements ' ' and[^ ]
. -
With these two workarounds,
verify
operations succeeded.
Trying simple wyng --dest=file:/path --save-to=test.img receive volname
:
lvm
command not available- '/etc/mtab' not available
tasket commented
These issues are basically resolvable for verify
. In addition to the recent commits, do:
- Auto-disable
chattr
use on non-Linux env (or just test for presence of the command). - Reconfigure other paths in class CP.
- Install py39-pycryptodomex to supply the correct namespace. (Note the 'x'.)
- Simple (automatic?) transform of that one
sed
pattern