diff -Nru a/lib/packagekit-glib2/pk-service-pack.c b/lib/packagekit-glib2/pk-service-pack.c --- a/lib/packagekit-glib2/pk-service-pack.c 2012-08-17 00:36:38.000000000 +1200 +++ b/lib/packagekit-glib2/pk-service-pack.c 2013-03-01 19:00:08.773738469 +1300 @@ -207,7 +207,7 @@ archive_read_support_format_tar (arch); /* open the tar file */ - r = archive_read_open_file (arch, filename, 10240); + r = archive_read_open_filename (arch, filename, 10240); if (r) { g_set_error (error, PK_SERVICE_PACK_ERROR, PK_SERVICE_PACK_ERROR_FAILED_EXTRACTION, "cannot open: %s", archive_error_string (arch)); @@ -246,7 +246,7 @@ /* close the archive */ if (arch != NULL) { archive_read_close (arch); - archive_read_finish (arch); + archive_read_free (arch); } /* switch back to PWD */ @@ -572,7 +572,7 @@ /* we can only write tar achives */ arch = archive_write_new (); - archive_write_set_compression_none (arch); + archive_write_add_filter_none (arch); archive_write_set_format_ustar (arch); archive_write_open_filename (arch, state->filename); @@ -596,7 +596,7 @@ /* close the archive */ if (arch != NULL) { archive_write_close (arch); - archive_write_finish (arch); + archive_write_free (arch); } return ret; }