-
Notifications
You must be signed in to change notification settings - Fork 671
chore(comps): annotate azl-compatibility overlays with metadata #17887
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
base: 4.0
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| 0256227f5434d9e00d7c8501b16848efa400a72b | ||
| 35d8fae562980db7bda057d79322cc51ddad8d62 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,40 +1,2 @@ | ||
| [components.apache-sshd] | ||
|
|
||
| [[components.apache-sshd.overlays]] | ||
| description = "Remove maven-remote-resources-plugin (Xpp3Dom classloading clash with plexus-xml/maven4)" | ||
| type = "spec-append-lines" | ||
| section = "%prep" | ||
| lines = ["%pom_remove_plugin :maven-remote-resources-plugin"] | ||
|
|
||
| [[components.apache-sshd.overlays]] | ||
| description = "Add patch for maven.compiler.release POM property (xmvn javadoc fix)" | ||
| type = "patch-add" | ||
| file = "add-maven-compiler-release.patch" | ||
| source = "add-maven-compiler-release.patch" | ||
|
|
||
| [[components.apache-sshd.overlays]] | ||
| description = "Use %autosetup to auto-apply all patches" | ||
| type = "spec-search-replace" | ||
| regex = '%setup -q' | ||
| replacement = '%autosetup -p1' | ||
|
|
||
| [[components.apache-sshd.overlays]] | ||
| description = "Remove explicit %patch call now handled by %autosetup" | ||
| type = "spec-search-replace" | ||
| regex = '%patch -P0 -p1' | ||
| replacement = '' | ||
|
|
||
| # AZL ships only java-25-openjdk; there is no java-21-openjdk, so the | ||
| # upstream BuildRequires on maven-local-openjdk21 is unsatisfiable. | ||
| # Retarget to the openjdk25 variant. | ||
| [[components.apache-sshd.overlays]] | ||
| description = "Remove BuildRequires on maven-local-openjdk21 — AZL does not ship java-21-openjdk" | ||
| type = "spec-remove-tag" | ||
| tag = "BuildRequires" | ||
| value = "maven-local-openjdk21" | ||
|
|
||
| [[components.apache-sshd.overlays]] | ||
| description = "Add BuildRequires on maven-local-openjdk25 in place of maven-local-openjdk21" | ||
| type = "spec-add-tag" | ||
| tag = "BuildRequires" | ||
| value = "maven-local-openjdk25" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| [metadata] | ||
| category = "azl-compatibility" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why? Do we have any indication of what these changes were actually doing? |
||
|
|
||
| [[overlays]] | ||
| description = "Remove maven-remote-resources-plugin (Xpp3Dom classloading clash with plexus-xml/maven4)" | ||
| type = "spec-append-lines" | ||
| section = "%prep" | ||
| lines = ["%pom_remove_plugin :maven-remote-resources-plugin"] | ||
|
|
||
| [[overlays]] | ||
| description = "Add patch for maven.compiler.release POM property (xmvn javadoc fix)" | ||
| type = "patch-add" | ||
| file = "add-maven-compiler-release.patch" | ||
| source = "../add-maven-compiler-release.patch" | ||
|
|
||
| [[overlays]] | ||
| description = "Use %autosetup to auto-apply all patches" | ||
| type = "spec-search-replace" | ||
| regex = "%setup -q" | ||
| replacement = "%autosetup -p1" | ||
|
|
||
| [[overlays]] | ||
| description = "Remove explicit %patch call now handled by %autosetup" | ||
| type = "spec-search-replace" | ||
| regex = "%patch -P0 -p1" | ||
| replacement = "" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| # AZL ships only java-25-openjdk; there is no java-21-openjdk, so the | ||
| # upstream BuildRequires on maven-local-openjdk21 is unsatisfiable. | ||
| # Retarget to the openjdk25 variant. | ||
|
|
||
| [metadata] | ||
| category = "azl-pruning" | ||
| upstreamable = false | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Worth considering upstreamability here. Fedora will also need to move to 25 as the default at some point. |
||
|
|
||
| [[overlays]] | ||
| description = "Remove BuildRequires on maven-local-openjdk21 — AZL does not ship java-21-openjdk" | ||
| type = "spec-remove-tag" | ||
| tag = "BuildRequires" | ||
| value = "maven-local-openjdk21" | ||
|
|
||
| [[overlays]] | ||
| description = "Add BuildRequires on maven-local-openjdk25 in place of maven-local-openjdk21" | ||
| type = "spec-add-tag" | ||
| tag = "BuildRequires" | ||
| value = "maven-local-openjdk25" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| # Upstream packaging of dnf5 includes compatibility symlinks | ||
| # for microdnf and other earlier versions of dnf. We provide the | ||
| # same for tdnf, for the benefit of earlier customers of Azure | ||
| # Linux. | ||
|
|
||
| [metadata] | ||
| category = "azl-compatibility" | ||
| upstreamable = false | ||
|
|
||
| [[overlays]] | ||
| description = "Report that the dnf5 package provides tdnf for compatibility" | ||
| type = "spec-add-tag" | ||
| tag = "Provides" | ||
| value = "tdnf = %{version}-%{release}" | ||
|
|
||
| [[overlays]] | ||
| description = "Include the tdnf compat symlink in the package" | ||
| type = "spec-append-lines" | ||
| section = "%files" | ||
| lines = ["%{_bindir}/tdnf"] | ||
|
|
||
| [[overlays]] | ||
| description = "Provide /usr/bin/tdnf as a compat symlink to dnf5" | ||
| type = "spec-append-lines" | ||
| section = "%install" | ||
| lines = ["ln -sr %{buildroot}%{_bindir}/dnf5 %{buildroot}%{_bindir}/tdnf"] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,14 +1 @@ | ||
| [components.fcode-utils] | ||
|
|
||
| # GCC 15 defaults to C23 where `bool` is a keyword, conflicting with the | ||
| # project's `typedef enum boolean { FALSE = 0, TRUE = -1 } bool;` in | ||
| # shared/types.h. Force C17 (with GNU extensions) as a conservative workaround | ||
| # until a new upstream release includes the fix. | ||
| # Upstream fix: https://github.com/openbios/fcode-utils/issues/20 | ||
| # TODO: Remove this overlay once a new upstream release (> 1.0.3) is available. | ||
| [[components.fcode-utils.overlays]] | ||
| description = "Force -std=gnu17 to work around GCC 15 C23 bool keyword conflict (openbios/fcode-utils#20)" | ||
| type = "spec-search-replace" | ||
| section = "%build" | ||
| regex = 'CFLAGS="%\{optflags\}"' | ||
| replacement = 'CFLAGS="%{optflags} -std=gnu17"' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| # GCC 15 defaults to C23 where `bool` is a keyword, conflicting with the | ||
| # project's `typedef enum boolean { FALSE = 0, TRUE = -1 } bool;` in | ||
| # shared/types.h. Force C17 (with GNU extensions) as a conservative workaround | ||
| # until a new upstream release includes the fix. | ||
| # Upstream fix: https://github.com/openbios/fcode-utils/issues/20 | ||
| # TODO: Remove this overlay once a new upstream release (> 1.0.3) is available. | ||
|
|
||
| [metadata] | ||
| category = "azl-compatibility" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I worry that azl-compatibility is being more widely used than expected. I see it used for tdnf compat symlinks, which is for compat with previous AZL versions, but this isn't really the same sort of change. |
||
| upstreamable = true | ||
|
|
||
| [[overlays]] | ||
| description = "Force -std=gnu17 to work around GCC 15 C23 bool keyword conflict (openbios/fcode-utils#20)" | ||
| type = "spec-search-replace" | ||
| section = "%build" | ||
| regex = "CFLAGS=\"%\\{optflags\\}\"" | ||
| replacement = "CFLAGS=\"%{optflags} -std=gnu17\"" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,24 +1,3 @@ | ||
| [components.iscsi-initiator-utils] | ||
| # Release: 0.git%{shortcommit0}%{?dist}.2 | ||
| release = { calculation = "manual" } | ||
|
|
||
| # Fedora's 0104-libiscsi-build-fixes.patch hardcodes -L../redhat-linux-build in the libiscsi | ||
| # Makefile, assuming the meson build directory is named redhat-linux-build (from Fedora's | ||
| # %{_vpath_builddir} = %{_vendor}-%{_target_os}-build where _vendor=redhat). On AZL, | ||
| # _vendor=azurelinux, so the directory is azurelinux-linux-build and the linker can't find | ||
| # libopeniscsiusr.so. Fix by parameterizing the path via a MESON_BUILDDIR make variable, | ||
| # passed from the spec using the standard %{_vpath_builddir} RPM macro. | ||
|
|
||
| [[components.iscsi-initiator-utils.overlays]] | ||
| description = "Replace hardcoded redhat-linux-build with $(MESON_BUILDDIR) make variable in libiscsi Makefile patch" | ||
| type = "file-search-replace" | ||
| file = "0104-libiscsi-build-fixes.patch" | ||
| regex = 'redhat-linux-build' | ||
| replacement = '$(MESON_BUILDDIR)' | ||
|
|
||
| [[components.iscsi-initiator-utils.overlays]] | ||
| description = "Pass MESON_BUILDDIR=%{_vpath_builddir} to make so libiscsi finds libopeniscsiusr.so in the correct meson build dir" | ||
| type = "spec-search-replace" | ||
| section = "%build" | ||
| regex = '%make_build LDFLAGS' | ||
| replacement = '%make_build MESON_BUILDDIR=%{_vpath_builddir} LDFLAGS' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| # Fedora's 0104-libiscsi-build-fixes.patch hardcodes -L../redhat-linux-build in the libiscsi | ||
| # Makefile, assuming the meson build directory is named redhat-linux-build (from Fedora's | ||
| # %{_vpath_builddir} = %{_vendor}-%{_target_os}-build where _vendor=redhat). On AZL, | ||
| # _vendor=azurelinux, so the directory is azurelinux-linux-build and the linker can't find | ||
| # libopeniscsiusr.so. Fix by parameterizing the path via a MESON_BUILDDIR make variable, | ||
| # passed from the spec using the standard %{_vpath_builddir} RPM macro. | ||
|
|
||
| [metadata] | ||
| category = "azl-compatibility" | ||
| upstreamable = true | ||
|
|
||
| [[overlays]] | ||
| description = "Replace hardcoded redhat-linux-build with $(MESON_BUILDDIR) make variable in libiscsi Makefile patch" | ||
| type = "file-search-replace" | ||
| file = "0104-libiscsi-build-fixes.patch" | ||
| regex = "redhat-linux-build" | ||
| replacement = "$(MESON_BUILDDIR)" | ||
|
|
||
| [[overlays]] | ||
| description = "Pass MESON_BUILDDIR=%{_vpath_builddir} to make so libiscsi finds libopeniscsiusr.so in the correct meson build dir" | ||
| type = "spec-search-replace" | ||
| section = "%build" | ||
| regex = "%make_build LDFLAGS" | ||
| replacement = "%make_build MESON_BUILDDIR=%{_vpath_builddir} LDFLAGS" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| [metadata] | ||
| category = "azl-platform-adaptation" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The azldev docs call out this category for "architecture-specific" adaptation. Is this architectural? |
||
| upstreamable = false | ||
|
|
||
| [[overlays]] | ||
| type = "spec-search-replace" | ||
| description = "Set specversion to 3-part version matching kernel's specrpmversion" | ||
| regex = "%define specversion .+" | ||
| replacement = "%define specversion 6.18.31" | ||
|
|
||
| [[overlays]] | ||
| type = "spec-search-replace" | ||
| description = "Set tarfile_release to 3-part version (tarball name uses specversion.kextraversion)" | ||
| regex = "%define tarfile_release .+" | ||
| replacement = "%define tarfile_release 6.18.31" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| [metadata] | ||
| category = "azl-release-management" | ||
| upstreamable = false | ||
|
|
||
| [[overlays]] | ||
| type = "spec-search-replace" | ||
| description = "Set specrelease to kextraversion.azl_pkgrelease.dist so the 4th version component and package release are explicit" | ||
| regex = "%define specrelease .+" | ||
| replacement = "%define specrelease %{kextraversion}.%{azl_pkgrelease}%{?dist}" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| # Build deps (Fedora's spec has none since it uses pre-built headers). | ||
|
|
||
| [metadata] | ||
| category = "azl-compatibility" | ||
| upstreamable = false | ||
|
|
||
| [[overlays]] | ||
| type = "spec-add-tag" | ||
| description = "Add make as a build dependency for generating headers from source" | ||
| tag = "BuildRequires" | ||
| value = "make" | ||
|
|
||
| [[overlays]] | ||
| type = "spec-add-tag" | ||
| description = "Add gcc as a build dependency for generating headers from source" | ||
| tag = "BuildRequires" | ||
| value = "gcc" | ||
|
|
||
| [[overlays]] | ||
| type = "spec-add-tag" | ||
| description = "Add perl as a build dependency for kernel header sanitization scripts" | ||
| tag = "BuildRequires" | ||
| value = "perl" | ||
|
|
||
| [[overlays]] | ||
| type = "spec-add-tag" | ||
| description = "Add rsync as a build dependency for kernel headers_install" | ||
| tag = "BuildRequires" | ||
| value = "rsync" |
Uh oh!
There was an error while loading. Please reload this page.