Hi all,
cmake requires libarchive3, but uses old, deprecated libarchive functions.
The attached patch solves this.
Regards,
rezso
From eab1948b27bd47fe8893cea7a0da45c9144dc55f Mon Sep 17 00:00:00 2001
From: rezso re...@rezso.net
Date: Sat, 22 Aug 2015 18:14:12 +0200
Subject: [PATCH] Replace deprecated libarchive3 functions
---
Source/cmArchiveWrite.cxx | 28 ++--
Source/cmSystemTools.cxx | 4 ++--
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/Source/cmArchiveWrite.cxx b/Source/cmArchiveWrite.cxx
index 44d0d4e..9335680 100644
--- a/Source/cmArchiveWrite.cxx
+++ b/Source/cmArchiveWrite.cxx
@@ -90,49 +90,49 @@ cmArchiveWrite::cmArchiveWrite(
switch (c)
{
case CompressNone:
- if(archive_write_set_compression_none(this-Archive) != ARCHIVE_OK)
+ if(archive_write_add_filter_none(this-Archive) != ARCHIVE_OK)
{
-this-Error = archive_write_set_compression_none: ;
+this-Error = archive_write_add_filter_none: ;
this-Error += cm_archive_error_string(this-Archive);
return;
}
break;
case CompressCompress:
- if(archive_write_set_compression_compress(this-Archive) != ARCHIVE_OK)
+ if(archive_write_add_filter_compress(this-Archive) != ARCHIVE_OK)
{
-this-Error = archive_write_set_compression_compress: ;
+this-Error = archive_write_add_filter_compress: ;
this-Error += cm_archive_error_string(this-Archive);
return;
}
break;
case CompressGZip:
- if(archive_write_set_compression_gzip(this-Archive) != ARCHIVE_OK)
+ if(archive_write_add_filter_gzip(this-Archive) != ARCHIVE_OK)
{
-this-Error = archive_write_set_compression_gzip: ;
+this-Error = archive_write_add_filter_gzip: ;
this-Error += cm_archive_error_string(this-Archive);
return;
}
break;
case CompressBZip2:
- if(archive_write_set_compression_bzip2(this-Archive) != ARCHIVE_OK)
+ if(archive_write_add_filter_bzip2(this-Archive) != ARCHIVE_OK)
{
-this-Error = archive_write_set_compression_bzip2: ;
+this-Error = archive_write_add_filter_bzip2: ;
this-Error += cm_archive_error_string(this-Archive);
return;
}
break;
case CompressLZMA:
- if(archive_write_set_compression_lzma(this-Archive) != ARCHIVE_OK)
+ if(archive_write_add_filter_lzma(this-Archive) != ARCHIVE_OK)
{
-this-Error = archive_write_set_compression_lzma: ;
+this-Error = archive_write_add_filter_lzma: ;
this-Error += cm_archive_error_string(this-Archive);
return;
}
break;
case CompressXZ:
- if(archive_write_set_compression_xz(this-Archive) != ARCHIVE_OK)
+ if(archive_write_add_filter_xz(this-Archive) != ARCHIVE_OK)
{
-this-Error = archive_write_set_compression_xz: ;
+this-Error = archive_write_add_filter_xz: ;
this-Error += cm_archive_error_string(this-Archive);
return;
}
@@ -177,8 +177,8 @@ cmArchiveWrite::cmArchiveWrite(
//
cmArchiveWrite::~cmArchiveWrite()
{
- archive_read_finish(this-Disk);
- archive_write_finish(this-Archive);
+ archive_read_free(this-Disk);
+ archive_write_free(this-Archive);
}
//
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index a117238..eba8d07 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1705,7 +1705,7 @@ bool extract_tar(const char* outFileName, bool verbose,
static_castvoid(localeRAII);
struct archive* a = archive_read_new();
struct archive *ext = archive_write_disk_new();
- archive_read_support_compression_all(a);
+ archive_read_support_filter_all(a);
archive_read_support_format_all(a);
struct archive_entry *entry;
int r = cm_archive_read_open_file(a, outFileName, 10240);
@@ -1792,7 +1792,7 @@ bool extract_tar(const char* outFileName, bool verbose,
}
archive_write_free(ext);
archive_read_close(a);
- archive_read_finish(a);
+ archive_read_free(a);
return r == ARCHIVE_EOF || r == ARCHIVE_OK;
}
}
--
2.5.0
pgpN9DTovP_GQ.pgp
Description: OpenPGP digitális aláírás
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe: