From bba67ec02ef5edace8677938e1b414111f1abc31 Mon Sep 17 00:00:00 2001 From: Ruoyu Zhong Date: Wed, 4 Dec 2024 02:51:26 +0800 Subject: [PATCH] service: fix systemd command line quoting Fixes #18802 (affected formulae still need rebuilding). --- Library/Homebrew/service.rb | 2 +- Library/Homebrew/test/service_spec.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/service.rb b/Library/Homebrew/service.rb index e4f27fd73c..883f19bf6d 100644 --- a/Library/Homebrew/service.rb +++ b/Library/Homebrew/service.rb @@ -465,7 +465,7 @@ module Homebrew EOS # command needs to be first because it initializes all other values - cmd = command&.map { |arg| Utils::Shell.sh_quote(arg) } + cmd = command&.map { |arg| Utils::Service.systemd_quote(arg) } &.join(" ") options = [] diff --git a/Library/Homebrew/test/service_spec.rb b/Library/Homebrew/test/service_spec.rb index a4b7a913a9..6cb6c80f2b 100644 --- a/Library/Homebrew/test/service_spec.rb +++ b/Library/Homebrew/test/service_spec.rb @@ -727,7 +727,7 @@ RSpec.describe Homebrew::Service do [Service] Type=simple - ExecStart=#{HOMEBREW_PREFIX}/opt/#{name}/bin/beanstalkd test + ExecStart="#{HOMEBREW_PREFIX}/opt/#{name}/bin/beanstalkd" "test" Restart=always RestartSec=30 WorkingDirectory=#{HOMEBREW_PREFIX}/var @@ -760,7 +760,7 @@ RSpec.describe Homebrew::Service do [Service] Type=oneshot - ExecStart=#{HOMEBREW_PREFIX}/opt/#{name}/bin/beanstalkd + ExecStart="#{HOMEBREW_PREFIX}/opt/#{name}/bin/beanstalkd" EOS expect(unit).to eq(unit_expect.strip) end @@ -783,7 +783,7 @@ RSpec.describe Homebrew::Service do [Service] Type=simple - ExecStart=#{HOMEBREW_PREFIX}/opt/#{name}/bin/beanstalkd + ExecStart="#{HOMEBREW_PREFIX}/opt/#{name}/bin/beanstalkd" WorkingDirectory=#{Dir.home} EOS expect(unit).to eq(unit_expect.strip)