1+ %define cloudberry_install_dir /usr/local /cloudberry
2+
13Name: cloudberry-db
24Version: %{version }
35Release: %{release }%{?dist }
@@ -7,17 +9,14 @@ License: ASL 2.0
79URL: https://cloudberrydb.org
810Vendor: Cloudberry Open Source
911Group: Applications/Databases
10- Source0 : cloudberry-binary.tar.gz
12+ Prefix : %{ cloudberry_install_dir }
1113
1214# Disabled as we are shipping GO programs (e.g. gpbackup)
1315%define _missing_build_ids_terminate_build 0
1416
1517# Disable debugsource files
1618%define _debugsource_template %{nil }
1719
18- # Define the installation prefix
19- %define cloudberry_prefix /usr/local
20-
2120# List runtime dependencies
2221
2322Requires: bash
@@ -97,48 +96,37 @@ For more information, visit the official Cloudberry Database website
9796at https://cloudberrydb.org.
9897
9998%prep
100- %setup -q -c -T
101- # Ensure the target directory exists
102- mkdir -p %{buildroot }%{cloudberry_prefix }
103- # Unpack the source tarball into the target directory
104- tar xzf %{SOURCE0 } -C %{buildroot }%{cloudberry_prefix }
99+ # No prep needed for binary RPM
105100
106101%build
107- # Normally you'd run your build system here (e.g., make), but we're using the pre-built binary.
102+ # No prep needed for binary RPM
108103
109104%install
110105rm -rf %{buildroot }
111106
112107# Create the versioned directory
113- mkdir -p %{buildroot }%{cloudberry_prefix }/cloudberry-%{version }
114-
115- # Unpack the tarball
116- tar xzf %{SOURCE0 } -C %{buildroot }%{cloudberry_prefix }/cloudberry-%{version }
117-
118- # Move the contents of the cloudberry directory up one level
119- mv %{buildroot }%{cloudberry_prefix }/cloudberry-%{version }/cloudberry/* %{buildroot }%{cloudberry_prefix }/cloudberry-%{version }/
108+ mkdir -p %{buildroot }%{cloudberry_install_dir }-%{version }
120109
121- # Remove the now-empty cloudberry directory
122- rmdir %{buildroot }%{cloudberry_prefix }/cloudberry-%{version }/cloudberry
110+ cp -R %{cloudberry_install_dir }/* %{buildroot }%{cloudberry_install_dir }-%{version }
123111
124112# Create the symbolic link
125- ln -sfn %{cloudberry_prefix }/cloudberry -%{version } %{buildroot }%{cloudberry_prefix }/cloudberry
113+ ln -sfn %{cloudberry_install_dir } -%{version } %{buildroot }%{cloudberry_install_dir }
126114
127115%files
128- %{cloudberry_prefix }/cloudberry -%{version }
129- %{cloudberry_prefix }/cloudberry
116+ %{prefix } -%{version }
117+ %{prefix }
130118
131- %license %{cloudberry_prefix }/cloudberry -%{version }/LICENSE
119+ %license %{cloudberry_install_dir } -%{version }/LICENSE
132120
133121%post
134122# Change ownership to gpadmin.gpadmin if the gpadmin user exists
135123if id " gpadmin" & > /dev/null; then
136- chown -R gpadmin:gpadmin %{cloudberry_prefix}/cloudberry -%{version}
124+ chown -R gpadmin:gpadmin %{cloudberry_install_dir} -%{version}
137125fi
138126
139127%postun
140128if [ $1 -eq 0 ] ; then
141- if [ " $( readlink -f " %{cloudberry_prefix}/cloudberry " ) " == " %{cloudberry_prefix}/cloudberry -%{version}" ]; then
142- unlink " %{cloudberry_prefix}/cloudberry " || true
129+ if [ " $( readlink -f " %{cloudberry_install_dir} " ) " == " %{cloudberry_install_dir} -%{version}" ]; then
130+ unlink " %{cloudberry_install_dir} " || true
143131 fi
144132fi
0 commit comments