summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJindrich Novy <jnovy@redhat.com>2008-04-22 12:37:18 +0200
committerJindrich Novy <jnovy@redhat.com>2008-04-22 12:37:18 +0200
commit3626f25462e1e63c226134dec254a19799dfced7 (patch)
treec442a5459b283f5bf02c591cc0302831c6902147
parent3d8e0ef13a389c263e3867c20ce32ae088332c7b (diff)
downloadrpm-3626f25462e1e63c226134dec254a19799dfced7.tar.gz
rpm-3626f25462e1e63c226134dec254a19799dfced7.tar.bz2
rpm-3626f25462e1e63c226134dec254a19799dfced7.zip
Handle lzma payload
-rw-r--r--lib/psm.c2
-rw-r--r--lib/rpmds.c3
-rw-r--r--rpm2cpio.c2
3 files changed, 7 insertions, 0 deletions
diff --git a/lib/psm.c b/lib/psm.c
index 8179b6432..4ca25bd28 100644
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -1736,6 +1736,8 @@ assert(psm->mi == NULL);
psm->rpmio_flags = "r.gzdio";
if (!strcmp(payload_compressor, "bzip2"))
psm->rpmio_flags = "r.bzdio";
+ if (!strcmp(payload_compressor, "lzma"))
+ psm->rpmio_flags = "r.lzdio";
rc = RPMRC_OK;
} break;
diff --git a/lib/rpmds.c b/lib/rpmds.c
index d47aa5f46..9181642d3 100644
--- a/lib/rpmds.c
+++ b/lib/rpmds.c
@@ -1011,6 +1011,9 @@ static const struct rpmlibProvides_s rpmlibProvides[] = {
(RPMSENSE_RPMLIB|RPMSENSE_EQUAL),
N_("package payload can be compressed using bzip2.") },
#endif
+ { "rpmlib(PayloadIsLzma)", "4.4.90-1",
+ (RPMSENSE_RPMLIB|RPMSENSE_EQUAL),
+ N_("package payload can be compressed using lzma.") },
{ "rpmlib(PayloadFilesHavePrefix)", "4.0-1",
(RPMSENSE_RPMLIB|RPMSENSE_EQUAL),
N_("package payload file(s) have \"./\" prefix.") },
diff --git a/rpm2cpio.c b/rpm2cpio.c
index 164a61f64..e5e29331b 100644
--- a/rpm2cpio.c
+++ b/rpm2cpio.c
@@ -75,6 +75,8 @@ int main(int argc, char *argv[])
rpmio_flags = "r.gzdio";
if (!strcmp(payload_compressor, "bzip2"))
rpmio_flags = "r.bzdio";
+ if (!strcmp(payload_compressor, "lzma"))
+ rpmio_flags = "r.lzdio";
}
gzdi = Fdopen(fdi, rpmio_flags); /* XXX gzdi == fdi */