Source: packetfence
Section: net
Priority: optional
Maintainer: Inverse inc. <support@inverse.ca>
Build-Depends: debhelper (>= 7.0.50~), gettext, libparse-recdescent-perl, gcc, lsb-release, libfile-fcntllock-perl, git, pkg-config, nodejs (>= 20.0), jq,
 ruby, rubygems, ruby-dev,
 quilt, libmariadbd-dev (>= 10.1),
 libcurl4-openssl-dev, libcjson-dev
Standards-Version: 3.8.4
Vcs-Git: git://github.com/inverse-inc/packetfence.git
Vcs-browser: https://github.com/inverse-inc/packetfence/
Homepage: http://www.packetfence.org/

Package: packetfence
Architecture: all
# TODO: We can probably move these in Depends since 3.5.0 (managed RADIUS feature)
Pre-Depends:  ca-certificates,
 ca-certificates,
 packetfence-pfcmd-suid (>= ${source:Version}), packetfence-config (>= ${source:Version}),
# CAUTION: we need to require the version we want for Fingerbank and ensure we don't want anything equal or above the next major release as it can add breaking changes
 fingerbank (>= 4.3.2), fingerbank (<< 5.0.0),
 fingerbank-collector (>= 1.4.1), fingerbank-collector (<< 2.0.0),
 packetfence-redis-cache (>= ${source:Version}),
 packetfence-perl (>= 1.2.3),
 netdata (= 1:1.10.0-1)
# Removed for now
# libmariadbd-dev (>= 10.1), libmariadbd-dev (<< 10.5.18)
Breaks: libdata-alias-perl
Conflicts: packetfence-captive-portal-javascript, packetfence-doc, packetfence-pfappserver-javascript
Replaces: packetfence-captive-portal-javascript, packetfence-doc, packetfence-pfappserver-javascript
Depends: ${misc:Depends}, vlan,
 packetfence-ntlm-wrapper (>= ${source:Version}), packetfence-golang-daemon (>= ${source:Version}),
 openssl,
 packetfence-archive-keyring (>= ${source:Version}),
 gpg,
 jq,
 mariadb-server (>= 10.5.15),
 mariadb-client (>= 10.5.15),
 snmp, snmptrapfmt, snmptrapd, snmp-mibs-downloader, conntrack, rsyslog,
# for import/export scripts
 ipcalc, ipcalc-ng,
# apache related
 apache2, apache2-utils,
 libapache2-mod-apreq2, libapache2-mod-perl2,
 libapache2-request-perl, libtie-dxhash-perl, libapache-session-perl,
 libapache-ssllookup-perl, libapache2-mod-systemd,
# freeradius
 freeradius (>= 3.2.1), freeradius-ldap,
 freeradius-mysql, freeradius-utils, freeradius-rest, freeradius-redis,
 eapoltest,
# systemd sd_notify support
 liblinux-systemd-daemon-perl,
# binary
 make, binutils,
 samba,
 tdb-tools,
 python3-impacket (>= 0.9.23),
 python-is-python3,
 krb5-user,
 iproute2,
 ipset,
 sudo,
 sscep (>= 0.9),
 patch,
 git,
# process management
 procps,
# perl basic components
 liblist-moreutils-perl, libwww-perl, libtry-tiny-perl,
# perl uncategorized modules
 libapache-htpasswd-perl, libbit-vector-perl, libtext-csv-perl, libtext-csv-xs-perl,
 libcgi-session-serialize-yaml-perl, libtimedate-perl, libapache-dbi-perl,
 libdbd-mysql-perl (>= 4.052), libfile-tail-perl, libnetwork-ipv4addr-perl,
 libiptables-parse-perl, libiptables-chainmgr-perl, iptables (>= 1.4.0), iptables-netflow-dkms,
 liblwp-useragent-determined-perl,
 liblwp-protocol-connect-perl,
 libnet-netmask-perl, libnet-pcap-perl, libnet-snmp-perl, libsnmp-perl, libfile-fcntllock-perl,
 libnet-telnet-cisco-perl, libparse-recdescent-perl, libnet-cisco-mse-rest-perl, perlmagick,
 libregexp-common-email-address-perl, libregexp-common-time-perl,
 libperl-critic-perl, libreadonly-xs-perl, libhtml-template-perl,
 libterm-readkey-perl, libtest-perl-critic-perl, libtest-pod-perl,
 libtest-pod-coverage-perl, libthread-pool-simple-perl,
 libuniversal-require-perl, libuniversal-exports-perl, libnet-rawip-perl,
 libcgi-session-perl, libcgi-session-driver-chi-perl (>= 1.0.3), libconfig-inifiles-perl (>= 2.88),
 libdatetime-format-dateparse-perl, libdatetime-format-rfc3339-perl, libdbi-perl,librose-db-perl,librose-db-object-perl,libdatetime-timezone-perl,
 libnet-telnet-perl, libregexp-common-perl,libhtml-formhandler-perl,
 libreadonly-perl, libtemplate-perl, libtemplate-autofilter-perl, libterm-readkey-perl,
 libuniversal-require-perl, libthread-serialize-perl,
 libnet-ldap-perl, libcrypt-generatepassword-perl, libbytes-random-secure-perl, libcrypt-eksblowfish-perl, libcrypt-smbhash-perl,
 libcrypt-cbc-perl, libcrypt-le-perl, libdigest-sha3-perl, libcrypt-pbkdf2-perl, perl-doc, libcrypt-rijndael-perl,
 librrds-perl, libnetpacket-perl (>= 1.3), libcache-cache-perl, libcarp-perl,
 libload-perl, libmime-lite-tt-perl, libmime-lite-perl,
 libconfig-general-perl, libproc-processtable-perl, libperl-version-perl,
 perl-modules,libdata-swap-perl,libdata-structure-util-perl,
 liblinux-fd-perl, liblinux-inotify2-perl, libfile-touch-perl, libhash-merge-perl, libposix-atfork-perl,
 libcrypt-openssl-pkcs12-perl,libcrypt-openssl-x509-perl,libconst-fast-perl,
 libtime-period-perl (>= 1.25), libtime-piece-perl, libsereal-encoder-perl, libsereal-decoder-perl, libdata-serializer-sereal-perl (>= 1.04), libphp-serialization-perl,
 libnet-ip-perl, libdigest-hmac-perl, libcrypt-openssl-pkcs10-perl, libcrypt-openssl-rsa-perl, libfile-tempdir-perl,
 liburi-escape-xs-perl, libsql-abstract-more-perl (>= 1.28), libsql-abstract-plugin-insertmulti-perl, libio-socket-timeout-perl, libwww-twilio-api-perl,
 libpod-markdown-perl, libmojolicious-perl (>= 7.74), libmojox-log-log4perl-perl, liblingua-en-inflexion-perl,
 libnet-dhcp-perl,
# hard-coded to specific version because v3 broke the API and we haven't ported to it yet
# see #1313: Port our Net-Appliance-Session to the version 3 API
# http://packetfence.org/bugs/view.php?id=1313
 libnet-appliance-session-perl (>= 2.111080),
 libnet-ssh2-perl (>= 0.63),
 libnet-cli-interact-perl,
 libre-engine-re2-perl,
 libnet-interface-perl, libnet-radius-perl, libclass-xsaccessor-perl, libbsd-resource-perl,
 libparse-nessus-nbe-perl, libtest-mockdbi-perl,
 libsoap-lite-perl (>= 1.0), libnet-frame-perl, libthread-pool-perl,
 libwww-curl-perl, libposix-2008-perl, libdata-messagepack-stream-perl, libdata-messagepack-perl,
 libnet-nessus-xmlrpc-perl (>= 0.4), libnet-nessus-rest-perl (>= 0.7), libfile-slurp-perl,
 libalgorithm-combinatorics-perl,
# required for ipset
 libnetaddr-ip-perl, libfile-which-perl,
# FIXME track what requires the conveyor stuff and identify it. If we can, get rid of it.
 libthread-conveyor-monitored-perl, libthread-conveyor-perl, libthread-tie-perl,
 liberror-perl, libio-socket-inet6-perl,
 libio-interface-perl, libnet-route-perl, libnet-arp-perl,
# required by catalyst
 libcatalyst-perl (>= 5.90011), libcatalyst-modules-perl,
 libauthen-htpasswd-perl, libcatalyst-authentication-credential-http-perl,
 libcatalyst-authentication-store-htpasswd-perl, libcatalyst-plugin-unicode-encoding-perl,
 libcatalyst-view-tt-perl (>= 0.37), libcatalyst-view-csv-perl, libhtml-formfu-perl, libjson-perl, libjson-maybexs-perl,
 libcatalyst-plugin-smarturi-perl,
 libsort-naturally-perl, libchi-perl (>=0.59), libchi-memoize-perl,
 libdata-serializer-perl,
 libchi-driver-redis-perl,
 libredis-fast-perl,
 libcache-fastmmap-perl, libterm-size-any-perl,
 libswitch-perl,
# packaging workaround (we don't require it but something in catalyst seem to do)
 libmodule-install-perl,
# i18n
 liblocale-gettext-perl,
 locales-all,
# logging framework
 liblog-log4perl-perl (>=1.43),
 liblog-any-perl,
 liblog-any-adapter-perl,
 liblog-any-adapter-log4perl-perl,
# oauth2
 libnet-oauth2-perl (>=0.65),
# used by Captive Portal authentication modules
 libauthen-radius-perl (>=0.24), libauthen-krb5-simple-perl,
# used by bin/pftest
 libio-interactive-perl,
# used by dev-helpers scripts
 libtypes-serialiser-perl,
# cluster
 haproxy (>= 2.2), keepalived (>= 2.0), arping,
# monitoring
 fping, python3-mysqldb,
# EAP TLS
 libcrypt-smime-perl, libnumber-range-perl,
# Captive Portal Dynamic Routing
 libgraph-perl,
# SAML
 liblasso-perl,
# ACL
 libcisco-accesslist-parser-perl, libparse-eyapp-perl,
# for packaging
 lsb-release,
# nthash cache
 libscalar-list-utils-perl (>= 1.41-1),libfile-fcntllock-perl,libjson-xs-perl,libmoo-perl,libnet-dns-perl,python3-twisted-bin,python3-twisted,libconfig-inifiles-perl,
# Monit and monitoring scripts
 monit, uuid-runtime,
# Docker runtime
 docker-ce, docker-ce-cli, containerd.io,
# Distribution specific
 ${packetfence:dist}
Description: PacketFence network registration / worm mitigation system
 PacketFence is an open source network access control (NAC) system.
 It can be used to effectively secure networks, from small to very large
 heterogeneous networks. PacketFence provides features such
 as
 * registration of new network devices
 * detection of abnormal network activities
 * isolation of problematic devices
 * remediation through a captive portal
 * registration-based and scheduled vulnerability scans.

Package: packetfence-test
Architecture: all
Description: Test suite for packetfence
 PacketFence test files. This package contains all files related to PacketFence tests.

Package: packetfence-export
Architecture: all
Description: PacketFence export files
 PacketFence export files. This package contains all files related to export mechanism.
 This package should only be installed on releases before v11.

Package: packetfence-upgrade
Architecture: all
Description: PacketFence upgrade files
 PacketFence upgrade files. This package contains all files related to upgrade mechanism.
 This package should only be installed on releases after v11.

Package: packetfence-archive-keyring
Architecture: all
Description: GPG keys provided by PacketFence project
 GPG keys provided by PacketFence project.

Package: packetfence-pfconnector-remote
Architecture: all
Depends: fingerbank-collector-remote (>= 1.4.1), freeradius-common
Description: PacketFence Connector
 PacketFence Connector files. This package contains all files related to PacketFence Connector.

Package: packetfence-ci-lib
Architecture: all
Description: CI librairies used by PacketFence
 PacketFence CI librairies. This package contains all files related to PacketFence CI librairies.

Package: packetfence-pfcmd-suid
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Replaces: packetfence (<< 3.6.0)
Breaks: packetfence (<< 3.6.0)
Description: C wrapper that replace perl-suid dependence
 perl 5.12 dropped suidperl support (packaged as suid-perl)

Package: packetfence-ntlm-wrapper
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: C wrapper around the ntlm_auth utility to log authentication latency and success/failure.

Package: packetfence-config
Architecture: all
Depends: ${misc:Depends}, libcache-bdb-perl, liblog-fast-perl, libfile-flock-perl, lsb-release
Description: Service use to manage PacketFence configuration.

Package: packetfence-redis-cache
Architecture: all
Depends: ${misc:Depends}, redis-server, redis-tools, lsb-release
Description: Init script to manage redis server.

Package: packetfence-golang-daemon
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: PacketFence Golang binary.
Conflicts: packetfence (<= 8.0.1)
