This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Support using the auto-detected name - #355

Open
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name
Open

Support using the auto-detected name#355
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name

Conversation

@bwarden

@bwardenbwarden commented Mar 27, 2019

Copy link
Copy Markdown
Contributor

Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.

@bwarden

bwarden commented Mar 27, 2019

Copy link
Copy Markdown
ContributorAuthor

You'll also need to modify Makefile.toplevel to:

  1. Remove the check for $(NAME)
  2. Remove $(MAKE) clone_$(NAME) and the mkdir/git block
  3. Don't write the Makefile (autospec will do that instead)
  4. Remove the --target and --name parameters from autospec
  5. Add the --package-dir packages/ param to autospec
  6. Remove the else block for $(NAME) already exists...

...and add git_pull to autospec.conf if you use a different git URI for pull than push.

@bwarden

Copy link
Copy Markdown
ContributorAuthor

The link-new-rpms and checkblacklist actions will also need to be modified/replaced at some point.

@bwarden
bwardenforce-pushed the use-detected-package-name branch from 00a7a22 to 28a8644CompareMarch 29, 2019 15:56
@bwarden

Copy link
Copy Markdown
ContributorAuthor

@phmccarty, @bryteise Could I have your review, please?

Comment threadautospec/config.py Outdated
Comment threadautospec/git.py Outdated
Comment threadautospec/tarball.py
@bwarden
bwardenforce-pushed the use-detected-package-name branch 2 times, most recently from b6fc152 to 114e815CompareApril 9, 2019 16:10
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 114e815 to 716b2feCompareApril 9, 2019 23:00
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 716b2fe to e4719d0CompareApril 18, 2019 22:52
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 473718d to 5cbdfdbCompareMay 9, 2019 16:07
bwarden added 4 commits May 20, 2019 09:00
Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.
When using github urls, the code tries to test the detected name against
the previously provided name. If we didn't provide a name, though, this
would throw an exception.
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 5cbdfdb to 35665e2CompareMay 20, 2019 16:01
@bwarden

bwarden commented Jun 10, 2019

Copy link
Copy Markdown
ContributorAuthor

Remaining work, in case someone else has time to pick up the torch:

  • refactor config to read autospec.conf first (so we know the git URL patterns), then go back and read package configuration files after deciding what the package name and path are.
  • tackle creation of rpms subdir and hard-linking resulting RPMs. This is the last ${NAME} dependency in the common makefile.

@phmccarty

Copy link
Copy Markdown
Contributor

@bryteise Is this feature still in scope for autospec?

I think it would be nice to autodetect the package name, but due to the extra complexity introduced with the interaction with the common tooling, we were somewhat undecided about what needed to change in that tooling, and autospec, or both, to accommodate...

@bryteise

Copy link
Copy Markdown
Contributor

Hrm I'm a little unsure about all the bits that need to be reworked.

Because make autospecnew is probably the way an autodetected name would be made use of, getting the common tooling as much out of the way as possible of autospec doing what needs to be would be sensible. We could also we add a --get-package-name type option for autospec and then common tooling gets the name from that and reruns autospec with the full options like now under the hood.

@phmccarty

Copy link
Copy Markdown
Contributor

I agree that all the name detection logic should be handled by autospec. The idea of adding a --get-package-name flag to autospec to replace the NAME value for make autospecnew also sounds reasonable...

@phmccarty

phmccarty commented Mar 4, 2022

Copy link
Copy Markdown
Contributor

There was also some discussion at the time about autospec creating the package Makefile (instead of the common tooling) if it doesn't exist, so that consideration could be revisited as well.

Edit: One second look, this PR adds the makefile write routine, so disregard.

Edit 2: IIRC, at the time, I wasn't convinced that autospec writing the makefile was a good idea, since the primary user of it is the common tooling, not autospec. Perhaps autospec could write a separate makefile (say, Makefile.autospec) that would be fully owned by autospec, and the common tooling could source it -- a similar approach to how it handles Makefile.custom. For non-autospec packages, Makefile would define PKG_NAME, and for autospec packages, Makefile.autospec would define it, replacing the value from Makefile if it exists there. And if autospec cannot detect, or misdetects, the package name, the common tooling could fall back to use PKG_NAME defined in Makefile (or Makefile.custom) if that's easier / makes more sense, and propagate that value to autospec like it does now.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@bwarden@phmccarty@bryteise
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Support using the auto-detected name - #355

Open
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name
Open

Support using the auto-detected name#355
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name

Conversation

@bwarden

@bwardenbwarden commented Mar 27, 2019

Copy link
Copy Markdown
Contributor

Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.

@bwarden

bwarden commented Mar 27, 2019

Copy link
Copy Markdown
ContributorAuthor

You'll also need to modify Makefile.toplevel to:

  1. Remove the check for $(NAME)
  2. Remove $(MAKE) clone_$(NAME) and the mkdir/git block
  3. Don't write the Makefile (autospec will do that instead)
  4. Remove the --target and --name parameters from autospec
  5. Add the --package-dir packages/ param to autospec
  6. Remove the else block for $(NAME) already exists...

...and add git_pull to autospec.conf if you use a different git URI for pull than push.

@bwarden

Copy link
Copy Markdown
ContributorAuthor

The link-new-rpms and checkblacklist actions will also need to be modified/replaced at some point.

@bwarden
bwardenforce-pushed the use-detected-package-name branch from 00a7a22 to 28a8644CompareMarch 29, 2019 15:56
@bwarden

Copy link
Copy Markdown
ContributorAuthor

@phmccarty, @bryteise Could I have your review, please?

Comment threadautospec/config.py Outdated
Comment threadautospec/git.py Outdated
Comment threadautospec/tarball.py
@bwarden
bwardenforce-pushed the use-detected-package-name branch 2 times, most recently from b6fc152 to 114e815CompareApril 9, 2019 16:10
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 114e815 to 716b2feCompareApril 9, 2019 23:00
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 716b2fe to e4719d0CompareApril 18, 2019 22:52
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 473718d to 5cbdfdbCompareMay 9, 2019 16:07
bwarden added 4 commits May 20, 2019 09:00
Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.
When using github urls, the code tries to test the detected name against
the previously provided name. If we didn't provide a name, though, this
would throw an exception.
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 5cbdfdb to 35665e2CompareMay 20, 2019 16:01
@bwarden

bwarden commented Jun 10, 2019

Copy link
Copy Markdown
ContributorAuthor

Remaining work, in case someone else has time to pick up the torch:

  • refactor config to read autospec.conf first (so we know the git URL patterns), then go back and read package configuration files after deciding what the package name and path are.
  • tackle creation of rpms subdir and hard-linking resulting RPMs. This is the last ${NAME} dependency in the common makefile.

@phmccarty

Copy link
Copy Markdown
Contributor

@bryteise Is this feature still in scope for autospec?

I think it would be nice to autodetect the package name, but due to the extra complexity introduced with the interaction with the common tooling, we were somewhat undecided about what needed to change in that tooling, and autospec, or both, to accommodate...

@bryteise

Copy link
Copy Markdown
Contributor

Hrm I'm a little unsure about all the bits that need to be reworked.

Because make autospecnew is probably the way an autodetected name would be made use of, getting the common tooling as much out of the way as possible of autospec doing what needs to be would be sensible. We could also we add a --get-package-name type option for autospec and then common tooling gets the name from that and reruns autospec with the full options like now under the hood.

@phmccarty

Copy link
Copy Markdown
Contributor

I agree that all the name detection logic should be handled by autospec. The idea of adding a --get-package-name flag to autospec to replace the NAME value for make autospecnew also sounds reasonable...

@phmccarty

phmccarty commented Mar 4, 2022

Copy link
Copy Markdown
Contributor

There was also some discussion at the time about autospec creating the package Makefile (instead of the common tooling) if it doesn't exist, so that consideration could be revisited as well.

Edit: One second look, this PR adds the makefile write routine, so disregard.

Edit 2: IIRC, at the time, I wasn't convinced that autospec writing the makefile was a good idea, since the primary user of it is the common tooling, not autospec. Perhaps autospec could write a separate makefile (say, Makefile.autospec) that would be fully owned by autospec, and the common tooling could source it -- a similar approach to how it handles Makefile.custom. For non-autospec packages, Makefile would define PKG_NAME, and for autospec packages, Makefile.autospec would define it, replacing the value from Makefile if it exists there. And if autospec cannot detect, or misdetects, the package name, the common tooling could fall back to use PKG_NAME defined in Makefile (or Makefile.custom) if that's easier / makes more sense, and propagate that value to autospec like it does now.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@bwarden@phmccarty@bryteise
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Support using the auto-detected name - #355

Open
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name
Open

Support using the auto-detected name#355
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name

Conversation

@bwarden

@bwardenbwarden commented Mar 27, 2019

Copy link
Copy Markdown
Contributor

Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.

@bwarden

bwarden commented Mar 27, 2019

Copy link
Copy Markdown
ContributorAuthor

You'll also need to modify Makefile.toplevel to:

  1. Remove the check for $(NAME)
  2. Remove $(MAKE) clone_$(NAME) and the mkdir/git block
  3. Don't write the Makefile (autospec will do that instead)
  4. Remove the --target and --name parameters from autospec
  5. Add the --package-dir packages/ param to autospec
  6. Remove the else block for $(NAME) already exists...

...and add git_pull to autospec.conf if you use a different git URI for pull than push.

@bwarden

Copy link
Copy Markdown
ContributorAuthor

The link-new-rpms and checkblacklist actions will also need to be modified/replaced at some point.

@bwarden
bwardenforce-pushed the use-detected-package-name branch from 00a7a22 to 28a8644CompareMarch 29, 2019 15:56
@bwarden

Copy link
Copy Markdown
ContributorAuthor

@phmccarty, @bryteise Could I have your review, please?

Comment threadautospec/config.py Outdated
Comment threadautospec/git.py Outdated
Comment threadautospec/tarball.py
@bwarden
bwardenforce-pushed the use-detected-package-name branch 2 times, most recently from b6fc152 to 114e815CompareApril 9, 2019 16:10
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 114e815 to 716b2feCompareApril 9, 2019 23:00
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 716b2fe to e4719d0CompareApril 18, 2019 22:52
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 473718d to 5cbdfdbCompareMay 9, 2019 16:07
bwarden added 4 commits May 20, 2019 09:00
Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.
When using github urls, the code tries to test the detected name against
the previously provided name. If we didn't provide a name, though, this
would throw an exception.
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 5cbdfdb to 35665e2CompareMay 20, 2019 16:01
@bwarden

bwarden commented Jun 10, 2019

Copy link
Copy Markdown
ContributorAuthor

Remaining work, in case someone else has time to pick up the torch:

  • refactor config to read autospec.conf first (so we know the git URL patterns), then go back and read package configuration files after deciding what the package name and path are.
  • tackle creation of rpms subdir and hard-linking resulting RPMs. This is the last ${NAME} dependency in the common makefile.

@phmccarty

Copy link
Copy Markdown
Contributor

@bryteise Is this feature still in scope for autospec?

I think it would be nice to autodetect the package name, but due to the extra complexity introduced with the interaction with the common tooling, we were somewhat undecided about what needed to change in that tooling, and autospec, or both, to accommodate...

@bryteise

Copy link
Copy Markdown
Contributor

Hrm I'm a little unsure about all the bits that need to be reworked.

Because make autospecnew is probably the way an autodetected name would be made use of, getting the common tooling as much out of the way as possible of autospec doing what needs to be would be sensible. We could also we add a --get-package-name type option for autospec and then common tooling gets the name from that and reruns autospec with the full options like now under the hood.

@phmccarty

Copy link
Copy Markdown
Contributor

I agree that all the name detection logic should be handled by autospec. The idea of adding a --get-package-name flag to autospec to replace the NAME value for make autospecnew also sounds reasonable...

@phmccarty

phmccarty commented Mar 4, 2022

Copy link
Copy Markdown
Contributor

There was also some discussion at the time about autospec creating the package Makefile (instead of the common tooling) if it doesn't exist, so that consideration could be revisited as well.

Edit: One second look, this PR adds the makefile write routine, so disregard.

Edit 2: IIRC, at the time, I wasn't convinced that autospec writing the makefile was a good idea, since the primary user of it is the common tooling, not autospec. Perhaps autospec could write a separate makefile (say, Makefile.autospec) that would be fully owned by autospec, and the common tooling could source it -- a similar approach to how it handles Makefile.custom. For non-autospec packages, Makefile would define PKG_NAME, and for autospec packages, Makefile.autospec would define it, replacing the value from Makefile if it exists there. And if autospec cannot detect, or misdetects, the package name, the common tooling could fall back to use PKG_NAME defined in Makefile (or Makefile.custom) if that's easier / makes more sense, and propagate that value to autospec like it does now.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@bwarden@phmccarty@bryteise
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Support using the auto-detected name - #355

Open
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name
Open

Support using the auto-detected name#355
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name

Conversation

@bwarden

@bwardenbwarden commented Mar 27, 2019

Copy link
Copy Markdown
Contributor

Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.

@bwarden

bwarden commented Mar 27, 2019

Copy link
Copy Markdown
ContributorAuthor

You'll also need to modify Makefile.toplevel to:

  1. Remove the check for $(NAME)
  2. Remove $(MAKE) clone_$(NAME) and the mkdir/git block
  3. Don't write the Makefile (autospec will do that instead)
  4. Remove the --target and --name parameters from autospec
  5. Add the --package-dir packages/ param to autospec
  6. Remove the else block for $(NAME) already exists...

...and add git_pull to autospec.conf if you use a different git URI for pull than push.

@bwarden

Copy link
Copy Markdown
ContributorAuthor

The link-new-rpms and checkblacklist actions will also need to be modified/replaced at some point.

@bwarden
bwardenforce-pushed the use-detected-package-name branch from 00a7a22 to 28a8644CompareMarch 29, 2019 15:56
@bwarden

Copy link
Copy Markdown
ContributorAuthor

@phmccarty, @bryteise Could I have your review, please?

Comment threadautospec/config.py Outdated
Comment threadautospec/git.py Outdated
Comment threadautospec/tarball.py
@bwarden
bwardenforce-pushed the use-detected-package-name branch 2 times, most recently from b6fc152 to 114e815CompareApril 9, 2019 16:10
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 114e815 to 716b2feCompareApril 9, 2019 23:00
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 716b2fe to e4719d0CompareApril 18, 2019 22:52
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 473718d to 5cbdfdbCompareMay 9, 2019 16:07
bwarden added 4 commits May 20, 2019 09:00
Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.
When using github urls, the code tries to test the detected name against
the previously provided name. If we didn't provide a name, though, this
would throw an exception.
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 5cbdfdb to 35665e2CompareMay 20, 2019 16:01
@bwarden

bwarden commented Jun 10, 2019

Copy link
Copy Markdown
ContributorAuthor

Remaining work, in case someone else has time to pick up the torch:

  • refactor config to read autospec.conf first (so we know the git URL patterns), then go back and read package configuration files after deciding what the package name and path are.
  • tackle creation of rpms subdir and hard-linking resulting RPMs. This is the last ${NAME} dependency in the common makefile.

@phmccarty

Copy link
Copy Markdown
Contributor

@bryteise Is this feature still in scope for autospec?

I think it would be nice to autodetect the package name, but due to the extra complexity introduced with the interaction with the common tooling, we were somewhat undecided about what needed to change in that tooling, and autospec, or both, to accommodate...

@bryteise

Copy link
Copy Markdown
Contributor

Hrm I'm a little unsure about all the bits that need to be reworked.

Because make autospecnew is probably the way an autodetected name would be made use of, getting the common tooling as much out of the way as possible of autospec doing what needs to be would be sensible. We could also we add a --get-package-name type option for autospec and then common tooling gets the name from that and reruns autospec with the full options like now under the hood.

@phmccarty

Copy link
Copy Markdown
Contributor

I agree that all the name detection logic should be handled by autospec. The idea of adding a --get-package-name flag to autospec to replace the NAME value for make autospecnew also sounds reasonable...

@phmccarty

phmccarty commented Mar 4, 2022

Copy link
Copy Markdown
Contributor

There was also some discussion at the time about autospec creating the package Makefile (instead of the common tooling) if it doesn't exist, so that consideration could be revisited as well.

Edit: One second look, this PR adds the makefile write routine, so disregard.

Edit 2: IIRC, at the time, I wasn't convinced that autospec writing the makefile was a good idea, since the primary user of it is the common tooling, not autospec. Perhaps autospec could write a separate makefile (say, Makefile.autospec) that would be fully owned by autospec, and the common tooling could source it -- a similar approach to how it handles Makefile.custom. For non-autospec packages, Makefile would define PKG_NAME, and for autospec packages, Makefile.autospec would define it, replacing the value from Makefile if it exists there. And if autospec cannot detect, or misdetects, the package name, the common tooling could fall back to use PKG_NAME defined in Makefile (or Makefile.custom) if that's easier / makes more sense, and propagate that value to autospec like it does now.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@bwarden@phmccarty@bryteise
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Support using the auto-detected name - #355

Open
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name
Open

Support using the auto-detected name#355
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name

Conversation

@bwarden

@bwardenbwarden commented Mar 27, 2019

Copy link
Copy Markdown
Contributor

Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.

@bwarden

bwarden commented Mar 27, 2019

Copy link
Copy Markdown
ContributorAuthor

You'll also need to modify Makefile.toplevel to:

  1. Remove the check for $(NAME)
  2. Remove $(MAKE) clone_$(NAME) and the mkdir/git block
  3. Don't write the Makefile (autospec will do that instead)
  4. Remove the --target and --name parameters from autospec
  5. Add the --package-dir packages/ param to autospec
  6. Remove the else block for $(NAME) already exists...

...and add git_pull to autospec.conf if you use a different git URI for pull than push.

@bwarden

Copy link
Copy Markdown
ContributorAuthor

The link-new-rpms and checkblacklist actions will also need to be modified/replaced at some point.

@bwarden
bwardenforce-pushed the use-detected-package-name branch from 00a7a22 to 28a8644CompareMarch 29, 2019 15:56
@bwarden

Copy link
Copy Markdown
ContributorAuthor

@phmccarty, @bryteise Could I have your review, please?

Comment threadautospec/config.py Outdated
Comment threadautospec/git.py Outdated
Comment threadautospec/tarball.py
@bwarden
bwardenforce-pushed the use-detected-package-name branch 2 times, most recently from b6fc152 to 114e815CompareApril 9, 2019 16:10
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 114e815 to 716b2feCompareApril 9, 2019 23:00
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 716b2fe to e4719d0CompareApril 18, 2019 22:52
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 473718d to 5cbdfdbCompareMay 9, 2019 16:07
bwarden added 4 commits May 20, 2019 09:00
Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.
When using github urls, the code tries to test the detected name against
the previously provided name. If we didn't provide a name, though, this
would throw an exception.
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 5cbdfdb to 35665e2CompareMay 20, 2019 16:01
@bwarden

bwarden commented Jun 10, 2019

Copy link
Copy Markdown
ContributorAuthor

Remaining work, in case someone else has time to pick up the torch:

  • refactor config to read autospec.conf first (so we know the git URL patterns), then go back and read package configuration files after deciding what the package name and path are.
  • tackle creation of rpms subdir and hard-linking resulting RPMs. This is the last ${NAME} dependency in the common makefile.

@phmccarty

Copy link
Copy Markdown
Contributor

@bryteise Is this feature still in scope for autospec?

I think it would be nice to autodetect the package name, but due to the extra complexity introduced with the interaction with the common tooling, we were somewhat undecided about what needed to change in that tooling, and autospec, or both, to accommodate...

@bryteise

Copy link
Copy Markdown
Contributor

Hrm I'm a little unsure about all the bits that need to be reworked.

Because make autospecnew is probably the way an autodetected name would be made use of, getting the common tooling as much out of the way as possible of autospec doing what needs to be would be sensible. We could also we add a --get-package-name type option for autospec and then common tooling gets the name from that and reruns autospec with the full options like now under the hood.

@phmccarty

Copy link
Copy Markdown
Contributor

I agree that all the name detection logic should be handled by autospec. The idea of adding a --get-package-name flag to autospec to replace the NAME value for make autospecnew also sounds reasonable...

@phmccarty

phmccarty commented Mar 4, 2022

Copy link
Copy Markdown
Contributor

There was also some discussion at the time about autospec creating the package Makefile (instead of the common tooling) if it doesn't exist, so that consideration could be revisited as well.

Edit: One second look, this PR adds the makefile write routine, so disregard.

Edit 2: IIRC, at the time, I wasn't convinced that autospec writing the makefile was a good idea, since the primary user of it is the common tooling, not autospec. Perhaps autospec could write a separate makefile (say, Makefile.autospec) that would be fully owned by autospec, and the common tooling could source it -- a similar approach to how it handles Makefile.custom. For non-autospec packages, Makefile would define PKG_NAME, and for autospec packages, Makefile.autospec would define it, replacing the value from Makefile if it exists there. And if autospec cannot detect, or misdetects, the package name, the common tooling could fall back to use PKG_NAME defined in Makefile (or Makefile.custom) if that's easier / makes more sense, and propagate that value to autospec like it does now.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@bwarden@phmccarty@bryteise
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Support using the auto-detected name - #355

Open
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name
Open

Support using the auto-detected name#355
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name

Conversation

@bwarden

@bwardenbwarden commented Mar 27, 2019

Copy link
Copy Markdown
Contributor

Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.

@bwarden

bwarden commented Mar 27, 2019

Copy link
Copy Markdown
ContributorAuthor

You'll also need to modify Makefile.toplevel to:

  1. Remove the check for $(NAME)
  2. Remove $(MAKE) clone_$(NAME) and the mkdir/git block
  3. Don't write the Makefile (autospec will do that instead)
  4. Remove the --target and --name parameters from autospec
  5. Add the --package-dir packages/ param to autospec
  6. Remove the else block for $(NAME) already exists...

...and add git_pull to autospec.conf if you use a different git URI for pull than push.

@bwarden

Copy link
Copy Markdown
ContributorAuthor

The link-new-rpms and checkblacklist actions will also need to be modified/replaced at some point.

@bwarden
bwardenforce-pushed the use-detected-package-name branch from 00a7a22 to 28a8644CompareMarch 29, 2019 15:56
@bwarden

Copy link
Copy Markdown
ContributorAuthor

@phmccarty, @bryteise Could I have your review, please?

Comment threadautospec/config.py Outdated
Comment threadautospec/git.py Outdated
Comment threadautospec/tarball.py
@bwarden
bwardenforce-pushed the use-detected-package-name branch 2 times, most recently from b6fc152 to 114e815CompareApril 9, 2019 16:10
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 114e815 to 716b2feCompareApril 9, 2019 23:00
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 716b2fe to e4719d0CompareApril 18, 2019 22:52
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 473718d to 5cbdfdbCompareMay 9, 2019 16:07
bwarden added 4 commits May 20, 2019 09:00
Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.
When using github urls, the code tries to test the detected name against
the previously provided name. If we didn't provide a name, though, this
would throw an exception.
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 5cbdfdb to 35665e2CompareMay 20, 2019 16:01
@bwarden

bwarden commented Jun 10, 2019

Copy link
Copy Markdown
ContributorAuthor

Remaining work, in case someone else has time to pick up the torch:

  • refactor config to read autospec.conf first (so we know the git URL patterns), then go back and read package configuration files after deciding what the package name and path are.
  • tackle creation of rpms subdir and hard-linking resulting RPMs. This is the last ${NAME} dependency in the common makefile.

@phmccarty

Copy link
Copy Markdown
Contributor

@bryteise Is this feature still in scope for autospec?

I think it would be nice to autodetect the package name, but due to the extra complexity introduced with the interaction with the common tooling, we were somewhat undecided about what needed to change in that tooling, and autospec, or both, to accommodate...

@bryteise

Copy link
Copy Markdown
Contributor

Hrm I'm a little unsure about all the bits that need to be reworked.

Because make autospecnew is probably the way an autodetected name would be made use of, getting the common tooling as much out of the way as possible of autospec doing what needs to be would be sensible. We could also we add a --get-package-name type option for autospec and then common tooling gets the name from that and reruns autospec with the full options like now under the hood.

@phmccarty

Copy link
Copy Markdown
Contributor

I agree that all the name detection logic should be handled by autospec. The idea of adding a --get-package-name flag to autospec to replace the NAME value for make autospecnew also sounds reasonable...

@phmccarty

phmccarty commented Mar 4, 2022

Copy link
Copy Markdown
Contributor

There was also some discussion at the time about autospec creating the package Makefile (instead of the common tooling) if it doesn't exist, so that consideration could be revisited as well.

Edit: One second look, this PR adds the makefile write routine, so disregard.

Edit 2: IIRC, at the time, I wasn't convinced that autospec writing the makefile was a good idea, since the primary user of it is the common tooling, not autospec. Perhaps autospec could write a separate makefile (say, Makefile.autospec) that would be fully owned by autospec, and the common tooling could source it -- a similar approach to how it handles Makefile.custom. For non-autospec packages, Makefile would define PKG_NAME, and for autospec packages, Makefile.autospec would define it, replacing the value from Makefile if it exists there. And if autospec cannot detect, or misdetects, the package name, the common tooling could fall back to use PKG_NAME defined in Makefile (or Makefile.custom) if that's easier / makes more sense, and propagate that value to autospec like it does now.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@bwarden@phmccarty@bryteise
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Support using the auto-detected name - #355

Open
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name
Open

Support using the auto-detected name#355
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name

Conversation

@bwarden

@bwardenbwarden commented Mar 27, 2019

Copy link
Copy Markdown
Contributor

Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.

@bwarden

bwarden commented Mar 27, 2019

Copy link
Copy Markdown
ContributorAuthor

You'll also need to modify Makefile.toplevel to:

  1. Remove the check for $(NAME)
  2. Remove $(MAKE) clone_$(NAME) and the mkdir/git block
  3. Don't write the Makefile (autospec will do that instead)
  4. Remove the --target and --name parameters from autospec
  5. Add the --package-dir packages/ param to autospec
  6. Remove the else block for $(NAME) already exists...

...and add git_pull to autospec.conf if you use a different git URI for pull than push.

@bwarden

Copy link
Copy Markdown
ContributorAuthor

The link-new-rpms and checkblacklist actions will also need to be modified/replaced at some point.

@bwarden
bwardenforce-pushed the use-detected-package-name branch from 00a7a22 to 28a8644CompareMarch 29, 2019 15:56
@bwarden

Copy link
Copy Markdown
ContributorAuthor

@phmccarty, @bryteise Could I have your review, please?

Comment threadautospec/config.py Outdated
Comment threadautospec/git.py Outdated
Comment threadautospec/tarball.py
@bwarden
bwardenforce-pushed the use-detected-package-name branch 2 times, most recently from b6fc152 to 114e815CompareApril 9, 2019 16:10
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 114e815 to 716b2feCompareApril 9, 2019 23:00
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 716b2fe to e4719d0CompareApril 18, 2019 22:52
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 473718d to 5cbdfdbCompareMay 9, 2019 16:07
bwarden added 4 commits May 20, 2019 09:00
Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.
When using github urls, the code tries to test the detected name against
the previously provided name. If we didn't provide a name, though, this
would throw an exception.
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 5cbdfdb to 35665e2CompareMay 20, 2019 16:01
@bwarden

bwarden commented Jun 10, 2019

Copy link
Copy Markdown
ContributorAuthor

Remaining work, in case someone else has time to pick up the torch:

  • refactor config to read autospec.conf first (so we know the git URL patterns), then go back and read package configuration files after deciding what the package name and path are.
  • tackle creation of rpms subdir and hard-linking resulting RPMs. This is the last ${NAME} dependency in the common makefile.

@phmccarty

Copy link
Copy Markdown
Contributor

@bryteise Is this feature still in scope for autospec?

I think it would be nice to autodetect the package name, but due to the extra complexity introduced with the interaction with the common tooling, we were somewhat undecided about what needed to change in that tooling, and autospec, or both, to accommodate...

@bryteise

Copy link
Copy Markdown
Contributor

Hrm I'm a little unsure about all the bits that need to be reworked.

Because make autospecnew is probably the way an autodetected name would be made use of, getting the common tooling as much out of the way as possible of autospec doing what needs to be would be sensible. We could also we add a --get-package-name type option for autospec and then common tooling gets the name from that and reruns autospec with the full options like now under the hood.

@phmccarty

Copy link
Copy Markdown
Contributor

I agree that all the name detection logic should be handled by autospec. The idea of adding a --get-package-name flag to autospec to replace the NAME value for make autospecnew also sounds reasonable...

@phmccarty

phmccarty commented Mar 4, 2022

Copy link
Copy Markdown
Contributor

There was also some discussion at the time about autospec creating the package Makefile (instead of the common tooling) if it doesn't exist, so that consideration could be revisited as well.

Edit: One second look, this PR adds the makefile write routine, so disregard.

Edit 2: IIRC, at the time, I wasn't convinced that autospec writing the makefile was a good idea, since the primary user of it is the common tooling, not autospec. Perhaps autospec could write a separate makefile (say, Makefile.autospec) that would be fully owned by autospec, and the common tooling could source it -- a similar approach to how it handles Makefile.custom. For non-autospec packages, Makefile would define PKG_NAME, and for autospec packages, Makefile.autospec would define it, replacing the value from Makefile if it exists there. And if autospec cannot detect, or misdetects, the package name, the common tooling could fall back to use PKG_NAME defined in Makefile (or Makefile.custom) if that's easier / makes more sense, and propagate that value to autospec like it does now.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@bwarden@phmccarty@bryteise
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Support using the auto-detected name - #355

Open
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name
Open

Support using the auto-detected name#355
bwarden wants to merge 4 commits into
clearlinux:masterfrom
bwarden:use-detected-package-name

Conversation

@bwarden

@bwardenbwarden commented Mar 27, 2019

Copy link
Copy Markdown
Contributor

Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.

@bwarden

bwarden commented Mar 27, 2019

Copy link
Copy Markdown
ContributorAuthor

You'll also need to modify Makefile.toplevel to:

  1. Remove the check for $(NAME)
  2. Remove $(MAKE) clone_$(NAME) and the mkdir/git block
  3. Don't write the Makefile (autospec will do that instead)
  4. Remove the --target and --name parameters from autospec
  5. Add the --package-dir packages/ param to autospec
  6. Remove the else block for $(NAME) already exists...

...and add git_pull to autospec.conf if you use a different git URI for pull than push.

@bwarden

Copy link
Copy Markdown
ContributorAuthor

The link-new-rpms and checkblacklist actions will also need to be modified/replaced at some point.

@bwarden
bwardenforce-pushed the use-detected-package-name branch from 00a7a22 to 28a8644CompareMarch 29, 2019 15:56
@bwarden

Copy link
Copy Markdown
ContributorAuthor

@phmccarty, @bryteise Could I have your review, please?

Comment threadautospec/config.py Outdated
Comment threadautospec/git.py Outdated
Comment threadautospec/tarball.py
@bwarden
bwardenforce-pushed the use-detected-package-name branch 2 times, most recently from b6fc152 to 114e815CompareApril 9, 2019 16:10
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 114e815 to 716b2feCompareApril 9, 2019 23:00
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 716b2fe to e4719d0CompareApril 18, 2019 22:52
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 473718d to 5cbdfdbCompareMay 9, 2019 16:07
bwarden added 4 commits May 20, 2019 09:00
Rework to absorb a lot of the work we were doing in makefiles so that we
can avoid setting the package name manually in 'make autospecnew'.
When using github urls, the code tries to test the detected name against
the previously provided name. If we didn't provide a name, though, this
would throw an exception.
@bwarden
bwardenforce-pushed the use-detected-package-name branch from 5cbdfdb to 35665e2CompareMay 20, 2019 16:01
@bwarden

bwarden commented Jun 10, 2019

Copy link
Copy Markdown
ContributorAuthor

Remaining work, in case someone else has time to pick up the torch:

  • refactor config to read autospec.conf first (so we know the git URL patterns), then go back and read package configuration files after deciding what the package name and path are.
  • tackle creation of rpms subdir and hard-linking resulting RPMs. This is the last ${NAME} dependency in the common makefile.

@phmccarty

Copy link
Copy Markdown
Contributor

@bryteise Is this feature still in scope for autospec?

I think it would be nice to autodetect the package name, but due to the extra complexity introduced with the interaction with the common tooling, we were somewhat undecided about what needed to change in that tooling, and autospec, or both, to accommodate...

@bryteise

Copy link
Copy Markdown
Contributor

Hrm I'm a little unsure about all the bits that need to be reworked.

Because make autospecnew is probably the way an autodetected name would be made use of, getting the common tooling as much out of the way as possible of autospec doing what needs to be would be sensible. We could also we add a --get-package-name type option for autospec and then common tooling gets the name from that and reruns autospec with the full options like now under the hood.

@phmccarty

Copy link
Copy Markdown
Contributor

I agree that all the name detection logic should be handled by autospec. The idea of adding a --get-package-name flag to autospec to replace the NAME value for make autospecnew also sounds reasonable...

@phmccarty

phmccarty commented Mar 4, 2022

Copy link
Copy Markdown
Contributor

There was also some discussion at the time about autospec creating the package Makefile (instead of the common tooling) if it doesn't exist, so that consideration could be revisited as well.

Edit: One second look, this PR adds the makefile write routine, so disregard.

Edit 2: IIRC, at the time, I wasn't convinced that autospec writing the makefile was a good idea, since the primary user of it is the common tooling, not autospec. Perhaps autospec could write a separate makefile (say, Makefile.autospec) that would be fully owned by autospec, and the common tooling could source it -- a similar approach to how it handles Makefile.custom. For non-autospec packages, Makefile would define PKG_NAME, and for autospec packages, Makefile.autospec would define it, replacing the value from Makefile if it exists there. And if autospec cannot detect, or misdetects, the package name, the common tooling could fall back to use PKG_NAME defined in Makefile (or Makefile.custom) if that's easier / makes more sense, and propagate that value to autospec like it does now.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@bwarden@phmccarty@bryteise