From: Klemens Nanni Subject: Re: puppet module fix To: sebastia@openbsd.org, ports@openbsd.org Date: Tue, 13 Jan 2026 18:40:31 +0000 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])