]> TLD Linux GIT Repositories - packages/rpm.git/blob - rpm-xz.patch
b94af1137207c97481fba5e2020802b868ee53e1
[packages/rpm.git] / rpm-xz.patch
1 diff -ur rpm-4.5.orig/build/parsePrep.c rpm-4.5/build/parsePrep.c
2 --- rpm-4.5.orig/build/parsePrep.c      2014-07-29 17:12:39.000000000 +0000
3 +++ rpm-4.5/build/parsePrep.c   2014-07-29 17:14:38.749000000 +0000
4 @@ -148,6 +148,9 @@
5         case COMPRESSED_LZMA:
6             zipper = "%{__lzma}";
7             break;
8 +       case COMPRESSED_XZ:
9 +           zipper = "%{__xz}";
10 +           break;
11         }
12         zipper = rpmGetPath(zipper, NULL);
13  
14 @@ -251,6 +254,9 @@
15         case COMPRESSED_LZMA:
16             t = "%{__lzma} -dc";
17             break;
18 +       case COMPRESSED_XZ:
19 +           t = "%{__xz} -dc";
20 +           break;
21         case COMPRESSED_ZIP:
22             if (rpmIsVerbose() && !quietly)
23                 t = "%{__unzip}";
24 diff -ur rpm-4.5.orig/rpmio/macro.c rpm-4.5/rpmio/macro.c
25 --- rpm-4.5.orig/rpmio/macro.c  2014-07-29 17:12:39.000000000 +0000
26 +++ rpm-4.5/rpmio/macro.c       2014-07-29 17:13:17.613000000 +0000
27 @@ -1241,10 +1241,13 @@
28             sprintf(be, "%%__unzip -qq %s", b);
29             break;
30         case 4: /* COMPRESSED_LZOP */
31 -           sprintf(be, "%%__lzop %s", b);
32 +           sprintf(be, "%%__lzop -dc %s", b);
33             break;
34         case 5: /* COMPRESSED_LZMA */
35 -           sprintf(be, "%%__lzma %s", b);
36 +           sprintf(be, "%%__lzma -dc %s", b);
37 +           break;
38 +       case 6: /* COMPRESSED_XZ */
39 +           sprintf(be, "%%__xz -dc %s", b);
40             break;
41         }
42         b = be;
43 @@ -2257,6 +2260,13 @@
44         magic[11] == 0x00 && magic[12] == 0x00) /* lzmash */
45         *compressed = COMPRESSED_LZMA;
46      else
47 +    if (magic[0] == 0135 && magic[1] == 0 && magic[2] == 0)    /* lzma */
48 +       *compressed = COMPRESSED_LZMA;
49 +    else
50 +    if (magic[0] == 0xFD && magic[1] == 0x37 && magic[2] == 0x7A
51 +     && magic[3] == 0x58 && magic[4] == 0x5A && magic[5] == 0x00)      /* xz */
52 +       *compressed = COMPRESSED_XZ;
53 +    else
54      if ((magic[0] == 0037 && magic[1] == 0213) /* gzip */
55       ||        (magic[0] == 0037 && magic[1] == 0236)  /* old gzip */
56       ||        (magic[0] == 0037 && magic[1] == 0036)  /* pack */
57 diff -ur rpm-4.5.orig/rpmio/rpmmacro.h rpm-4.5/rpmio/rpmmacro.h
58 --- rpm-4.5.orig/rpmio/rpmmacro.h       2014-07-29 17:12:39.000000000 +0000
59 +++ rpm-4.5/rpmio/rpmmacro.h    2014-07-29 17:13:17.613000000 +0000
60 @@ -170,7 +170,8 @@
61      COMPRESSED_BZIP2           = 2,    /*!< bzip2 can handle */
62      COMPRESSED_ZIP             = 3,    /*!< unzip can handle */
63      COMPRESSED_LZOP            = 4,    /*!< lzop can handle */
64 -    COMPRESSED_LZMA            = 5     /*!< lzma can handle */
65 +    COMPRESSED_LZMA            = 5,    /*!< lzma can handle */
66 +    COMPRESSED_XZ              = 6     /*!< xz can handle */
67  } rpmCompressedMagic;
68  
69  /**