cassandra/redhat
maoling f27c6c8e6e
Implement the logic in bin/stop-server
patch by Ling Mao; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-18838

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2023-10-18 12:49:58 +02:00
..
README.md Fix rat checking for files with missing license headers 2021-04-19 17:18:26 +02:00
cassandra Missing license info and headers 2023-08-31 22:30:42 +02:00
cassandra.conf Missing license info and headers 2023-08-31 22:30:42 +02:00
cassandra.in.sh Fix rat checking for files with missing license headers 2021-04-19 17:18:26 +02:00
cassandra.spec Implement the logic in bin/stop-server 2023-10-18 12:49:58 +02:00
default Missing license info and headers 2023-08-31 22:30:42 +02:00

README.md

Apache Cassandra rpmbuild

Requirements:

  • The build system needs to have Apache Cassandra ant artifacts build dependencies installed.
  • Since Apache Cassandra depends on Python 2.7, the earliest version supported is RHEL/CentOS 7.0.

Step 1:

  • Build and copy sources to build tree:
ant artifacts -Drelease=true

Step 2:

  • Since there is no version specified in the SPEC file, one needs to be passed at rpmbuild time (example with 4.0):
mkdir -p build/rpmbuild/{BUILD,RPMS,SPECS,SRPMS}
rpmbuild --define="version 4.0" \
    --define="revision $(date +"%Y%m%d")git$(git rev-parse --short HEAD)%{?dist}" \
    --define "_topdir $(pwd)/build/rpmbuild" \
    --define "_sourcedir $(pwd)/build" \
    -ba redhat/cassandra.spec

Use revision value in the example above for git based snapshots. Change to --define="revision 1" for non-snapshot releases.

  • RPM files can be found in their respective build tree directories:
ls -l build/rpmbuild/{SRPMS,RPMS}/

Hint:

  • Don't build packages as root..