logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

0010-pax-Support-xz-compression-with-J-flag.patch (2489B)


  1. From c0b84520a7c92b67b195c6ec9ed9185438810380 Mon Sep 17 00:00:00 2001
  2. From: Michael Forney <mforney@mforney.org>
  3. Date: Sat, 3 Dec 2016 23:50:27 -0800
  4. Subject: [PATCH] pax: Support xz compression with -J flag
  5. ---
  6. bin/pax/options.c | 25 ++++++++++++++++++++++---
  7. 1 file changed, 22 insertions(+), 3 deletions(-)
  8. diff --git a/bin/pax/options.c b/bin/pax/options.c
  9. index 9dd2ea0ce25..63f17f2c1c7 100644
  10. --- a/bin/pax/options.c
  11. +++ b/bin/pax/options.c
  12. @@ -156,6 +156,7 @@ static int xz_id(char *_blk, int _size);
  13. #define GZIP_CMD "gzip" /* command to run as gzip */
  14. #define COMPRESS_CMD "compress" /* command to run as compress */
  15. #define BZIP2_CMD "bzip2" /* command to run as bzip2 */
  16. +#define XZ_CMD "xz" /* command to run as xz */
  17. /*
  18. * Format specific routine table
  19. @@ -312,7 +313,7 @@ pax_options(int argc, char **argv)
  20. /*
  21. * process option flags
  22. */
  23. - while ((c=getopt(argc,argv,"ab:cdf:ijklno:p:rs:tuvwx:zB:DE:G:HLOPT:U:XYZ0"))
  24. + while ((c=getopt(argc,argv,"ab:cdf:ijklno:p:rs:tuvwx:zB:DE:G:HJLOPT:U:XYZ0"))
  25. != -1) {
  26. switch (c) {
  27. case 'a':
  28. @@ -568,6 +569,12 @@ pax_options(int argc, char **argv)
  29. Hflag = 1;
  30. flg |= CHF;
  31. break;
  32. + case 'J':
  33. + /*
  34. + * use xz. Non standard option.
  35. + */
  36. + gzip_program = XZ_CMD;
  37. + break;
  38. case 'L':
  39. /*
  40. * follow symlinks
  41. @@ -744,7 +751,7 @@ tar_options(int argc, char **argv)
  42. * process option flags
  43. */
  44. while ((c = getoldopt(argc, argv,
  45. - "b:cef:hjmopqruts:vwxzBC:F:HI:LNOPXZ014578")) != -1) {
  46. + "b:cef:hjmopqruts:vwxzBC:F:HI:JLNOPXZ014578")) != -1) {
  47. switch (c) {
  48. case 'b':
  49. /*
  50. @@ -911,6 +918,12 @@ tar_options(int argc, char **argv)
  51. incfiles[nincfiles - 1].file = optarg;
  52. incfiles[nincfiles - 1].dir = chdname;
  53. break;
  54. + case 'J':
  55. + /*
  56. + * use xz. Non standard option.
  57. + */
  58. + gzip_program = XZ_CMD;
  59. + break;
  60. case 'L':
  61. /*
  62. * follow symlinks
  63. @@ -1194,7 +1207,7 @@ cpio_options(int argc, char **argv)
  64. dflag = 1;
  65. act = -1;
  66. nodirs = 1;
  67. - while ((c=getopt(argc,argv,"abcdfijklmoprstuvzABC:E:F:H:I:LO:SZ6")) != -1)
  68. + while ((c=getopt(argc,argv,"abcdfijklmoprstuvzABC:E:F:H:I:JLO:SZ6")) != -1)
  69. switch (c) {
  70. case 'a':
  71. /*
  72. @@ -1378,6 +1391,12 @@ cpio_options(int argc, char **argv)
  73. (void)fputs("\n\n", stderr);
  74. cpio_usage();
  75. break;
  76. + case 'J':
  77. + /*
  78. + * use xz. Non standard option.
  79. + */
  80. + gzip_program = XZ_CMD;
  81. + break;
  82. case 'L':
  83. /*
  84. * follow symbolic links
  85. --
  86. 2.49.0