From 9e9dfa8d99ba06aec36f139c0185f6d8e779596f Mon Sep 17 00:00:00 2001 From: TeoV Date: Thu, 16 Apr 2020 12:39:12 +0300 Subject: [PATCH] Add documentation for generation RPM package from sources --- docs/installation.rst | 39 ++++++++++++++++++++++++++--- packages/redhat_fedora/cgrates.spec | 25 +++++------------- 2 files changed, 42 insertions(+), 22 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index c8cb442f6..acb03e9a6 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -114,22 +114,23 @@ As a side note on http://pkg.cgrates.org/rpm/ one can find an entire archive of Using source ------------ -For developing CGRateS and switching between its versions, we are using the **go mods feature** introduced in go 1.14. +For developing CGRateS and switching between its versions, we are using the **go mods feature** introduced in go 1.13. +.. _InstallGO: Install GO Lang ^^^^^^^^^^^^^^^ First we have to setup the GO Lang to our OS. Feel free to download the latest GO binary release from https://golang.org/dl/ -In this Tutorial we are going to install Go 1.13 +In this Tutorial we are going to install Go 1.14.2 :: sudo rm -rf /usr/local/go cd /tmp wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz - sudo tar -xvf go1.14.2.linux-amd64.tar.gz -C /usr/loca~l/ + sudo tar -xvf go1.14.2.linux-amd64.tar.gz -C /usr/local/ export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin @@ -176,6 +177,38 @@ Install Custom Debian / Ubuntu Package sudo dpkg -i cgrates_*.deb +Generate RPM Packages from Source +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Prerequisites + * :ref:`Install Golang ` + * Git + + :: + + sudo apt-get install git + + + * RPM + + :: + + sudo apt-get install rpm + +Execute the following commands + +:: + + 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 $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: Post-install ------------ diff --git a/packages/redhat_fedora/cgrates.spec b/packages/redhat_fedora/cgrates.spec index 3785ae9c5..b4532e55d 100644 --- a/packages/redhat_fedora/cgrates.spec +++ b/packages/redhat_fedora/cgrates.spec @@ -1,7 +1,7 @@ -%global version 0.9.1 -%global git_commit c284710623aef128f97369833d3fa4cb29943613 +%global version 0.10.1~dev +%global git_commit %(echo $gitLastCommit) +%global releaseTag %(echo $rpmTag) -%global git_short_commit %(c=%{git_commit}; echo ${c:0:7}) %define debug_package %{nil} %global _logdir /var/log/%name %global _spooldir /var/spool/%name @@ -9,7 +9,7 @@ Name: cgrates Version: %{version} -Release: 0.1.rc8.20180816git%{git_short_commit}%{dist} +Release: %{releaseTag} Summary: Carrier Grade Real-time Charging System License: GPLv3 URL: https://github.com/cgrates/cgrates @@ -68,7 +68,6 @@ fi %endif %build -export GO15VENDOREXPERIMENT=1 export GOPATH=$RPM_BUILD_DIR/%{name}-%{version} cd $RPM_BUILD_DIR/%{name}-%{version}/src/github.com/cgrates/cgrates ./build.sh @@ -83,12 +82,8 @@ install -D -m 0755 -p bin/cgr-engine $RPM_BUILD_ROOT%{_bindir}/cgr-engine install -D -m 0755 -p bin/cgr-loader $RPM_BUILD_ROOT%{_bindir}/cgr-loader install -D -m 0755 -p bin/cgr-tester $RPM_BUILD_ROOT%{_bindir}/cgr-tester install -D -m 0755 -p bin/cgr-migrator $RPM_BUILD_ROOT%{_bindir}/cgr-migrator -mkdir -p $RPM_BUILD_ROOT%{_logdir}/cdrc/in -mkdir -p $RPM_BUILD_ROOT%{_logdir}/cdrc/out mkdir -p $RPM_BUILD_ROOT%{_logdir}/cdre/csv mkdir -p $RPM_BUILD_ROOT%{_logdir}/cdre/fwv -mkdir -p $RPM_BUILD_ROOT%{_spooldir}/cdrc/in -mkdir -p $RPM_BUILD_ROOT%{_spooldir}/cdrc/out mkdir -p $RPM_BUILD_ROOT%{_spooldir}/cdre/csv mkdir -p $RPM_BUILD_ROOT%{_spooldir}/cdre/fwv mkdir -p $RPM_BUILD_ROOT%{_spooldir}/tpe @@ -118,13 +113,5 @@ install -D -m 0644 -p src/github.com/cgrates/cgrates/packages/redhat_fedora/%{na %endif %clean -rm -rf $RPM_BUILD_DIR/%{name}-%{version} -rm -rf $RPM_BUILD_ROOT - -%changelog -* Sun Aug 19 2018 Sergei Lavrov 0.9.1-0.1.rc8.20180816gitc284710 -- Update version according to Guidelines for Versioning Fedora Packages -- Add cgr-migrator - -* Mon Sep 28 2015 Nick Altmann 0.9.1rc7-1 -- Initial rhel/fedora specification +sudo rm -rf $RPM_BUILD_DIR/%{name}-%{version} +sudo rm -rf $RPM_BUILD_ROOT \ No newline at end of file