Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/workflows/docker-cbdb-build-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ on:
- 'devops/deploy/docker/build/rocky8/**'
- 'devops/deploy/docker/build/rocky9/**'
- 'devops/deploy/docker/build/ubuntu22.04/**'
- 'devops/deploy/docker/build/ubuntu24.04/**'
pull_request:
paths:
- 'devops/deploy/docker/build/**'
Expand All @@ -77,10 +78,10 @@ jobs:
timeout-minutes: 60
runs-on: ubuntu-latest

# Matrix strategy to build for both Rocky Linux 8 and 9, Ubuntu 22.04
# Matrix strategy to build for both Rocky Linux 8 and 9, Ubuntu 22.04 and 24.04
strategy:
matrix:
platform: ['rocky8', 'rocky9', 'ubuntu22.04']
platform: ['rocky8', 'rocky9', 'ubuntu22.04', 'ubuntu24.04']

steps:
# Checkout repository code with full history
Expand Down Expand Up @@ -109,6 +110,8 @@ jobs:
- 'devops/deploy/docker/build/rocky9/**'
ubuntu22.04:
- 'devops/deploy/docker/build/ubuntu22.04/**'
ubuntu24.04:
- 'devops/deploy/docker/build/ubuntu24.04/**'

# Set up QEMU for multi-architecture support
# This allows building ARM64 images on AMD64 infrastructure and vice versa
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/docker-cbdb-test-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ on:
- 'devops/deploy/docker/test/rocky8/**'
- 'devops/deploy/docker/test/rocky9/**'
- 'devops/deploy/docker/test/ubuntu22.04/**'
- 'devops/deploy/docker/test/ubuntu24.04/**'
pull_request:
paths:
- 'devops/deploy/docker/test/**'
Expand All @@ -66,8 +67,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
# Build for both Rocky Linux 8 and 9, Ubuntu 22.04
platform: ['rocky8', 'rocky9', 'ubuntu22.04']
# Build for Rocky Linux 8 and 9, Ubuntu 22.04 and 24.04
platform: ['rocky8', 'rocky9', 'ubuntu22.04', 'ubuntu24.04']

steps:
# Checkout repository code
Expand All @@ -93,6 +94,8 @@ jobs:
- 'devops/deploy/docker/test/rocky9/**'
ubuntu22.04:
- 'devops/deploy/docker/test/ubuntu22.04/**'
ubuntu24.04:
- 'devops/deploy/docker/test/ubuntu24.04/**'

# Skip if no changes for current platform
- name: Skip if not relevant
Expand Down
6 changes: 6 additions & 0 deletions devops/build/packaging/deb/ubuntu24.04/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apache-cloudberry-db-incubating (2.0.0) noble; urgency=medium

* Initial release.

-- Cloudberry Team <dev@cloudberry.apache.org> Wed, 26 Mar 2025 11:10:44 +0000

2 changes: 2 additions & 0 deletions devops/build/packaging/deb/ubuntu24.04/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
9

107 changes: 107 additions & 0 deletions devops/build/packaging/deb/ubuntu24.04/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
Source: apache-cloudberry-db-incubating
Maintainer: Apache Cloudberry (Incubating) <dev@cloudberry.apache.org>
Section: database
Build-Depends: debhelper (>= 9),
bison,
ca-certificates-java,
ca-certificates,
cmake,
curl,
cgroup-tools,
flex,
gcc-13,
g++-13,
git,
krb5-multidev,
libapr1-dev,
libbz2-dev,
libcurl4-gnutls-dev,
libevent-dev,
libkrb5-dev,
libldap-dev,
libperl-dev,
libreadline-dev,
libssl-dev,
libxml2-dev,
libyaml-dev,
libzstd-dev,
libaprutil1-dev,
libpam0g-dev,
libpam0g,
libcgroup2,
libyaml-0-2,
libldap2,
libssl3t64,
libxerces-c-dev,
libxerces-c3.2t64,
ninja-build,
quilt,
unzip,
wget,
zlib1g-dev,
libuv1-dev

Package: apache-cloudberry-db-incubating
Provides: apache-cloudberry-db
Architecture: amd64
Depends: curl,
cgroup-tools,
iputils-ping,
iproute2,
keyutils,
krb5-multidev,
less,
libapr1t64,
libbz2-1.0,
libcurl4t64,
libcurl3t64-gnutls,
libevent-2.1-7t64,
libreadline8t64,
libxml2,
libyaml-0-2,
libldap2,
libzstd1,
libcgroup2,
libssl3t64,
libpam0g,
libprotobuf32t64,
libpsl5t64,
libuv1t64,
liburing2,
libxerces-c3.2t64,
locales,
lsof,
lz4,
net-tools,
openssh-client,
openssh-server,
openssl,
python3,
rsync,
wget,
xz-utils,
zlib1g
Description: Apache Cloudberry (incubating) is an advanced, open-source, massively
parallel processing (MPP) data warehouse developed from PostgreSQL and
Greenplum. It is designed for high-performance analytics on
large-scale data sets, offering powerful analytical capabilities and
enhanced security features.
Key Features:
- Massively parallel processing for optimized performance
- Advanced analytics for complex data processing
- Integration with ETL and BI tools
- Compatibility with multiple data sources and formats
- Enhanced security features
Apache Cloudberry supports both batch processing and real-time data
warehousing, making it a versatile solution for modern data
environments.
Apache Cloudberry (incubating) is an effort undergoing incubation at
the Apache Software Foundation (ASF), sponsored by the Apache
Incubator PMC.
Incubation is required of all newly accepted projects until a further
review indicates that the infrastructure, communications, and decision
making process have stabilized in a manner consistent with other
successful ASF projects.
While incubation status is not necessarily a reflection of the
completeness or stability of the code, it does indicate that the
project has yet to be fully endorsed by the ASF.
2 changes: 2 additions & 0 deletions devops/build/packaging/deb/ubuntu24.04/install
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
debian/build/* /usr/cloudberry-db

13 changes: 13 additions & 0 deletions devops/build/packaging/deb/ubuntu24.04/postinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash

set -e

GPADMIN=gpadmin
GPHOME=/usr/cloudberry-db

if [ "$1" = configure ]; then

ln -sf ${GPHOME} /usr/local/cloudberry-db

fi

49 changes: 49 additions & 0 deletions devops/build/packaging/deb/ubuntu24.04/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/usr/bin/make -f

DH_VERBOSE = 1
DPKG_EXPORT_BUILDFLAGS = 1

CBDB_BIN_PATH := /usr/local/cloudberry-db
DEBIAN_DESTINATION := $(shell pwd)/debian/build

# assumes that CWD is root of cbdb source
CBDB_PKG_VERSION := $(CBDB_PKG_VERSION)
PACKAGE_CBDB := $(shell cat debian/control | egrep "^Package: " | cut -d " " -f 2)
PATH := ${DEBIAN_DESTINATION}/bin:${PATH}

.PHONY: gpinstall

include /usr/share/dpkg/default.mk

%:
dh $@ --parallel

gpinstall:
make install

override_dh_auto_install: gpinstall
# the staging directory for creating a debian is NOT the right GPHOME.
# change GPHOME to point to the post-install target install directory.
sed -i "s#GPHOME=.*#GPHOME=${CBDB_BIN_PATH}#g" ${DEBIAN_DESTINATION}/cloudberry-env.sh

override_dh_auto_build:
echo "Skipping build"

override_dh_auto_clean:
echo "Skipping clean"

override_dh_auto_configure:
echo "Skipping configure"

override_dh_auto_test:
echo "Skipping auto test"

override_dh_gencontrol:
echo "using version ${CBDB_PKG_VERSION} for binary Cloudberry"
dh_gencontrol -- -v${CBDB_PKG_VERSION} -p${PACKAGE_CBDB}

override_dh_shlibdeps:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/libfakeroot:${DEBIAN_DESTINATION}/lib dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info

clean_dev_local:
rm -rf ${DEBIAN_DESTINATION}
2 changes: 2 additions & 0 deletions devops/build/packaging/deb/ubuntu24.04/source/format
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
3.0 (native)

3 changes: 3 additions & 0 deletions devops/build/packaging/deb/ubuntu24.04/source/local-options
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#abort-on-upstream-changes
#unapply-patches

Loading
Loading