summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pkg_install/create/perform.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/pkg_install/create/perform.c')
-rw-r--r--usr.sbin/pkg_install/create/perform.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/usr.sbin/pkg_install/create/perform.c b/usr.sbin/pkg_install/create/perform.c
index 0e14095..149bcbd 100644
--- a/usr.sbin/pkg_install/create/perform.c
+++ b/usr.sbin/pkg_install/create/perform.c
@@ -67,6 +67,10 @@ pkg_perform(char **pkgs)
Zipper = GZIP;
pkg[len - 4] = '\0';
}
+ else if (!strcmp(&pkg[len - 4], ".txz")) {
+ Zipper = XZ;
+ pkg[len - 4] = '\0';
+ }
else if (!strcmp(&pkg[len - 4], ".tar")) {
Zipper = NONE;
pkg[len - 4] = '\0';
@@ -78,6 +82,8 @@ pkg_perform(char **pkgs)
} else if (Zipper == GZIP) {
suf = "tgz";
setenv("GZIP", "-9", 0);
+ } else if (Zipper == XZ) {
+ suf = "txz";
} else
suf = "tar";
@@ -375,6 +381,10 @@ make_dist(const char *homedir, const char *pkg, const char *suff, Package *plist
args[nargs++] = "-j";
cname = "bzip'd ";
}
+ else if (Zipper == XZ) {
+ args[nargs++] = "-J";
+ cname = "xz'd ";
+ }
else {
args[nargs++] = "-z";
cname = "gzip'd ";
OpenPOWER on IntegriCloud