-
Notifications
You must be signed in to change notification settings - Fork 5
Add scripts for create ubuntu jammy docker file #13
Conversation
|
@edespino Could you please review my PR? I want to add deb packages to cloudberry and this is my first PR where I try to create Docker images. |
|
Cool @leborchuk, thanks for your great work. I also would like to help review this PR. |
|
I found out that the deb package's dependencies included our internal python packages, so removed them. |
tuhaihe
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some non-technical comments, FYI. I will try to test this workflow in my environment, and if any issues, I will let you know. Thanks!
|
I fixed issues, PR can be reviewed |
|
Hey @leborchuk , an error returned when running Seems some packages cannot be installed from the ubuntu 22.04 software sources: glibc-locale-source ~> glibc-source |
|
After building and installing Cloudberry in the build image, I run the test for twice with the following command: Some errors return: Should we add the |
|
APT Flags & Repos |
|
Duplicate Packages Fix: Install once globally under root and avoid duplication unless version/context differs. |
|
Missing Cleanup RUN apt-get clean && rm -rf /var/lib/apt/lists/* Also clean /tmp/, ~/xerces-c, Go tarballs, etc., after use. |
|
Timezone hardcoding Fix: Use the variable: |
|
Repetitive locale settings |
|
Have you considered slimming the image using ubuntu:jammy-minimal? |
edespino
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have submitted several comments already. I have more to review.
yjhjstz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great works~~
|
Hi, there is another issue to resolve: the |
|
@leborchuk This is great progress — thanks for putting in the effort to bring Ubuntu 22.04 support to Cloudberry! That said, I’d really prefer to see this rolled out in more focused, logical chunks so each stage is easy to test, review, and validate independently. Something like:
Splitting the PR this way would make it easier for others to review and test each part without merging everything at once. Would you be open to restructuring the work along these lines? |
Move debian package creation changes from https://github.com/apache/c…
|
Hi, @tuhaihe @edespino I want to reopen PR once again. I see that no visible commits have been made to https://github.com/edespino/cloudberry/tree/ubuntu-22.04, so I decided to move forward. I took all the work that had been done by @edespino and set up my own environment for creating Debian packages. Then, I created a Docker environment and Debian package using it (using github actions). I tried to install the Debian package in my development environment - everything worked well. Of course, all packages include PAX storage. I also checked if the simple PAX scripts worked on Ubuntu - there were no errors, everything was great. It's a first PR where I want to add scripts do cloudberry-devops-release repo. The plan for future work:
Here you can find details about the workflow and produced artifacts: |
|
Thanks @leborchuk for helping push this big feature forward again! Just left some comments, FYI. Will help test earlier this week. |
Thanks, fixed |
|
Tip: add here |
|
Rebased to the new cloudberry-env file |
|
Hey @leborchuk, would you like to start planning the migration of this repo to the main one, as discussed here: https://lists.apache.org/thread/p6otyrrnosg8fsbyr6ok7hl8wxpx4ss2? I think it would be better to open a new PR on the main after this repo's migration is complete. Otherwise, it could make the migration more difficult. How about this? |
Well, do you think the time has come? Let's start it then) I will store scripts from this PR in my own repo, move this repo and fix building scripts, then open PR again |
I think it's good to start the plan and move forward now. We can have a discussion about it and see how to reorganize these files in the main repo, then we can take actions. Sounds good? |
|
Created apache/cloudberry#1292 |
|
I created apache/cloudberry#1359 in the main repo, these repo will be archived soon. |

In these PR I added to workflow building jammy Docker container.
The main peculiarity of the Debian package is that we need to build the binary in a specific directory and then install it in /usr/local/cloudberry-db. This differs from the package creation process for RPM-based distros, where you simply list what you want to package (*.spec) along with absolute paths. For Ubuntu you should list relative local build paths and then write install script to copy it in /usr/local/cloudberry-db.
So, I added the ${BUILD_DESTINATION} path (with defaults to /usr/ local/cloudberry-db) to all build automation scripts. This has made my PR slightly more dangerous, because if something goes wrong (I don't think I have, but it needs to be thoroughly reviewed), all our builds could suffer.