svn commit: r215738 - in stable/8/usr.sbin/pkg_install: add create
lib
Martin Matuska
mm at FreeBSD.org
Tue Nov 23 11:31:13 UTC 2010
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)
More information about the svn-src-stable
mailing list