Skip to content

V3.0.2 add new distros #5017

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

Draft
wants to merge 12 commits into
base: v3.0
Choose a base branch
from
Draft

V3.0.2 add new distros #5017

wants to merge 12 commits into from

Conversation

mirostauder
Copy link
Collaborator

No description provided.

@mirostauder mirostauder self-assigned this Jul 7, 2025
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @mirostauder, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on expanding the supported Linux distributions for builds and updating several core dependencies. It includes significant refactoring of the build system to accommodate these changes and improve maintainability, along with specific patches to ensure compatibility with updated libraries.

Highlights

  • New Distribution Support: Added build targets and Docker Compose configurations for new Linux distributions: AlmaLinux 10, CentOS 10, Debian 13, and Fedora 42, including their clang and debug variants for both amd64 and arm64 architectures.
  • Dependency Updates: Updated several key dependencies to newer versions, specifically ClickHouse C++ from 2.3.0 to 2.5.1, libconfig from 1.7.3 to 1.8, and PostgreSQL from 16.3 to 16.9.
  • Build System Refinements: Improved the build system by standardizing Makefile variable naming for dependency paths, introducing wildcard usage for tarball extractions to simplify future updates, and migrating libconfig's build process from configure to cmake.
  • Dependency Compatibility Patches: Introduced new patches for the ClickHouse C++ library to address C++ standard library compatibility (fix_ciso646.patch) and for the MariaDB client library to resolve bool type conflicts (fix_bool.patch).
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds build support for new distributions: AlmaLinux 10, CentOS 10, Debian 13, and Fedora 42. The changes include updating dependency versions, adding patches to fix build issues, and refactoring Makefiles for consistency. I've provided feedback to improve maintainability, reduce code duplication, and ensure consistency.

extends:
service: _build
image: proxysql/packaging:build-almalinux10-v3.0.2
volumes:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Consider using YAML anchors and aliases to reduce duplication in the build definitions for centos10, fedora42, debian13, and almalinux10. Define a common anchor for each distribution family (e.g., RHEL-compliant, Debian-compliant) and reuse it for each service. This will make the file more concise and easier to manage.

Comment on lines +7 to +8
-typedef char bool; /* Ordinary boolean values 0 1 */
+typedef char bbool; /* Ordinary boolean values 0 1 */

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The patch renames the bool type to bbool to avoid conflicts. This change should be reflected consistently throughout the codebase where the original bool type was used.

-typedef char		bool; /* Ordinary boolean values 0 1 */
+typedef char		bbool; /* Ordinary boolean values 0 1 */

Copy link

sonarqubecloud bot commented Jul 7, 2025

@renecannao
Copy link
Contributor

I personally don't like of unpacking using * , for example:

	cd clickhouse-cpp && tar -zxf clickhouse-cpp-*.tar.gz
	cd clickhouse-cpp && ln -fsT clickhouse-cpp-*/ clickhouse-cpp

Or:

cd libdaemon && tar -zxf libdaemon-*.tar.gz

Or:

cd jemalloc && tar --no-same-owner -jxf jemalloc-*.tar.bz2

It requires to have only one tarball at any time.
I prefer to have explicit version number in the Makefile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants