From cc23186efa8b2adc1bc3ab2fd5adf3be63a90df832bd0f93b4d3f0b378a6d842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= Date: Sun, 8 Nov 2015 13:43:19 +0000 Subject: [PATCH] - Create a 2nd talloc-man spec-file to avoid a build cycle. - Recommend to install tevent-man from libtalloc-devel. OBS-URL: https://build.opensuse.org/package/show/network:samba:STABLE/talloc?expand=0&rev=65 --- pre_checkin.sh | 4 + talloc-man.changes | 195 +++++++++++++++++++++++++++++++ talloc-man.spec | 283 +++++++++++++++++++++++++++++++++++++++++++++ talloc.changes | 6 + talloc.spec | 49 ++++++-- 5 files changed, 530 insertions(+), 7 deletions(-) create mode 100644 pre_checkin.sh create mode 100644 talloc-man.changes create mode 100644 talloc-man.spec diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 0000000..0fbde2e --- /dev/null +++ b/pre_checkin.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sed 's/%define.*build_man.*0/%define build_man 1/' talloc.spec > talloc-man.spec +cp -a talloc.changes talloc-man.changes diff --git a/talloc-man.changes b/talloc-man.changes new file mode 100644 index 0000000..e1c523d --- /dev/null +++ b/talloc-man.changes @@ -0,0 +1,195 @@ +------------------------------------------------------------------- +Sun Nov 8 13:30:08 UTC 2015 - lmuelle@suse.com + +- Create a 2nd talloc-man spec-file to avoid a build cycle. +- Recommend to install tevent-man from libtalloc-devel. + +------------------------------------------------------------------- +Fri Oct 30 11:57:39 UTC 2015 - lmuelle@suse.com + +- Add doxygen at build time to add the development documentation. +- Disable rpath-install and silent-rules while configure. + +------------------------------------------------------------------- +Sat Oct 24 21:19:20 UTC 2015 - lmuelle@suse.com + +- Add python3-talloc and python3-talloc-devel; (bsc#951911). + +------------------------------------------------------------------- +Thu Oct 22 20:41:47 UTC 2015 - lmuelle@suse.com + +- Rename pytalloc to python-talloc. + +------------------------------------------------------------------- +Thu Oct 22 18:07:41 UTC 2015 - lmuelle@suse.com + +- Update to 2.1.4; (bsc#951660). + + Test that talloc magic differs between processes. + + Increment minor version due to added talloc_test_get_magic. + + Provide tests access to talloc_magic. + + Test magic protection measures. + +------------------------------------------------------------------- +Mon Sep 7 17:06:26 UTC 2015 - lmuelle@suse.com + +- Update the Samba Library Distribution Key file 'talloc.keyring'; + (bso#945116). + +------------------------------------------------------------------- +Wed Jul 22 07:37:51 UTC 2015 - lmuelle@suse.com + +- Update to 2.1.3; (bsc#939051). + + improved python3 bindings + + documentation fixes regarding talloc_reference() and talloc_unlink() + +------------------------------------------------------------------- +Thu Apr 16 11:55:06 UTC 2015 - lmuelle@suse.com + +- Update to 2.1.2. + + Fix memory leak in SMB2 notify handling; (bso#11144). + + fix _talloc_total_limit_size prototype + + build: improve detection of srcdir + +------------------------------------------------------------------- +Thu Nov 6 13:06:50 UTC 2014 - lmuelle@suse.com + +- Use the upstream tar ball, as signature verification is now able to handle + compressed archives. + +------------------------------------------------------------------- +Fri May 23 19:15:38 UTC 2014 - lmuelle@suse.com + +- Require pkg-config from the devel packages. + +------------------------------------------------------------------- +Thu May 22 17:44:49 UTC 2014 - lmuelle@suse.com + +- Update to 2.1.1. + + documentation updates + + a fix for pytalloc-util.pc + + performance improvements here and there + + fixed compiler warnings + +------------------------------------------------------------------- +Tue May 20 11:59:12 UTC 2014 - dmueller@suse.com + +- Remove dependency on doxygen. Doxygen is only used for generating + the html documentation, but the html documentation was not + actually packaged, so there is no point in running it. + +------------------------------------------------------------------- +Wed Apr 23 16:42:59 UTC 2014 - dmueller@suse.com + +- Remove dependency on gpg-offline to reduce rebuild times; signature checking + is implemented already in the source validator. + +------------------------------------------------------------------- +Fri Dec 6 12:40:28 UTC 2013 - lmuelle@suse.com + +- Update to 2.1.0. + + Add talloc_pooled_object and test it + + Allow nested pools + + Add a separate pool size + + Put pool-specific data before the chunk + + Introduce __talloc_with_prefix + + Decouple the dual use of chunk->pool + + Only provide the --enable-talloc-compat1 in standalone build + + Simplify _talloc_free_poolmem a bit + +------------------------------------------------------------------- +Fri Dec 6 12:29:33 UTC 2013 - lmuelle@suse.com + +- Verify source tar ball gpg signature. + +------------------------------------------------------------------- +Thu Aug 29 12:07:49 UTC 2013 - lmuelle@suse.com + +- PreReq /sbin/ldconfig from pytalloc. + +------------------------------------------------------------------- +Wed Aug 28 20:01:56 UTC 2013 - lmuelle@suse.com + +- Add pytalloc to baselibs.conf. + +------------------------------------------------------------------- +Mon Jul 22 11:29:51 UTC 2013 - lmuelle@suse.com + +- BuildIgnore python for post-11.0 systems only. +- Package the talloc man page only on post-11.0 systems. + +------------------------------------------------------------------- +Sun Jul 7 06:10:03 UTC 2013 - coolo@suse.com + +- BuildIgnore python to avoid build cycle + +------------------------------------------------------------------- +Sun Dec 2 17:47:27 UTC 2012 - lmuelle@suse.com + +- Update to 2.0.8. + + Convert error cecking macros into fns + + don't allow a talloc_pool inside a talloc_pool. + + use a struct for pool headers. + + remove unused variables + + Update doxygen config. + + Slightly simplify talloc_unlink + + Only check for pkg-config file when checking for system talloc. + + fix a comment typo + + simplifiy the logic to build talloc_testsuite in the standalone build + +------------------------------------------------------------------- +Thu Jun 28 16:29:25 UTC 2012 - lmuelle@suse.com + +- Disable rpath while configure. + +------------------------------------------------------------------- +Tue Jun 12 16:32:43 UTC 2012 - lmuelle@suse.com + +- Add missing group field to the library subpackage. + +------------------------------------------------------------------- +Sun Jun 3 21:13:08 UTC 2012 - lmuelle@suse.com + +- Define library name and use it instead of libtalloc2. + +------------------------------------------------------------------- +Sat Jun 2 15:05:32 UTC 2012 - lmuelle@suse.com + +- Rename package to talloc and add an independent libtalloc2 subpackage. +- Enhance and polish the package descriptions and summaries. + +------------------------------------------------------------------- +Thu May 31 12:50:32 UTC 2012 - lmuelle@suse.com + +- BuildRequire pkg-config for post-10.2 systems and else pkgconfig. + +------------------------------------------------------------------- +Thu May 31 11:45:48 UTC 2012 - lmuelle@suse.com + +- Rename libtalloc2-devel to libtalloc-devel. + +------------------------------------------------------------------- +Wed May 30 17:55:55 UTC 2012 - lmuelle@suse.com + +- Define python_sitearch if undefined. + +------------------------------------------------------------------- +Wed May 30 15:33:29 UTC 2012 - lmuelle@suse.com + +- Remove superfluous AutoReqProv on line. + +------------------------------------------------------------------- +Wed May 16 13:02:31 UTC 2012 - lmuelle@suse.com + +- Require libtalloc2 from libtalloc2-devel. + +------------------------------------------------------------------- +Wed May 16 12:45:04 UTC 2012 - lmuelle@suse.com + +- Cleanup BuildRequires and spec file in general. +- Add new pytalloc and pytalloc-devel sub packages. + +------------------------------------------------------------------- +Wed Sep 7 17:52:30 UTC 2011 - lars@samba.org + +- Initial independent libtalloc2 package. + diff --git a/talloc-man.spec b/talloc-man.spec new file mode 100644 index 0000000..2ce8632 --- /dev/null +++ b/talloc-man.spec @@ -0,0 +1,283 @@ +# +# spec file for package talloc-man +# +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# +# 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 http://bugs.opensuse.org/ +# + + +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%{!?py3_soflags: %global py3_soflags cpython-%{python3_version_nodots}m} +%if 0%{?suse_version} > 1310 || 0%{?fedora_version} > 20 +%define with_python3 1 +%else +%define with_python3 0 +%endif +%define build_man 1 + +%if %{build_man} +Name: talloc-man +BuildRequires: doxygen +%else +Name: talloc +%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1140 +%define build_make_smp_mflags %{?_smp_mflags} +%else +%define build_make_smp_mflags %{?jobs:-j%jobs} +%endif +BuildRequires: autoconf +BuildRequires: docbook-xsl-stylesheets +BuildRequires: libxslt +%if 0%{?suse_version} > 1020 +BuildRequires: pkg-config +%else +BuildRequires: pkgconfig +%endif +BuildRequires: python-devel +%if %{with_python3} +BuildRequires: python3-devel +%endif +%if 0%{?suse_version} > 1100 +#!BuildIgnore: python +%endif +%endif # %{build_man} +Url: http://talloc.samba.org/ +Version: 2.1.4 +Release: 0 +PreReq: /sbin/ldconfig +Summary: Samba talloc Library +License: LGPL-3.0+ +Group: System/Libraries +Source: http://download.samba.org/pub/talloc/talloc-%{version}.tar.gz +Source1: http://download.samba.org/pub/talloc/talloc-%{version}.tar.asc +Source4: baselibs.conf +Source50: talloc.keyring +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Talloc is a hierarchical, reference counted memory pool system with +destructors. + +It is the core memory allocator used in Samba. + +%if ! %{build_man} + +%define libtalloc_name libtalloc2 +%package -n %{libtalloc_name} +Summary: Libraries and Header Files to Develop Programs with talloc2 Support +Group: System/Libraries +Provides: bundled(libreplace) + +%description -n %{libtalloc_name} +Talloc is a hierarchical, reference counted memory pool system with +destructors. + +It is the core memory allocator used in Samba. + +This package includes the talloc2 library. + + +%package -n libtalloc-devel +Summary: Libraries and Header Files to Develop Programs with talloc2 Support +Group: Development/Libraries/C and C++ +# Man pages are built in a 2nd spec file in order to break a build cycle with doxygen->cmake->krb5->libtalloc +%if 0%{?suse_version} > 1030 +Recommends: %{name}-man +%endif +Requires: %{libtalloc_name} = %{version} +%if 0%{?suse_version} > 1020 +Requires: pkg-config +%else +Requires: pkgconfig +%endif + +%description -n libtalloc-devel +Talloc is a hierarchical, reference counted memory pool system with +destructors. + +It is the core memory allocator used in Samba. + +Libraries and Header Files to Develop Programs with talloc2 Support + + +%package -n python-talloc +Summary: Python bindings for the Talloc library +Group: Development/Libraries/Python +Requires: %{libtalloc_name} = %{version} +PreReq: /sbin/ldconfig +Provides: pytalloc = %{version} +Obsoletes: pytalloc < %{version} + +%description -n python-talloc +This package contains the python bindings for the Talloc library. + + +%package -n python-talloc-devel +Summary: Developer tools for the Talloc library +Group: Development/Libraries/Python +Requires: python-talloc = %{version} +%if 0%{?suse_version} > 1020 +Requires: pkg-config +%else +Requires: pkgconfig +%endif +Provides: pytalloc-devel = %{version} +Obsoletes: pytalloc-devel < %{version} +Conflicts: python3-talloc-devel + +%description -n python-talloc-devel +Libraries and Header Files to Develop Programs with python-talloc Support + + +%if %{with_python3} +%package -n python3-talloc +Summary: Python3 bindings for the Talloc library +Group: Development/Libraries/Python +Requires: %{libtalloc_name} = %{version} +PreReq: /sbin/ldconfig + +%description -n python3-talloc +This package contains the python3 bindings for the Talloc library. + + +%package -n python3-talloc-devel +Summary: Developer tools for the Talloc library +Group: Development/Libraries/Python +Requires: python3-talloc = %{version} +%if 0%{?suse_version} > 1020 +Requires: pkg-config +%else +Requires: pkgconfig +%endif +Conflicts: python-talloc-devel + +%description -n python3-talloc-devel +Libraries and Header Files to Develop Programs with python3-talloc Support +%endif + +%endif # ! %{build_man} + +%prep +%setup -n talloc-%{version} -q + +%build +%if ! %{build_man} +%if 0%{?suse_version} && 0%{?suse_version} < 911 + OPTIMIZATION="-O" +%else + # use the default optimization + unset OPTIMIZATION +%endif +export CFLAGS="${RPM_OPT_FLAGS} -D_GNU_SOURCE ${OPTIMIZATION} -D_LARGEFILE64_SOURCE -DIDMAP_RID_SUPPORT_TRUSTED_DOMAINS" +CONFIGURE_OPTIONS="\ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --disable-rpath \ + --disable-rpath-install \ + --disable-silent-rules \ + --bundled-libraries=NONE \ + --builtin-libraries=replace \ +%if %{with_python3} + --extra-python=/usr/bin/python3 \ +%endif +" +./configure ${CONFIGURE_OPTIONS} +%{__make} %{build_make_smp_mflags} \ + all + +%else + +doxygen doxy.config + +%endif # ! %{build_man} + +%if ! %{build_man} +%check +# make test doesn't work with --disable-rpath +#%{__make} test +%endif # ! %{build_man} + +%install +%if ! %{build_man} +DESTDIR=${RPM_BUILD_ROOT} make install +rm -r ${RPM_BUILD_ROOT}/%{_mandir} + +%else + +# Install API documentation +mkdir -p ${RPM_BUILD_ROOT}/%{_mandir} +cp -a doc/man/* ${RPM_BUILD_ROOT}/%{_mandir} + +%endif ! %{build_man} + +%if ! %{build_man} +%post -n %{libtalloc_name} -p /sbin/ldconfig + +%postun -n %{libtalloc_name} -p /sbin/ldconfig + +%post -n python-talloc -p /sbin/ldconfig + +%postun -n python-talloc -p /sbin/ldconfig + +%if %{with_python3} +%post -n python3-talloc -p /sbin/ldconfig + +%postun -n python3-talloc -p /sbin/ldconfig +%endif + +%files -n %{libtalloc_name} +%defattr(-,root,root) +%{_libdir}/libtalloc.so.* + +%files -n libtalloc-devel +%defattr(-,root,root) +%{_includedir}/talloc.h +%{_libdir}/libtalloc.so +%{_libdir}/pkgconfig/talloc.pc + +%files -n python-talloc +%defattr(-,root,root) +%{_libdir}/libpytalloc-util.so.* +%{python_sitearch}/talloc.so + +%files -n python-talloc-devel +%defattr(-,root,root) +%{_includedir}/pytalloc.h +%{_libdir}/pkgconfig/pytalloc-util.pc +%{_libdir}/libpytalloc-util.so + +%if %{with_python3} +%files -n python3-talloc +%defattr(-,root,root) +%{_libdir}/libpytalloc-util.%{py3_soflags}.so.* +%{python3_sitearch}/talloc.%{py3_soflags}.so + +%files -n python3-talloc-devel +%defattr(-,root,root) +%{_includedir}/pytalloc.h +%{_libdir}/pkgconfig/pytalloc-util.pc +%{_libdir}/libpytalloc-util.%{py3_soflags}.so +%endif + +%else + +%files +%defattr(-,root,root) +%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1100 +%{_mandir}/man3/libtalloc*.3.* +%{_mandir}/man3/talloc*.3.* +%endif + +%endif # ! %{build_man} + +%changelog diff --git a/talloc.changes b/talloc.changes index 3354d39..e1c523d 100644 --- a/talloc.changes +++ b/talloc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Nov 8 13:30:08 UTC 2015 - lmuelle@suse.com + +- Create a 2nd talloc-man spec-file to avoid a build cycle. +- Recommend to install tevent-man from libtalloc-devel. + ------------------------------------------------------------------- Fri Oct 30 11:57:39 UTC 2015 - lmuelle@suse.com diff --git a/talloc.spec b/talloc.spec index 6db4271..5ab68dc 100644 --- a/talloc.spec +++ b/talloc.spec @@ -1,5 +1,5 @@ # -# spec file for package talloc +# spec file for package talloc-man # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # @@ -23,7 +23,12 @@ %else %define with_python3 0 %endif +%define build_man 0 +%if %{build_man} +Name: talloc-man +BuildRequires: doxygen +%else Name: talloc %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1140 %define build_make_smp_mflags %{?_smp_mflags} @@ -32,7 +37,6 @@ Name: talloc %endif BuildRequires: autoconf BuildRequires: docbook-xsl-stylesheets -BuildRequires: doxygen BuildRequires: libxslt %if 0%{?suse_version} > 1020 BuildRequires: pkg-config @@ -46,6 +50,7 @@ BuildRequires: python3-devel %if 0%{?suse_version} > 1100 #!BuildIgnore: python %endif +%endif # %{build_man} Url: http://talloc.samba.org/ Version: 2.1.4 Release: 0 @@ -56,7 +61,7 @@ Group: System/Libraries Source: http://download.samba.org/pub/talloc/talloc-%{version}.tar.gz Source1: http://download.samba.org/pub/talloc/talloc-%{version}.tar.asc Source4: baselibs.conf -Source50: %name.keyring +Source50: talloc.keyring BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -65,6 +70,7 @@ destructors. It is the core memory allocator used in Samba. +%if ! %{build_man} %define libtalloc_name libtalloc2 %package -n %{libtalloc_name} @@ -84,6 +90,10 @@ This package includes the talloc2 library. %package -n libtalloc-devel Summary: Libraries and Header Files to Develop Programs with talloc2 Support Group: Development/Libraries/C and C++ +# Man pages are built in a 2nd spec file in order to break a build cycle with doxygen->cmake->krb5->libtalloc +%if 0%{?suse_version} > 1030 +Recommends: %{name}-man +%endif Requires: %{libtalloc_name} = %{version} %if 0%{?suse_version} > 1020 Requires: pkg-config @@ -155,10 +165,13 @@ Conflicts: python-talloc-devel Libraries and Header Files to Develop Programs with python3-talloc Support %endif +%endif # ! %{build_man} + %prep %setup -n talloc-%{version} -q %build +%if ! %{build_man} %if 0%{?suse_version} && 0%{?suse_version} < 911 OPTIMIZATION="-O" %else @@ -181,18 +194,33 @@ CONFIGURE_OPTIONS="\ ./configure ${CONFIGURE_OPTIONS} %{__make} %{build_make_smp_mflags} \ all + +%else + doxygen doxy.config +%endif # ! %{build_man} + +%if ! %{build_man} %check # make test doesn't work with --disable-rpath #%{__make} test +%endif # ! %{build_man} %install +%if ! %{build_man} DESTDIR=${RPM_BUILD_ROOT} make install +rm -r ${RPM_BUILD_ROOT}/%{_mandir} + +%else # Install API documentation +mkdir -p ${RPM_BUILD_ROOT}/%{_mandir} cp -a doc/man/* ${RPM_BUILD_ROOT}/%{_mandir} +%endif ! %{build_man} + +%if ! %{build_man} %post -n %{libtalloc_name} -p /sbin/ldconfig %postun -n %{libtalloc_name} -p /sbin/ldconfig @@ -216,10 +244,6 @@ cp -a doc/man/* ${RPM_BUILD_ROOT}/%{_mandir} %{_includedir}/talloc.h %{_libdir}/libtalloc.so %{_libdir}/pkgconfig/talloc.pc -%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1100 -%{_mandir}/man3/libtalloc*.3.* -%{_mandir}/man3/talloc*.3.* -%endif %files -n python-talloc %defattr(-,root,root) @@ -245,4 +269,15 @@ cp -a doc/man/* ${RPM_BUILD_ROOT}/%{_mandir} %{_libdir}/libpytalloc-util.%{py3_soflags}.so %endif +%else + +%files +%defattr(-,root,root) +%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1100 +%{_mandir}/man3/libtalloc*.3.* +%{_mandir}/man3/talloc*.3.* +%endif + +%endif # ! %{build_man} + %changelog