Skip to content

Instantly share code, notes, and snippets.

@artixnous
Created February 15, 2020 00:37
Show Gist options
  • Select an option

  • Save artixnous/4372f70f5b64239a86f57c4df14d042b to your computer and use it in GitHub Desktop.

Select an option

Save artixnous/4372f70f5b64239a86f57c4df14d042b to your computer and use it in GitHub Desktop.

Revisions

  1. artixnous created this gist Feb 15, 2020.
    68 changes: 68 additions & 0 deletions PKGBUILD
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,68 @@
    # Maintainer: Felix Yan <[email protected]>
    # Contributor: Bartłomiej Piotrowski <[email protected]>
    # Contributor: Geoffroy Carrier <[email protected]>
    # Contributor: michalzxc
    # Contributor: nbags <[email protected]>

    pkgname=fail2ban
    pkgver=0.11.1
    pkgrel=1
    pkgdesc='Bans IPs after too many failed authentication attempts'
    url='https://www.fail2ban.org/'
    license=('GPL')
    arch=('any')
    depends=('iptables' 'python-pyinotify' 'whois' 'sqlite')
    makedepends=('python-setuptools')
    checkdepends=('python-coverage')
    backup=(etc/fail2ban/fail2ban.conf
    etc/fail2ban/jail.conf
    etc/logrotate.d/fail2ban)
    source=("$pkgname-$pkgver.tar.gz::https://github.com/fail2ban/$pkgname/archive/$pkgver.tar.gz"
    fail2ban-fix-nginx-rule.patch::https://github.com/fail2ban/fail2ban/commit/ec37b1942c4da76f7a0f71efe81bea6835466648.patch)
    sha512sums=('019b088aa6375f98742ed101ef6f65adabca3324444d71d5b8597a8d1d22fa76b9f503660f0498643fe24a3b8e4368de916072a1ab77b8e2ea3eda41c3e0c8c6'
    '2d57fe7a7e3d1889dfa00ac33f5071069ed62f5fc0edb1e1827aedc47fae3a36d19c568b1721ba3a8e117f4ba6b3756d11942f2320b42864d45203f45761c7b6')

    prepare() {
    cd $pkgname-$pkgver
    patch -p1 -i ../fail2ban-fix-nginx-rule.patch
    sed -i 's|self.install_dir|"/usr/bin"|' setup.py
    sed -i 's/^before = paths-debian.conf/before = paths-artix.conf/' config/jail.conf
    sed -i 's/systemd/auto/g;/journal/d;' config/paths-arch.conf
    mv config/paths-arch.conf config/paths-artix.conf
    }

    build() {
    cd $pkgname-$pkgver
    ./fail2ban-2to3
    python setup.py build
    }

    package() {
    cd $pkgname-$pkgver
    python setup.py install --root "$pkgdir" --optimize=1

    install -Dm644 files/gentoo-initd \
    "$pkgdir"/etc/init.d/$pkgname
    install -Dm644 files/gentoo-confd \
    "$pkgdir"/etc/conf.d/$pkgname
    install -Dm644 files/fail2ban-tmpfiles.conf \
    "$pkgdir"/usr/lib/tmpfiles.d/$pkgname.conf
    install -Dm644 files/fail2ban-logrotate \
    "$pkgdir"/etc/logrotate.d/fail2ban
    install -Dm644 files/bash-completion \
    "$pkgdir"/usr/share/bash-completion/completions/fail2ban

    # fix sendmail location
    sed -i 's/sbin/bin/g' "$pkgdir"/etc/fail2ban/action.d/sendmail*.conf

    install -Dm644 man/fail2ban.1 "$pkgdir"/usr/share/man/man1/fail2ban.1
    install -Dm644 man/fail2ban-client.1 \
    "$pkgdir"/usr/share/man/man1/fail2ban-client.1
    install -Dm644 man/fail2ban-regex.1 \
    "$pkgdir"/usr/share/man/man1/fail2ban-regex.1
    install -Dm644 man/fail2ban-server.1 \
    "$pkgdir"/usr/share/man/man1/fail2ban-server.1
    install -Dm644 man/jail.conf.5 "$pkgdir"/usr/share/man/man5/jail.conf.5

    rm -r "$pkgdir/run"
    }