Summary: | Mk/bsd.{port,sites}.mk: Allow hyphens and periods in group names | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Yuri Victorovich <yuri> | ||||||||||
Component: | Ports Framework | Assignee: | Port Management Team <portmgr> | ||||||||||
Status: | Closed Overcome By Events | ||||||||||||
Severity: | Affects Only Me | CC: | mfechner, portmgr, ports-bugs | ||||||||||
Priority: | --- | Keywords: | needs-qa, patch | ||||||||||
Version: | Latest | Flags: | koobs:
maintainer-feedback?
(portmgr) koobs: exp-run? |
||||||||||
Hardware: | Any | ||||||||||||
OS: | Any | ||||||||||||
Bug Depends on: | |||||||||||||
Bug Blocks: | 205053, 205282 | ||||||||||||
Attachments: |
|
Created attachment 163865 [details]
patch
What problem exactly does having an hyphen in a variable name do you have ? Because make(1) sure does not have any. When I replace group 'duk' -> 'd-uk', I get this error: ===> aseprite-1.1.1 depends on file: /usr/local/sbin/pkg - found _MASTER_SITES_d-uk=https://codeload.github.com/aseprite/duktape/tar.gz/90090c7?dummy=/: not found I didn't realize that make supports hyphens in variable names. I assumed it doesn't. But this experiment proves that hyphenated variable names don't quite work the same way. Created attachment 164189 [details]
patch
Good news - needed to also allow periods, and potentially some other characters can be needed. Can't expect all these characters to be supported by the make(1) as variable names, can we?
So I reworked and generalized the patch, added the regex variables.
It all works. I think it can be committed now.
Created attachment 164190 [details]
patch
This is getting more and more complicated, and making things less and less readable. It would be more simple to simply forbid anything outside of [a-zA-Z0-9_] No, I disagree, group names aren't simply typed in. It is often easy to make them equal to the github project name. This is where the problem comes from. As usual, there are a lot of users (or ports), and one framework. You shouldn't force many users to work around the bug in one framework. It should just be fixed. This isn't just a bunch of changes. This is the functional relationship, the mapping from the group name with the wider character set into the variable name with the narrower character set. One function. I found that this patch breaks on 9.X (with the older version of make). I am looking for the solution for this. No feedback timeout Well, you last said "I am looking for the solutions". Timeout is two weeks, I gave it three months. Matt, sorry I didn't realize this. I am testing the workaround now, until 9.X goes out of support. Will update all depending ports and will temporarily close this until 2017. |
Created attachment 163862 [details] patch It is beneficial to have hyphens allowed in group names, because group names can sometimes be associated with the project-defined directories where for example GitHub projects are extracted. The attached patch solves the issue. Later I will add the blocked by this port www/sharelatex that greatly benefits from this.