Why do ports that need to unzip a file still depend on unzip?
I uninstalled unzip way back when bsdtar(1) was able to unzip but
several ports still try to install it even though the system's
native tar can unzip their files just fine, at least with the
zipped ports I use.
Looks like the magic to handle it can just go into a file in
ports/Mk with USE_ZIP, but my Makefile-writing skills aren't good
enough to do it. I also don't know the version of FreeBSD that
first included bsdtar with zip as the native tar.
So, is there some reason unzip is still needed on all systems or
has no one with the knowledge had the time to fix it?
1) Older FreeBSD revisions didn't have tar capable on unzipping, and no
one updated the ports infrastructure since.
2) Are you absolutely sure tar handle all obscurities that do happen in
real world zip files?
No, I've done no testing at all, other than manually unzipping the
few zipped ports I use ever since tar(1) could unzip, and
unzipping the odd file here and there from usenet or email.
I wouldn't say I've encountered a lot of zipped files, but tar(1)
has worked for all of them.
3) Some ports pass custom flags to unzip command, there would blow up
when replaced with tar, too.
It'd be possible to depend on the unzip port for older FreeBSD versions
and if there are custom flags, but I guess that's probably a lot
of work just to avoid a dependency on a small port.
Depending on it when there's no reason to depend on it just bugs