diff --git a/src/pycpio/cpio/data.py b/src/pycpio/cpio/data.py index 91377c0..03bd50d 100644 --- a/src/pycpio/cpio/data.py +++ b/src/pycpio/cpio/data.py @@ -1,3 +1,4 @@ +import os from pathlib import Path from pycpio.masks import mode_bytes_from_path @@ -110,6 +111,9 @@ def from_path(path: Path, relative=False, resolve_symlink=False, *args, **kwargs except FileNotFoundError: kwargs[stat] = 0 # If the symlink target doesn't exist, set the stat to 0 + kwargs["rdevmajor"] = kwargs.pop("rdevmajor", os.major(path.stat(follow_symlinks=resolve_symlink).st_rdev)) + kwargs["rdevminor"] = kwargs.pop("rdevminor", os.minor(path.stat(follow_symlinks=resolve_symlink).st_rdev)) + header = CPIOHeader(*args, **kwargs) data = CPIOData.get_subtype(b"", header, *args, **kwargs)