-
Notifications
You must be signed in to change notification settings - Fork 164
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
Add new spec for go
package URLs
#357
base: master
Are you sure you want to change the base?
Conversation
hello @zpavlinovic ,
so the diff would be : maceonthompson/purl-spec@new-go-spec...zpavlinovic:purl-spec:new-go-spec To be honest, i dont see any need for copying an exiting PR. if you have change suggestions on an existing PR, you could annotate the changes alike so ```suggestion
my suggestion here
``` I'll vote for closing this very PR, as it simply duplicates an existing one. |
Ok, if you are a maintainer and can update the pull request, I can add the diffs and perhaps you can apply them? Just note that I did this as I am taking over this proposal effort. |
I could, but they would need to be triaged/discussed first. :-D
What do you mean? |
@@ -297,6 +297,27 @@ github | |||
pkg:github/package-url/purl-spec@244fd47e07d1004 | |||
pkg:github/package-url/purl-spec@244fd47e07d1004#everybody/loves/dogs | |||
|
|||
go | |||
------ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
------ | |
------------- |
⬆️ this is a demo how a change suggesttion looks like; it is not meant to be applied
the exact "code" i used:
```suggestion
-------------
```
This proposal and the original one come from the Go team.
Both the original proposer and I are from the Go team, but the original proposer is no longer able to continue with this work, so I am taking over the effort. I don't think there is any way for me to commandeer the original PR itself to make the changes, so I created a new one. Happy to take whatever approach you would like here. |
the original proposer could grant you write permissions on their fork/branch. Since you are from the same team, could you ask @maceonthompson for the needed permission? |
Happy to grant permissions as needed! @zpavlinovic |
Ok, let's try that. Thank you Maceo! |
I am having some issues with this, so perhaps somebody can help me out. I cloned the repo of the origin pull request, made the changes to the PR branch (
I apologize if I am making an obvious mistake here. |
Hi folks. This proposal is the same as #338, but I don't know how to commandeer that pull request.
To bring everyone up to speed, I wanted to summarize discussion on #338: 1) what this proposal brings to the table and 2) major concerns as well as how those concerns might be addressed. We can add and cross things in this post to keep track of the progress.
Proposal main points
Adding a new PURL type
go
where we:Use only namespace for module information. It is hard and sometimes impossible to figure out what the name should be. As of writing this, there are >57k Go modules that do not start with
github.com
. In general, there seem to be plenty of modules for which it is unclear what the name is. Special-casing on these will not scale, especially since we can also expect new modules in the future. Some of these examples are particularly tricky, one such beinggotest.tools
.We will use
stdlib
as the module for artifacts in the go command or standard library. Consistency with other Go tooling breaks the tie withstd
option.Use only versions produced by the Go tooling (or no versions at all). This includes pseudo versions. Hashes should not be allowed. The go command will soon stamp effectively all binaries with a pseudo-version, even in the presence of pending changes and no tags. Though, we will also support
(devel)
for legacy reasons.Concerns
This can be accomplished by updating documentation of
golang
type. It is not clear how this can actually be achieved. At the very least, it seems that addressing #308 this way would be a breaking change.This introduces a breaking change. There are differences between
golang
andgo
PURL types such that replacing former with the latter can introduce breaking changes. Let us put aside that this is technically not a breaking change. Thegolang
type predates Go modules. Just as Go as the language and ecosystem evolved, so should its PURL spec. There is sufficient evidence (#63, #196, #294, #308) thatgolang
PURL type creates problems and there should be a type that addresses its shortcomings. If name is the problem, the newly proposed type might also be calledgomod
?Namespace are percent-encoded and that will make things hard to read for users. We feel this is a small price to pay. Further, tools rendering
go
PURLs can pretty-print the namespace to users.@jkowalleck @matt-phylum @pombredanne