Skip to content
This repository has been archived by the owner on Feb 19, 2019. It is now read-only.

[wiki] Create Packages needs a little more guidance around raw binaries #646

Open
davkean opened this issue Dec 21, 2014 · 7 comments
Open

Comments

@davkean
Copy link

davkean commented Dec 21, 2014

Hey, new to chocolatey and after getting an issue file against me to add a chocolatey package for https://github.com/davkean/audio-switcher I went to the the wiki to understand what that meant.

After just reading the wiki (in particular, https://github.com/chocolatey/chocolatey/wiki/CreatePackages), it's unclear to me what exactly I put in the package - all the examples show using chocolateyInstall.ps1 to download from the web and run the installer. This makes sense because most of top packages seem to be wrappers around existing applications (Chrome, Notepad2, etc).

But I don't have a installer, or a web site with the binaries. Is there a way to just put the executable in the package and call it a day? If there is, the wiki doesn't call this out.

It would be great if you had a flow chat, ie "if you have a traditional MSI on a web, do this", "if you just have raw binary do this other thing", etc.

Thanks

@gep13
Copy link
Member

gep13 commented Dec 21, 2014

Hey,

Have a look at github.com/chocolatey/chocolateygui it bundles the msi within its Chocolatey package. I agree that we need some more documentation in this area though.

Gary

Sent from my Windows Phone


From: David Keanmailto:[email protected]
Sent: ‎21/‎12/‎2014 17:52
To: chocolatey/chocolateymailto:[email protected]
Subject: [chocolatey] [wiki] Create Packages needs a little more guidance around raw binaries (#646)

Hey, new to chocolatey and after getting an issue file against me to add a chocolatey package for https://github.com/davkean/audio-switcher I went to the the wiki to understand what that meant.

After just reading the wiki (in particular, https://github.com/chocolatey/chocolatey/wiki/CreatePackages), it's unclear to me what exactly I put in the package - all the examples show using chocolateyInstall.ps1 to download from the web and run the installer. This makes sense because most of top packages seem to be wrappers around existing applications (Chrome, Notepad2, etc).

But I don't have a installer, or a web site with the binaries. Is there a way to just put the executable in the package and call it a day? If there is, the wiki doesn't call this out.

It would be great if you had a flow chat, ie "if you have a traditional MSI on a web, do this", "if you just have raw binary do this other thing", etc.

Thanks


Reply to this email directly or view it on GitHub:
#646

@davkean
Copy link
Author

davkean commented Dec 21, 2014

Hey, thanks Gary, will do.

@gep13
Copy link
Member

gep13 commented Dec 21, 2014

Hey, thanks Gary, will do.

Let us know if you run into any problems with getting the package created. We can leave this issue open as a reminder to improve the documentation in this area.

Gary

@ferventcoder
Copy link
Contributor

You can also just include the binary in the package and choco will put it
on the path. Make sure it has all required dlls and config files included.

On Sunday, December 21, 2014, Gary Ewan Park [email protected]
wrote:

Hey, thanks Gary, will do.

Let us know if you run into any problems with getting the package created.
We can leave this issue open as a reminder to improve the documentation in
this area.

Gary


Reply to this email directly or view it on GitHub
#646 (comment)
.

Rob
"Be passionate in all you do"

http://devlicio.us/blogs/rob_reynolds
http://ferventcoder.com
http://twitter.com/ferventcoder

@dcjulian29
Copy link
Contributor

I personally don't like packages that bundle the executable in the package itself as I believe (IMHO) that the package should only contain the "how" to install... The ScriptCs (https://chocolatey.org/packages/ScriptCs/) project shows an example of including all of the files needed for the project... My preference is to download a Zip file of the compiled files (such as https://github.com/dcjulian29/choco-packages/blob/master/bind-tools/tools/chocolateyInstall.ps1) and then extract them and copy them to the "applications" directory... If you don't have anywhere to post the binaries (such as on GitHub, Dropbox, OneDrive, or a personal website, you can always take the approach to embed all of the files needed when you create the NuGet package similar to the ScriptCs package. You can always reach out to me and I can help you with the Nuspec file to include the files and tell you the steps I do to create my packages (both originals and copies)...

@ferventcoder
Copy link
Contributor

@dcjulian29 When it comes to the folks who own the software posting the packages, I'm completely fine with binaries in the package, even prefer it. :)

@ferventcoder
Copy link
Contributor

In this case, if you put the output of your bin folder into the tools folder under a nuspec file and package it up, you will be able to
choco install audioswitcher
AudioSwitcher.exe

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants