Skip to content

Align Percona Server RPM and DEB packaging with MySQL upstream#5889

Open
EvgeniyPatlan wants to merge 2 commits into
percona:release-9.6.0-1from
EvgeniyPatlan:release-9.6.0-1
Open

Align Percona Server RPM and DEB packaging with MySQL upstream#5889
EvgeniyPatlan wants to merge 2 commits into
percona:release-9.6.0-1from
EvgeniyPatlan:release-9.6.0-1

Conversation

@EvgeniyPatlan
Copy link
Copy Markdown
Contributor

Modernize RPM and DEB packaging infrastructure to align with MySQL 9.6.0
upstream patterns, improving maintainability, security, and feature parity.

RPM changes:

  • Remove SysV init support, make systemd unconditional
  • Drop EL6 compat libs (libmysqlclient.so.16 / MySQL 5.1.73)
  • Replace custom filter-provides.sh/filter-requires.sh with modern __requires_exclude/__provides_exclude_from RPM macros
  • Add Profile-Guided Optimization (PGO) build support
  • Add libmysqlclient.so.21 compat for EL8/9, built from MySQL 8.0.37 source
  • Create percona-server-client-plugins subpackage for auth plugins
  • Factor telemetry setup into external helper scripts
  • Convert @@var@@ shell substitution to CMake @var@ spec templating
  • Create Docker/minimal spec variant (percona-server-minimal.spec.in)
  • Update build-rpm.sh to use git instead of bzr

DEB changes:

  • Upgrade debhelper compat level from 9 to 13
  • Replace deprecated dh_systemd_enable/dh_installinit/dh_systemd_start with dh_installsystemd
  • Consolidate 80+ individual dh_strip -X calls into prefix-based patterns
  • Activate AppArmor integration (previously commented out)
  • Create percona-server-client-plugins package
  • Split into server-core/client-core and server/client wrapper packages
  • Add meta packages (percona-server, percona-client, percona-testsuite)
  • Add PGO build support via DEB_PGO=1 environment variable
  • Switch zlib, LZ4, zstd from bundled to system libraries
  • Factor telemetry into external helper scripts
  • Remove monolithic percona-server-dbg in favor of auto-generated dbgsym
  • Create rules.in template for CMake-based generation

Builder script (percona-server-9.0_builder.sh):

  • Update spec generation to use .spec.in template with @var@ markers
  • Remove call-home.sh wget/heredoc injection for both RPM and DEB
  • Add telemetry helper script extraction for SRPM builds
  • Remove EL6 devtoolset-8 references
  • Use exact spec filename for tarball extraction

  Modernize RPM and DEB packaging infrastructure to align with MySQL 9.6.0
  upstream patterns, improving maintainability, security, and feature parity.

  RPM changes:
  - Remove SysV init support, make systemd unconditional
  - Drop EL6 compat libs (libmysqlclient.so.16 / MySQL 5.1.73)
  - Replace custom filter-provides.sh/filter-requires.sh with modern
  __requires_exclude/__provides_exclude_from RPM macros
  - Add Profile-Guided Optimization (PGO) build support
  - Add libmysqlclient.so.21 compat for EL8/9, built from MySQL 8.0.37 source
  - Create percona-server-client-plugins subpackage for auth plugins
  - Factor telemetry setup into external helper scripts
  - Convert @@var@@ shell substitution to CMake @var@ spec templating
  - Create Docker/minimal spec variant (percona-server-minimal.spec.in)
  - Update build-rpm.sh to use git instead of bzr

  DEB changes:
  - Upgrade debhelper compat level from 9 to 13
  - Replace deprecated dh_systemd_enable/dh_installinit/dh_systemd_start
  with dh_installsystemd
  - Consolidate 80+ individual dh_strip -X calls into prefix-based patterns
  - Activate AppArmor integration (previously commented out)
  - Create percona-server-client-plugins package
  - Split into server-core/client-core and server/client wrapper packages
  - Add meta packages (percona-server, percona-client, percona-testsuite)
  - Add PGO build support via DEB_PGO=1 environment variable
  - Switch zlib, LZ4, zstd from bundled to system libraries
  - Factor telemetry into external helper scripts
  - Remove monolithic percona-server-dbg in favor of auto-generated dbgsym
  - Create rules.in template for CMake-based generation

  Builder script (percona-server-9.0_builder.sh):
  - Update spec generation to use .spec.in template with @var@ markers
  - Remove call-home.sh wget/heredoc injection for both RPM and DEB
  - Add telemetry helper script extraction for SRPM builds
  - Remove EL6 devtoolset-8 references
  - Use exact spec filename for tarball extraction
Disabled PGO builds and added param to enable/disable it
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.

1 participant