PSResourceGet icon indicating copy to clipboard operation
PSResourceGet copied to clipboard

Support v3 dependencies for pwsh packages

Open nbarnwell opened this issue 1 year ago • 10 comments

Prerequisites

  • [X] Write a descriptive title.
  • [X] Make sure you are able to repro it on the latest released version
  • [X] Search the existing issues.

Steps to reproduce

  1. Register an authenticated Azure DevOps Artifacts PSResourceRepository that has the PowerShell Gallery configured as an upstream source. Use the Microsoft.PowerShell.SecureVault module as the source of credentials.
  2. Unregister the PowerShell Gallery resource repository.
  3. Install-PSResource PSWindowsUpdate

Expected behavior

The `PSWindowsUpdate` module and any dependencies are installed.

Actual behavior

The install appears to work, but the following warning is shown:

> WARNING: Installing dependencies is not currently supported for V3 server protocol repositories. The package will be installed without installing dependencies.

Error details

No response

Environment data

PS C:\temp> Get-Module Microsoft.PowerShell.PSResourceGet; $PSVersionTable

ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Binary     1.0.2                 Microsoft.PowerShell.PSResourceGet  {Find-PSResource, Get-InstalledPSResource, Get-PSResourceRepository, Get-PSScriptFileInfo…}

Key   : PSVersion
Value : 7.4.0
Name  : PSVersion


Key   : PSEdition
Value : Core
Name  : PSEdition


Key   : GitCommitId
Value : 7.4.0
Name  : GitCommitId


Key   : OS
Value : Microsoft Windows 10.0.19044
Name  : OS


Key   : Platform
Value : Win32NT
Name  : Platform


Key   : PSCompatibleVersions
Value : {1.0, 2.0, 3.0, 4.0…}
Name  : PSCompatibleVersions


Key   : PSRemotingProtocolVersion
Value : 2.3
Name  : PSRemotingProtocolVersion


Key   : SerializationVersion
Value : 1.1.0.1
Name  : SerializationVersion


Key   : WSManStackVersion
Value : 3.0
Name  : WSManStackVersion

Visuals

No response

nbarnwell avatar Feb 26 '24 15:02 nbarnwell

Thanks @nbarnwell what repository are you seeing this with? and what is the apiversion?

SydneyhSmith avatar Feb 26 '24 19:02 SydneyhSmith

I updated the reproduction steps.

nbarnwell avatar Feb 26 '24 19:02 nbarnwell

Thanks, if you register this as a v2 feed instead of a v3 feed you can get rid of this warning message

SydneyhSmith avatar Mar 04 '24 19:03 SydneyhSmith

I'll try it again but I'm pretty sure I couldn't get it to work at all with a v2 feed, I think because it's an authenticated feed.

nbarnwell avatar Mar 04 '24 19:03 nbarnwell

@SydneyhSmith Indeed it doesn't work for authenticated repositories. In fact, I get the error I previously reported in https://github.com/PowerShell/PSResourceGet/issues/1491, which I don't think anyone cares about, either. PowerShell module stuff isn't fit for purpose when it comes to authenticated feeds. It's all very well and good encouraging folks to publish to the PowerShell gallery, but to have this massive blind spot when it comes to corporate packages in private feeds is a real surprise. I'd have thought the PowerShellGet team would've been dogfooding on Azure DevOps Artifacts feeds themselves, but I guess not or these issues (there are several) would get looked at.

Also, I wasn't trying to get rid of a warning message - I need dependency support on v3 feeds. V2 feeds are broken so telling me to go back to that when I've been on a several-month-long journey trying to get all this to hang together is a bit hard to swallow.

nbarnwell avatar Mar 05 '24 11:03 nbarnwell

I don't know if this issue is related to the topic here.

What I find strange, is when adding PowerShellGallery as upstream source, it works with the old PowerShellGet to install a module through there. When using Install-PSResource, if the module has not been downloaded from PowerShellGallery, it throws an error it cannot find the module.

Gijsreyn avatar Mar 07 '24 13:03 Gijsreyn

@Gijsreyn can you please open a new issue for that-- that is not expected

SydneyhSmith avatar Mar 07 '24 16:03 SydneyhSmith

@SydneyhSmith I'll run some more test to see the different endpoint urls from Azure Artifacts and open a issue if it persists.

Gijsreyn avatar Mar 09 '24 13:03 Gijsreyn