Name:          freetds
Summary:       Implementation of the TDS (Tabular DataStream) protocol
Version:       1.4.9
Release:       2
License:       LGPLv2+ and GPLv2+
URL:           http://www.freetds.org/

Source0:       ftp://ftp.freetds.org/pub/freetds/stable/freetds-%{version}.tar.gz
Source1:       freetds-tds_sysdep_public.h
Patch0:        0001-set-default-coltype-to-CHAR.patch

BuildRequires: unixODBC-devel readline-devel gnutls-devel krb5-devel git
BuildRequires: libgcrypt-devel libtool doxygen docbook-style-dsssl gperf
BuildRequires: libtool-devel

Provides:  %{name}-libs = %{version}-%{release}
Obsoletes: %{name}-libs < %{version}-%{release}

%description
FreeTDS is an open source implementation of the TDS (Tabular
Data Stream) protocol used by these databases for their own clients.
It supports many different flavors of the protocol and three APIs
to access it. FreeTDS includes call level interfaces for DB-Lib,
CT-Lib, and ODBC.


%package devel
Summary: Header files and development libraries for %{name}
Requires: %{name} = %{version}-%{release}

%description devel
This package contains the header files and development libraries
for %{name}. If you like to develop programs using %{name}, you will need
to install %{name}-devel.


%package help
Summary:  Help and development documentation for %{name}
BuildArch: noarch
Provides:      freetds-doc
Obsoletes:     freetds-doc < %{version}-%{release}

%description help
This package contains the help and development documentation for %{name}.
If you like to grasp it and develop programs using %{name}, you will need
to install %{name}-help.

%prep
%autosetup -p1

sed -i '1 s,#!.*/perl,#!%{__perl},' samples/*.pl

chmod 644 samples/*.sh

%build

[ -f configure ] || NOCONFIGURE=yes ./autogen.sh

%configure \
        --disable-dependency-tracking --disable-rpath --disable-static \
        --with-tdsver="auto" --with-unixodbc="%{_prefix}" --enable-msdblib \
        --enable-sybase-compat --with-gnutls --enable-krb5

sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_RIE|' libtool

%make_build DOCBOOK_DSL="`rpm -ql docbook-style-dsssl | fgrep html/docbook.dsl`"


%install

%make_install

%delete_la
chmod -x $RPM_BUILD_ROOT%{_sysconfdir}/*

mv -f $RPM_BUILD_ROOT%{_includedir}/tds_sysdep_public.h $RPM_BUILD_ROOT%{_includedir}/tds_sysdep_public_64.h
install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_includedir}/tds_sysdep_public.h

rm -f samples/{Makefile*,*.in,README}

mv -f samples/unixodbc.freetds.driver.template samples/unixodbc.freetds.driver.template-64

install -d samples-odbc
mv -f samples/*odbc* samples-odbc

mv -f $RPM_BUILD_ROOT%{_docdir}/%{name} docdir
find docdir -type f  -exec chmod -x {} \;

%post
/sbin/ldconfig

%postun
/sbin/ldconfig


%clean
rm -rf $RPM_BUILD_ROOT


%files
%{_bindir}/*
%doc AUTHORS.md COPYING.txt README.md COPYING_LIB.txt samples-odbc
%doc docdir/userguide docdir/images
%{_libdir}/*.so.*
%{_libdir}/libtdsodbc.so
%config(noreplace) %{_sysconfdir}/*.conf


%files devel
%doc samples
%{_libdir}/*.so
%exclude %{_libdir}/libtdsodbc.so
%{_includedir}/*


%files help
%{_mandir}/man1/*
%{_mandir}/man5/*
%doc docdir/reference TODO.md doc/*.html NEWS.md


%changelog
* Wed May 14 2025 Ge Wang <wang__ge@126.com> - 1.4.9-2
- Set default coltype for freebcp

* Tue Dec 05 2023 Ge Wang <wang__ge@126.com> - 1.4.9-1
- Update to version 1.4.9

* Tue Oct 17 2023 wangkai <13474090681@163.com> - 1.4.3-1
- Update to 1.4.3

* Sat Nov 12 2022 hua <dchang@zhixundn.com> - 1.3.4-1
- update to 1.3.4

* Wed Feb 09 2022 wangkai <wangkai385@huawei.com> - 1.00.38-8
- Fix CVE-2019-13508

* Thu Nov 28 2019 Wanjiankang <wanjiankang@huawei.com> - 1.00.38-7
- Initial package.
