aboutsummaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/rpm/Makefile.in38
-rw-r--r--packages/rpm/configure.in44
-rw-r--r--packages/rpm/ndpi.spec.in87
3 files changed, 169 insertions, 0 deletions
diff --git a/packages/rpm/Makefile.in b/packages/rpm/Makefile.in
new file mode 100644
index 000000000..1621b66e9
--- /dev/null
+++ b/packages/rpm/Makefile.in
@@ -0,0 +1,38 @@
+#
+# RPM Build Process
+#
+APPL=ndpi
+PLATFORM=@PLATFORM@
+GIT_REVISION=@GIT_REVISION@
+PACKAGE_VERSION=@PACKAGE_VERSION@
+PACKAGE=$(APPL)-$(PACKAGE_VERSION)-$(GIT_REVISION).$(PLATFORM).rpm
+DEV_PACKAGE=$(APPL)-dev-$(PACKAGE_VERSION)-$(GIT_REVISION).$(PLATFORM).rpm
+PACKAGE_PATH=$(HOME)/rpmbuild/RPMS/$(PLATFORM)/$(PACKAGE)
+
+package: build-rpm
+
+cleanup-src:
+ cd ../..; ./autogen.sh; ./configure; make clean
+
+cleanup-rpm:
+ rm -rf $(HOME)/rpmbuild/BUILD/ndpi* $(HOME)/rpmbuild/SOURCES/ndpi*
+
+build-rpm: cleanup-src cleanup-rpm
+ -rm -rf ndpi-@PACKAGE_VERSION@
+ mkdir -p ndpi-@PACKAGE_VERSION@/packages
+ cp ndpi.spec.in ndpi-@PACKAGE_VERSION@/packages
+ cp ../../Makefile.* ../../libtool ../../configure* ../../config.* ../../install-sh ../../autogen.sh ndpi-@PACKAGE_VERSION@
+ cp -rf ../../src ndpi-@PACKAGE_VERSION@
+ cp ../../CHANGELOG.md ../../COPYING ndpi-@PACKAGE_VERSION@
+ \rm -f ndpi-@PACKAGE_VERSION@/config.status
+ mkdir -p $(HOME)/rpmbuild/SOURCES
+ tar cvfz $(HOME)/rpmbuild/SOURCES/ndpi-@PACKAGE_VERSION@.tgz ndpi-@PACKAGE_VERSION@
+ @rm -f $(HOME)/rpmbuild/RPMS/$(PLATFORM)/$(PACKAGE)
+ @rpmbuild -bb ./$(APPL).spec --define "buildnumber $(GIT_REVISION)"
+ @if [[ $EUID -ne 0 ]]; then ./rpm-sign.exp $(HOME)/rpmbuild/RPMS/$(PLATFORM)/$(PACKAGE); fi
+ @if [[ $EUID -ne 0 ]]; then ./rpm-sign.exp $(HOME)/rpmbuild/RPMS/$(PLATFORM)/$(DEV_PACKAGE); fi
+ @echo ""
+ @echo "Package contents:"
+ @rpm -qpl $(HOME)/rpmbuild/RPMS/$(PLATFORM)/$(PACKAGE)
+ @echo "The package is now available in $(HOME)/rpmbuild/RPMS/$(PLATFORM)/$(PACKAGE)"
+
diff --git a/packages/rpm/configure.in b/packages/rpm/configure.in
new file mode 100644
index 000000000..84454923a
--- /dev/null
+++ b/packages/rpm/configure.in
@@ -0,0 +1,44 @@
+AC_INIT([Makefile.in], 1.0)
+
+DATE=`date -R`
+KERNEL=`uname -r`
+PLATFORM=`uname -p`
+MACHINE=`uname -m`
+SHORT_MACHINE=`uname -m | cut -b1-3`
+
+EXTN=""
+if test $MACHINE = "x86_64"; then
+ EXTN="amd64"
+else
+ if test $SHORT_MACHINE = "aar"; then
+ EXTN="arm64"
+ else
+ if test $SHORT_MACHINE = "arm"; then
+ EXTN="armhf"
+ else
+ if test $SHORT_MACHINE = "mip"; then
+ EXTN="mips"
+ else
+ EXTN="i386"
+ fi
+ fi
+ fi
+fi
+
+PACKAGE_VERSION=`cat ../../configure.ac|grep C_INIT|cut -c 21-|rev|cut -c 3-|rev`
+GIT_RELEASE=`git rev-parse HEAD`
+GIT_REVISION=`git rev-list --all |wc -l | tr -d '[[:space:]]'`
+
+AC_CONFIG_FILES([Makefile ndpi.spec])
+
+AC_SUBST(PACKAGE_VERSION)
+AC_SUBST(PLATFORM)
+AC_SUBST(MACHINE)
+AC_SUBST(EXTN)
+AC_SUBST(DATE)
+AC_SUBST(KERNEL)
+AC_SUBST(GIT_RELEASE)
+AC_SUBST(GIT_REVISION)
+
+AC_OUTPUT
+
diff --git a/packages/rpm/ndpi.spec.in b/packages/rpm/ndpi.spec.in
new file mode 100644
index 000000000..5d8f21a01
--- /dev/null
+++ b/packages/rpm/ndpi.spec.in
@@ -0,0 +1,87 @@
+Summary: L7 DPI library
+Name: ndpi
+Version: @PACKAGE_VERSION@
+Release: %{buildnumber}
+License: LGPL
+Group: Networking/Utilities
+Conflicts: nprobe-dev
+URL: http://www.ntop.org/products/deep-packet-inspection/ndpi/
+Source: ndpi-%{version}.tgz
+Packager: Luca Deri <deri@ntop.org>
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+%{?el7:Requires: glibc >= 2.3.4 numactl coreutils }
+%{?el6:Requires: glibc >= 2.3.4 numactl coreutils }
+AutoReqProv: no
+
+%description
+nDPI Open and Extensible LGPLv3 Deep Packet Inspection Library.
+
+%package dev
+Summary: Header files and development libraries for %{name}
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description dev
+This package contains the header files and development libraries
+for %{name}. If you like to develop programs using %{name},
+you will need to install %{name}-dev.
+
+%prep
+
+%setup -q
+
+# Execution order:
+# install: pre -> (copy) -> post
+# upgrade: pre -> (copy) -> post -> preun (old) -> (delete old) -> postun (old)
+# un-install: preun -> (delete) -> postun
+
+%pre
+
+%post
+
+%build
+PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+%define includedir /usr/local/include/ndpi
+%define libdir /usr/local/lib
+%define bindir /usr/local/bin
+
+%install
+PATH=/usr/bin:/bin:/usr/sbin:/sbin
+if [ -d $RPM_BUILD_ROOT ]; then
+ \rm -rf $RPM_BUILD_ROOT
+fi
+mkdir -p $RPM_BUILD_ROOT%{includedir}
+mkdir -p $RPM_BUILD_ROOT%{libdir}
+mkdir -p $RPM_BUILD_ROOT%{bindir}
+cd $HOME/nDPI; make DESTDIR=$RPM_BUILD_ROOT install;
+rm $RPM_BUILD_ROOT%{libdir}/libndpi.so
+ln -sr $RPM_BUILD_ROOT%{libdir}/libndpi.so.@PACKAGE_VERSION@ $RPM_BUILD_ROOT%{libdir}/libndpi.so
+mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
+cp $HOME/nDPI/packages/etc/ld.so.conf.d/ndpi.conf $RPM_BUILD_ROOT/etc/ld.so.conf.d
+strip $RPM_BUILD_ROOT%{bindir}/*
+rm -fr %{buildroot}%{includedir}/ndpi_win32.h
+
+%clean
+rm -fr $RPM_BUILD_ROOT
+
+%files
+%defattr(-, root, root)
+
+/usr/local/lib/libndpi.so
+/usr/local/lib/libndpi.so.@PACKAGE_VERSION@
+/usr/local/bin/ndpiReader
+/etc/ld.so.conf.d/ndpi.conf
+/usr/local/libdata/pkgconfig/libndpi.pc
+
+%preun
+
+%files dev
+%defattr(-,root,root,-)
+
+%{includedir}
+%{libdir}/libndpi.a
+
+%changelog
+* Mon Nov 19 2018 Alfredo Cardigliano <cardigliano@ntop.org> 2.5
+- Initial package version