Author: mm
Date: Tue Nov 23 11:31:12 2010
New Revision: 215738
URL: http://svn.freebsd.org/changeset/base/215738

Log:
  MFC r213718:
  
  - Add support for xz compression to pkg_create, bzip2 remains the default
  compression algorithm.
  - Bump PKG_INSTALL_VERSION to 20101012.
  
  Submitted by: mm
  Approved by:  portmgr (flz)

Modified:
  stable/8/usr.sbin/pkg_install/add/main.c
  stable/8/usr.sbin/pkg_install/create/create.h
  stable/8/usr.sbin/pkg_install/create/main.c
  stable/8/usr.sbin/pkg_install/create/perform.c
  stable/8/usr.sbin/pkg_install/create/pkg_create.1
  stable/8/usr.sbin/pkg_install/lib/lib.h
Directory Properties:
  stable/8/usr.sbin/pkg_install/   (props changed)

Modified: stable/8/usr.sbin/pkg_install/add/main.c
==============================================================================
--- stable/8/usr.sbin/pkg_install/add/main.c    Tue Nov 23 10:37:00 2010        
(r215737)
+++ stable/8/usr.sbin/pkg_install/add/main.c    Tue Nov 23 11:31:12 2010        
(r215738)
@@ -227,9 +227,9 @@ main(int argc, char **argv)
                    >= sizeof(temppackageroot))
                    errx(1, "package name too long");
                remotepkg = temppackageroot;
-               if (!((ptr = strrchr(remotepkg, '.')) && ptr[1] == 't' && 
-                       (ptr[2] == 'b' || ptr[2] == 'g') && ptr[3] == 'z' &&
-                       !ptr[4]))
+               if (!((ptr = strrchr(remotepkg, '.')) && ptr[1] == 't' &&
+                       (ptr[2] == 'b' || ptr[2] == 'g' || ptr[2] == 'x') &&
+                       ptr[3] == 'z' && !ptr[4]))
                    if (strlcat(remotepkg, ".tbz",
                        sizeof(temppackageroot)) >= sizeof(temppackageroot))
                        errx(1, "package name too long");

Modified: stable/8/usr.sbin/pkg_install/create/create.h
==============================================================================
--- stable/8/usr.sbin/pkg_install/create/create.h       Tue Nov 23 10:37:00 
2010        (r215737)
+++ stable/8/usr.sbin/pkg_install/create/create.h       Tue Nov 23 11:31:12 
2010        (r215738)
@@ -48,7 +48,7 @@ extern int    PlistOnly;
 extern int     Recursive;
 extern int     Regenerate;
 
-enum zipper {NONE, GZIP, BZIP, BZIP2 };
+enum zipper {NONE, GZIP, BZIP, BZIP2, XZ };
 extern enum zipper     Zipper;
 
 void           add_cksum(Package *, PackingList, const char *);

Modified: stable/8/usr.sbin/pkg_install/create/main.c
==============================================================================
--- stable/8/usr.sbin/pkg_install/create/main.c Tue Nov 23 10:37:00 2010        
(r215737)
+++ stable/8/usr.sbin/pkg_install/create/main.c Tue Nov 23 11:31:12 2010        
(r215738)
@@ -48,7 +48,7 @@ enum zipper   Zipper  = BZIP2;
 
 static void usage(void);
 
-static char opts[] = "EGYNnORhjvxyzf:p:P:C:c:d:i:I:k:K:r:t:X:D:m:s:S:o:b:";
+static char opts[] = "EGYNnORhjJvxyzf:p:P:C:c:d:i:I:k:K:r:t:X:D:m:s:S:o:b:";
 static struct option longopts[] = {
        { "backup",     required_argument,      NULL,           'b' },
        { "extended",   no_argument,            NULL,           'E' },
@@ -188,6 +188,10 @@ main(int argc, char **argv)
            Zipper = GZIP;
            break;
 
+       case 'J':
+           Zipper = XZ;
+           break;
+
        case 'b':
            InstalledPkg = optarg;
            while ((tmp = strrchr(optarg, (int)'/')) != NULL) {

Modified: stable/8/usr.sbin/pkg_install/create/perform.c
==============================================================================
--- stable/8/usr.sbin/pkg_install/create/perform.c      Tue Nov 23 10:37:00 
2010        (r215737)
+++ stable/8/usr.sbin/pkg_install/create/perform.c      Tue Nov 23 11:31:12 
2010        (r215738)
@@ -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 cha
            args[nargs++] = "-j";
            cname = "bzip'd ";
        }
+       else if (Zipper == XZ) {
+           args[nargs++] = "-J";
+           cname = "xz'd ";
+       }
        else {
            args[nargs++] = "-z";
            cname = "gzip'd ";

Modified: stable/8/usr.sbin/pkg_install/create/pkg_create.1
==============================================================================
--- stable/8/usr.sbin/pkg_install/create/pkg_create.1   Tue Nov 23 10:37:00 
2010        (r215737)
+++ stable/8/usr.sbin/pkg_install/create/pkg_create.1   Tue Nov 23 11:31:12 
2010        (r215738)
@@ -23,7 +23,7 @@
 .\" [jkh] Took John's changes back and made some additional extensions for
 .\" better integration with FreeBSD's new ports collection.
 .\"
-.Dd May 30, 2008
+.Dd Oct 12, 2010
 .Dt PKG_CREATE 1
 .Os
 .Sh NAME
@@ -315,7 +315,7 @@ archive is explicitly specified by the r
 Currently
 .Nm
 recognizes the following suffixes:
-.Pa .tbz , .tgz
+.Pa .tbz , .tgz, .txz
 and
 .Pa .tar .
 .It Fl y
@@ -325,6 +325,20 @@ Compatibility synonym for
 Use
 .Xr gzip 1
 utility to compress package tarball.
+.It Fl J
+Use
+.Xr xz 1
+utility to compress package tarball instead of
+.Xr gzip 1 .
+Please note that this option is a NO-OP if the format of the resulting
+archive is explicitly specified by the recognizable suffix of
+.Ar pkg-filename .
+Currently
+.Nm
+recognizes the following suffixes:
+.Pa .tbz , .tgz, .txz
+and
+.Pa .tar .
 .It Fl b , -backup Ar pkg-name
 Create package file from a locally installed package named
 .Ar pkg-name .

Modified: stable/8/usr.sbin/pkg_install/lib/lib.h
==============================================================================
--- stable/8/usr.sbin/pkg_install/lib/lib.h     Tue Nov 23 10:37:00 2010        
(r215737)
+++ stable/8/usr.sbin/pkg_install/lib/lib.h     Tue Nov 23 11:31:12 2010        
(r215738)
@@ -105,7 +105,7 @@
  * Version of the package tools - increase whenever you make a change
  * in the code that is not cosmetic only.
  */
-#define PKG_INSTALL_VERSION    20090902
+#define PKG_INSTALL_VERSION    20101002
 
 #define PKG_WRAPCONF_FNAME     "/var/db/pkg_install.conf"
 #define main(argc, argv)       real_main(argc, argv)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to