From 9cafd48d408b8402c79a25f3f103798e67d5dd22 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 7 May 2019 05:48:57 -0400 Subject: [PATCH] import libtalloc-2.1.14-3.el8 --- .gitignore | 1 + .libtalloc.metadata | 1 + SOURCES/fstack_flags.patch | 117 ++++++++++++ SPECS/libtalloc.spec | 375 +++++++++++++++++++++++++++++++++++++ 4 files changed, 494 insertions(+) create mode 100644 .gitignore create mode 100644 .libtalloc.metadata create mode 100644 SOURCES/fstack_flags.patch create mode 100644 SPECS/libtalloc.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e01da7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/talloc-2.1.14.tar.gz diff --git a/.libtalloc.metadata b/.libtalloc.metadata new file mode 100644 index 0000000..a612d27 --- /dev/null +++ b/.libtalloc.metadata @@ -0,0 +1 @@ +9d563b768148b620bdae1c97b36cfc30928a1044 SOURCES/talloc-2.1.14.tar.gz diff --git a/SOURCES/fstack_flags.patch b/SOURCES/fstack_flags.patch new file mode 100644 index 0000000..93991ef --- /dev/null +++ b/SOURCES/fstack_flags.patch @@ -0,0 +1,117 @@ +From 9673dcd70489c1c9df22aa0eb7a98afbccc0ced3 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Mon, 3 Sep 2018 10:35:08 +0200 +Subject: [PATCH 1/2] waf: Check for -fstack-protect-strong support + +The -fstack-protector* flags are compiler only flags, don't pass them to +the linker. + +https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/ + +BUG: https://bugzilla.samba.org/show_bug.cgi?id=13601 + +Signed-off-by: Andreas Schneider +Reviewed-by: Andrew Bartlett +(cherry picked from commit 38e97f8b52e85bdfcf2d74a4fb3c848fa46ba371) +--- + buildtools/wafsamba/samba_autoconf.py | 36 ++++++++++++++------------- + 1 file changed, 19 insertions(+), 17 deletions(-) + +diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py +index c4391d0c4dc..bfd6f9710db 100644 +--- a/buildtools/wafsamba/samba_autoconf.py ++++ b/buildtools/wafsamba/samba_autoconf.py +@@ -674,23 +674,25 @@ def SAMBA_CONFIG_H(conf, path=None): + return + + # we need to build real code that can't be optimized away to test +- if conf.check(fragment=''' +- #include +- +- int main(void) +- { +- char t[100000]; +- while (fgets(t, sizeof(t), stdin)); +- return 0; +- } +- ''', +- execute=0, +- ccflags='-fstack-protector', +- ldflags='-fstack-protector', +- mandatory=False, +- msg='Checking if toolchain accepts -fstack-protector'): +- conf.ADD_CFLAGS('-fstack-protector') +- conf.ADD_LDFLAGS('-fstack-protector') ++ stack_protect_list = ['-fstack-protector-strong', '-fstack-protector'] ++ for stack_protect_flag in stack_protect_list: ++ flag_supported = conf.check(fragment=''' ++ #include ++ ++ int main(void) ++ { ++ char t[100000]; ++ while (fgets(t, sizeof(t), stdin)); ++ return 0; ++ } ++ ''', ++ execute=0, ++ ccflags=[ '-Werror', '-Wp,-D_FORTIFY_SOURCE=2', stack_protect_flag], ++ mandatory=False, ++ msg='Checking if compiler accepts %s' % (stack_protect_flag)) ++ if flag_supported: ++ conf.ADD_CFLAGS('-Wp,-D_FORTIFY_SOURCE=2 %s' % (stack_protect_flag)) ++ break + + if Options.options.debug: + conf.ADD_CFLAGS('-g', testflags=True) +-- +2.18.0 + + +From 5cfefc8d4c7fc4aba5b1dc2b7ea6f02c126d4070 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Mon, 3 Sep 2018 10:49:52 +0200 +Subject: [PATCH 2/2] waf: Add -fstack-clash-protection + +https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/ + +BUG: https://bugzilla.samba.org/show_bug.cgi?id=13601 + +Signed-off-by: Andreas Schneider +Reviewed-by: Andrew Bartlett +(cherry picked from commit fc4df251c88365142515a81bea1120b2b84cc4a0) +--- + buildtools/wafsamba/samba_autoconf.py | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py +index bfd6f9710db..f2b3ec8db8d 100644 +--- a/buildtools/wafsamba/samba_autoconf.py ++++ b/buildtools/wafsamba/samba_autoconf.py +@@ -694,6 +694,23 @@ def SAMBA_CONFIG_H(conf, path=None): + conf.ADD_CFLAGS('-Wp,-D_FORTIFY_SOURCE=2 %s' % (stack_protect_flag)) + break + ++ flag_supported = conf.check(fragment=''' ++ #include ++ ++ int main(void) ++ { ++ char t[100000]; ++ while (fgets(t, sizeof(t), stdin)); ++ return 0; ++ } ++ ''', ++ execute=0, ++ ccflags=[ '-Werror', '-fstack-clash-protection'], ++ mandatory=False, ++ msg='Checking if compiler accepts -fstack-clash-protection') ++ if flag_supported: ++ conf.ADD_CFLAGS('-fstack-clash-protection') ++ + if Options.options.debug: + conf.ADD_CFLAGS('-g', testflags=True) + +-- +2.18.0 + diff --git a/SPECS/libtalloc.spec b/SPECS/libtalloc.spec new file mode 100644 index 0000000..2d40ea2 --- /dev/null +++ b/SPECS/libtalloc.spec @@ -0,0 +1,375 @@ +%if 0%{?fedora} || 0%{?rhel} > 7 +%global with_python3 1 +%else +%global with_python3 0 +%endif + +Name: libtalloc +Version: 2.1.14 +Release: 3%{?dist} +Group: System Environment/Daemons +Summary: The talloc library +License: LGPLv3+ +URL: https://talloc.samba.org/ +Source: https://www.samba.org/ftp/talloc/talloc-%{version}.tar.gz + +BuildRequires: gcc +BuildRequires: libxslt +BuildRequires: docbook-style-xsl +BuildRequires: python2-devel +%if 0%{?with_python3} +BuildRequires: python3-devel +%endif +BuildRequires: doxygen + +Provides: bundled(libreplace) + +# Patches +Patch0001: fstack_flags.patch + +%description +A library that implements a hierarchical allocator with destructors. + +%package devel +Group: Development/Libraries +Summary: Developer tools for the Talloc library +Requires: libtalloc = %{version}-%{release} + +%description devel +Header files needed to develop programs that link against the Talloc library. + +%package -n python2-talloc +Group: Development/Libraries +Summary: Python bindings for the Talloc library +Requires: libtalloc = %{version}-%{release} +Provides: pytalloc%{?_isa} = %{version}-%{release} +Provides: pytalloc = %{version}-%{release} +Obsoletes: pytalloc < 2.1.3 +%{?python_provide:%python_provide python2-talloc} + +%description -n python2-talloc +Python 2 libraries for creating bindings using talloc + +%package -n python2-talloc-devel +Group: Development/Libraries +Summary: Development libraries for python2-talloc +Requires: python2-talloc = %{version}-%{release} +Provides: pytalloc-devel%{?_isa} = %{version}-%{release} +Provides: pytalloc-devel = %{version}-%{release} +Obsoletes: pytalloc-devel < 2.1.3 +%{?python_provide:%python_provide python2-talloc-devel} + +%description -n python2-talloc-devel +Development libraries for python2-talloc + +%if 0%{?with_python3} +%package -n python3-talloc +Group: Development/Libraries +Summary: Python bindings for the Talloc library +Requires: libtalloc = %{version}-%{release} +%{?python_provide:%python_provide python3-talloc} + +%description -n python3-talloc +Python 3 libraries for creating bindings using talloc + +%package -n python3-talloc-devel +Group: Development/Libraries +Summary: Development libraries for python3-talloc +Requires: python3-talloc = %{version}-%{release} +%{?python_provide:%python_provide python3-talloc-devel} + +%description -n python3-talloc-devel +Development libraries for python3-talloc +%endif + +%prep +%autosetup -n talloc-%{version} -p1 + +%build + +%if 0%{?with_python3} +PY3_CONFIG_FLAGS=--extra-python=%{__python3} +%else +PY3_CONFIG_FLAGS="" +%endif + +# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1217376 +export python_LDFLAGS="" + +# https://bugzilla.redhat.com/show_bug.cgi?id=1597315 - libtalloc uses +# Python 2 to build +pathfix.py -n -p -i %{__python2} buildtools/bin/waf +export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 +export PYTHON=%{__python2} + +%configure --disable-rpath \ + --disable-rpath-install \ + --bundled-libraries=NONE \ + --builtin-libraries=replace \ + --disable-silent-rules \ + $PY3_CONFIG_FLAGS + +make %{?_smp_mflags} V=1 +doxygen doxy.config + +%check +# https://bugzilla.redhat.com/show_bug.cgi?id=1597315 - libtalloc uses +# Python 2 to build +export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 +make %{?_smp_mflags} check + +%install +# https://bugzilla.redhat.com/show_bug.cgi?id=1597315 - libtalloc uses +# Python 2 to build +export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 + +make install DESTDIR=$RPM_BUILD_ROOT + +# Shared libraries need to be marked executable for +# rpmbuild to strip them and include them in debuginfo +find $RPM_BUILD_ROOT -name "*.so*" -exec chmod -c +x {} \; + +rm -f $RPM_BUILD_ROOT%{_libdir}/libtalloc.a +rm -f $RPM_BUILD_ROOT/usr/share/swig/*/talloc.i + +# Install API docs +cp -a doc/man/* $RPM_BUILD_ROOT/%{_mandir} + +%files +%{_libdir}/libtalloc.so.* + +%files devel +%{_includedir}/talloc.h +%{_libdir}/libtalloc.so +%{_libdir}/pkgconfig/talloc.pc +%{_mandir}/man3/talloc*.3.gz +%{_mandir}/man3/libtalloc*.3.gz + +%files -n python2-talloc +%{_libdir}/libpytalloc-util.so.* +%{python2_sitearch}/talloc.so + +%files -n python2-talloc-devel +%{_includedir}/pytalloc.h +%{_libdir}/pkgconfig/pytalloc-util.pc +%{_libdir}/libpytalloc-util.so + +%if 0%{?with_python3} +%files -n python3-talloc +%{_libdir}/libpytalloc-util.cpython*.so.* +%{python3_sitearch}/talloc.cpython*.so + +%files -n python3-talloc-devel +%{_includedir}/pytalloc.h +%{_libdir}/pkgconfig/pytalloc-util.cpython-*.pc +%{_libdir}/libpytalloc-util.cpython*.so +%endif + +%ldconfig_scriptlets + +%ldconfig_scriptlets -n python2-talloc + +%if 0%{?with_python3} +%ldconfig_scriptlets -n python3-talloc +%endif + +%changelog +* Tue Sep 18 2018 Jakub Hrozek - 2.1.14-3 +- Resolves: rhbz#1624136 - Review annocheck distro flag failures in libtalloc + +* Thu Jul 12 2018 Jakub Hrozek - 2.1.14-2 +- Use pathfix.py to select python2 instead of python + +* Thu Jul 12 2018 Jakub Hrozek - 2.1.14-1 +- New upstream release - 2.1.14 +- Patch the waf script to explicitly call python2 as "env python" doesn't + yield py2 anymore + +* Tue Jun 19 2018 Miro Hrončok - 2.1.13-2 +- Rebuilt for Python 3.7 + +* Fri Apr 06 2018 Lukas Slebodnik - 2.1.13-1 +- rhbz#1564323 New upstream release - 2.1.13 + +* Thu Mar 22 2018 Lukas Slebodnik - 2.1.12-1 +- rhbz#1559378 New upstream release - 2.1.12 + +* Fri Mar 02 2018 Lukas Slebodnik - 2.1.11-6 +- Disable link time optimisation for python3 related libs +- Workaround for rhbz#1548823 + +* Mon Feb 26 2018 Lukas Slebodnik - 2.1.11-5 +- Add gcc to Buildroot +- https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot + +* Wed Feb 07 2018 Fedora Release Engineering - 2.1.11-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 2.1.11-3 +- Switch to %%ldconfig_scriptlets + +* Sat Jan 20 2018 Björn Esser - 2.1.11-2 +- Rebuilt for switch to libxcrypt + +* Sat Jan 13 2018 Lukas Slebodnik - 2.1.11-1 +- rhbz#1534136 New upstream release - 2.1.11 + +* Wed Nov 29 2017 Merlin Mathesius - 2.1.10-5 +- Cleanup spec file conditionals + +* Thu Aug 03 2017 Fedora Release Engineering - 2.1.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2.1.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 24 2017 Lukas Slebodnik - 2.1.10-2 +- fix location of pkgconfig files for libpytalloc* + +* Mon Jul 24 2017 Lukas Slebodnik - 2.1.10-1 +- rhbz#1473997 New upstream release - 2.1.10 +- enable unit tests + +* Thu Jul 06 2017 Andreas Schneider - 2.1.9-2 +- Install pytalloc-util for python3 as well + +* Tue Feb 28 2017 Lukas Slebodnik - 2.1.9-1 +- rhbz#1427352 New upstream release - 2.1.9 +- rhbz#1401225 - Rename python packages to match packaging guidelines + https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Fri Feb 10 2017 Fedora Release Engineering - 2.1.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 2.1.8-2 +- Rebuild for Python 3.6 + +* Thu Jul 28 2016 Jakub Hrozek - 2.1.8-1 +- New upstream release - 2.1.8 + +* Tue Jul 19 2016 Fedora Release Engineering - 2.1.7-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Fri May 6 2016 Jakub Hrozek - 2.1.7-1 +- New upstream release - 2.1.7 +- Resolves: rhbz#1333790 - libtalloc-2.1.7 is available + +* Wed Mar 9 2016 Jakub Hrozek - 2.1.6-1 +- New upstream release - 2.1.6 + +* Thu Feb 04 2016 Fedora Release Engineering - 2.1.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Nov 11 2015 Fedora Release Engineering - 2.1.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Wed Nov 11 2015 Jakub Hrozek - 2.1.5-1 +- New upstream release - 2.1.5 + +* Tue Nov 10 2015 Fedora Release Engineering - 2.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Wed Oct 14 2015 Jakub Hrozek - 2.1.4-1 +- New upstream release - 2.1.4 + +* Wed Jul 22 2015 Jakub Hrozek - 2.1.3-1 +- New upstream release - 2.1.3 +- Resolves: rhbz#1241928 - Switch libtalloc to use python3 +- Rename pytalloc to python-talloc (Miro Hrončok ) + +* Wed Jun 17 2015 Fedora Release Engineering - 2.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Mar 13 2015 Jakub Hrozek - 2.1.2-1 +- New upstream release - 2.1.2 + +* Sun Aug 17 2014 Fedora Release Engineering - 2.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 23 2014 Jakub Hrozek - 2.1.1-1 +- New upstream release + +* Sun Dec 15 2013 Jakub Hrozek - 2.1.0-3 +- Bump NVR in order to tag a build + +* Tue Sep 10 2013 Jakub Hrozek - 2.1.0-2 +- New upstream release + +* Sat Aug 03 2013 Fedora Release Engineering - 2.0.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 2.0.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Dec 01 2012 Jakub Hrozek - 2.0.8-1 +- New upstream release + +* Thu Jul 19 2012 Fedora Release Engineering - 2.0.7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 2.0.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 01 2011 Stephen Gallagher - 2.0.7-3 +- Add patch to ignore --disable-silent-rules +- Package API docs into libtalloc-devel + +* Wed Nov 23 2011 Stephen Gallagher - 2.0.7-2 +- Add explicit mention of the bundled libreplace +- https://fedorahosted.org/fpc/ticket/120 + +* Fri Nov 04 2011 Stephen Gallagher - 2.0.7-1 +- New upstream release +- Required for new Samba 4 alpha builds + +* Mon Aug 08 2011 Simo Sorce - 2.0.6-1 +- New upstream release +- Fixes various bugs with talloc_free_children and freeing complex + hierarchies with many siblinbgs. + +* Tue Feb 08 2011 Fedora Release Engineering - 2.0.5-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jan 14 2011 Stephen Gallagher - 2.0.5-7 +- Let rpmbuild strip binaries, make build more verbose. +- Resolves rhbz#669477 - libtalloc 2.0.5-6 binaries not stripped, +- empty -debuginfo +- Original patch by Ville Skyttä + +* Wed Jan 12 2011 Stephen Gallagher - 2.0.5-6 +- Install python bindings in the correct location + +* Tue Jan 11 2011 Stephen Gallagher - 2.0.5-5 +- Run ldconfig on pytalloc + +* Tue Jan 11 2011 Stephen Gallagher - 2.0.5-4 +- Fix build failure on 32-bit platforms + +* Tue Jan 11 2011 Stephen Gallagher - 2.0.5-3 +- New version from upstream +- Add support for pytalloc +- Convert to new WAF build-system + +* Tue Dec 15 2009 Simo Sorce - 2.0.1-1 +- New version from upstream +- Also stop building the compat lib, it is not necessary anymore + +* Tue Sep 8 2009 Simo Sorce - 2.0.0-0 +- New version from upstream. +- Build also sover 1 compat library to ease packages migration + +* Sat Jul 25 2009 Fedora Release Engineering - 1.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jun 17 2009 Simo Sorce - 1.3.1-1 +- Original tarballs had a screw-up, rebuild with new fixed tarballs from + upstream. + +* Tue Jun 16 2009 Simo Sorce - 1.3.1-0 +- New Upstream release. + +* Wed May 6 2009 Simo Sorce - 1.3.0-0 +- First public independent release from upstream