Skip to content
This repository has been archived by the owner on Jun 21, 2022. It is now read-only.

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

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

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

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

Comments

@jianyunt
Copy link
Contributor

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
Copy link
Contributor

@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
Copy link
Contributor

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

@CMCDragonkai
Copy link

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

@ferventcoder
Copy link
Contributor

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
Copy link

It's not on the README is it?

@ferventcoder
Copy link
Contributor

@CMCDragonkai
Copy link

Is that file for installing this provider?

@favorini
Copy link

Any updated ETA on this provider?

@jianyunt
Copy link
Contributor Author

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

@ferventcoder
Copy link
Contributor

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
Copy link
Contributor

Congrats 😄

@philippgille
Copy link

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
Copy link
Contributor

@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
Copy link

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
Copy link
Contributor

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

@Gregoorio
Copy link

@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
Copy link
Contributor

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
Copy link
Contributor

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
Copy link

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
Copy link
Contributor

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
Copy link

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
Copy link
Contributor

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
Copy link

Ok, Thank you for your time.

@philippgille
Copy link

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
Copy link

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
Copy link

Is this package provider under active development?

@ferventcoder
Copy link
Contributor

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
Copy link

tstager commented Sep 6, 2017

Has there been any progress on the official oneget provider?

@jirkapok
Copy link

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
Copy link
Contributor Author

Great! Thank you @jirkapok !

@Gregoorio
Copy link

@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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

ethanbergstrom commented Feb 11, 2020

@Gregoorio you might try importing the provider or specifying 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.

@J-HS-L

This comment has been minimized.

@J-HS-L
Copy link

J-HS-L commented Dec 17, 2020

Has there been lots more progress, on all of this?
If not, is it about to be prioritised from ~Jan 2021, after ~5yrs of being at the bottom?

Is this still the main source for OneGet?
And this for PowerShellGet, or is CholateyGet more actively dev'd?

UPDATE
Ah, regarding that 2nd Qn of mine, I saw this on the front-page of the chocolatier repo:
image

Thank-you / Best Regards.

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

No branches or pull requests