From eba4414fe9ed14f95782d153d17c46fd9d3f36c5 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 13:34:00 +0300 Subject: [PATCH 01/14] Remove BuildRoot This is no longer required even for EL5. Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index dba62c65b..21c0ad090 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -8,7 +8,6 @@ License: GPLv3 URL: https://github.com/sipwise/rtpengine Source0: https://github.com/sipwise/rtpengine/archive/%{version}/%{name}-%{version}.tar.gz Conflicts: %{name}-kernel < %{version} -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: gcc make pkgconfig redhat-rpm-config BuildRequires: glib2-devel libcurl-devel openssl-devel pcre-devel From 597c35aae0906ad9c42a2b36c00eb7a4cbc4b111 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 13:36:48 +0300 Subject: [PATCH 02/14] Remove duplicated text in descriptions Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 21c0ad090..321236246 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -29,7 +29,7 @@ Requires: iptables iptables-ipv6 ngcp-rtpengine = %{version} Requires: ngcp-rtpengine-dkms = %{version} %description kernel -NGCP rtpengine in-kernel packet forwarding +%{summary}. %package dkms @@ -42,7 +42,7 @@ Requires(post): epel-release dkms Requires(preun): epel-release dkms %description dkms -Kernel module for rtpengine in-kernel packet forwarding +%{summary}. %prep From 49ed2a826c3427e40382657ad2e05686a275997f Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 13:40:20 +0300 Subject: [PATCH 03/14] Remove autoadded deps Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 321236246..6b6238cb1 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -12,7 +12,7 @@ Conflicts: %{name}-kernel < %{version} BuildRequires: gcc make pkgconfig redhat-rpm-config BuildRequires: glib2-devel libcurl-devel openssl-devel pcre-devel BuildRequires: xmlrpc-c-devel zlib-devel -Requires: glibc libcurl openssl pcre xmlrpc-c nmap-ncat +Requires: nmap-ncat %description From b0240eecaa10d753484330b7209c3123831fd821 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 13:40:47 +0300 Subject: [PATCH 04/14] Use generic dependency name for nc Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 6b6238cb1..439e0196b 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -12,7 +12,7 @@ Conflicts: %{name}-kernel < %{version} BuildRequires: gcc make pkgconfig redhat-rpm-config BuildRequires: glib2-devel libcurl-devel openssl-devel pcre-devel BuildRequires: xmlrpc-c-devel zlib-devel -Requires: nmap-ncat +Requires: nc %description From cd70a8f8a5f8e0b0d729fe77feafeda4fb91f060 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 13:48:05 +0300 Subject: [PATCH 05/14] Use proper versionin scheme Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 439e0196b..8719ab679 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -7,7 +7,7 @@ Group: System Environment/Daemons License: GPLv3 URL: https://github.com/sipwise/rtpengine Source0: https://github.com/sipwise/rtpengine/archive/%{version}/%{name}-%{version}.tar.gz -Conflicts: %{name}-kernel < %{version} +Conflicts: %{name}-kernel < %{version}-%{release} BuildRequires: gcc make pkgconfig redhat-rpm-config BuildRequires: glib2-devel libcurl-devel openssl-devel pcre-devel @@ -25,8 +25,9 @@ drop-in replacement for any of the other available RTP and media proxies. Summary: NGCP rtpengine in-kernel packet forwarding Group: System Environment/Daemons BuildRequires: gcc make redhat-rpm-config iptables-devel -Requires: iptables iptables-ipv6 ngcp-rtpengine = %{version} -Requires: ngcp-rtpengine-dkms = %{version} +Requires: iptables iptables-ipv6 +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-dkms%{?_isa} = %{version}-%{release} %description kernel %{summary}. From 8d56ed506730441c21d96ecb0bfb8544eade53c2 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 14:10:41 +0300 Subject: [PATCH 06/14] Typo fix in Source0 url Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 8719ab679..00473c759 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -6,7 +6,7 @@ Summary: The Sipwise NGCP rtpengine Group: System Environment/Daemons License: GPLv3 URL: https://github.com/sipwise/rtpengine -Source0: https://github.com/sipwise/rtpengine/archive/%{version}/%{name}-%{version}.tar.gz +Source0: https://github.com/sipwise/rtpengine/archive/mr%{version}/%{name}-%{version}.tar.gz Conflicts: %{name}-kernel < %{version}-%{release} BuildRequires: gcc make pkgconfig redhat-rpm-config From 9890371a894f03bf1dce2587c18afab268e110b6 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 14:11:10 +0300 Subject: [PATCH 07/14] Remove no longer required section Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 00473c759..26c6b6239 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -86,10 +86,6 @@ sed "s/__VERSION__/%{version}-%{release}/g" debian/dkms.conf.in > \ %{buildroot}/%{_usrsrc}/%{name}-%{version}-%{release}/dkms.conf -%clean -rm -rf %{buildroot} - - %pre /usr/sbin/groupadd -r rtpengine 2> /dev/null || : /usr/sbin/useradd -r -g rtpengine -s /sbin/nologin -c "rtpengine daemon" \ From 234b45441ac26d66d4164fbfcd71c4d1fb85a030 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 14:16:41 +0300 Subject: [PATCH 08/14] Use macro instead of /etc/rc.d/init.d Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 26c6b6239..601802752 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -66,7 +66,7 @@ install -D -p -m755 utils/rtpengine-ctl %{buildroot}/%{_sbindir}/rtpengine-ctl ## Install the init.d script and configuration file install -D -p -m755 el/rtpengine.init \ - %{buildroot}/%{_sysconfdir}/rc.d/init.d/rtpengine + %{buildroot}/%{_initrddir}/rtpengine install -D -p -m644 el/rtpengine.sysconfig \ %{buildroot}/%{_sysconfdir}/sysconfig/rtpengine mkdir -p %{buildroot}/%{_sharedstatedir}/rtpengine @@ -127,7 +127,7 @@ true %{_sbindir}/rtpengine-ctl # init.d script and configuration file -%{_sysconfdir}/rc.d/init.d/rtpengine +%{_initrddir}/rtpengine %config(noreplace) %{_sysconfdir}/sysconfig/rtpengine %dir %{_sharedstatedir}/rtpengine From 882731b8142a2dda8ddeb3817874267c6a12dcc2 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 14:18:42 +0300 Subject: [PATCH 09/14] Remove double slash Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 601802752..b5bb3f65c 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -60,16 +60,16 @@ cd .. %install # Install the userspace daemon -install -D -p -m755 daemon/rtpengine %{buildroot}/%{_sbindir}/rtpengine +install -D -p -m755 daemon/rtpengine %{buildroot}%{_sbindir}/rtpengine # Install CLI (command line interface) -install -D -p -m755 utils/rtpengine-ctl %{buildroot}/%{_sbindir}/rtpengine-ctl +install -D -p -m755 utils/rtpengine-ctl %{buildroot}%{_sbindir}/rtpengine-ctl ## Install the init.d script and configuration file install -D -p -m755 el/rtpengine.init \ - %{buildroot}/%{_initrddir}/rtpengine + %{buildroot}%{_initrddir}/rtpengine install -D -p -m644 el/rtpengine.sysconfig \ - %{buildroot}/%{_sysconfdir}/sysconfig/rtpengine -mkdir -p %{buildroot}/%{_sharedstatedir}/rtpengine + %{buildroot}%{_sysconfdir}/sysconfig/rtpengine +mkdir -p %{buildroot}%{_sharedstatedir}/rtpengine # Install the iptables plugin install -D -p -m755 iptables-extension/libxt_RTPENGINE.so \ @@ -77,13 +77,13 @@ install -D -p -m755 iptables-extension/libxt_RTPENGINE.so \ ## DKMS module source install install -D -p -m644 kernel-module/Makefile \ - %{buildroot}/%{_usrsrc}/%{name}-%{version}-%{release}/Makefile + %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/Makefile install -D -p -m644 kernel-module/xt_RTPENGINE.c \ - %{buildroot}/%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.c + %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.c install -D -p -m644 kernel-module/xt_RTPENGINE.h \ - %{buildroot}/%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.h + %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.h sed "s/__VERSION__/%{version}-%{release}/g" debian/dkms.conf.in > \ - %{buildroot}/%{_usrsrc}/%{name}-%{version}-%{release}/dkms.conf + %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/dkms.conf %pre From d25b697f6aab867732077d6ae07aad5c276fd0ec Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 14:29:23 +0300 Subject: [PATCH 10/14] Check for username,group before creating Just a cosmetic actually. Earlier we created user,group anyway and suppress error message if user or group already exists. Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index b5bb3f65c..8ded7d64c 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -87,10 +87,10 @@ sed "s/__VERSION__/%{version}-%{release}/g" debian/dkms.conf.in > \ %pre -/usr/sbin/groupadd -r rtpengine 2> /dev/null || : -/usr/sbin/useradd -r -g rtpengine -s /sbin/nologin -c "rtpengine daemon" \ - -d %{_sharedstatedir}/rtpengine rtpengine \ - 2> /dev/null || : +getent group rtpengine >/dev/null || /usr/sbin/groupadd -r rtpengine +getent passwd rtpengine >/dev/null || /usr/sbin/useradd -r -g rtpengine \ + -s /sbin/nologin -c "rtpengine daemon" -d %{_sharedstatedir}/rtpengine \ + rtpengine %post From e71a7e15d8f9dace65f632b74067d93a100421e2 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 14:34:14 +0300 Subject: [PATCH 11/14] Consistently use rtpengine name everywhere Signed-off-by: Peter Lemenkov --- el/rtpengine.init | 2 +- el/rtpengine.spec | 43 ++++++++++++++++++++++--------------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/el/rtpengine.init b/el/rtpengine.init index 1fb33ce62..c6056242d 100644 --- a/el/rtpengine.init +++ b/el/rtpengine.init @@ -39,7 +39,7 @@ MODULE=0 build_opts() { shopt -s nocasematch - RPMS=`rpm -qa | grep ngcp-rtpengine-kernel` + RPMS=`rpm -qa | grep rtpengine-kernel` if [[ "$KERNEL" == "yes" && -n "$TABLE" && -n "$RPMS" ]] then MODULE=1 diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 8ded7d64c..48f152c48 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -1,4 +1,4 @@ -Name: ngcp-rtpengine +Name: rtpengine Version: 2.3.6 Release: 0%{?dist} Summary: The Sipwise NGCP rtpengine @@ -13,6 +13,8 @@ BuildRequires: gcc make pkgconfig redhat-rpm-config BuildRequires: glib2-devel libcurl-devel openssl-devel pcre-devel BuildRequires: xmlrpc-c-devel zlib-devel Requires: nc +# Remain compat with other installations +Provides: ngcp-rtpengine = %{version}-%{release} %description @@ -60,16 +62,16 @@ cd .. %install # Install the userspace daemon -install -D -p -m755 daemon/rtpengine %{buildroot}%{_sbindir}/rtpengine +install -D -p -m755 daemon/%{name} %{buildroot}%{_sbindir}/%{name} # Install CLI (command line interface) -install -D -p -m755 utils/rtpengine-ctl %{buildroot}%{_sbindir}/rtpengine-ctl +install -D -p -m755 utils/%{name}-ctl %{buildroot}%{_sbindir}/%{name}-ctl ## Install the init.d script and configuration file -install -D -p -m755 el/rtpengine.init \ - %{buildroot}%{_initrddir}/rtpengine -install -D -p -m644 el/rtpengine.sysconfig \ - %{buildroot}%{_sysconfdir}/sysconfig/rtpengine -mkdir -p %{buildroot}%{_sharedstatedir}/rtpengine +install -D -p -m755 el/%{name}.init \ + %{buildroot}%{_initrddir}/%{name} +install -D -p -m644 el/%{name}.sysconfig \ + %{buildroot}%{_sysconfdir}/sysconfig/%{name} +mkdir -p %{buildroot}%{_sharedstatedir}/%{name} # Install the iptables plugin install -D -p -m755 iptables-extension/libxt_RTPENGINE.so \ @@ -82,20 +84,19 @@ install -D -p -m644 kernel-module/xt_RTPENGINE.c \ %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.c install -D -p -m644 kernel-module/xt_RTPENGINE.h \ %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.h -sed "s/__VERSION__/%{version}-%{release}/g" debian/dkms.conf.in > \ +sed "s/__VERSION__/%{version}-%{release}/g;s/ngcp-rtpengine/rtpengine/g" debian/dkms.conf.in > \ %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/dkms.conf %pre -getent group rtpengine >/dev/null || /usr/sbin/groupadd -r rtpengine -getent passwd rtpengine >/dev/null || /usr/sbin/useradd -r -g rtpengine \ - -s /sbin/nologin -c "rtpengine daemon" -d %{_sharedstatedir}/rtpengine \ - rtpengine +getent group %{name} >/dev/null || /usr/sbin/groupadd -r %{name} +getent passwd %{name} >/dev/null || /usr/sbin/useradd -r -g %{name} \ + -s /sbin/nologin -c "%{name} daemon" -d %{_sharedstatedir}/%{name} %{name} %post if [ $1 -eq 1 ]; then - /sbin/chkconfig --add rtpengine || : + /sbin/chkconfig --add %{name} || : fi @@ -109,8 +110,8 @@ true %preun if [ $1 = 0 ] ; then - /sbin/service rtpengine stop >/dev/null 2>&1 - /sbin/chkconfig --del rtpengine + /sbin/service %{name} stop >/dev/null 2>&1 + /sbin/chkconfig --del %{name} fi @@ -122,14 +123,14 @@ true %files # Userspace daemon -%{_sbindir}/rtpengine +%{_sbindir}/%{name} # CLI (command line interface) -%{_sbindir}/rtpengine-ctl +%{_sbindir}/%{name}-ctl # init.d script and configuration file -%{_initrddir}/rtpengine -%config(noreplace) %{_sysconfdir}/sysconfig/rtpengine -%dir %{_sharedstatedir}/rtpengine +%{_initrddir}/%{name} +%config(noreplace) %{_sysconfdir}/sysconfig/%{name} +%dir %{_sharedstatedir}/%{name} # Documentation %doc LICENSE README.md el/README.el.md debian/changelog debian/copyright From a6ab5b5ebce32da4fb285189f28f50a29d461645 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 14:36:18 +0300 Subject: [PATCH 12/14] Restrict access to a working directory Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 48f152c48..70ec79399 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -130,7 +130,7 @@ true # init.d script and configuration file %{_initrddir}/%{name} %config(noreplace) %{_sysconfdir}/sysconfig/%{name} -%dir %{_sharedstatedir}/%{name} +%attr(0750,%{name},%{name}) %dir %{_sharedstatedir}/%{name} # Documentation %doc LICENSE README.md el/README.el.md debian/changelog debian/copyright From 9a12b4915a66c28d9fade1568704b95efb256bab Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 15:31:46 +0300 Subject: [PATCH 13/14] Don't specify access rights for _usrsrc dir Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 70ec79399..784fffa97 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -141,7 +141,7 @@ true %files dkms -%attr(0755,root,root) %{_usrsrc}/%{name}-%{version}-%{release}/ +%{_usrsrc}/%{name}-%{version}-%{release}/ %changelog From 3b270318283738f04ed65761804d1ca1daddc030 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 23 Mar 2015 15:33:17 +0300 Subject: [PATCH 14/14] Explicitly set rights on dkms.conf as 644 Signed-off-by: Peter Lemenkov --- el/rtpengine.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 784fffa97..493f6a038 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -84,8 +84,8 @@ install -D -p -m644 kernel-module/xt_RTPENGINE.c \ %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.c install -D -p -m644 kernel-module/xt_RTPENGINE.h \ %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.h -sed "s/__VERSION__/%{version}-%{release}/g;s/ngcp-rtpengine/rtpengine/g" debian/dkms.conf.in > \ - %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/dkms.conf +sed -i -e "s/__VERSION__/%{version}-%{release}/g;s/ngcp-rtpengine/rtpengine/g" debian/dkms.conf.in +install -D -p -m644 debian/dkms.conf.in %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/dkms.conf %pre