If "file -bizL" does not return a supported type. Check if the dist file is recognized by bsdtar and if yes extract from it. Signed-off-by: Nezmer <git@nezmer.info> --- bsdtar can recognize many containers and compression algorithms. lzma is the best compression the GNU guys are using in their dist files. % file -bizL wget-1.12.tar.lzma application/octet-stream; charset=binary "file" output is not really useful. Using lzma can reduce the size of source packages by a good margin. scripts/makepkg.sh.in | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 76b6183..71b87ff 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -685,9 +685,12 @@ extract_sources() { *) continue;; esac ;; *) - # Don't know what to use to extract this file, - # skip to the next file - continue;; + # Check If bsdtar can recognize the file + if bsdtar -tf "$file" &>/dev/null; then + cmd="bsdtar" + else + continue + fi ;; esac local ret=0 -- 1.7.1