Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1unpackCmdHooks+=(_tryDpkgDeb) 2_tryDpkgDeb() { 3 if ! [[ "$curSrc" =~ \.deb$ ]]; then return 1; fi 4 # Don't use dpkg-deb -x as that will error if the archive contains a file 5 # or directory with a setuid bit in its permissions. This is because dpkg 6 # calls tar internally with the -p flag, preserving file permissions. 7 # 8 # We instead only use dpkg-deb to extract the tarfile containing the files 9 # we want from the .deb, then finish extracting with tar directly. 10 mkdir root 11 dpkg-deb --fsys-tarfile "$curSrc" | tar --extract --directory=root 12}