Merge pull request #13510 from GottemHams/feat-macos-fully-backgrounded
Added support for running services fully backgrounded on macOS
This commit is contained in:
		
						commit
						6615cd9144
					
				@ -376,6 +376,14 @@ module Homebrew
 | 
			
		||||
        base[:StartCalendarInterval] = @cron.reject { |_, value| value == "*" }
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      # Adding all session types has as the primary effect that if you initialise it through e.g. a Background session
 | 
			
		||||
      # and you later "physically" sign in to the owning account (Aqua session), things shouldn't flip out.
 | 
			
		||||
      # Also, we're not checking @process_type here because that is used to indicate process priority and not
 | 
			
		||||
      # necessarily if it should run in a specific session type. Like database services could run with ProcessType
 | 
			
		||||
      # Interactive so they have no resource limitations enforced upon them, but they aren't really interactive in the
 | 
			
		||||
      # general sense.
 | 
			
		||||
      base[:LimitLoadToSessionType] = %w[Aqua Background LoginWindow StandardIO System]
 | 
			
		||||
 | 
			
		||||
      base.to_plist
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -180,6 +180,14 @@ describe Homebrew::Service do
 | 
			
		||||
        \t<true/>
 | 
			
		||||
        \t<key>LegacyTimers</key>
 | 
			
		||||
        \t<true/>
 | 
			
		||||
        \t<key>LimitLoadToSessionType</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>Aqua</string>
 | 
			
		||||
        \t\t<string>Background</string>
 | 
			
		||||
        \t\t<string>LoginWindow</string>
 | 
			
		||||
        \t\t<string>StandardIO</string>
 | 
			
		||||
        \t\t<string>System</string>
 | 
			
		||||
        \t</array>
 | 
			
		||||
        \t<key>ProcessType</key>
 | 
			
		||||
        \t<string>Interactive</string>
 | 
			
		||||
        \t<key>ProgramArguments</key>
 | 
			
		||||
@ -221,6 +229,14 @@ describe Homebrew::Service do
 | 
			
		||||
        <dict>
 | 
			
		||||
        \t<key>Label</key>
 | 
			
		||||
        \t<string>homebrew.mxcl.formula_name</string>
 | 
			
		||||
        \t<key>LimitLoadToSessionType</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>Aqua</string>
 | 
			
		||||
        \t\t<string>Background</string>
 | 
			
		||||
        \t\t<string>LoginWindow</string>
 | 
			
		||||
        \t\t<string>StandardIO</string>
 | 
			
		||||
        \t\t<string>System</string>
 | 
			
		||||
        \t</array>
 | 
			
		||||
        \t<key>ProgramArguments</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>#{HOMEBREW_PREFIX}/opt/formula_name/bin/beanstalkd</string>
 | 
			
		||||
@ -262,6 +278,14 @@ describe Homebrew::Service do
 | 
			
		||||
        <dict>
 | 
			
		||||
        \t<key>Label</key>
 | 
			
		||||
        \t<string>homebrew.mxcl.formula_name</string>
 | 
			
		||||
        \t<key>LimitLoadToSessionType</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>Aqua</string>
 | 
			
		||||
        \t\t<string>Background</string>
 | 
			
		||||
        \t\t<string>LoginWindow</string>
 | 
			
		||||
        \t\t<string>StandardIO</string>
 | 
			
		||||
        \t\t<string>System</string>
 | 
			
		||||
        \t</array>
 | 
			
		||||
        \t<key>ProgramArguments</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>#{HOMEBREW_PREFIX}/opt/formula_name/bin/beanstalkd</string>
 | 
			
		||||
@ -289,6 +313,14 @@ describe Homebrew::Service do
 | 
			
		||||
        <dict>
 | 
			
		||||
        \t<key>Label</key>
 | 
			
		||||
        \t<string>homebrew.mxcl.formula_name</string>
 | 
			
		||||
        \t<key>LimitLoadToSessionType</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>Aqua</string>
 | 
			
		||||
        \t\t<string>Background</string>
 | 
			
		||||
        \t\t<string>LoginWindow</string>
 | 
			
		||||
        \t\t<string>StandardIO</string>
 | 
			
		||||
        \t\t<string>System</string>
 | 
			
		||||
        \t</array>
 | 
			
		||||
        \t<key>ProgramArguments</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>#{HOMEBREW_PREFIX}/opt/formula_name/bin/beanstalkd</string>
 | 
			
		||||
@ -318,6 +350,14 @@ describe Homebrew::Service do
 | 
			
		||||
        <dict>
 | 
			
		||||
        \t<key>Label</key>
 | 
			
		||||
        \t<string>homebrew.mxcl.formula_name</string>
 | 
			
		||||
        \t<key>LimitLoadToSessionType</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>Aqua</string>
 | 
			
		||||
        \t\t<string>Background</string>
 | 
			
		||||
        \t\t<string>LoginWindow</string>
 | 
			
		||||
        \t\t<string>StandardIO</string>
 | 
			
		||||
        \t\t<string>System</string>
 | 
			
		||||
        \t</array>
 | 
			
		||||
        \t<key>ProgramArguments</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>#{HOMEBREW_PREFIX}/opt/formula_name/bin/beanstalkd</string>
 | 
			
		||||
@ -356,6 +396,14 @@ describe Homebrew::Service do
 | 
			
		||||
        \t</dict>
 | 
			
		||||
        \t<key>Label</key>
 | 
			
		||||
        \t<string>homebrew.mxcl.formula_name</string>
 | 
			
		||||
        \t<key>LimitLoadToSessionType</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>Aqua</string>
 | 
			
		||||
        \t\t<string>Background</string>
 | 
			
		||||
        \t\t<string>LoginWindow</string>
 | 
			
		||||
        \t\t<string>StandardIO</string>
 | 
			
		||||
        \t\t<string>System</string>
 | 
			
		||||
        \t</array>
 | 
			
		||||
        \t<key>ProgramArguments</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>#{HOMEBREW_PREFIX}/opt/formula_name/bin/beanstalkd</string>
 | 
			
		||||
@ -387,6 +435,14 @@ describe Homebrew::Service do
 | 
			
		||||
        \t</dict>
 | 
			
		||||
        \t<key>Label</key>
 | 
			
		||||
        \t<string>homebrew.mxcl.formula_name</string>
 | 
			
		||||
        \t<key>LimitLoadToSessionType</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>Aqua</string>
 | 
			
		||||
        \t\t<string>Background</string>
 | 
			
		||||
        \t\t<string>LoginWindow</string>
 | 
			
		||||
        \t\t<string>StandardIO</string>
 | 
			
		||||
        \t\t<string>System</string>
 | 
			
		||||
        \t</array>
 | 
			
		||||
        \t<key>ProgramArguments</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>#{HOMEBREW_PREFIX}/opt/formula_name/bin/beanstalkd</string>
 | 
			
		||||
@ -418,6 +474,14 @@ describe Homebrew::Service do
 | 
			
		||||
        \t</dict>
 | 
			
		||||
        \t<key>Label</key>
 | 
			
		||||
        \t<string>homebrew.mxcl.formula_name</string>
 | 
			
		||||
        \t<key>LimitLoadToSessionType</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>Aqua</string>
 | 
			
		||||
        \t\t<string>Background</string>
 | 
			
		||||
        \t\t<string>LoginWindow</string>
 | 
			
		||||
        \t\t<string>StandardIO</string>
 | 
			
		||||
        \t\t<string>System</string>
 | 
			
		||||
        \t</array>
 | 
			
		||||
        \t<key>ProgramArguments</key>
 | 
			
		||||
        \t<array>
 | 
			
		||||
        \t\t<string>#{HOMEBREW_PREFIX}/opt/formula_name/bin/beanstalkd</string>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user