Skip to content

Commit

Permalink
Split package into ivre, ivre-docs, ivre-web, python-ivre and python2…
Browse files Browse the repository at this point in the history
…-ivre

This allows the creation of a new package, python2-ivre to use IVRE's
library from Python 2 scripts.
  • Loading branch information
p-l- committed Mar 13, 2019
1 parent 9f42c64 commit f7dd51e
Showing 1 changed file with 112 additions and 33 deletions.
145 changes: 112 additions & 33 deletions pkg/arch/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -18,59 +18,138 @@
# You should have received a copy of the GNU General Public License
# along with IVRE. If not, see <http://www.gnu.org/licenses/>.

pkgname='ivre'
pkgbase='ivre'
pkgname=('ivre' 'ivre-web' 'ivre-docs' 'python-ivre' 'python2-ivre')
pkgver=0.9.12
pkgrel=1
pkgdesc='Network recon framework'
arch=('any')
url='https://ivre.rocks/'
license=('GPL3')
depends=('python' 'python-pymongo' 'python-future' 'python-bottle')
optdepends=('python-py2neo: experimental flow analysis (Neo4j backend)'
'python-sqlalchemy: experimental PostgreSQL & SQLite backends'
'python-psycopg2: experimental PostgreSQL backend'
'python-pillow: trim screenshots on insertion'
'tesseract: extract words from screenshots on insertion'
'python-crypto: extract data from public keys ("ivre getmoduli")'
'python-scapy: parse PCAP files for ARP inspection (flow analysis)'
'python-matplotlib: create graphs from command line tools'
'python-dbus: 3D traceroute graphs'
'mongodb: database server'
'postgresql: database server (experimental backend)'
'neo4j-community: database server (experimental flow analysis)'
'apache: Web server'
'mod_wsgi: Web server'
'dokuwiki: Web server (notebook)'
'nmap: Network scan'
'masscan: Network scan'
'zmap: Network scan'
'bro: Network traffic analysis'
'argus: Network traffic analysis'
'nfdump: Netflow analysis'
'imagemagick: Screenshots via Nmap scripts'
'phantomjs: HTTP screenshots via Nmap script'
'ffmpeg: RTSP Screenshots via Nmap script')
makedepends=('git' 'python-setuptools')
backup=('etc/httpd/conf/extra/ivre.conf')
branch="`git branch | awk '/^*/ {print $2}'`"
source=("git+file://`readlink -f ../../`#branch=$branch")
sha256sums=('SKIP')

pkgver() {
cd "$srcdir/$pkgname"
cd "$srcdir/$pkgbase"
python setup.py --version | sed "s/\.dev/.dev_${branch//-/_}_/"
}

prepare() {
cp -a ${srcdir}/${pkgbase}{,-py2}
}

build() {
cd "$srcdir/$pkgname"
python setup.py build
(
cd "$srcdir/$pkgbase"
python setup.py build
)
(
cd "$srcdir/$pkgbase-py2"
python2 setup.py build
)
}

package_ivre() {
depends=('python-ivre')
optdepends=('ivre-docs: Documentation'
'nmap: Network scan'
'masscan: Network scan'
'zmap: Network scan'
'bro: Network traffic analysis'
'argus: Network traffic analysis'
'nfdump: Netflow analysis'
'imagemagick: Screenshots via Nmap scripts'
'phantomjs: HTTP screenshots via Nmap script'
'ffmpeg: RTSP Screenshots via Nmap script')
cd "$srcdir/$pkgbase"
python setup.py install --root="${pkgdir}" --prefix=/usr --optimize=1
rm -r "${pkgdir}/usr/lib" \
"${pkgdir}/usr/share/doc" \
"${pkgdir}/usr/share/ivre/dokuwiki" \
"${pkgdir}/usr/share/ivre/web"
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" doc/LICENSE*
}

package_ivre-docs() {
pkgdesc+=' (documentation)'
cd "$srcdir/$pkgbase"
python setup.py install --root="${pkgdir}" --prefix=/usr --optimize=1
rm -r "${pkgdir}/usr/bin" "${pkgdir}/usr/lib" \
"${pkgdir}/usr/share/ivre" \
"${pkgdir}/etc/bash_completion.d"
}

package() {
cd "$srcdir/$pkgname"
package_ivre-web() {
depends=('ivre' 'python-bottle')
optdepends=('apache: Web server'
'mod_wsgi: Web server'
'dokuwiki: Web server (notebook)')
pkgdesc+=' (web application)'
backup=('etc/httpd/conf/extra/ivre.conf')
cd "$srcdir/$pkgbase"
python setup.py install --root="${pkgdir}" --prefix=/usr --optimize=1
rm -r "${pkgdir}/usr/bin" "${pkgdir}/usr/lib" \
"${pkgdir}/usr/share/doc" \
"${pkgdir}/usr/share/ivre/bro" \
"${pkgdir}/usr/share/ivre/data" \
"${pkgdir}/usr/share/ivre/docker" \
"${pkgdir}/usr/share/ivre/geoip" \
"${pkgdir}/usr/share/ivre/honeyd" \
"${pkgdir}/usr/share/ivre/nmap_scripts" \
"${pkgdir}/etc/bash_completion.d"
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" doc/LICENSE*
install -Dm0644 "pkg/apache/ivre.conf" "$pkgdir/etc/httpd/conf/extra/ivre.conf"
python setup.py install --root="$pkgdir" --optimize=1
}

package_python-ivre() {
depends=('python' 'python-pymongo' 'python-future')
optdepends=('python-py2neo: experimental flow analysis (Neo4j backend)'
'python-sqlalchemy: experimental PostgreSQL & SQLite backends'
'python-psycopg2: experimental PostgreSQL backend'
'python-pillow: trim screenshots on insertion'
'tesseract: extract words from screenshots on insertion'
'python-pycryptodome: extract data from public keys ("ivre getmoduli")'
'python-scapy: parse PCAP files for ARP inspection (flow analysis)'
'python-matplotlib: create graphs from command line tools'
'python-dbus: 3D traceroute graphs'
'mongodb: database server'
'postgresql: database server (experimental backend)'
'neo4j-community: database server (experimental flow analysis)')
pkgdesc+=' (library)'
cd "$srcdir/$pkgbase"
python setup.py install --root="${pkgdir}" --prefix=/usr --optimize=1
rm -r "${pkgdir}/usr/bin" \
"${pkgdir}/usr/share" \
"${pkgdir}/etc/bash_completion.d"
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" doc/LICENSE*
sed -i "s/\.dev/.dev_${branch//-/_}_/" \
"${pkgdir}"/usr/lib/python*/site-packages/ivre/{VERSION,__init__.py}
}

package_python2-ivre() {
depends=('python2' 'python2-pymongo' 'python2-future')
optdepends=('python2-py2neo: experimental flow analysis (Neo4j backend)'
'python2-sqlalchemy: experimental PostgreSQL & SQLite backends'
'python2-psycopg2: experimental PostgreSQL backend'
'python2-pillow: trim screenshots on insertion'
'tesseract: extract words from screenshots on insertion'
'python2-pycryptodome: extract data from public keys ("ivre getmoduli")'
'python2-scapy: parse PCAP files for ARP inspection (flow analysis)'
'python2-matplotlib: create graphs from command line tools'
'python2-dbus: 3D traceroute graphs'
'mongodb: database server'
'postgresql: database server (experimental backend)'
'neo4j-community: database server (experimental flow analysis)')
pkgdesc+=' (library)'
cd "$srcdir/$pkgbase-py2"
python2 setup.py install --root="${pkgdir}" --prefix=/usr --optimize=1
rm -r "${pkgdir}/usr/bin" \
"${pkgdir}/usr/share" \
"${pkgdir}/etc/bash_completion.d"
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" doc/LICENSE*
sed -i "s/\.dev/.dev_${branch//-/_}_/" \
"${pkgdir}"/usr/lib/python*/site-packages/ivre/{VERSION,__init__.py}
}

0 comments on commit f7dd51e

Please sign in to comment.