RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [email protected] Module: rpm Date: 20-Feb-2009 18:37:13 Branch: HEAD Handle: 2009022017371300 Modified files: rpm/rpmio rpmz.c Log: - jbj: wireup zlib/zip fromats. don't set format specific parameters w popt cb. Summary: Revision Changes Path 1.20 +47 -21 rpm/rpmio/rpmz.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/rpmio/rpmz.c ============================================================================ $ cvs diff -u -r1.19 -r1.20 rpmz.c --- rpm/rpmio/rpmz.c 20 Feb 2009 17:15:43 -0000 1.19 +++ rpm/rpmio/rpmz.c 20 Feb 2009 17:37:13 -0000 1.20 @@ -196,7 +196,7 @@ /*...@unchecked@*/ static struct rpmz_s __rpmz = { .flags = RPMZ_FLAGS_NONE, - .format = RPMZ_FORMAT_AUTO, + .format = RPMZ_FORMAT_GZIP, /* XXX RPMZ_FORMAT_AUTO? */ .mode = RPMZ_MODE_COMPRESS, .level = 6, /* XXX compression level is type specific. */ @@ -355,6 +355,10 @@ { RPMZ_FORMAT_LZMA, ".tlz", ".tar" }, { RPMZ_FORMAT_GZIP, ".gz", "" }, { RPMZ_FORMAT_GZIP, ".tgz", ".tar" }, + { RPMZ_FORMAT_ZLIB, ".gz", "" }, + { RPMZ_FORMAT_ZLIB, ".tgz", ".tar" }, + { RPMZ_FORMAT_ZIP, ".zip", "" }, + { RPMZ_FORMAT_ZIP, ".tgz", ".tar" }, { RPMZ_FORMAT_BZIP2, ".bz2", "" }, { RPMZ_FORMAT_RAW, NULL, NULL } }; @@ -1393,27 +1397,23 @@ } break; case 'F': - if (!strcmp(arg, "auto")) { + if (!strcmp(arg, "auto")) z->format = RPMZ_FORMAT_AUTO; - } else if (!strcmp(arg, "xz")) { - z->idio = z->odio = xzdio; - z->osuffix = ".xz"; + else if (!strcmp(arg, "xz")) z->format = RPMZ_FORMAT_XZ; - } else if (!strcmp(arg, "lzma") || !strcmp(arg, "alone")) { - z->idio = z->odio = lzdio; - z->osuffix = ".lzma"; + else if (!strcmp(arg, "lzma") || !strcmp(arg, "alone")) z->format = RPMZ_FORMAT_LZMA; - } else if (!strcmp(arg, "raw")) { + else if (!strcmp(arg, "raw")) z->format = RPMZ_FORMAT_RAW; - } else if (!strcmp(arg, "gzip") || !strcmp(arg, "gz")) { - z->idio = z->odio = gzdio; - z->osuffix = ".gz"; + else if (!strcmp(arg, "gzip") || !strcmp(arg, "gz")) z->format = RPMZ_FORMAT_GZIP; - } else if (!strcmp(arg, "bzip2") || !strcmp(arg, "bz2")) { - z->idio = z->odio = bzdio; - z->osuffix = ".bz2"; + else if (!strcmp(arg, "zlib")) + z->format = RPMZ_FORMAT_ZLIB; + else if (!strcmp(arg, "zip")) + z->format = RPMZ_FORMAT_ZIP; + else if (!strcmp(arg, "bzip2") || !strcmp(arg, "bz2")) z->format = RPMZ_FORMAT_BZIP2; - } else { + else { fprintf(stderr, _("%s: Unknown file format type \"%s\"\n"), __progname, arg); /*...@-exitarg@*/ exit(2); /*...@=exitarg@*/ @@ -1736,11 +1736,6 @@ goto exit; z->iob = rpmiobNew(z->nb); -#ifndef DYING - z->idio = z->odio = gzdio; - z->osuffix = ".gz"; - z->format = RPMZ_FORMAT_GZIP; -#endif /* Make sure that stdin/stdout/stderr are open. */ /* XXX done by rpmioInit as well. */ @@ -1759,6 +1754,37 @@ /* XXX todo: needs to be earlier. */ optCon = rpmioInit(argc, argv, optionsTable); + /* XXX Set additional parameters from z->format. */ + switch (z->format) { + case RPMZ_FORMAT_AUTO: + /* XXX W2DO? */ + break; + case RPMZ_FORMAT_XZ: + z->idio = z->odio = xzdio; + z->osuffix = ".xz"; + break; + case RPMZ_FORMAT_LZMA: + z->idio = z->odio = lzdio; + z->osuffix = ".lzma"; + break; + case RPMZ_FORMAT_RAW: + /* XXX W2DO? */ + break; + case RPMZ_FORMAT_GZIP: + case RPMZ_FORMAT_ZLIB: + z->idio = z->odio = gzdio; + z->osuffix = ".gz"; + break; + case RPMZ_FORMAT_ZIP: + z->idio = z->odio = gzdio; + z->osuffix = ".zip"; + break; + case RPMZ_FORMAT_BZIP2: + z->idio = z->odio = bzdio; + z->osuffix = ".bz2"; + break; + } + /* Add files from CLI. */ { ARGV_t av = poptGetArgs(optCon); if (av != NULL) @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository [email protected]
