File PKGBUILD of Package hostapd

pkgname=hostapd
_name=hostap
pkgver=2.11
pkgrel=4
pkgdesc="IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator"
arch=(x86_64)
url="https://w1.fi/hostapd/"
license=(BSD-3-Clause)
depends=(
  glibc
  libnl
  openssl
  sqlite
)
makedepends=(
  git
)
backup=(
  etc/$pkgname/$pkgname.{accept,conf,deny,eap_user,radius_clients,vlan,wpa_psk}
)
makedepends=(clang mold)
source=(
  "https://w1.fi/releases/$pkgname-$pkgver.tar.gz"
  config
  hostapd.service
  hostapd@.service
  $pkgname.tmpfiles
  $pkgname-2.11-fhs-config.patch
)
sha512sums=('SKIP'
            'SKIP'
            '34e16c5d46383477bcb9e0dba5073b7f01354a6adca8e591050aeff6319255f8939926b70d76d109735496bbaf9ff2d04be9cf6e0d057c4d2f4a4140067957a3'
            '51f472ed969037bd4d480d13e356a03207316169ef0ac532c40d2e7a618d0fef0529eb060a7d146d28c31efef9b5942bc12661f29d970a6ea0d972f7d2b9d3dc'
            '4394f871381165b772afc603ef640cb278980287060e87eed9cff17d8eb5ce131d081674bbbb053b2df65aeff55ce4a5fd361788e8e552e6b085656c2332b600'
            'd1dba5160d784e0194de70a7b0009ea41ada6c944cb448299d4a05e33d8ac4350b05e570f21622fc5c39d3737a0bf782e498d2c6916808505eaac119e7273c0a')
# NOTE: The upstream developer has been contacted on 2024-07-22 about their 1024bit DSA key being unsafe for artifact signing
validpgpkeys=('EC4AA0A991A5F2464582D52D2B6EF432EFC895FA') # Jouni Malinen

prepare() {
  # custom
  mv "$pkgname-$pkgver" $_name

  # make include locations in main configuration file filesystem compliant
  patch -Np1 -d $_name -i ../$pkgname-2.11-fhs-config.patch

  # link build configuration into place:
  # an up-to-date version of the build configuration can be found in
  # hostapd/defconfig and should be diffed with the packaged one before every
  # build
  ln -sv ../../config $_name/$pkgname/.config
}

build() {
  # CFLAGS+=" -I/usr/include/openssl-1.1"
  # LDFLAGS+=' -L/usr/lib/openssl-1.1'
  mold -run make -C $_name/$pkgname -j$(nproc)
}

package() {
  cd "$_name"
  make -C $pkgname install DESTDIR="$pkgdir" BINDIR=/usr/bin
  # systemd service
  install -vDm 644 ../$pkgname.service -t "$pkgdir/usr/lib/systemd/system/"
  install -vDm 644 ../$pkgname@.service -t "$pkgdir/usr/lib/systemd/system/"
  # license
  install -vDm 644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
  # config
  install -vDm 640 $pkgname/$pkgname.{accept,conf,deny,eap_user,radius_clients,vlan,wpa_psk} -t "$pkgdir/etc/$pkgname/"
  install -vDm 640 $pkgname/$pkgname.{accept,conf,deny,eap_user,radius_clients,vlan,wpa_psk} -t "$pkgdir/usr/share/factory/etc/$pkgname/"
  # docs
  install -vDm 644 $pkgname/{hostapd.sim_db,wired.conf,hlr_auc_gw.{txt,milenage_db}} "$pkgname/"{README*,ChangeLog} -t "$pkgdir/usr/share/doc/$pkgname/"
  # man pages
  install -vDm 644 $pkgname/$pkgname.8 -t "$pkgdir/usr/share/man/man8/"
  install -vDm 644 $pkgname/${pkgname}_cli.1 -t "$pkgdir/usr/share/man/man1/"
  # tmpfiles.d
  install -vDm 644 ../$pkgname.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
}
openSUSE Build Service is sponsored by