13.01.2026 21:10, Giovanni Bechis пишет:
> On Tue, Jan 13, 2026 at 02:07:18PM +0000, Stuart Henderson wrote:
> [...]
>>> +-    Puppet::Util::Execution.execute("gzip -dc #{safe_sourcefile} | tar 
>>> --extract --no-same-owner --directory #{safe_destdir} --file -")
>>> ++    Puppet::Util::Execution.execute("gzip -dc #{safe_sourcefile} | tar 
>>> --extract -C #{safe_destdir} --file -")
>>
>> I think this needs to be
>>
>> ... | tar xf - -C #{safe_destdir}

Works, but tar(1) DESCRIPTION calls that form legacy.

bsd.port.mk uses 'tar -xf -' consistently and most of /usr/src/distrib/
uses dashes as well, so I'd be inclined to stick with that.

>>
> correct, diff updated.
>  Thanks
>    Giovanni

Either way, OK kn


sysutils/ruby-openvox/ most certainly requires the same fix.

We should also upstream this (OpenVox folks are quite responsive).

Let me know if you'd like to do either of this.

> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/sysutils/ruby-puppet/8/Makefile,v
> diff -u -p -r1.9 Makefile
> --- Makefile  22 Sep 2025 12:35:15 -0000      1.9
> +++ Makefile  13 Jan 2026 18:07:44 -0000
> @@ -1,7 +1,7 @@
>  PORTROACH=           limit:^8
>  
>  VERSION=             8.10.0
> -REVISION=            3
> +REVISION=            4
>  
>  RUN_DEPENDS+=                
> converters/ruby-multi_json,${MODRUBY_FLAVOR}>=1.13,<2 \
>                       devel/ruby-concurrent-ruby,${MODRUBY_FLAVOR}>=1,<2 \
> Index: patches/patch-lib_puppet_module_tool_tar_gnu_rb
> ===================================================================
> RCS file: patches/patch-lib_puppet_module_tool_tar_gnu_rb
> diff -N patches/patch-lib_puppet_module_tool_tar_gnu_rb
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-lib_puppet_module_tool_tar_gnu_rb   13 Jan 2026 18:07:44 
> -0000
> @@ -0,0 +1,12 @@
> +Index: lib/puppet/module_tool/tar/gnu.rb
> +--- lib/puppet/module_tool/tar/gnu.rb.orig
> ++++ lib/puppet/module_tool/tar/gnu.rb
> +@@ -8,7 +8,7 @@ class Puppet::ModuleTool::Tar::Gnu
> +     destdir = File.expand_path(destdir)
> +     safe_destdir = Shellwords.shellescape(destdir)
> + 
> +-    Puppet::Util::Execution.execute("gzip -dc #{safe_sourcefile} | tar 
> --extract --no-same-owner --directory #{safe_destdir} --file -")
> ++    Puppet::Util::Execution.execute("gzip -dc #{safe_sourcefile} | tar xf - 
> -C #{safe_destdir}")
> +     Puppet::Util::Execution.execute(['find', destdir, '-type', 'd', 
> '-exec', 'chmod', '755', '{}', '+'])
> +     Puppet::Util::Execution.execute(['find', destdir, '-type', 'f', 
> '-exec', 'chmod', 'u+rw,g+r,a-st', '{}', '+'])
> +     Puppet::Util::Execution.execute(['chown', '-R', owner, destdir])

Reply via email to