Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When will the Chocolatey provider be available for public? #5

Open
jianyunt opened this issue Jan 14, 2016 · 40 comments
Open

When will the Chocolatey provider be available for public? #5

jianyunt opened this issue Jan 14, 2016 · 40 comments
Labels

Comments

@jianyunt
Copy link
Contributor

@jianyunt jianyunt commented Jan 14, 2016

Hi Rob,
I am Jen working on PackageManagement (aka OneGet). Recently I downloaded your Chocolatey provider for OneGet. I found it seems still under development.
Would it be possible to share your plan with us when the provider will be available for public?
Thanks

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented Jan 15, 2016

@jianyunt Hello! Yes, I can share the details of when we hope to have a provider available - http://us8.campaign-archive2.com/?u=86a6d80146a0da7f2223712e4&id=0165685e1f

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented Jan 15, 2016

If you want to get into more specifics, my email is my github user name at gmail dot com.

@CMCDragonkai

This comment has been minimized.

Copy link

@CMCDragonkai CMCDragonkai commented Aug 12, 2016

Is it possible to use this in its current state? Is there installing instructions?

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented Aug 12, 2016

Great question @CMCDragonkai - I believe the instructions are included in the repo. I will need to verify fully on that in the coming weeks though.

@CMCDragonkai

This comment has been minimized.

Copy link

@CMCDragonkai CMCDragonkai commented Aug 13, 2016

It's not on the README is it?

@ferventcoder

This comment has been minimized.

@CMCDragonkai

This comment has been minimized.

Copy link

@CMCDragonkai CMCDragonkai commented Aug 15, 2016

Is that file for installing this provider?

@favorini

This comment has been minimized.

Copy link

@favorini favorini commented Oct 13, 2016

Any updated ETA on this provider?

@jianyunt

This comment has been minimized.

Copy link
Contributor Author

@jianyunt jianyunt commented Oct 14, 2016

@favorini for the time being, please try ChocolateyGet from PowerShellGet.
For chocolatey-oneget provider, it depends on ferventcoder (Rob)'s schedule.

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented Jan 26, 2017

Notes that we tend to mention to everyone

The current Package Management Chocolatey provider is an unfinished prototype that Microsoft created based on 3 year old Chocolatey features (and it didn't even capture all of the features available at the time - multiple sources including private, extensions, etc). We don't recommend using it until the official version is released. We made leaps and bounds features since then and fixed many security issues. If you are curious on how far back it may be, please start at 0.9.8.23 and move up from there.

Note: There could be a newer version that does have some more features in it, but it's possible this is false as it would work with extensions.

Until it is ready, please use https://github.com/jianyunt/ChocolateyGet.

Subscribe to this thread for updates. HTH

ETA Update (26 Jan 2017)

We (Chocolatey Software) really want to finish this provider. However, as part of our prioritization schedule, we work with customers to prioritize what we work on based on their needs. Being completely transparent, this has unfortunately not been a priority for them. This is why the provider has not yet been completed from Chocolatey Software's end.

We've asked for support from the community in finishing out this provider and a few folks have stepped up to help, which has been wonderful. However, I'm not sure we equipped them well enough to get things to 100%.

I understand the importance of this integration to the community. And now we are in a much better position to finish this with me moving forward in a full time role with Chocolatey. See https://twitter.com/ferventcoder/status/824277703591424001

@Megasware128

This comment has been minimized.

Copy link
Contributor

@Megasware128 Megasware128 commented Jan 26, 2017

Congrats 😄

@philippgille

This comment has been minimized.

Copy link

@philippgille philippgille commented Apr 14, 2017

Any updates regarding the progress?

We've asked for support from the community in finishing out this provider and a few folks have stepped up to help, which has been wonderful. However, I'm not sure we equipped them well enough to get things to 100%.

Where is the work being coordinated? On Gitter? Are there any resources on how people can help out?

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented May 15, 2017

@philippgille sorry I missed this. First it was in having folks state they would love to help. Second it was in getting the API into a state that was best for oneget. Then getting the provider finished off. We believe that most everything necessary for oneget in the Chocolatey API is available (or will be available with 0.10.6), although while working on this I'm sure we will discover more are missing.

If you are interested in helping, we'd love to provide guidance.

@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented May 18, 2017

I've created my own repository and registered it as a Chocolatey provider
register-packagesource -name ..... -location .... -providername Chocolatey -trusted -verbose
(still I see ChocolateyPrototype.exe).
The provider 'chocolatey v2.8.5.130' is not installed.
chocolatey may be manually downloaded from https://oneget.org/ChocolateyPrototype-2.8.5.130.exe and installed.

I have packages opera, firefox, googlechrome, etc in it.
I would like to use only the native powershell solution.

Install-package -source .... -name ..... (non install package from internet).

How can I verify if a package was installed correctly on several stations?
Even if the package is faulty it is logged to C: \ Chocolate \ lib path
The get-package command is displayed as installed correctly.

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented May 20, 2017

@Gregoorio the prototype is not supported. So your best bet is to use ChocolateyGet for now until the official, supported provider is available.

@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented May 20, 2017

@ferventcoder. Thank you for your answer.

If I want to use chocolateyGet, do I need to have internet connection? I understand that this is a chocolate wrapper. It only works as there is internet (not working on local network).

I've added ChocolateyGet with:
Install-PackageProvider ChocolateyGet -verbose

I've used Get-PackageProvider

Name Version DynamicOptions


Chocolatey 2.8.5.130 SkipDependencies, ContinueOnFailure, ExcludeVersion, ForceX86, PackageSave ...
ChocolateyGet 1.0.0.1 AdditionalArguments
Msi 3.0.0.0 AdditionalArguments
Msu 3.0.0.0
NuGet 2.8.5.207 Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag ...
PowerShellGet 1.0.0.1 PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, ...
Programs 3.0.0.0 IncludeWindowsInstaller

Is there any way to register ChoclateyGet as a command - register-packagesource?
As it tries to register it receives a following statement:

Register-PackageSource -name TEST -location http: //192.x.x/HomeRepository.../nuget -providername chocolateyget -trusted -Verbose
VERBOSE: Performing the operation "Register Package Source." He target "Package Source 'TEST'
(Http: //192.x.x.x/HomeRepository.../nuget) in provider 'chocolateyget'. "

I understand that I can't register my own local repository with the ChocolateyGet provider?

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented May 20, 2017

Chocolatey doesn't require internet access, so neither would ChocolateyGet. As it is a bridge, you would use choco or ChocolateyGUI to configure your sources (including remove the default community repository).

My understanding of OneGet - you need an internet connection for that initial bootstrap (I could be wrong) of the provider (ChocolateyPrototype and/or ChocolateyGet).

Chocolatey itself however does not require any internet access to use or install. See https://chocolatey.org/install#completely-offline-install

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented May 20, 2017

I'm not sure if you were under the assumption that Chocolatey requires internet access, but it never has. For the last six years (ever since it came out) it has supported adding and removing sources - it just ships with the default community package repository already configured. Usually the first thing organizations configure to turn off.

@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented May 20, 2017

Yes, you are right, to register Chocoaltey and ChocolateyGet it requires connection to the internet or to copy the appropriate files to C: \ Program Files \ PackageManagement \ ProviderAssemblies.

As you have written, ChocoalteyPrototype is not supported. Can I register my own local feed repository with a ChocolateyGet Provider?

When I register my local repository with ChocolateyGet provider registeration doesn't work
However when I register my local repository with Chocolatey provider it works.

Register-PackageSource -name TEST -location http://192.x.x.x/HomeRepository..../nuget -providernam
e Chocolatey -trusted -Verbose
VERBOSE: Performing the operation "Register Package Source." on target "Package Source 'TEST'
(http://192.x.x.x/HomeRepository.../nuget) in provider 'Chocolatey'.".
VERBOSE: Storing package source TEST
VERBOSE: Saving Chocolatey Config C:\Chocolatey\chocolateyinstall\Chocolatey.config
VERBOSE: CreateFolder -- Already Exists C:\Chocolatey\chocolateyinstall

Name ProviderName IsTrusted Location


TEST Chocolatey True http://192.x.x.x/HomeRepository.../nuget

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented May 20, 2017

With ChocolateyGet, you would call choco source to configure sources (repositories) directly with Chocolatey and then ChocolateyGet would use those sources. Sorry if it was not clear in my earlier response.

@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented May 21, 2017

ferventcoder. You're right, you can add your own repository through choco source add -n = ...
C: \ Users \ Administrator> choco source
Chocolatey v0.10.5
Bob - http: //192.x.x.x/HomeRepository..../nuget | Priority 0 | Bypass Proxy - False | Self-Service - False.

However, as I said before, I would like to use powershell. As you noticed earlier, I use powershell's typical commands.

Is it possible to register your own repository via powershell not choco?
I mean the register-packagesource ..... command with the Chocolatey provider (GET).

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented May 21, 2017

I think we've sufficiently established that you can not use register-packagesource. If you want that to work, wait for the official provider. You can also ask the folks who provided ChocolateyGet if they can add the functionality. Until that time, you should be set based on the methods prescribed above. Thanks

@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented May 21, 2017

Ok, Thank you for your time.

@philippgille

This comment has been minimized.

Copy link

@philippgille philippgille commented Jun 4, 2017

If you are interested in helping, we'd love to provide guidance.

@ferventcoder: I am interested, but I don't have much spare time, so depending on how complicated it is, it might be too much effort for you to provide guidance to me in comparison to what I can accomplish in the upcoming months.

Maybe add a comment here with a high-level abstract description of the task and then break the whole thing down into little tasks and describe them, so others that stumble upon this ticket can quickly see what's to do and can join in helping.

@Geogboe

This comment has been minimized.

Copy link

@Geogboe Geogboe commented Jun 6, 2017

Maybe add a comment here with a high-level abstract description of the task and then break the whole thing down into little tasks and describe them, so others that stumble upon this ticket can quickly see what's to do and can join in helping.

@philippgille This would be great! I've actually forked the repo and am trying to go through it but having difficulty determining where to start.

@brettjacobson

This comment has been minimized.

Copy link

@brettjacobson brettjacobson commented Jun 26, 2017

Is this package provider under active development?

@ferventcoder

This comment has been minimized.

Copy link
Contributor

@ferventcoder ferventcoder commented Jun 26, 2017

There are some known routes to finishing this provider (not mutually exclusive):

  • Community maintainers - waiting for someone to take this forward. A few folks have stepped up, but this has not materialized into a completed provider yet.
  • Chocolatey Software folks - waiting for items higher in priority to be finished (prioritization is set with customers).
  • Microsoft folks - unknown on this status, I know that Garrett carried the original prototype and @jianyunt has created ChocolateyGet as a bridge.

More details in #5 (comment) above

@tstager

This comment has been minimized.

Copy link

@tstager tstager commented Sep 6, 2017

Has there been any progress on the official oneget provider?

@jirkapok

This comment has been minimized.

Copy link

@jirkapok jirkapok commented Mar 26, 2018

I volunteer to work on the provider. Since i started directly with powershell native provider it is developed in separate branch: https://github.com/jirkapok/chocolatey-oneget/tree/NativeProvider

@jianyunt

This comment has been minimized.

Copy link
Contributor Author

@jianyunt jianyunt commented Mar 26, 2018

Great! Thank you @jirkapok !

@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented Mar 27, 2018

@jirkapok. It's great that the work is still underway to solve the project.
I would like to ask, if there is any possibility to develop the record of your own repository in the offline form using the command "register-packagesource ....."

So far, in our project we have been using the prototype solution Chocolatey in offline mode (internet is not required).

We write our own packages for now and it works. The problem occurs with their uninstalling and error handling.

@jirkapok

This comment has been minimized.

Copy link

@jirkapok jirkapok commented Mar 27, 2018

I am not there yet, but i am expecting local repo for offline install as valid use case, because it is supported by both PackageManagement and Chocolatey.

@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented Nov 4, 2018

Dear JirkaPok

I follow the progress of the native provider and I have to say that it looks promising (https://github.com/jirkapok/chocolatey-oneget/tree/NativeProvider).
I have tested this solution and I see that it works well.

However, after installing the Chocoaltey-OneGet provider and registering (register-packagesource ....http://win...) its own repository in the active powershell session, it looks like this:

PS C:> Get-PackageSource

Name ProviderName IsTrusted Location


PSGallery PowerShellGet False https://www.powershellgallery.com/api/v2
chocolatey Chocolatey-On... False https://chocolatey.org/api/v2/
REPO Chocolatey-On... False http://win...:8080/nuget

When the powershell session is closed and restarted. Checking the active repositories effect as below:

PS C:\Windows\system32> Get-PackageSource

Name ProviderName IsTrusted Location


nuget.org NuGet False https://api.nuget.org/v3/index.json
PSGallery PowerShellGet False https://www.powershellgallery.com/api/v2
Chocolatey-OneGet-OutputRepos... PowerShellGet True C:\gg\chocolatey-oneget-NativeProvider\chocolatey-onege...

I would like to ask, is this normal? or is it a beta native provider problem?
My newly registered repository disappears.
After re-importing the Chocolatey-OneGet module, the repository reappears. (import-module Chocolatey-OneGet)

@jirkapok

This comment has been minimized.

Copy link

@jirkapok jirkapok commented Nov 4, 2018

Thanks for feedback, Yes, it looks like some testing behavior is mixed with the provider implementation. "Chocolatey-OneGet-OutputRepository" is created for testing purpose of the module it self.
The reimport is required, until you put it into your profile to be loaded automatically (powershell behavior). The reappearing repository means that data were saved correctly.
Plese when communicating the development, contact me directly using Gitter or create new issue (because it is not directly related to this thread).

@ethanbergstrom

This comment has been minimized.

Copy link

@ethanbergstrom ethanbergstrom commented Feb 9, 2020

To provide an update in this space, I've forked ChocolateyGet with full support for registering/installing from both offline and online private repos, DSC support, upgrading packages, and a few other odds and ends.

The changes are currently pending a pull request back into the main ChocolateyGet project, but have also been made available in the meantime as a separate module called Chocolatier in PSGallery.

Using this today in several live environments against private repos (Artifactory) with PowerShell DSC, and pretty happy with the results.

PS C:\Users\ethan> choco source
Chocolatey v0.10.15
chocolatey - https://chocolatey.org/api/v2/ | Priority 0|Bypass Proxy - False|Self-Service - False|Admin Only - False.

S C:\Users\ethan> Register-PackageSource -ProviderName chocolatier -Name test -Location C:\Users\ethan\Desktop\

Name                             ProviderName     IsTrusted  Location
----                             ------------     ---------  --------
test                             Chocolatier      False      C:\Users\ethan\Desktop

PS C:\Users\ethan> Get-PackageSource -ProviderName chocolatier

Name                             ProviderName     IsTrusted  Location
----                             ------------     ---------  --------
chocolatey                       Chocolatier      True       https://chocolatey.org/api/v2/
test                             Chocolatier      True       C:\Users\ethan\Desktop\

PS C:\Users\ethan> choco source
Chocolatey v0.10.15
chocolatey - https://chocolatey.org/api/v2/ | Priority 0|Bypass Proxy - False|Self-Service - False|Admin Only - False.
test - C:\Users\ethan\Desktop\ | Priority 0|Bypass Proxy - False|Self-Service - False|Admin Only - False.

PS C:\Users\ethan> Unregister-PackageSource chocolatey -ProviderName chocolatier

PS C:\Users\ethan> Get-PackageSource -ProviderName chocolatier

Name                             ProviderName     IsTrusted  Location
----                             ------------     ---------  --------
test                             Chocolatier      True       C:\Users\ethan\Desktop\

PS C:\Users\ethan> choco source
Chocolatey v0.10.15
test - C:\Users\ethan\Desktop\ | Priority 0|Bypass Proxy - False|Self-Service - False|Admin Only - False.

PS C:\Users\ethan> ls Desktop


    Directory: C:\Users\ethan\Desktop


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          2/9/2020  12:07 PM        2610007 7zip.install.19.0.nupkg
-a----          2/9/2020  12:10 PM          14374 chocolatey-core.extension.1.3.5.1.nupkg

PS C:\Users\ethan> Find-Package 7zip.install -ProviderName chocolatier -Source test

Name                           Version          Source           Summary
----                           -------          ------           -------
7zip.install                   19.0             test

PS C:\Users\ethan> Find-Package 7zip.install -ProviderName chocolatier -Source test | Install-Package -Force

Name                           Version          Source           Summary
----                           -------          ------           -------
7zip.install                   19.0             test
@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented Feb 9, 2020

Dear Ethan,

I've tested the new Chocolatier module. It works well with my own repository in a separate environment without an internet connection. Earlier, I had some problems registering my own repository in a separate environment, but now everything works fine.
I use powershell commands, I tested the Choco commands and sometimes I get a messages about buying the full version,. I don't receive any advertisement using the powershell command I didn't saw any information about this.

I would like to ask:

Can I use the (accept license) parameter using the powershell command? Every time I try to use the install-package/uninstall-package command, I receive a license request (see below) I used my own repository without internet.

e.g:
PS C: \ Windows \ system32> install-package -name googlechrome -source OwnRepo -Verbose

VERBOSE: Using the "Chocolatier" provider to search for packages. VERBOSE: Using the following source names: "OwnRepo". VERBOSE: Source selected: OwnRepo VERBOSE: Performing the "Install Package" operation on the target "Googlechrome" version "80 .0.3987.87" with "OwnRepo". ".

Are you sure you want to perform this action? Installing the "googlechrome" package. By installing, you accept package licenses. The package may require running "chocolateyInstall.ps1". [T] Yes [N] No [S] Suspend [?] Help (default "T"): test

In addition. Can I view all packages from the repository without entering a name? (via powershell) no choco command (choco list ...) Currently I have seen that it works only (find-package -name opera -source OwnRepo). Is it possible that the command will work in the future (find-package -source OwnRepo) - display a list of all packages in your own repository

@ethanbergstrom

This comment has been minimized.

Copy link

@ethanbergstrom ethanbergstrom commented Feb 9, 2020

Hey @Gregoorio

If you pass in the -Force parameter to Install-Package, it should bypass the license agreement prompt:

For example:

Install-Package -Name googlechrome -Source OwnRepo -Verbose -Force

I don't currently have the -AcceptLicense parameter implemented, but could look at adding that. Please open an issue on the project page and I can take a look at what that would require.

Similiarly, regarding the ability to pull back all packages in a repository, that's not something that's implemented today, but I can look at adding. Please open an issue and we can look further.

@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented Feb 9, 2020

@Ethan,

Thanks for the information, Probably I will open the issue
It would be ok if the same functionality as for the chocolatey provider worked in use the powershell command (install-package/uninstall-package etc)

Did you use the powershell command uninstall-package? It probably doesn't work all the way
(Uninstall-Package -Name googlechrome)
(choco uninstall googlechrome - working correctly).

@Gregoorio

This comment has been minimized.

Copy link

@Gregoorio Gregoorio commented Feb 10, 2020

Hi @Ethan,

In the issue of uninstall packages. I saw that the command uninstall-package via powershell doesn't work correctly. Can you look at this the uninstall function using powershell?
When I use the commnad (uninstall-package -name xxx -Verbose), nothing happens.
For uninstallation, I need to use the following parameters:
(uninstall-package -name xxx AdditionalArguments '-y --remove-dependencies' -Verbose) - I think this command as to long.

@ethanbergstrom

This comment has been minimized.

Copy link

@ethanbergstrom ethanbergstrom commented Feb 11, 2020

@Gregoorio you might try providing the providername? Uninstall-package with additional arguments works just fine for me:
image

If you're still experiencing issues, I'd recommend opening an issue on the project page and we can investigate further.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.