On Mon, Aug 27, 2018 at 8:33 PM Scott Talbert <[email protected]> wrote:
> I'm not the maintainer of this package (iaxclient), but I ran into this
> build failure while working on a pull request. It seems to be fallout
> from the -Wl,--as-needed change. Any idea why this is happening?
>
> https://koji.fedoraproject.org/koji/taskinfo?taskID=29342306
Who started this trend of ignoring the libtool script generated by
configure and using /usr/bin/libtool instead? I've run across several
spec files in the last few days that do that. It isn't right. The
configure script tailors the generated libtool in various ways. Try
the attached spec file, which works much better.
Also, this gcc warning is warning about a real bug:
BUILDSTDERR: md5.c: In function 'MD5Final':
BUILDSTDERR: md5.c:180:26: warning: argument to 'sizeof' in 'memset'
call is the same expression as the destination; did you mean to
dereference it? [-Wsizeof-pointer-memaccess]
BUILDSTDERR: memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
Yep, that should be memset(ctx, 0, sizeof(*ctx));
The attached spec file also fixes mixed use of tabs and spaces, and
uses %ldconfig_scriptlets in place of explicit ldconfig invocations.
Regards,
--
Jerry James
http://www.jamezone.org/
%global betaver beta3
%global tclver 0.2
%global mainver 2.1
%{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh)}
%{!?tcl_sitearch: %global tcl_sitearch %{_libdir}/tcl%{tcl_version}}
%global tkphonearch %{_arch}
Name: iaxclient
Version: %{mainver}
Release: 0.31.%{betaver}%{?dist}
Summary: Library for creating telephony solutions that interoperate with Asterisk
Group: System Environment/Libraries
License: LGPLv2+
URL: http://iaxclient.wiki.sourceforge.net/
Source0: http://downloads.sourceforge.net/iaxclient/%{name}-%{version}%{betaver}.tar.gz
Source1: tkiaxphone.desktop
Source2: wxiax.desktop
Source3: phone.png
Source4: run-tkiaxphone.sh
Patch0: iaxclient-2.1beta3-wxGTK28.patch
Patch1: iaxclient-2.1beta3-tkphone-cleanups.patch
Patch2: iaxclient-2.1beta3-tcl-includedir.patch
Patch3: iaxclient-2.1beta3-tcl-libdir.patch
Patch4: iaxclient-2.1beta3-tcl-nodoc.patch
Patch5: iaxclient-2.1beta3-theora-detection.patch
Patch6: iaxclient-2.1beta3-implicit-DSO-libm.patch
Patch7: iaxclient-2.1beta3-arm-barriers.patch
Patch8: iaxclient-portable.patch
# Link against the locally build iax
Patch9: iaxclient-link-local-iax.patch
# Use system ilbc
Patch10: iaxclient-system-ilbc.patch
# Add missing -fPIC to configure.ac test
Patch11: iaxclient-2.1beta3-fpic.patch
# Fix some makefile issues
Patch20: iax-0.2.3_makefile.patch
# Fix format-security issue
Patch21: iax-0.2.3_format-security.patch
# Add missing #include <sys/socket.h>
Patch22: iax-0.2.3_socket.patch
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: speex-devel, libtheora-devel, gsm-devel, portaudio-devel
BuildRequires: tk-devel, gtk2-devel, SDL-devel, libogg-devel, liboggz-devel
BuildRequires: wxGTK-devel, libvidcap-devel, desktop-file-utils, libtool
BuildRequires: spandsp-devel, ilbc-devel, speexdsp-devel
%description
Iaxclient is an open source, multiplatform library for creating telephony
solutions that interoperate with Asterisk, the Open Source PBX.
Although asterisk supports other VOIP protocols (including SIP, and with
patches, H.323), IAX's simple, lightweight nature gives it several advantages,
particularly in that it can operate easily through NAT and packet firewalls,
and it is easily extensible and simple to understand.
Iaxclient pulls together the wide array of open source technologies required
for telephony applications.
%package libiax
Summary: IAX library
Group: System Environment/Libraries
Obsoletes: iax < 0.2.3
%description libiax
The %{name}-libs package contains the IAX library version 0.2.3, an improved
version of the abandoned upstream IAX library.
%package libiax-devel
Summary: IAX library development files
Group: Development/Libraries
Requires: %{name}-libiax%{?_isa} = %{version}-%{release}
Obsoletes: iax-devel < 0.2.3
%description libiax-devel
The %{name}-libiax-devel package contains libraries and header files for
developing applications that use %{name}-libiax.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Requires: pkgconfig
Requires: %{name} = %{mainver}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package -n tcl-iaxclient
Summary: Tcl interface to iax2 client lib
Version: %{tclver}
Group: System Environment/Libraries
License: BSD
Requires: tcl(abi) = 8.6
Requires: %{name} = %{mainver}-%{release}
%description -n tcl-iaxclient
Tcl extensions to iaxclient libraries.
%package -n tkiaxphone
Summary: Tk IAX Phone Client
Version: %{mainver}
Group: Applications/Internet
License: LGPLv2+
Requires: tcl(abi) = 8.6
Requires: %{name} = %{mainver}-%{release}
%description -n tkiaxphone
Tk IAX Phone Client.
%package -n wxiax
Summary: wx IAX Phone Client
Version: %{mainver}
Group: Applications/Internet
License: LGPLv2+
Requires: %{name} = %{mainver}-%{release}
%description -n wxiax
wx IAX Phone Client.
%prep
%setup -q -n %{name}-%{mainver}%{betaver}
%patch0 -p1 -b .wxGTK28
%patch1 -p1 -b .tkphone
%patch2 -p1 -b .includedir
%patch3 -p1 -b .libdir
%patch4 -p1 -b .nodoc
%patch5 -p1 -b .theoradetect
%patch6 -p1 -b .DSO
%patch7 -p1 -b .arm
%patch8 -p1 -b .portable
%patch9 -p1 -b .linkiax
%patch10 -p1 -b .ilbc
%patch11 -p1 -b .fpic
# Delete bundled libraries (except libiax2) just to be sure
rm -rf lib/{gsm, portmixer, sox, spandsp}
autoreconf -vif
chmod -x contrib/tcl/README.txt
(
cd lib/libiax2
%patch20 -p1 -b .iaxmakefile
%patch21 -p1 -b .iaxfmtsecurity
%patch22 -p1 -b .iaxsocket
sed -i 's|${exec_prefix}/lib|${exec_prefix}/%{_lib}|g' iax-config.in
sed -i 's|/usr/lib|%{_libdir}|g' iax-config.in
autoreconf -vif
)
%build
(
cd lib/libiax2
%configure --disable-static
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
# -Wl,--as-needed after all the libraries.
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-e 's|CC="\(g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool
make %{?_smp_mflags} UCFLAGS="%{optflags}"
)
%configure --disable-static
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
# -Wl,--as-needed after all the libraries.
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-e 's|CC="\(g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool
make %{?_smp_mflags}
(
cd contrib/tcl/
%configure
make %{?_smp_mflags}
)
%install
%make_install -C lib/libiax2
%make_install
find %{buildroot} -name '*.a' -exec rm -f {} ';'
find %{buildroot} -name '*.la' -exec rm -f {} ';'
install -d %{buildroot}%{tcl_sitearch}
mv %{buildroot}%{_libdir}/iaxclient %{buildroot}%{tcl_sitearch}/
%make_install -C contrib/tcl
mv %{buildroot}%{_libdir}/tcliaxclient0.2 %{buildroot}%{tcl_sitearch}/tcliaxclient0.2
chmod +x %{buildroot}%{tcl_sitearch}/iaxclient/tkphone/phone.ui.tcl
chmod +x %{buildroot}%{tcl_sitearch}/iaxclient/tkphone/pref.ui.tcl
install -p %{SOURCE4} %{buildroot}%{_bindir}
install -Dd %{buildroot}%{_datadir}/pixmaps/
install -p %{SOURCE3} %{buildroot}%{_datadir}/pixmaps/tkiaxphone.png
install -p %{SOURCE3} %{buildroot}%{_datadir}/pixmaps/wxiax.png
install -Dd %{buildroot}%{_datadir}/applications/
desktop-file-install --vendor "" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE1}
desktop-file-install --vendor "" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE2}
cd %{buildroot}%{tcl_sitearch}/iaxclient/tkphone/
ln -s iaxcli iaxcli-Linux-%{tkphonearch}
%ldconfig_scriptlets
%ldconfig_scriptlets libiax
%files
%doc AUTHORS ChangeLog README
%license COPYING.LIB
%{_bindir}/iaxcomm
%{_bindir}/iaxphone
%{_datadir}/iaxcomm/
%{_libdir}/libiaxclient.so.*
%files libiax
%doc lib/libiax2/ChangeLog lib/libiax2/COPYING lib/libiax2/COPYING.LIB
%{_libdir}/libiax.so.*
%files libiax-devel
%{_bindir}/iax-config
%{_includedir}/iax/
%{_libdir}/libiax.so
%files devel
%{_bindir}/stresstest
%{_bindir}/testcall
%{_bindir}/vtestcall
%{_includedir}/iaxclient.h
%{_libdir}/libiaxclient.so
%{_libdir}/pkgconfig/iaxclient.pc
%files -n tcl-iaxclient
%doc contrib/tcl/README.txt
%{tcl_sitearch}/tcliaxclient0.2/
%files -n tkiaxphone
%{_bindir}/run-tkiaxphone.sh
%{_bindir}/tkiaxphone
%{tcl_sitearch}/iaxclient/
%{_datadir}/applications/tkiaxphone.desktop
%{_datadir}/pixmaps/tkiaxphone.png
%files -n wxiax
%{_bindir}/wxiax
%{_datadir}/applications/wxiax.desktop
%{_datadir}/pixmaps/wxiax.png
%changelog
* Fri Jul 13 2018 Fedora Release Engineering <[email protected]> - 2.1-0.31.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Feb 18 2018 Sandro Mani <[email protected]> - 2.1-0.30.beta3
- Add missing BR: gcc-c++, make
* Wed Feb 07 2018 Fedora Release Engineering <[email protected]> - 2.1-0.29.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 02 2017 Fedora Release Engineering <[email protected]> - 2.1-0.28.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <[email protected]> - 2.1-0.27.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <[email protected]> - 2.1-0.26.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <[email protected]> - 2.1-0.25.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jan 19 2016 Tom Callaway <[email protected]> - 2.1-0.24.beta3
- spec file cleanups
* Wed Jun 17 2015 Fedora Release Engineering <[email protected]> - 2.1-0.23.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon May 04 2015 Sandro Mani <[email protected]> - 2.1-0.22.beta3
- Rebuild (GCC5)
* Thu Jan 08 2015 Sandro Mani <[email protected]> - 2.1-0.21.beta3
- Ship bundled libiax2 in -libiax
- Use system spandsp
- Use system ilbc
* Sat Aug 16 2014 Fedora Release Engineering <[email protected]> - 2.1-0.20.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Thu Jul 3 2014 Peter Robinson <[email protected]> 2.1-0.19.beta3
- Add patch to fix build on aarch64
* Sat Jun 07 2014 Fedora Release Engineering <[email protected]> - 2.1-0.18.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 27 2014 Jaroslav Škarvada <[email protected]> - 2.1-0.17.beta3
- Updated requires to require tcl-8.6
* Wed May 21 2014 Jaroslav Škarvada <[email protected]> - 2.1-0.16.beta3
- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
* Tue Dec 03 2013 Tom Callaway <[email protected]> - 2.1-0.15.beta3
- Fix format-security issue (bz 1037126)
* Sat Aug 03 2013 Fedora Release Engineering <[email protected]> - 2.1-0.14.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Jul 15 2013 Tom Callaway <[email protected]> - 2.1-0.13.beta3
- add memory barriers for arm (bz 927443)
* Thu Feb 14 2013 Fedora Release Engineering <[email protected]> - 2.1-0.12.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <[email protected]> - 2.1-0.11.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 13 2012 Fedora Release Engineering <[email protected]> - 2.1-0.10.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Dec 06 2011 Adam Jackson <[email protected]> - 2.1-0.9.beta3
- Rebuild for new libpng
* Wed Feb 09 2011 Fedora Release Engineering <[email protected]> - 2.1-0.8.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Jul 14 2010 Dan Horák <[email protected]> - 2.1-0.7.beta3
- rebuilt against wxGTK-2.8.11-2
* Wed Jun 02 2010 Rakesh Pandit <[email protected]> - 2.1-0.6.beta3
- Bump for new liboggz lib
* Wed Feb 10 2010 Tom "spot" Callaway <[email protected]> - 2.1-0.5.beta3
- fix implicit DSO linking issue with libm
* Fri Jul 24 2009 Fedora Release Engineering <[email protected]> - 2.1-0.4.beta3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Thu Mar 12 2009 Tom "spot" Callaway <[email protected]> 2.1-0.3.beta3
- fix lib/libiax2/iax-config.in to not use wrong /usr/lib
* Mon Nov 3 2008 Tom "spot" Callaway <[email protected]> 2.1-0.2.beta3
- fix theora detection
* Tue Jun 10 2008 Tom "spot" Callaway <[email protected]> 2.1-0.1.beta3
- Initial package for Fedora
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]