<?xml version="1.0" encoding="UTF-8"?>
<tickets type="array">
  <ticket>
    <assigned-user-id type="integer">8621</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-08-05T05:58:01+10:00</created-at>
    <creator-id type="integer">643</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer" nil="true"></milestone-id>
    <number type="integer">7</number>
    <permalink>push_text-should-support-single-quotes</permalink>
    <priority type="integer">8837</priority>
    <project-id type="integer">25275</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>push_text should support single quotes</title>
    <updated-at type="datetime">2009-08-12T12:01:10+10:00</updated-at>
    <user-id type="integer">8621</user-id>
    <user-name>crafterm</user-name>
    <creator-name>Trevor Turk</creator-name>
    <assigned-user-name>crafterm</assigned-user-name>
    <url>http://redartisan.lighthouseapp.com/projects/25275/tickets/7</url>
    <original-body>Something funny I noticed... the push_text installer doesn't to play well with single quotes, as it seems to remove them. The following hack appears to solve the problem. I could put together a patch if you like, but I thought I'd run it by you first.

module Sprinkle
  module Installers
    class PushText &lt; Installer
      def install_commands #:nodoc:
        text = @text.gsub(&quot;'&quot;, &quot;'\\\\''&quot;).gsub(&quot;\n&quot;, '\n') # crazy escaping to allow single quotes
        &quot;echo -e '#{text}' |#{'sudo' if option?(:sudo)} tee -a #{@path}&quot;
      end
    end
  end
end

Thanks!</original-body>
    <latest-body>Something funny I noticed... the push_text installer doesn't to play well with single quotes, as it seems to remove them. The following hack appears to solve the problem. I could put together a patch if you like, but I thought I'd run it by you first.

module Sprinkle
  module Installers
    class PushText &lt; Installer
      def install_commands #:nodoc:
        text = @text.gsub(&quot;'&quot;, &quot;'\\\\''&quot;).gsub(&quot;\n&quot;, '\n') # crazy escaping to allow single quotes
        &quot;echo -e '#{text}' |#{'sudo' if option?(:sudo)} tee -a #{@path}&quot;
      end
    end
  end
end

Thanks!</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Something funny I noticed... the push_text installer doesn't to
play well with single quotes, as it seems to remove them. The
following hack appears to solve the problem. I could put together a
patch if you like, but I thought I'd run it by you first.&lt;/p&gt;
&lt;p&gt;module Sprinkle module Installers&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;class PushText &amp;lt; Installer
  def install_commands #:nodoc:
    text = @text.gsub(&quot;'&quot;, &quot;'\\\\''&quot;).gsub(&quot;\n&quot;, '\n') # crazy escaping to allow single quotes
    &quot;echo -e '#{text}' |#{'sudo' if option?(:sudo)} tee -a #{@path}&quot;
  end
end
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;end end&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer" nil="true"></assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-02-20T23:19:20+11:00</created-at>
    <creator-id type="integer">17921</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer" nil="true"></milestone-id>
    <number type="integer">1</number>
    <permalink>apt-installer-flags-and-constants</permalink>
    <priority type="integer">74811</priority>
    <project-id type="integer">25275</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>apt installer</tag>
    <title>Apt installer flags and constants</title>
    <updated-at type="datetime">2009-07-24T23:43:14+10:00</updated-at>
    <user-id type="integer">8621</user-id>
    <user-name>crafterm</user-name>
    <creator-name>Ben Schwarz</creator-name>
    <url>http://redartisan.lighthouseapp.com/projects/25275/tickets/1</url>
    <original-body>Just keeping some notes of issues with the current implementation of the apt flags and constants:

They do not work with Debian (any release I've tried)
Ubuntu dapper also fails with `DEBCONF_TERSE=yes: command not found`

As it stands, the current command is `DEBCONF_TERSE='yes' DEBIAN_PRIORITY='critical' DEBIAN_FRONTEND=noninteractive apt-get -qyu install build-essential`

I think that this link may help with the DEBIAN_PRIORITY and DEBIAN_FRONTEND options:
http://forum.soft32.com/linux2/apt-upgrade-interactive-sessions-replacing-conf-files-ftopict228307.html

I'm unsure about DEBCONF_TERSE though.</original-body>
    <latest-body>Just keeping some notes of issues with the current implementation of the apt flags and constants:

They do not work with Debian (any release I've tried)
Ubuntu dapper also fails with `DEBCONF_TERSE=yes: command not found`

As it stands, the current command is `DEBCONF_TERSE='yes' DEBIAN_PRIORITY='critical' DEBIAN_FRONTEND=noninteractive apt-get -qyu install build-essential`

I think that this link may help with the DEBIAN_PRIORITY and DEBIAN_FRONTEND options:
http://forum.soft32.com/linux2/apt-upgrade-interactive-sessions-replacing-conf-files-ftopict228307.html

I'm unsure about DEBCONF_TERSE though.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Just keeping some notes of issues with the current
implementation of the apt flags and constants:&lt;/p&gt;
&lt;p&gt;They do not work with Debian (any release I've tried) Ubuntu
dapper also fails with &lt;code&gt;DEBCONF_TERSE=yes: command not
found&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;As it stands, the current command is &lt;code&gt;DEBCONF_TERSE='yes'
DEBIAN_PRIORITY='critical' DEBIAN_FRONTEND=noninteractive apt-get
-qyu install build-essential&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I think that this link may help with the DEBIAN_PRIORITY and
DEBIAN_FRONTEND options: &lt;a href=&quot;http://forum.soft32.com/linux2/apt-upgrade-interactive-sessions-replacing-conf-files-ftopict228307.html&quot;&gt;
http://forum.soft32.com/linux2/a...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'm unsure about DEBCONF_TERSE though.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">8621</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-06-18T08:38:02+10:00</created-at>
    <creator-id type="integer">643</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer" nil="true"></milestone-id>
    <number type="integer">5</number>
    <permalink>allow-for-arbitrary-commands-without-formally-installing-anything</permalink>
    <priority type="integer">8835</priority>
    <project-id type="integer">25275</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Allow for arbitrary commands without formally installing anything</title>
    <updated-at type="datetime">2009-07-24T23:41:17+10:00</updated-at>
    <user-id type="integer">8621</user-id>
    <user-name>crafterm</user-name>
    <creator-name>Trevor Turk</creator-name>
    <assigned-user-name>crafterm</assigned-user-name>
    <url>http://redartisan.lighthouseapp.com/projects/25275/tickets/5</url>
    <original-body>I'm trying to figure out if there's a way to run an arbitrary command like so:

package :touch do
  installer do
    pre :install, &quot;touch ~/hello&quot;
  end
end

...but I can't seem to figure anything out. Is there a way to issue an arbitrary command on the server? 

Thanks,
- Trevor</original-body>
    <latest-body>I'm trying to figure out if there's a way to run an arbitrary command like so:

package :touch do
  installer do
    pre :install, &quot;touch ~/hello&quot;
  end
end

...but I can't seem to figure anything out. Is there a way to issue an arbitrary command on the server? 

Thanks,
- Trevor</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;I'm trying to figure out if there's a way to run an arbitrary
command like so:&lt;/p&gt;
&lt;p&gt;package :touch do installer do&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;pre :install, &quot;touch ~/hello&quot;
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;end end&lt;/p&gt;
&lt;p&gt;...but I can't seem to figure anything out. Is there a way to
issue an arbitrary command on the server?&lt;/p&gt;
&lt;p&gt;Thanks, - Trevor&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">8621</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-06-18T08:44:51+10:00</created-at>
    <creator-id type="integer">643</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer" nil="true"></milestone-id>
    <number type="integer">6</number>
    <permalink>update-gem</permalink>
    <priority type="integer">8836</priority>
    <project-id type="integer">25275</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Update gem</title>
    <updated-at type="datetime">2009-07-24T23:38:30+10:00</updated-at>
    <user-id type="integer">8621</user-id>
    <user-name>crafterm</user-name>
    <creator-name>Trevor Turk</creator-name>
    <assigned-user-name>crafterm</assigned-user-name>
    <url>http://redartisan.lighthouseapp.com/projects/25275/tickets/6</url>
    <original-body>I'd like to get access to the following commit:

http://github.com/crafterm/sprinkle/commit/8d80b31beb96094cc049f8528b74dd85688217dd

...but I believe this would require a version bump to rebuild the gem.

Thanks,
- Trevor</original-body>
    <latest-body>I'd like to get access to the following commit:

http://github.com/crafterm/sprinkle/commit/8d80b31beb96094cc049f8528b74dd85688217dd

...but I believe this would require a version bump to rebuild the gem.

Thanks,
- Trevor</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;I'd like to get access to the following commit:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://github.com/crafterm/sprinkle/commit/8d80b31beb96094cc049f8528b74dd85688217dd&quot;&gt;
http://github.com/crafterm/sprin...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;...but I believe this would require a version bump to rebuild
the gem.&lt;/p&gt;
&lt;p&gt;Thanks, - Trevor&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer" nil="true"></assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">false</closed>
    <created-at type="datetime">2009-06-11T03:04:55+10:00</created-at>
    <creator-id type="integer">13486</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer" nil="true"></milestone-id>
    <number type="integer">4</number>
    <permalink>using-vlad-with-sprinkle-gives-nomethoderror-for-load</permalink>
    <priority type="integer">117962</priority>
    <project-id type="integer">25275</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>new</state>
    <tag nil="true"></tag>
    <title>using vlad 1.3.2 with Sprinkle gives NoMethodError for 'load'</title>
    <updated-at type="datetime">2009-06-11T03:06:37+10:00</updated-at>
    <user-id type="integer">13486</user-id>
    <user-name>Andy Orahood</user-name>
    <creator-name>Andy Orahood</creator-name>
    <url>http://redartisan.lighthouseapp.com/projects/25275/tickets/4</url>
    <original-body>Hey, trying to use passenger-stack with vlad, and getting an error of 
 /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/actors/vlad.rb:39:in `script': private method `load' called for #&lt;Sprinkle::Actors::Vlad:0x126a4ac @loaded_recipes=[]&gt; (NoMethodError)
	from config/install.rb:28:in `sprinkle'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/actors/vlad.rb:24:in `instance_eval'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/actors/vlad.rb:24:in `initialize'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:55:in `new'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:55:in `delivery'
	from config/install.rb:27:in `sprinkle'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:45:in `instance_eval'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:45:in `initialize'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:37:in `new'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:37:in `deployment'
	from config/install.rb:25:in `sprinkle'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/bin/sprinkle:86
	from /usr/bin/sprinkle:19:in `load'
	from /usr/bin/sprinkle:19</original-body>
    <latest-body>Hey, trying to use passenger-stack with vlad, and getting an error of 
 /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/actors/vlad.rb:39:in `script': private method `load' called for #&lt;Sprinkle::Actors::Vlad:0x126a4ac @loaded_recipes=[]&gt; (NoMethodError)
	from config/install.rb:28:in `sprinkle'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/actors/vlad.rb:24:in `instance_eval'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/actors/vlad.rb:24:in `initialize'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:55:in `new'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:55:in `delivery'
	from config/install.rb:27:in `sprinkle'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:45:in `instance_eval'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:45:in `initialize'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:37:in `new'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:37:in `deployment'
	from config/install.rb:25:in `sprinkle'
	from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/bin/sprinkle:86
	from /usr/bin/sprinkle:19:in `load'
	from /usr/bin/sprinkle:19</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Hey, trying to use passenger-stack with vlad, and getting an
error of
/Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/actors/vlad.rb:39:in
&lt;code&gt;script': private method&lt;/code&gt;load' called for #
(NoMethodError)&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;from config/install.rb:28:in `sprinkle'
from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/actors/vlad.rb:24:in `instance_eval'
from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/actors/vlad.rb:24:in `initialize'
from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:55:in `new'
from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:55:in `delivery'
from config/install.rb:27:in `sprinkle'
from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:45:in `instance_eval'
from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:45:in `initialize'
from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:37:in `new'
from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/lib/sprinkle/deployment.rb:37:in `deployment'
from config/install.rb:25:in `sprinkle'
from /Library/Ruby/Gems/1.8/gems/sprinkle-0.2.2/bin/sprinkle:86
from /usr/bin/sprinkle:19:in `load'
from /usr/bin/sprinkle:19
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer" nil="true"></assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">false</closed>
    <created-at type="datetime">2009-06-08T17:10:08+10:00</created-at>
    <creator-id type="integer">59334</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer" nil="true"></milestone-id>
    <number type="integer">3</number>
    <permalink>ssh-to-use-sshconfig-by-default</permalink>
    <priority type="integer">117154</priority>
    <project-id type="integer">25275</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>new</state>
    <tag>ssh</tag>
    <title>ssh to use ~/.ssh/config by default</title>
    <updated-at type="datetime">2009-06-08T17:10:14+10:00</updated-at>
    <user-id type="integer">59334</user-id>
    <user-name>Rex chung</user-name>
    <creator-name>Rex chung</creator-name>
    <url>http://redartisan.lighthouseapp.com/projects/25275/tickets/3</url>
    <original-body>Suggest to add :config =&gt; true in ssh.rb
From:
            Net::SSH.start(host, @options[:user]) do |ssh|
              execute_on_connection(commands, ssh)
            end

To:
            Net::SSH.start(host, @options[:user], :config =&gt; true) do |ssh|
              execute_on_connection(commands, ssh)
            end

Such that we can use different identity files for particular host, especially useful for new EC2 instances.</original-body>
    <latest-body>Suggest to add :config =&gt; true in ssh.rb
From:
            Net::SSH.start(host, @options[:user]) do |ssh|
              execute_on_connection(commands, ssh)
            end

To:
            Net::SSH.start(host, @options[:user], :config =&gt; true) do |ssh|
              execute_on_connection(commands, ssh)
            end

Such that we can use different identity files for particular host, especially useful for new EC2 instances.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Suggest to add :config =&amp;gt; true in ssh.rb From:&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;        Net::SSH.start(host, @options[:user]) do |ssh|
          execute_on_connection(commands, ssh)
        end
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;To:&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;        Net::SSH.start(host, @options[:user], :config =&amp;gt; true) do |ssh|
          execute_on_connection(commands, ssh)
        end
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Such that we can use different identity files for particular
host, especially useful for new EC2 instances.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer" nil="true"></assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">false</closed>
    <created-at type="datetime">2009-03-20T03:55:28+11:00</created-at>
    <creator-id type="integer">8867</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer" nil="true"></milestone-id>
    <number type="integer">2</number>
    <permalink>global-variable-support-in-packages</permalink>
    <priority type="integer">92581</priority>
    <project-id type="integer">25275</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>new</state>
    <tag>capistrano package scope variable</tag>
    <title>Global Variable Support In Packages</title>
    <updated-at type="datetime">2009-03-21T11:52:09+11:00</updated-at>
    <user-id type="integer">27204</user-id>
    <user-name>Ryan Creasey</user-name>
    <creator-name>Ryan C. Creasey</creator-name>
    <url>http://redartisan.lighthouseapp.com/projects/25275/tickets/2</url>
    <original-body>Perhaps I'm treating Packages in the same fashion as a Capistrano recipe, but it seems that any variable set in my deploy.rb config file with 'set :foobar, &quot;foobaz&quot;' do not seem to be in scope when in a package definition.

ie:

deploy.rb:
set :foobar, 'foobaz'

some_package.rb
package :some_package do
  source &quot;somefile.tgz&quot; do
    prefix &quot;/usr/local/#{foobar}&quot;
  end
end

The package would try to install to '/usr/local/', not '/usr/local/foobaz'.</original-body>
    <latest-body>Perhaps I'm treating Packages in the same fashion as a Capistrano recipe, but it seems that any variable set in my deploy.rb config file with 'set :foobar, &quot;foobaz&quot;' do not seem to be in scope when in a package definition.

ie:

deploy.rb:
set :foobar, 'foobaz'

some_package.rb
package :some_package do
  source &quot;somefile.tgz&quot; do
    prefix &quot;/usr/local/#{foobar}&quot;
  end
end

The package would try to install to '/usr/local/', not '/usr/local/foobaz'.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Perhaps I'm treating Packages in the same fashion as a
Capistrano recipe, but it seems that any variable set in my
deploy.rb config file with 'set :foobar, &quot;foobaz&quot;' do not seem to
be in scope when in a package definition.&lt;/p&gt;
&lt;p&gt;ie:&lt;/p&gt;
&lt;p&gt;deploy.rb: set :foobar, 'foobaz'&lt;/p&gt;
&lt;p&gt;some_package.rb package :some_package do source &quot;somefile.tgz&quot;
do&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;prefix &quot;/usr/local/#{foobar}&quot;
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;end end&lt;/p&gt;
&lt;p&gt;The package would try to install to '/usr/local/', not
'/usr/local/foobaz'.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
</tickets>
