mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Update cgrates.spec file and installation docs for .rpm distros
This commit is contained in:
committed by
Dan Christian Bogos
parent
c87644a451
commit
e7deb1bcd0
@@ -59,8 +59,8 @@ For .rpm distros, we are using copr to manage the CGRateS packages:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo dnf install -y dnf-plugins-core
|
||||
sudo dnf copr enable cgrates/v0.10
|
||||
sudo dnf install -y dnf-plugins-core
|
||||
sudo dnf copr -y enable cgrates/v0.10
|
||||
sudo dnf install -y cgrates
|
||||
|
||||
To install a specific version of the package, run:
|
||||
@@ -82,7 +82,8 @@ Prerequisites:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt install git
|
||||
sudo apt-get install -y git
|
||||
# sudo dnf install -y git for .rpm distros
|
||||
|
||||
- **Go** (refer to the official Go installation docs: https://go.dev/doc/install)
|
||||
|
||||
@@ -90,7 +91,8 @@ To install the latest Go version at the time of writing this documentation, run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt install wget -y
|
||||
sudo apt-get install -y wget tar
|
||||
# sudo dnf install -y wget tar for .rpm distros
|
||||
sudo rm -rf /usr/local/go
|
||||
cd /tmp
|
||||
wget https://go.dev/dl/go1.20.5.linux-amd64.tar.gz
|
||||
@@ -102,23 +104,26 @@ Installation:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir -p ~/go/src/github.com/cgrates/cgrates
|
||||
git clone https://github.com/cgrates/cgrates.git ~/go/src/github.com/cgrates/cgrates
|
||||
cd ~/go/src/github.com/cgrates/cgrates
|
||||
mkdir -p $HOME/go/src/github.com/cgrates/cgrates
|
||||
git clone https://github.com/cgrates/cgrates.git $HOME/go/src/github.com/cgrates/cgrates
|
||||
cd $HOME/go/src/github.com/cgrates/cgrates
|
||||
|
||||
# Switch to v0.10 branch
|
||||
git checkout v0.10
|
||||
|
||||
# Compile the binaries and move them to $GOPATH/bin
|
||||
./build.sh
|
||||
|
||||
# Create a symbolic link to the data folder
|
||||
sudo ln -s ~/go/src/github.com/cgrates/cgrates/data /usr/share/cgrates
|
||||
sudo ln -s $HOME/go/src/github.com/cgrates/cgrates/data /usr/share/cgrates
|
||||
|
||||
# Make cgr-engine binary available system-wide
|
||||
sudo ln -s ~/go/bin/cgr-engine /usr/local/bin/cgr-engine
|
||||
sudo ln -s $HOME/go/bin/cgr-engine /usr/local/bin/cgr-engine
|
||||
|
||||
# Optional: Additional useful symbolic links
|
||||
sudo ln -s ~/go/bin/cgr-loader /usr/local/bin/cgr-loader
|
||||
sudo ln -s ~/go/bin/cgr-migrator /usr/local/bin/cgr-migrator
|
||||
sudo ln -s ~/go/bin/cgr-console /usr/local/bin/cgr-console
|
||||
sudo ln -s $HOME/go/bin/cgr-loader /usr/local/bin/cgr-loader
|
||||
sudo ln -s $HOME/go/bin/cgr-migrator /usr/local/bin/cgr-migrator
|
||||
sudo ln -s $HOME/go/bin/cgr-console /usr/local/bin/cgr-console
|
||||
|
||||
Creating Your Own Packages
|
||||
--------------------------
|
||||
@@ -133,10 +138,10 @@ For Debian-based distros:
|
||||
# Install dependencies
|
||||
sudo apt-get install build-essential fakeroot dh-systemd -y
|
||||
|
||||
cd ~/go/src/github.com/cgrates/cgrates/packages
|
||||
cd $HOME/go/src/github.com/cgrates/cgrates/packages
|
||||
|
||||
# Delete old ones, if any
|
||||
rm -rf ~/go/src/github.com/cgrates/*.deb
|
||||
rm -rf $HOME/go/src/github.com/cgrates/*.deb
|
||||
|
||||
make deb
|
||||
|
||||
@@ -147,7 +152,7 @@ To install the generated package, run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd ~/go/src/github.com/cgrates
|
||||
cd $HOME/go/src/github.com/cgrates
|
||||
sudo dpkg -i cgrates_*.deb
|
||||
|
||||
For Redhat-based distros:
|
||||
@@ -155,15 +160,15 @@ For Redhat-based distros:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt-get install rpm
|
||||
cd ~/go/src/github.com/cgrates/cgrates
|
||||
sudo dnf install -y rpm-build
|
||||
cd $HOME/go/src/github.com/cgrates/cgrates
|
||||
export gitLastCommit=$(git rev-parse HEAD)
|
||||
export rpmTag=$(git log -1 --format=%ci | date +%Y%m%d%H%M%S)+$(git rev-parse --short HEAD)
|
||||
mkdir -p ~/cgr_build/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
wget -P ~/cgr_build/SOURCES https://github.com/cgrates/cgrates/archive/$gitLastCommit.tar.gz
|
||||
cp ~/go/src/github.com/cgrates/cgrates/packages/redhat_fedora/cgrates.spec ~/cgr_build/SPECS
|
||||
cd ~/cgr_build
|
||||
rpmbuild -bb --define "_topdir ~/cgr_build" SPECS/cgrates.spec
|
||||
mkdir -p $HOME/cgr_build/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
wget -P $HOME/cgr_build/SOURCES https://github.com/cgrates/cgrates/archive/$gitLastCommit.tar.gz
|
||||
cp $HOME/go/src/github.com/cgrates/cgrates/packages/redhat_fedora/cgrates.spec $HOME/cgr_build/SPECS
|
||||
cd $HOME/cgr_build
|
||||
rpmbuild -bb --define "_topdir $HOME/cgr_build" SPECS/cgrates.spec
|
||||
|
||||
.. _post_install:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%global version 0.10.0
|
||||
%global version 0.10.3
|
||||
%global git_commit %(echo $gitLastCommit)
|
||||
%global releaseTag %(echo $rpmTag)
|
||||
|
||||
@@ -14,7 +14,7 @@ Summary: Carrier Grade Real-time Charging System
|
||||
License: GPLv3
|
||||
URL: https://github.com/cgrates/cgrates
|
||||
Source0: https://github.com/cgrates/cgrates/archive/%{git_commit}.tar.gz
|
||||
|
||||
BuildRequires:git
|
||||
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
|
||||
Requires(pre): shadow-utils
|
||||
Requires(post): systemd
|
||||
@@ -32,7 +32,7 @@ CGRateS is a very fast and easy scalable real-time charging system for Telecom e
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version} -c
|
||||
mkdir -p src/github.com/cgrates
|
||||
ln -sf ../../../%{name}-%{git_commit} src/github.com/cgrates/cgrates
|
||||
ln -sf ../../../$(ls |grep %{name}-) src/github.com/cgrates/cgrates
|
||||
|
||||
%pre
|
||||
getent group %{name} >/dev/null || groupadd -r %{name}
|
||||
@@ -76,7 +76,16 @@ cd $RPM_BUILD_DIR/%{name}-%{version}/src/github.com/cgrates/cgrates
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/* $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/conf/ $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/diameter/ $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/postman/ $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/radius/ $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/tariffplans/ $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/tutorial_tests/ $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/tutorials/ $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/storage/mongo $RPM_BUILD_ROOT%{_datarootdir}/%{name}/storage
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/storage/mysql $RPM_BUILD_ROOT%{_datarootdir}/%{name}/storage
|
||||
cp -rpf src/github.com/cgrates/cgrates/data/storage/postgres $RPM_BUILD_ROOT%{_datarootdir}/%{name}/storage
|
||||
install -D -m 0644 -p src/github.com/cgrates/cgrates/data/conf/%{name}/%{name}.json $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/%{name}.json
|
||||
install -D -m 0755 -p bin/cgr-console $RPM_BUILD_ROOT%{_bindir}/cgr-console
|
||||
install -D -m 0755 -p bin/cgr-engine $RPM_BUILD_ROOT%{_bindir}/cgr-engine
|
||||
@@ -90,6 +99,10 @@ mkdir -p $RPM_BUILD_ROOT%{_spooldir}/cdre/fwv
|
||||
mkdir -p $RPM_BUILD_ROOT%{_spooldir}/tpe
|
||||
mkdir -p $RPM_BUILD_ROOT%{_spooldir}/failed_posts
|
||||
mkdir -p $RPM_BUILD_ROOT%{_libdir}/cache_dump
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/rsyslog.d
|
||||
install -m 755 src/github.com/cgrates/cgrates/data/conf/logging/logrotate.conf $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
|
||||
install -m 755 src/github.com/cgrates/cgrates/data/conf/logging/rsyslog.conf $RPM_BUILD_ROOT/etc/rsyslog.d/%{name}.conf
|
||||
install -D -m 0644 -p src/github.com/cgrates/cgrates/packages/redhat_fedora/%{name}.options $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
|
||||
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
|
||||
install -D -m 0644 -p src/github.com/cgrates/cgrates/packages/redhat_fedora/%{name}.service $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
|
||||
@@ -106,6 +119,8 @@ install -D -m 0644 -p src/github.com/cgrates/cgrates/packages/redhat_fedora/%{na
|
||||
%{_spooldir}/*
|
||||
%{_libdir}/*
|
||||
%{_sysconfdir}/sysconfig/%{name}
|
||||
/etc/logrotate.d/%{name}
|
||||
/etc/rsyslog.d/%{name}.conf
|
||||
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
|
||||
%{_unitdir}/%{name}.service
|
||||
%else
|
||||
@@ -113,5 +128,5 @@ install -D -m 0644 -p src/github.com/cgrates/cgrates/packages/redhat_fedora/%{na
|
||||
%endif
|
||||
|
||||
%clean
|
||||
sudo rm -rf $RPM_BUILD_DIR/%{name}-%{version}
|
||||
sudo rm -rf $RPM_BUILD_ROOT
|
||||
#sudo rm -rf $RPM_BUILD_DIR/%{name}-%{version}
|
||||
#sudo rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
@@ -1,16 +1,12 @@
|
||||
Building package for RHEL/Centos/Oracle Linux/Scientific Linux/Fedora
|
||||
|
||||
PREREQUISITES
|
||||
1. Go 1.5 or newer:
|
||||
# wget https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz
|
||||
# tar -C /usr/local -xzf go1.5.1.linux-amd64.tar.gz
|
||||
# export GOROOT=/usr/local/go
|
||||
# export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
|
||||
1. Go
|
||||
|
||||
2. Git 1.8 or newer for older systems.
|
||||
2. Git
|
||||
|
||||
3. rpm-build and make packages.
|
||||
# yum install rpm-build make
|
||||
# dnf install rpm-build make
|
||||
|
||||
BUILD
|
||||
1. Create build environment:
|
||||
|
||||
Reference in New Issue
Block a user