summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD131
1 files changed, 131 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..a7806fc727a4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,131 @@
+# $Id: 7d79bb74ac202ea9fcb2da4914790ab5e17056ba $
+# Maintainer: Ido Rosen <ido@kernel.org>
+#
+# NOTE: To request changes to this package, please submit a pull request
+# to the GitHub repository at https://github.com/ido/packages-archlinux
+# Otherwise, open a GitHub issue. Thank you! -Ido
+#
+# From the Solarflare Support website, http://support.solarflare.com/ :
+# ``SolarCapture is a set of tools for capturing, timestamping, processing
+# and injecting network traffic. SolarCapture is able to capture packets
+# received from the network at very high rates, apply filtering in hardware
+# and software, perform custom processing, and write packets to disk in PCAP
+# format.'' (06/24/2014)
+
+pkgname='solar_capture'
+pkgdesc="A set of tools for capturing, timestamping, processing, and injecting network traffic."
+pkgver='1.3.1.11'
+_kernelver="$(uname -r)"
+_sfcrel='0'
+pkgrel=1
+arch=('x86_64')
+url='http://www.solarflare.com/SolarCapture-Packet-Capture-Software'
+license=('custom')
+depends=('openonload' 'sfptpd' 'libpcap' 'python2' 'libaio')
+makedepends=('rpmextract' 'openonload'
+ 'python2' 'libaio' 'libpcap' 'findutils')
+options=('!libtool' '!strip' '!makeflags' '!buildflags' 'staticlibs')
+source=('http://127.0.0.1/SF-111817-DH-9_(SF-112972-LS-2)_SolarCapture_SDK.zip'
+ 'http://127.0.0.1/SF-111817-DH-9_(SF-112974-LS-2)_SolarCapture_Live_Pro_RPMs.zip'
+ 'http://127.0.0.1/SF-111817-DH-9_(SF-108469-CD-9)_SolarCapture_User_Guide.pdf')
+sha512sums=('SKIP'
+ 'SKIP'
+ 'SKIP')
+#install=
+_python_sitelib="$(python2 -c 'from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())')"
+
+pkgver() {
+ cd "${srcdir}"
+ ls solar_capture-pro-*.x86_64.rpm | sed 's/^solar_capture-pro-\([0-9\.]*\)\(-[0-9]*\)\?.x86_64.rpm$/\1/'
+}
+
+prepare() {
+ # SDK
+ rpmextract.sh ${srcdir}/${pkgname}-core-${pkgver}-${_sfcrel}.x86_64.rpm
+ rpmextract.sh ${srcdir}/${pkgname}-python-${pkgver}-${_sfcrel}.src.rpm
+ # Live
+ rpmextract.sh ${srcdir}/${pkgname}-live-${pkgver}-${_sfcrel}.x86_64.rpm
+ # Pro
+ rpmextract.sh ${srcdir}/${pkgname}-pro-${pkgver}-${_sfcrel}.x86_64.rpm
+ tar xvzf ${pkgname}-python-${pkgver}.tgz
+ sed -i '1 s/\bpython\b/python2/' "${srcdir}/usr/bin/solar_capture"
+ sed -i '1 s/\bpython\b/python2/' "${srcdir}/usr/bin/solar_replay"
+ sed -i '1 s/\bpython\b/python2/' "${srcdir}/${pkgname}-python-${pkgver}/src/solar_capture_monitor"
+ sed -i '1 s/\bpython\b/python2/' "${srcdir}/${pkgname}-python-${pkgver}/src/solar_capture_doc"
+}
+
+build() {
+ case $CARCH in
+ "x86_64")
+ # x64 build
+ pushd ${pkgname}-python-${pkgver}/src
+ SC_LIBRARY=${srcdir}/usr/lib64 \
+ SC_INCLUDE=${srcdir}/usr/include \
+ SC_RPM_BUILD=1 \
+ SC_PYTHON=python2 \
+ SC_PYTHON_CONFIG=python2-config \
+ make python/solar_capture_c.so
+ popd
+ ;;
+ *)
+ # unsupported
+ echo "Unsupported architecture."
+ exit 1
+ ;;
+ esac
+}
+
+package() {
+ cd "${srcdir}"
+
+ mv "${srcdir}/usr" "${pkgdir}/."
+
+ cd "${srcdir}/${pkgname}-python-${pkgver}"
+
+ # Binaries:
+ install -dm755 "${pkgdir}/usr/bin"
+ install -m755 "src/solar_capture_monitor" "${pkgdir}/usr/bin"
+ install -m755 "src/solar_capture_doc" "${pkgdir}/usr/bin"
+
+ # Python module:
+ install -dm755 "${pkgdir}/${_python_sitelib}/${pkgname}"
+ install -m644 "src/python/solar_capture_c.so" \
+ "${pkgdir}/${_python_sitelib}/"
+ for i in __init__.py cli.py shm.py stats.py tabulate.py
+ do
+ install -m644 "src/python/${pkgname}/${i}" \
+ "${pkgdir}/${_python_sitelib}/${pkgname}"
+ done
+
+ # Documentation:
+ docdir="${pkgdir}/usr/share/doc/${pkgname}"
+ install -dm755 "${docdir}"
+ install -m644 docs/LICENSE.txt "${docdir}"
+ install -m644 docs/README "${docdir}"
+ install -m644 docs/ReleaseNotes "${docdir}"
+ install -m644 docs/ChangeLog "${docdir}"
+ install -m644 \
+ "${srcdir}/SF-111817-DH-9_(SF-108469-CD-9)_SolarCapture_User_Guide.pdf" \
+ "${docdir}"
+ install -dm755 "${docdir}/examples/c_api"
+ install -m 644 src/examples/c_api/* \
+ "${docdir}/examples/c_api"
+ install -dm755 "${docdir}/examples/c_api_export"
+ install -m 644 src/examples/c_api_export/* \
+ "${docdir}/examples/c_api_export"
+ install -dm755 "${docdir}/examples/extensions_api"
+ install -m 644 src/examples/extensions_api/* \
+ "${docdir}/examples/"
+ install -dm755 "${docdir}/examples/unmanaged"
+ install -m 644 src/examples/unmanaged/* \
+ "${docdir}/examples/unmanaged"
+ install -dm755 "${docdir}/examples/py_api"
+ install -m 644 src/examples/py_api/* \
+ "${docdir}/examples/py_api"
+
+ # Install LICENSE file:
+ install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ ln -s "/usr/share/doc/${pkgname}/LICENSE.txt" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+}