Package init
This commit is contained in:
commit
f61a322739
77
ldns-1.7.0-multilib.patch
Normal file
77
ldns-1.7.0-multilib.patch
Normal file
@ -0,0 +1,77 @@
|
||||
diff --git a/ldns-1.7.0/configure b/ldns-1.7.0/configure
|
||||
index cd087de..aeec9fb 100755
|
||||
--- a/ldns-1.7.0/configure
|
||||
+++ b/ldns-1.7.0/configure
|
||||
@@ -684,6 +684,7 @@ PYTHON_SITE_PKG
|
||||
PYTHON_LDFLAGS
|
||||
PYTHON_CPPFLAGS
|
||||
PYTHON
|
||||
+PYTHON_LIB
|
||||
PYTHON_VERSION
|
||||
UNINSTALL_CONFIG_MANPAGE
|
||||
UNINSTALL_CONFIG
|
||||
@@ -14311,6 +14312,7 @@ EOD`
|
||||
# use the official shared library
|
||||
ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
|
||||
PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
|
||||
+ PYTHON_LIB="$ac_python_library"
|
||||
else
|
||||
# old way: use libpython from python_configdir
|
||||
ac_python_libdir=`$PYTHON -c \
|
||||
@@ -14318,6 +14320,7 @@ EOD`
|
||||
import os; \
|
||||
print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
|
||||
PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
|
||||
+ PYTHON_LIB="python$ac_python_version"
|
||||
fi
|
||||
|
||||
if test -z "PYTHON_LDFLAGS"; then
|
||||
diff --git a/ldns-1.7.0/packaging/ldns-config.in b/ldns-1.7.0/packaging/ldns-config.in
|
||||
index ffb2c57..950c135 100755
|
||||
--- a/ldns-1.7.0/packaging/ldns-config.in
|
||||
+++ b/ldns-1.7.0/packaging/ldns-config.in
|
||||
@@ -3,13 +3,26 @@
|
||||
prefix="@prefix@"
|
||||
exec_prefix="@exec_prefix@"
|
||||
VERSION="@PACKAGE_VERSION@"
|
||||
-CFLAGS="@CFLAGS@"
|
||||
CPPFLAGS="@CPPFLAGS@ @LIBSSL_CPPFLAGS@ @PYTHON_CPPFLAGS@"
|
||||
-LDFLAGS="@LDFLAGS@ @LIBSSL_LDFLAGS@ @PYTHON_LDFLAGS@"
|
||||
LIBS="@LIBS@ @LIBSSL_LIBS@"
|
||||
-LIBDIR="@libdir@"
|
||||
INCLUDEDIR="@includedir@"
|
||||
LIBVERSION="@VERSION_INFO@"
|
||||
+ARCH="`uname -m`"
|
||||
+
|
||||
+case $ARCH in
|
||||
+ x86_64 | amd64 | sparc64 | s390x | ppc64)
|
||||
+
|
||||
+ LIBDIR="/usr/lib64"
|
||||
+ LIBDIR_SEC="/usr/lib"
|
||||
+ ;;
|
||||
+ * )
|
||||
+ LIBDIR="/usr/lib"
|
||||
+ LIBDIR_SEC="/usr/lib64"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+LDFLAGS="@LDFLAGS@ @LIBSSL_LDFLAGS@ -L$LIBDIR -l@PYTHON_LIB@"
|
||||
+LDFLAGS_SEC="@LDFLAGS@ @LIBSSL_LDFLAGS@ -L$LIBDIR_SEC -l@PYTHON_LIB@"
|
||||
|
||||
for arg in $@
|
||||
do
|
||||
@@ -21,9 +34,13 @@ do
|
||||
then
|
||||
echo "${LDFLAGS} -L${LIBDIR} ${LIBS} -lldns"
|
||||
fi
|
||||
+ if [ $arg = "--libs_sec" ]
|
||||
+ then
|
||||
+ echo "${LDFLAGS_SEC} -L${LIBDIR_SEC} ${LIBS} -lldns"
|
||||
+ fi
|
||||
if [ $arg = "-h" ] || [ $arg = "--help" ]
|
||||
then
|
||||
- echo "Usage: $0 [--cflags] [--libs] [--version]"
|
||||
+ echo "Usage: $0 [--cflags] [--libs] [--libs_sec] [--version]"
|
||||
fi
|
||||
if [ $arg = "--version" ]
|
||||
then
|
||||
28
ldns-1.7.0-parse-limit.patch
Normal file
28
ldns-1.7.0-parse-limit.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From c8391790c96d4c8a2c10f9ab1460fda83b509fc2 Mon Sep 17 00:00:00 2001
|
||||
From: Willem Toorop <willem@nlnetlabs.nl>
|
||||
Date: Thu, 27 Apr 2017 00:14:58 +0200
|
||||
Subject: [PATCH] Check parse limit before t increment
|
||||
|
||||
Thanks Stephan Zeisberg
|
||||
---
|
||||
parse.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/parse.c b/parse.c
|
||||
index e68627c..947dbb8 100644
|
||||
--- a/parse.c
|
||||
+++ b/parse.c
|
||||
@@ -118,6 +118,10 @@ ldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *li
|
||||
if (line_nr) {
|
||||
*line_nr = *line_nr + 1;
|
||||
}
|
||||
+ if (limit > 0 && (i >= limit || (size_t)(t-token) >= limit)) {
|
||||
+ *t = '\0';
|
||||
+ return -1;
|
||||
+ }
|
||||
*t++ = ' ';
|
||||
prev_c = c;
|
||||
continue;
|
||||
--
|
||||
2.9.5
|
||||
|
||||
30
ldns-1.7.0-realloc.patch
Normal file
30
ldns-1.7.0-realloc.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 3bdeed02505c9bbacb3b64a97ddcb1de967153b7 Mon Sep 17 00:00:00 2001
|
||||
From: Willem Toorop <willem@nlnetlabs.nl>
|
||||
Date: Thu, 27 Apr 2017 00:25:20 +0200
|
||||
Subject: [PATCH] bugfix #1257: Free after reallocing to 0 size
|
||||
|
||||
Thanks Stephan Zeisberg
|
||||
---
|
||||
str2host.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/str2host.c b/str2host.c
|
||||
index b274b17..f2a317b 100644
|
||||
--- a/str2host.c
|
||||
+++ b/str2host.c
|
||||
@@ -1525,8 +1525,10 @@ ldns_str2rdf_long_str(ldns_rdf **rd, const char *str)
|
||||
if (! str) {
|
||||
return LDNS_STATUS_SYNTAX_BAD_ESCAPE;
|
||||
}
|
||||
- length = (size_t)(dp - data);
|
||||
-
|
||||
+ if (!(length = (size_t)(dp - data))) {
|
||||
+ LDNS_FREE(data);
|
||||
+ return LDNS_STATUS_SYNTAX_EMPTY;
|
||||
+ }
|
||||
/* Lose the overmeasure */
|
||||
data = LDNS_XREALLOC(dp = data, uint8_t, length);
|
||||
if (! data) {
|
||||
--
|
||||
2.9.5
|
||||
|
||||
BIN
ldns-1.7.0.tar.gz
Normal file
BIN
ldns-1.7.0.tar.gz
Normal file
Binary file not shown.
328
ldns.spec
Normal file
328
ldns.spec
Normal file
@ -0,0 +1,328 @@
|
||||
%global _hardened_build 1
|
||||
|
||||
%bcond_without perl
|
||||
%bcond_without ecdsa
|
||||
|
||||
%bcond_without eddsa
|
||||
%bcond_without dane_ta
|
||||
|
||||
%bcond_with gost
|
||||
|
||||
%{?!snapshot: %global snapshot 0}
|
||||
|
||||
%if %{with_python2} || %{with_python3}
|
||||
%{?filter_setup:
|
||||
%global _ldns_internal_filter /^_ldns[.]so.*/d;
|
||||
%filter_from_requires %{_ldns_internal_filter}
|
||||
%filter_from_provides %{_ldns_internal_filter}
|
||||
%filter_setup
|
||||
}
|
||||
%global _ldns_internal _ldns[.]so[.].*
|
||||
%global __requires_exclude ^(%{_ldns_internal})$
|
||||
%global __provides_exclude ^(%{_ldns_internal})$
|
||||
%endif
|
||||
|
||||
%if %{with perl}
|
||||
%{?perl_default_filter}
|
||||
%endif
|
||||
|
||||
Name: ldns
|
||||
Version: 1.7.0
|
||||
Release: 22
|
||||
Summary: Low-level DNS(SEC) library with API
|
||||
|
||||
License: BSD
|
||||
Url: https://www.nlnetlabs.nl/projects/%{name}/about/
|
||||
Source0: https://www.nlnetlabs.nl/downloads/%{name}/%{name}-%{version}.tar.gz
|
||||
|
||||
Patch1: %{name}-1.7.0-multilib.patch
|
||||
Patch2: %{name}-1.7.0-parse-limit.patch
|
||||
Patch3: %{name}-1.7.0-realloc.patch
|
||||
|
||||
%if 0%{snapshot}
|
||||
BuildRequires: libtool autoconf automake
|
||||
%endif
|
||||
|
||||
BuildRequires: gcc make libpcap-devel gcc-c++ doxygen
|
||||
%if %{with dane_ta}
|
||||
BuildRequires: openssl-devel >= 1.1.0
|
||||
%else
|
||||
BuildRequires: openssl-devel >= 1.0.2k
|
||||
%endif
|
||||
|
||||
%if %{with_python2}
|
||||
BuildRequires: python2-devel, swig
|
||||
%endif
|
||||
%if %{with_python3}
|
||||
BuildRequires: python3-devel, swig
|
||||
%endif
|
||||
%if %{with perl}
|
||||
BuildRequires: perl-devel perl-ExtUtils-MakeMaker
|
||||
BuildRequires: perl-generators perl(Devel::CheckLib)
|
||||
%endif
|
||||
Requires: ca-certificates
|
||||
|
||||
%description
|
||||
The goal of ldns is to simplify DNS programming, it supports recent RFCs
|
||||
like the DNSSEC documents, and allows developers to easily create software
|
||||
conforming to current RFCs, and experimental software for current Internet
|
||||
Drafts. A secondary benefit of using ldns is speed; ldns is written in C
|
||||
it should be a lot faster than Perl.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: pkgconfig openssl-devel
|
||||
|
||||
Provides: %{name}-utils
|
||||
Obsoletes: %{name}-utils
|
||||
|
||||
%description devel
|
||||
%{name}-devel contains the header files for developing
|
||||
applications that want to make use of %{name}.
|
||||
|
||||
%if %{with python2}
|
||||
%package -n python2-%{name}
|
||||
Summary: Python2 extensions for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python2-%{name}}
|
||||
|
||||
%description -n python2-%{name}
|
||||
Python2 packages for %{name}
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with python3}
|
||||
%package -n python3-%{name}
|
||||
Summary: Python3 extensions for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python3-%{name}}
|
||||
|
||||
%description -n python3-%{name}
|
||||
Python3 packages for %{name}
|
||||
%endif
|
||||
|
||||
%if %{with perl}
|
||||
%package -n perl-%{name}
|
||||
Summary: Perl information for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||
|
||||
%description -n perl-%{name}
|
||||
Perl packages for %{name}
|
||||
%endif
|
||||
|
||||
%package help
|
||||
Summary: Documents for %{name}
|
||||
Buildarch: noarch
|
||||
Requires: man info
|
||||
|
||||
Provides: %{name}-doc
|
||||
Obsoletes: %{name}-doc
|
||||
|
||||
%description help
|
||||
Man pages and other related documents for %{name}.
|
||||
|
||||
%prep
|
||||
%{?extra_version:%global pkgname %{name}-%{version}%{extra_version}}%{!?extra_version:%global pkgname %{name}-%{version}}
|
||||
|
||||
%setup -qcn %{pkgname}
|
||||
pushd %{pkgname}
|
||||
|
||||
%patch1 -p2 -b .multilib
|
||||
%patch2 -p1 -b .limit
|
||||
%patch3 -p1 -b .realloc
|
||||
|
||||
%if 0%{snapshot}
|
||||
rm config.guess config.sub ltmain.sh
|
||||
aclocal
|
||||
libtoolize -c --install
|
||||
autoreconf --install
|
||||
%endif
|
||||
|
||||
sed -i "s/@includedir@/@includedir@\/ldns/" packaging/libldns.pc.in
|
||||
|
||||
cp -pr doc LICENSE README* Changelog ../
|
||||
cp -p contrib/ldnsx/LICENSE ../LICENSE.ldnsx
|
||||
cp -p contrib/ldnsx/README ../README.ldnsx
|
||||
popd
|
||||
|
||||
%if %{with python3}
|
||||
mv %{pkgname} %{pkgname}_python3
|
||||
%endif
|
||||
|
||||
%if %{with python2}
|
||||
cp -a %{pkgname}_python3 %{pkgname}_python2
|
||||
%endif
|
||||
|
||||
%build
|
||||
CFLAGS="%{optflags} -fPIC"
|
||||
CXXFLAGS="%{optflags} -fPIC"
|
||||
LDFLAGS="$RPM_LD_FLAGS -Wl,-z,now -pie"
|
||||
export CFLAGS CXXFLAGS LDFLAGS
|
||||
|
||||
%if %{with gost}
|
||||
%global enable_gost --enable-gost
|
||||
%else
|
||||
%global enable_gost --disable-gost
|
||||
%endif
|
||||
|
||||
%if %{with ecdsa}
|
||||
%global enable_ecdsa --enable-ecdsa
|
||||
%else
|
||||
%global enable_ecdsa --disable-ecdsa
|
||||
%endif
|
||||
|
||||
%if %{with eddsa}
|
||||
%global enable_eddsa --enable-ed25519 --enable-ed448
|
||||
%else
|
||||
%global enable_eddsa --disable-ed25519 --disable-ed448
|
||||
%endif
|
||||
|
||||
%if ! %{with dane_ta}
|
||||
%global disable_dane_ta --disable-dane-ta-usage
|
||||
%endif
|
||||
|
||||
%global common_args \\\
|
||||
--disable-rpath \\\
|
||||
%{enable_gost} %{enable_ecdsa} %{enable_eddsa} %{?disable_dane_ta} \\\
|
||||
--with-ca-file=/etc/pki/tls/certs/ca-bundle.trust.crt \\\
|
||||
--with-ca-path=/etc/pki/tls/certs/ \\\
|
||||
--with-trust-anchor=%{_sharedstatedir}/unbound/root.key \\\
|
||||
--disable-static \\\
|
||||
|
||||
|
||||
%if 0%{with_python3}
|
||||
pushd %{pkgname}_python3
|
||||
%else
|
||||
pushd %{pkgname}
|
||||
%endif
|
||||
|
||||
%configure \
|
||||
%{common_args} \
|
||||
--with-examples \
|
||||
--with-drill \
|
||||
%if %{with_python3}
|
||||
--with-pyldns PYTHON=%{__python3}
|
||||
%endif
|
||||
|
||||
make %{?_smp_mflags}
|
||||
make %{?_smp_mflags} doc
|
||||
|
||||
%if %{with perl}
|
||||
pushd contrib/DNS-LDNS
|
||||
LD_LIBRARY_PATH="../../lib:$LD_LIBRARY_PATH" perl \
|
||||
Makefile.PL INSTALLDIRS=vendor INC="-I. -I../.." LIBS="-L../../lib"
|
||||
make
|
||||
popd
|
||||
%endif
|
||||
|
||||
sed -i "s~$RPM_LD_FLAGS~~" packaging/ldns-config
|
||||
popd
|
||||
|
||||
%if %{with_python2}
|
||||
pushd %{pkgname}_python2
|
||||
%configure \
|
||||
%{common_args} \
|
||||
--with-pyldns PYTHON=%{__python2}
|
||||
|
||||
make %{?_smp_mflags}
|
||||
popd
|
||||
%endif
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%if %{with_python3}
|
||||
pushd %{pkgname}_python3
|
||||
%else
|
||||
pushd %{pkgname}
|
||||
%endif
|
||||
|
||||
make DESTDIR=%{buildroot} INSTALL="%{__install} -p" install
|
||||
make DESTDIR=%{buildroot} INSTALL="%{__install} -p" install-doc
|
||||
|
||||
%delete_la
|
||||
%if %{with_python3}
|
||||
rm -rf %{buildroot}%{python3_sitearch}/*.la
|
||||
%endif
|
||||
|
||||
install -D -m644 packaging/libldns.pc %{buildroot}%{_libdir}/pkgconfig/ldns.pc
|
||||
%if %{with perl}
|
||||
make -C contrib/DNS-LDNS DESTDIR=%{buildroot} pure_install
|
||||
chmod 755 %{buildroot}%{perl_vendorarch}/auto/DNS/LDNS/LDNS.so
|
||||
rm -f %{buildroot}%{perl_vendorarch}/auto/DNS/LDNS/{.packlist,LDNS.bs}
|
||||
%endif
|
||||
popd
|
||||
|
||||
%if %{with_python2}
|
||||
pushd %{pkgname}_python2
|
||||
make DESTDIR=%{buildroot} INSTALL="%{__install} -p" install-pyldns install-pyldnsx
|
||||
rm -rf %{buildroot}%{_libdir}/*.la %{buildroot}%{python2_sitearch}/*.la
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
||||
rm doc/*.xml
|
||||
|
||||
rm doc/doxyparse.pl
|
||||
|
||||
rm -rf doc/man
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%license LICENSE
|
||||
%{_bindir}/%{name}-config
|
||||
%{_libdir}/libldns.so.*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/drill
|
||||
%{_bindir}/ldnsd
|
||||
%{_bindir}/%{name}-*
|
||||
%{_libdir}/libldns.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
%dir %{_includedir}/%{name}
|
||||
%{_includedir}/%{name}/*.h
|
||||
|
||||
%if %{with_python2}
|
||||
%files -n python2-%{name}
|
||||
%defattr(-,root,root)
|
||||
%license LICENSE.ldnsx
|
||||
%{python2_sitearch}/*
|
||||
%endif
|
||||
|
||||
%if %{with_python3}
|
||||
%files -n python3-ldns
|
||||
%defattr(-,root,root)
|
||||
%license LICENSE.ldnsx
|
||||
%{python3_sitearch}/*
|
||||
%endif
|
||||
|
||||
%if %{with perl}
|
||||
%files -n perl-ldns
|
||||
%defattr(-,root,root)
|
||||
%{perl_vendorarch}/*
|
||||
%exclude %dir %{perl_vendorarch}/auto/DNS/
|
||||
%endif
|
||||
|
||||
%files help
|
||||
%defattr(-,root,root)
|
||||
%doc doc README Changelog README.git
|
||||
%{_mandir}/man1/*
|
||||
%{_mandir}/man3/*.3.gz
|
||||
%if %{with_python2}
|
||||
%doc %{pkgname}_python2/contrib/python/Changelog README.ldnsx
|
||||
%endif
|
||||
%if %{with_python3}
|
||||
%doc %{pkgname}_python3/contrib/python/Changelog README.ldnsx
|
||||
%endif
|
||||
%if %{with perl}
|
||||
%{_mandir}/man3/*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sat Sep 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 0.17.9-4
|
||||
- Package init
|
||||
Loading…
x
Reference in New Issue
Block a user