On Fri, 25 Oct 2024 23:55:23 -0400
George Koehler <kern...@gmail.com> wrote:

> This diff patches xfe to run GNU tar....

I committed it, so packages of xfe-1.46.2p1 in OpenBSD-current will
run gtar.  People on OpenBSD 7.6, where xfe's tar feature is broken,
might use another tool like xarchiver.
--gkoehler

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/xfe/Makefile,v
> diff -u -p -r1.58 Makefile
> --- Makefile  5 Jul 2024 13:24:49 -0000       1.58
> +++ Makefile  26 Oct 2024 03:09:17 -0000
> @@ -2,7 +2,7 @@ COMMENT=      MS-Explorer like file manager f
>  
>  DISTNAME=    xfe-1.46.2
>  EXTRACT_SUFX=        .tar.xz
> -REVISION=    0
> +REVISION=    1
>  CATEGORIES=  x11
>  
>  HOMEPAGE=    http://roland65.free.fr/xfe/
> Index: patches/patch-src_DirPanel_cpp
> ===================================================================
> RCS file: patches/patch-src_DirPanel_cpp
> diff -N patches/patch-src_DirPanel_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_DirPanel_cpp    26 Oct 2024 03:09:17 -0000
> @@ -0,0 +1,18 @@
> +No tar -a, use archivers/gtar
> +
> +Index: src/DirPanel.cpp
> +--- src/DirPanel.cpp.orig
> ++++ src/DirPanel.cpp
> +@@ -1036,6 +1036,12 @@ long DirPanel::onCmdAddToArch(FXObject* o, FXSelector,
> +             cmd = "tar -acvf " + archive + " ";
> +         }
> + 
> ++        // Change tar to gtar
> ++        if (compare(cmd, "tar ", 4) == 0)
> ++        {
> ++            cmd.prepend('g');
> ++        }
> ++
> +         // Archive command name
> +         cmd = cmd + ::quote(name);
> + 
> Index: patches/patch-src_FilePanel_cpp
> ===================================================================
> RCS file: /cvs/ports/x11/xfe/patches/patch-src_FilePanel_cpp,v
> diff -u -p -r1.6 patch-src_FilePanel_cpp
> --- patches/patch-src_FilePanel_cpp   25 Jul 2023 15:21:29 -0000      1.6
> +++ patches/patch-src_FilePanel_cpp   26 Oct 2024 03:09:17 -0000
> @@ -1,5 +1,7 @@
>  onCmdDirUsage is linux-only for now
>  
> +No tar -a, use archivers/gtar
> +
>  Index: src/FilePanel.cpp
>  --- src/FilePanel.cpp.orig
>  +++ src/FilePanel.cpp
> @@ -19,3 +21,55 @@ Index: src/FilePanel.cpp
>       FXMAPFUNC(SEL_COMMAND, FilePanel::ID_MOUNT, FilePanel::onCmdMount),
>       FXMAPFUNC(SEL_COMMAND, FilePanel::ID_UMOUNT, FilePanel::onCmdMount),
>       FXMAPFUNC(SEL_UPDATE, FilePanel::ID_MOUNT, FilePanel::onUpdMount),
> +@@ -4984,6 +4984,12 @@ long FilePanel::onCmdAddToArch(FXObject* o, FXSelector
> +             cmd = "tar -acvf " + archive + " ";
> +         }
> + 
> ++        // Change tar to gtar
> ++        if (compare(cmd, "tar ", 4) == 0)
> ++        {
> ++            cmd.prepend('g');
> ++        }
> ++
> +         for (int u = 0; u < current->list->getNumItems(); u++)
> +         {
> +             if (current->list->isItemSelected(u))
> +@@ -5127,6 +5133,12 @@ long FilePanel::onCmdExtract(FXObject*, FXSelector, vo
> +             cmd = "tar -axvf ";
> +         }
> + 
> ++        // Change tar to gtar
> ++        if (compare(cmd, "tar ", 4) == 0)
> ++        {
> ++            cmd.prepend('g');
> ++        }
> ++
> +         // Final extract command
> +         cmd += name + " ";
> + 
> +@@ -5279,6 +5291,12 @@ long FilePanel::onCmdExtractToFolder(FXObject*, FXSele
> +             cmd = "tar -axvf ";
> +         }
> + 
> ++        // Change tar to gtar
> ++        if (compare(cmd, "tar ", 4) == 0)
> ++        {
> ++            cmd.prepend('g');
> ++        }
> ++
> +         // Final extract command
> +         cmd += pathname + " ";
> + 
> +@@ -5385,6 +5403,12 @@ long FilePanel::onCmdExtractHere(FXObject*, FXSelector
> +             else
> +             {
> +                 cmd = "tar -axvf ";
> ++            }
> ++
> ++            // Change tar to gtar
> ++            if (compare(cmd, "tar ", 4) == 0)
> ++            {
> ++                cmd.prepend('g');
> +             }
> + 
> +             // Final extract command
> Index: patches/patch-src_SearchPanel_cpp
> ===================================================================
> RCS file: patches/patch-src_SearchPanel_cpp
> diff -N patches/patch-src_SearchPanel_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_SearchPanel_cpp 26 Oct 2024 03:09:17 -0000
> @@ -0,0 +1,31 @@
> +No tar -a, use archivers/gtar
> +
> +Index: src/SearchPanel.cpp
> +--- src/SearchPanel.cpp.orig
> ++++ src/SearchPanel.cpp
> +@@ -2605,6 +2605,12 @@ long SearchPanel::onCmdAddToArch(FXObject* o, FXSelect
> +             cmd = "tar -acvf " + archive + " ";
> +         }
> + 
> ++        // Change tar to gtar
> ++        if (compare(cmd, "tar ", 4) == 0)
> ++        {
> ++            cmd.prepend('g');
> ++        }
> ++
> +         for (int u = 0; u < list->getNumItems(); u++)
> +         {
> +             if (list->isItemSelected(u))
> +@@ -2725,6 +2731,12 @@ long SearchPanel::onCmdExtract(FXObject*, FXSelector, 
> +         else
> +         {
> +             cmd = "tar -axvf ";
> ++        }
> ++
> ++        // Change tar to gtar
> ++        if (compare(cmd, "tar ", 4) == 0)
> ++        {
> ++            cmd.prepend('g');
> +         }
> + 
> +         // Final extract command


-- 
George Koehler <kern...@gmail.com>

Reply via email to