class Ddclient < Formula desc "Update dynamic DNS entries" homepage "http://sourceforge.net/p/ddclient/wiki/Home" url "https://downloads.sourceforge.net/project/ddclient/ddclient/ddclient-3.8.2/ddclient-3.8.2.tar.bz2" sha256 "f343d2297b97b769949d4d6c3f603a8c52433acf2104245538808a2ea003ed5e" head "https://github.com/wimpunk/ddclient.git" def install # Adjust default paths in script inreplace "ddclient" do |s| s.gsub! "/etc/ddclient", "#{etc}/ddclient" s.gsub! "/var/cache/ddclient", "#{var}/run/ddclient" end sbin.install "ddclient" # Install sample files inreplace "sample-ddclient-wrapper.sh", "/etc/ddclient", "#{etc}/ddclient" inreplace "sample-etc_cron.d_ddclient", "/usr/sbin/ddclient", "#{sbin}/ddclient" inreplace "sample-etc_ddclient.conf", "/var/run/ddclient.pid", "#{var}/run/ddclient/pid" doc.install %w[ sample-ddclient-wrapper.sh sample-etc_cron.d_ddclient sample-etc_ddclient.conf ] # Create etc & var paths (etc+"ddclient").mkpath (var+"run/ddclient").mkpath end def caveats; <<-EOS.undent For ddclient to work, you will need to create a configuration file in #{etc}/ddclient, a sample configuration can be found in #{opt_share}/doc/ddclient. Note: don't enable daemon mode in the configuration file; see additional information below. The next reboot of the system will automatically start ddclient. You can adjust the execution interval by changing the value of StartInterval (in seconds) in /Library/LaunchDaemons/#{plist_path.basename}, and then EOS end plist_options :startup => true def plist; <<-EOS.undent Label #{plist_name} ProgramArguments #{opt_sbin}/ddclient -file #{etc}/ddclient/ddclient.conf RunAtLoad StartInterval 300 WatchPaths #{etc}/ddclient WorkingDirectory #{etc}/ddclient EOS end end