[Xfce4-commits] r25548 - squeeze/trunk/libsqueeze

Stephan Arts stephan at xfce.org
Sat Apr 14 14:30:07 CEST 2007


Author: stephan
Date: 2007-04-14 12:30:07 +0000 (Sat, 14 Apr 2007)
New Revision: 25548

Modified:
   squeeze/trunk/libsqueeze/command-builder-gnu-tar.c
Log:
added *BSD support for gnu-tar

Modified: squeeze/trunk/libsqueeze/command-builder-gnu-tar.c
===================================================================
--- squeeze/trunk/libsqueeze/command-builder-gnu-tar.c	2007-04-14 12:27:21 UTC (rev 25547)
+++ squeeze/trunk/libsqueeze/command-builder-gnu-tar.c	2007-04-14 12:30:07 UTC (rev 25548)
@@ -27,6 +27,14 @@
 #include "libsqueeze-module.h"
 #include "command-builder-gnu-tar.h"
 
+#ifdef SQ_BSD
+#undef SQ_BSD
+#endif
+
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
+#define SQ_BSD
+#endif
+
 #define LSQ_ARCHIVE_TEMP_FILE "gnu_tar_temp_file"
 
 static void
@@ -240,11 +248,19 @@
 	
 	if(!lsq_archive_exists(archive))
 	{
+#ifdef SQ_BSD
+		add_skeleton = "gtar %3$s -c -f %1$s %2$s";
+#else
 		add_skeleton = "tar %3$s -c -f %1$s %2$s";
+#endif
 	}
 	else
 	{
+#ifdef SQ_BSD
+		add_skeleton = "gtar %3$s -r -f %1$s %2$s";
+#else
 		add_skeleton = "tar %3$s -r -f %1$s %2$s";
+#endif
 		decompress_skeleton = lsq_command_builder_gnu_tar_get_decompress_skeleton(builder, archive);
 
 
@@ -317,7 +333,11 @@
 
 	LSQArchiveCommand *spawn = lsq_spawn_command_new(_("Removing files"),
 	                                                 archive,
+#ifdef SQ_BSD
+	                                                 "gtar %3$s -f %1$s --delete %2$s",
+#else
 	                                                 "tar %3$s -f %1$s --delete %2$s",
+#endif
 	                                                 files,
 	                                                 options,
                                                      tmp_file);
@@ -389,7 +409,11 @@
 	gchar *_dest_path = g_shell_quote(dest_path);
 	gchar *options = g_strconcat(" -C ", _dest_path, NULL);
 
+#ifdef SQ_BSD
+	LSQArchiveCommand *spawn = lsq_spawn_command_new(_("Extracting"), archive, "gtar %3$s -x -f %1$s %2$s", files, options, NULL);
+#else
 	LSQArchiveCommand *spawn = lsq_spawn_command_new(_("Extracting"), archive, "tar %3$s -x -f %1$s %2$s", files, options, NULL);
+#endif
 
 	g_free(_dest_path);
 	g_free(options);
@@ -400,7 +424,11 @@
 static LSQArchiveCommand *
 lsq_command_builder_gnu_tar_build_refresh(LSQCommandBuilder *builder, LSQArchive *archive)
 {
+#ifdef SQ_BSD
+	LSQArchiveCommand *spawn = lsq_spawn_command_new(_("Refresh"), archive, "gtar -tvvf %1$s", NULL, NULL, NULL);
+#else
 	LSQArchiveCommand *spawn = lsq_spawn_command_new(_("Refresh"), archive, "tar -tvvf %1$s", NULL, NULL, NULL);
+#endif
 
 	if(!lsq_spawn_command_set_parse_func(LSQ_SPAWN_COMMAND(spawn), 1, lsq_command_builder_gnu_tar_refresh_parse_output, NULL))
 	{



More information about the Xfce4-commits mailing list