Skip to content

Conversation

@leborchuk
Copy link
Contributor

This is the copy of apache/cloudberry-devops-release#13

We decided to move cloudberry-devops-release/ to the main repo and then add support of ubuntu 22.04 here.

In these PR I add build/test docker containers that is needed for building debian binary. There is some changes compared to RPM-based builds:

  1. Debian packages (and docker containers) does not need to build libxerces since 22.04 repo contains libxerces-c3.2. libxerces-c3.2 fits perfectly for cloudberry.
  2. Debian prohibits install something inside /usr/local/. So we need to build our binaries somewhere else, then list relative local build paths in control file and finally write install script to copy it in /usr/local/cloudberry-db. In reality we just create symbolic link /usr/cloudberry-db -> /usr/local/cloudberry-db

After successful merging, I will add GitHub Actions scripts for creating Debian packages. See the example here https://github.com/leborchuk/cloudberrydb/actions/runs/15662457461/job/44122150152

@leborchuk
Copy link
Contributor Author

@tuhaihe Please review

Copy link
Member

@tuhaihe tuhaihe left a comment

Choose a reason for hiding this comment

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

+1. Hope we can merge it after #1354.

Also:

  • can revise the commit message following the .gitmessage template.
  • can also update the commit author for your contribution track, not big deal, FYI :)

@tuhaihe
Copy link
Member

tuhaihe commented Sep 18, 2025

Hey @leborchuk , there are some conflicts that need to be resolved. PTAL, thanks!

@leborchuk
Copy link
Contributor Author

Hey @leborchuk , there are some conflicts that need to be resolved. PTAL, thanks!

Hi! Got it, I will rebase and fix commit messages, notify as I will have done it.

Ubuntu is one of the most popular Linux distros and is widely used not only on workstations, but also on server-side platforms. We use Debian-based distributions as the main operating system platform in our environment. Greenplum works on Ubuntu without any issues, and our tests with Cloudberry show the same.

Here I have added support for Ubuntu Jammy LTS in Cloudberry.

As for Rocky Linux distros, we create a Docker container with all dependencies already resolved. Then, we build a Debian package using debhelper inside the container. The container can also be used to run tests, but that is outside the scope of this PR.

Also there is some changes compared to RPM-based builds:

1. Debian packages (and docker containers) does not need to build libxerces since 22.04 repo contains libxerces-c3.2. libxerces-c3.2 fits perfectly for cloudberry.

2. Debian prohibits install something inside /usr/local/. So we need to build our binaries somewhere else, then list relative local build paths in control file and finally write install script to copy it in /usr/local/cloudberry-db. In reality we just build to /usr/cloudberry-db and then create symbolic link /usr/cloudberry-db -> /usr/local/cloudberry-db
@leborchuk leborchuk force-pushed the AddJammyContainer branch 2 times, most recently from a428334 to cd0bfbc Compare September 19, 2025 10:52
@leborchuk
Copy link
Contributor Author

Hey @leborchuk , there are some conflicts that need to be resolved. PTAL, thanks!

Hi @tuhaihe ! I have rebased and rewritten commit message. Could be checked again.

@tuhaihe
Copy link
Member

tuhaihe commented Sep 22, 2025

Hey @leborchuk , there are some conflicts that need to be resolved. PTAL, thanks!

Hi @tuhaihe ! I have rebased and rewritten commit message. Could be checked again.

LGTM now. Thanks @leborchuk !

@my-ship-it my-ship-it merged commit 6e38a58 into apache:main Sep 22, 2025
27 checks passed
@tuhaihe
Copy link
Member

tuhaihe commented Sep 23, 2025

I created a PR on the docs to introduce the new Docker dev image: apache/cloudberry-site#325

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.

3 participants