Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory:Rebuild
pdns
pdns.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pdns.spec of Package pdns
# # spec file for package pdns # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %if 0%{?fedora_version} >= 24 || 0%{?fc24}%{?fc25} %bcond_with systemd_separetedlibs %else %bcond_without systemd_separetedlibs %endif # %bcond_without pdns_lua %bcond_without pdns_odbc %bcond_without pdns_sqlite3 %bcond_with pdns_tinydns %if 0%{?is_opensuse} %bcond_without pdns_geoip %bcond_without pdns_ixfrdist %define ixfrdist_services ixfrdist.service ixfrdist@.service %else %bcond_with pdns_geoip %bcond_with pdns_ixfrdist %endif %bcond_without pdns_tools %bcond_without pdns_pkcs11 %bcond_without pdns_zeromq %if 0%{?suse_version} >= 1550 %bcond_without pdns_lmdb %else %bcond_with pdns_lmdb %endif %if 0%{?sle_version} && 0%{?sle_version} < 160000 # std::filesystem is supported since gcc8, but default gcc is 7 %if 0%{?sle_version} >= 150300 %define force_gcc_version 12 %else %define force_gcc_version 11 %endif %endif %define services %{name}.service %{name}@.service %{?ixfrdist_services} %ifarch %ix86 %arm ExclusiveArch: no-32bit-build %endif Name: pdns Version: 4.9.2 Release: 0 Summary: Authoritative-only nameserver License: GPL-2.0-only Group: Productivity/Networking/DNS/Servers URL: https://www.powerdns.com/ Source: https://downloads.powerdns.com/releases/pdns-%{version}.tar.bz2 Source1: https://downloads.powerdns.com/releases/pdns-%{version}.tar.bz2.sig Source2: https://powerdns.com/powerdns-keyblock.asc#/pdns.keyring Source10: series Patch0: pdns-4.0.3_allow_dacoverride_in_capset.patch # PATCH-FIX-OPENSUSE pdns-4.9.0-fix_boost.patch -- fix including boost headers with older releases Patch1: pdns-4.9.0-fix_boost.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: curl-devel BuildRequires: flex BuildRequires: gcc%{?force_gcc_version} BuildRequires: gcc%{?force_gcc_version}-c++ BuildRequires: gdbm-devel BuildRequires: libmysqlclient-devel BuildRequires: libsodium-devel BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: postgresql-devel BuildRequires: sqlite-devel >= 3 BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(systemd) %{?systemd_ordering} %if 0%{?suse_version} # version 1.55 adds support for boost::hash<CompositeKeyResult> used in auth-querycache.cc BuildRequires: libboost_headers-devel >= 1.55 BuildRequires: libboost_program_options-devel BuildRequires: libboost_serialization-devel %else BuildRequires: boost-devel %endif %if %{with pdns_geoip} || %{with pdns_ixfrdist} BuildRequires: yaml-cpp-devel >= 0.5 %endif %if %{with pdns_geoip} BuildRequires: pkgconfig(libmaxminddb) %endif %if %{with pdns_lua} BuildRequires: lua-devel %endif %if %{with pdns_tinydns} # FIXME: Could not find libcdb/tinycdb %endif %if 0%{?suse_version} BuildRequires: openldap2-devel %else BuildRequires: openldap-devel %endif #BuildRequires: ragel %if %{with pdns_sqlite3} BuildRequires: sqlite-devel >= 3 %endif %if %{with pdns_odbc} BuildRequires: unixODBC-devel %endif # %if %{with pdns_pkcs11} BuildRequires: pkgconfig(p11-kit-1) %endif %if %{with pdns_zeromq} BuildRequires: zeromq-devel %endif %if %{with systemd_separetedlibs} BuildRequires: pkgconfig(libsystemd) %endif %if %{with pdns_lmdb} BuildRequires: lmdb-devel %endif # FIXME: use proper Requires(pre/post/preun/...) #PreReq: pdns-common #Requires(post): pdns-common Requires(pre): pdns-common Requires: pdns-common # dropped with version 4.3.0 Obsoletes: pdns-backend-mydns < %{version} Provides: bundled(ipcrypt) Provides: bundled(json11) Provides: bundled(lmdb-safe) Provides: bundled(luawrapper) Provides: bundled(protozero) = 1.70 Provides: bundled(yahttp) %description The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. Furthermore, PowerDNS interfaces with almost any database. %package backend-mysql # Summary: MySQL backend for pdns Group: Productivity/Networking/DNS/Servers Requires: %{name} = %{version} %description backend-mysql The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. This package holds the MySQL backend for pdns. %package backend-postgresql # Summary: PostgreSQL backend for pdns Group: Productivity/Networking/DNS/Servers Requires: %{name} = %{version} %description backend-postgresql The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. This package holds the PostgreSQL backend for pdns. %if %{with pdns_odbc} %package backend-godbc # Summary: ODBC backend for pdns Group: Productivity/Networking/DNS/Servers Requires: %{name} = %{version} %description backend-godbc The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. This package holds the ODBC backend for pdns. %endif %package backend-sqlite3 # Summary: SQLite 3 backend for pdns Group: Productivity/Networking/DNS/Servers Requires: %{name} = %{version} %description backend-sqlite3 The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. This package holds the SQLite 3 backend for pdns. %package backend-ldap # Summary: LDAP backend for pdns Group: Productivity/Networking/DNS/Servers Requires: %{name} = %{version} %description backend-ldap The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. This package holds the LDAP backend for pdns. %package backend-lua # Summary: Lua backend for pdns Group: Productivity/Networking/DNS/Servers Requires: %{name} = %{version} %description backend-lua The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. This package holds the Lua backend for pdns. %package backend-remote # Summary: Remote backend for pdns Group: Productivity/Networking/DNS/Servers Requires: %{name} = %{version} %description backend-remote The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. This package holds the remote backend for pdns. %package backend-geoip # Summary: GeoIP backend for pdns Group: Productivity/Networking/DNS/Servers Requires: %{name} = %{version} %description backend-geoip The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. This package holds the GeoIP backend for pdns. %if %{with pdns_lmdb} %package backend-lmdb # Summary: LMDB backend for pdns Group: Productivity/Networking/DNS/Servers Requires: %{name} = %{version} %description backend-lmdb The PowerDNS Nameserver is a authoritative-only nameserver. It conforms to contemporary DNS standards documents. This package holds the LMDB backend for pdns. %endif %prep %autosetup -n %{name}-%{version} -p1 %build %if 0%{?force_gcc_version} export CC="gcc-%{?force_gcc_version}" export CXX="g++-%{?force_gcc_version}" %endif %configure \ --docdir=%{_docdir}/%{name}/ \ --disable-silent-rules \ --with-socketdir=%{_localstatedir} \ --localstatedir=%{_localstatedir} \ --enable-reproducible \ --with-libsodium \ --enable-dns-over-tls \ --with-service-user=pdns \ --with-service-group=pdns \ --with-socketdir=/run/ \ --sysconfdir=%{_sysconfdir}/%{name} \ --libdir=%{_libdir} \ --with-mysql-lib=%{_libdir} \ %if %{with pdns_pkcs11} --enable-experimental-pkcs11 \ %endif %if %{with sanitizer} --enable-asan \ --enable-msan \ --enable-tsan \ --enable-lsan \ --enable-ubsan \ %endif --enable-malloc-trace \ %if %{with pdns_zeromq} --enable-remotebackend-zeromq \ %endif --with-modules="" \ %if %{with pdns_lua} --with-lua \ %endif --with-dynmodules="\ bind \ %if %{with pdns_geoip} geoip \ %endif gmysql \ %if %{with pdns_odbc} godbc \ %endif gpgsql \ %if %{with pdns_sqlite3} gsqlite3 \ %endif ldap \ %if %{with pdns_lmdb} lmdb \ %endif %if %{with pdns_lua} lua2 \ %endif pipe \ remote \ %if %{with pdns_tinydns} tinydns \ %endif "\ %if %{with pdns_tools} --enable-tools \ %if %{with pdns_ixfrdist} --enable-ixfrdist \ %endif %endif --disable-static make %{?_smp_mflags} all %install %make_install sed -i "s:# setgid=:setgid=pdns:g s:# setuid=:setuid=pdns:g" \ %{buildroot}%{_sysconfdir}/%{name}/pdns.conf-dist mv %{buildroot}%{_sysconfdir}/%{name}/pdns.conf-dist %{buildroot}%{_sysconfdir}/%{name}/pdns.conf ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} %if %{with pdns_ixfrdist} mv %{buildroot}%{_sysconfdir}/%{name}/ixfrdist.{example.yml,yml} ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcixfrdist %endif find %{buildroot} -type f -name "*.la" -delete -print %pre %service_add_pre %{services} %post %service_add_post %{services} %preun %service_del_preun %{services} %postun %service_del_postun %{services} %files %doc NOTICE README* %license COPYING %exclude %{_docdir}/%{name}/*.sql %exclude %{_docdir}/%{name}/*.schema %{_unitdir}/%{name}.service %{_unitdir}/%{name}@.service %config(noreplace) %attr(640,root,pdns) %{_sysconfdir}/%{name}/%{name}.conf %{_bindir}/dnsbulktest %{_bindir}/dnspcap2calidns %{_bindir}/dnsreplay %{_bindir}/dnsscan %{_bindir}/dnsscope %{_bindir}/dnstcpbench %{_bindir}/dnswasher %{_bindir}/nproxy %{_bindir}/nsec3dig %{_bindir}/saxfr %{_bindir}/calidns %{_bindir}/dnsgram %{_bindir}/dumresp %{_bindir}/ixplore %{_bindir}/sdig %{_bindir}/pdns_control %{_bindir}/pdns_notify %{_bindir}/pdnsutil %{_bindir}/stubquery %{_bindir}/zone2sql %{_bindir}/zone2json %{_sbindir}/rcpdns %{_sbindir}/pdns_server %{_bindir}/dnspcap2protobuf %{_mandir}/man1/dnspcap2protobuf.1%{?ext_man} %{_mandir}/man1/dnsbulktest.1%{?ext_man} %{_mandir}/man1/dnspcap2calidns.1%{?ext_man} %{_mandir}/man1/dnsgram.1%{?ext_man} %{_mandir}/man1/dnsscan.1%{?ext_man} %{_mandir}/man1/ixplore.1%{?ext_man} %{_mandir}/man1/nsec3dig.1%{?ext_man} %{_mandir}/man1/saxfr.1%{?ext_man} %{_mandir}/man1/sdig.1%{?ext_man} %{_mandir}/man1/dnstcpbench.1%{?ext_man} %{_mandir}/man1/dnsreplay.1%{?ext_man} %{_mandir}/man1/dnsscope.1%{?ext_man} %{_mandir}/man1/dnswasher.1%{?ext_man} %{_mandir}/man1/pdns_control.1%{?ext_man} %{_mandir}/man1/pdns_notify.1%{?ext_man} %{_mandir}/man1/pdns_server.1%{?ext_man} %{_mandir}/man1/pdnsutil.1%{?ext_man} %{_mandir}/man1/zone2json.1%{?ext_man} %{_mandir}/man1/zone2sql.1%{?ext_man} %{_mandir}/man1/calidns.1%{?ext_man} %{_mandir}/man1/dumresp.1%{?ext_man} %{_mandir}/man1/nproxy.1%{?ext_man} %dir %{_libdir}/%{name} %{_libdir}/%{name}/libpipebackend.so* %{_libdir}/%{name}/libbindbackend.so* %if %{with pdns_ixfrdist} %config(noreplace) %attr(640,root,pdns) %{_sysconfdir}/%{name}/ixfrdist.yml %{_unitdir}/ixfrdist.service %{_unitdir}/ixfrdist@.service %{_bindir}/ixfrdist %{_sbindir}/rcixfrdist %{_mandir}/man5/ixfrdist.yml.5%{?ext_man} %{_mandir}/man1/ixfrdist.1%{?ext_man} %endif %files backend-mysql %{_libdir}/%{name}/libgmysqlbackend.so* %doc %{_docdir}/%{name}/*.mysql.sql %if %{with pdns_lua} %files backend-lua %{_libdir}/%{name}/liblua2backend.so* %endif %files backend-postgresql %{_libdir}/%{name}/libgpgsqlbackend.so* %doc %{_docdir}/%{name}/*.pgsql.sql %if %{with pdns_sqlite3} %files backend-sqlite3 %{_libdir}/%{name}/libgsqlite3backend.so* %doc %{_docdir}/%{name}/*.sqlite3.sql %endif %files backend-ldap %{_bindir}/zone2ldap %{_libdir}/%{name}/libldapbackend.so* %{_mandir}/man1/zone2ldap.1%{?ext_man} %doc %{_docdir}/%{name}/*.schema %if %{with pdns_odbc} %files backend-godbc %{_libdir}/%{name}/libgodbcbackend.so* %endif %if %{with pdns_geoip} %files backend-geoip %{_libdir}/%{name}/libgeoipbackend.so* %endif %files backend-remote %{_libdir}/%{name}/libremotebackend.so %if %{with pdns_lmdb} %files backend-lmdb %{_libdir}/%{name}/liblmdbbackend.so %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor