Skip to content
This repository was archived by the owner on Oct 25, 2022. It is now read-only.

Linux support #234

@TheCakeIsNaOH

Description

@TheCakeIsNaOH

So, I'd like to be able to run AU on Linux for a couple of reasons, and it seems like at least a subset of AU features are almost ready to go. Here is a list of current blocking problems that I have found:

  • Many aliases don't work on Linux, because they instead refer to native tools that don't have the same behavior and options. Affected aliases include mkdir, rm, gc, pushd, popd, ls, set, cp, tee, and sort. The solution is fairly simple; replace these (or all) aliases with the full versions. ((GH-234) Expand all aliases #235)
  • The nuspec files element directory separator needs to be changed to a forward slash manually. I have a PR open to make choco do it automatically: (GH-502) Correct path separator in nuspec file element chocolatey/nuget-chocolatey#19
  • On PowerShell 7 on Linux running [enum]::GetValues('Net.SecurityProtocolType') says that ssl3 is supported, but when I actually try to set it, it says that it is not supported. Again should be a simple fix to select tls or higher when running on non-windows. (Don't set SSLv3 on PowerShell 6+ #236)
  • In the AUPackage class definition, NuspecPath is defined with a hardcoded backslash. Needs use [IO.Path]::DirectorySeparatorChar instead. There are probably other spots with a hardcoded backslash that would need to be switched to a platform-independent method, i.e. Join-Path or whatever. Edit: get-remotefiles also needs changes for this, and some of the plugins almost certainly do as well. (Make directory separators platform agnostic #237)
  • Automatic checksumming probably won't work and would be really hard to get working. But always using -ChecksumFor none and Get-RemoteChecksum is pretty easy to do on the maintainer end, so IMO this should be the required way to do it on Linux.
  • Running choco pack fails if the nupkg already exists. choco pack command fails on non-Windows when the nupkg already exists chocolatey/choco#2076

There are probably some things lurking that I missed, but those should get at least a minimum amount of functionality.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions