sprinkle-tool / sprinkle

Sprinkle is a software provisioning tool you can use to build remote servers with. eg. to install a Rails, or Sinatra stack on a brand new slice directly after its been created
https://github.com/sprinkle-tool/sprinkle
MIT License
1.15k stars 138 forks source link

Add pip installer. #206

Open weakish opened 8 years ago

joshgoebel commented 8 years ago

Variable needs to be named "pip" or "package" everywhere. Should be consistent between check and installer.

joshgoebel commented 8 years ago

Reason this can't use auto api?

weakish commented 8 years ago

Variable needs to be named "pip" or "package" everywhere. Should be consistent between check and installer.

I followed gem.rb, which used name

Some installers use package, and some use command name. Which one is preferred?

Reason this can't use auto api?

I followed gem.rb. I'll check auto_api later.

weakish commented 8 years ago

Reason this can't use auto api?

Does auto_api supports options?

          method="def #{method_name}(*names, &block)
            install #{class_name}.new(self, *names, &block)
          end"

https://github.com/sprinkle-tool/sprinkle/blob/master/lib/sprinkle/installers/package_installer.rb#L23

It seems that a lot of package installers do not support sudo. What about extending auto_api to support options?

joshgoebel commented 8 years ago

It seems that a lot of package installers do not support sudo.

Some installers are in different states than others, they probably all should properly support sudo.

What about extending auto_api to support options?

Do you have an idea of how? The problem is when you use *array that then taking other arguments becomes problematic.

This installer doesn't currently use options in any case so it seems like auto-api could be used as-is.