21149e6
# Fedora spec file for php-smbclient
21149e6
# with SCL compatibility removed, from
21149e6
#
21149e6
# remirepo spec file for php-smbclient
21149e6
#
301e9f9
# Copyright (c) 2015-2024 Remi Collet
74c1fdc
# License: CC-BY-SA-4.0
21149e6
# http://creativecommons.org/licenses/by-sa/4.0/
21149e6
#
21149e6
# Please, preserve the changelog entries
21149e6
#
21149e6
f4861d1
# we don't want -z defs linker flag
f4861d1
%undefine _strict_symbol_defs_build
f4861d1
e2ef79b
%global pecl_name  smbclient
21149e6
%global with_zts   0%{?__ztsphp:1}
e2ef79b
%global ini_name   40-%{pecl_name}.ini
21149e6
# Test suite requires a Samba server and configuration file
7f1ac4e
%bcond_with        tests
301e9f9
%global sources    %{pecl_name}-%{version}%{?prever}
301e9f9
%global _configure ../%{sources}/configure
21149e6
21149e6
Name:           php-smbclient
37655ee
Version:        1.1.1
8289ac3
Release:        7%{?dist}
21149e6
Summary:        PHP wrapper for libsmbclient
21149e6
74c1fdc
License:        BSD-2-Clause
21149e6
URL:            https://github.com/eduardok/libsmbclient-php
301e9f9
Source0:        https://pecl.php.net/get/%{sources}.tgz
7f1ac4e
%if %{with tests}
e2ef79b
Source2:        %{pecl_name}-phpunit.xml
21149e6
%endif
21149e6
301e9f9
Patch0:         %{pecl_name}-upstream.patch
301e9f9
8289ac3
ExcludeArch:    %{ix86}
8289ac3
96acb19
BuildRequires:  make
96acb19
BuildRequires:  gcc
21149e6
BuildRequires:  php-devel
e2ef79b
BuildRequires:  php-pear
21149e6
BuildRequires:  libsmbclient-devel > 3.6
7f1ac4e
%if %{with tests}
21149e6
BuildRequires:  php-composer(phpunit/phpunit)
21149e6
BuildRequires:  samba
21149e6
%endif
21149e6
21149e6
Requires:       php(zend-abi) = %{php_zend_api}
21149e6
Requires:       php(api) = %{php_core_api}
e2ef79b
e2ef79b
# Renamed (and "php -m" reports both smbclient and libsmbclient)
21149e6
Obsoletes:      php-libsmbclient         < 0.8.0-0.2
21149e6
Provides:       php-libsmbclient         = %{version}-%{release}
21149e6
Provides:       php-libsmbclient%{?_isa} = %{version}-%{release}
e2ef79b
# PECL
e2ef79b
Provides:       php-pecl-%{pecl_name}          = %{version}-%{release}
e2ef79b
Provides:       php-pecl-%{pecl_name}%{?_isa}  = %{version}-%{release}
e2ef79b
Provides:       php-pecl(%{pecl_name})         = %{version}
e2ef79b
Provides:       php-pecl(%{pecl_name})%{?_isa} = %{version}
21149e6
21149e6
21149e6
%description
e2ef79b
%{pecl_name} is a PHP extension that uses Samba's libsmbclient
21149e6
library to provide Samba related functions and 'smb' streams
21149e6
to PHP programs.
21149e6
21149e6
21149e6
%prep
21149e6
%setup -q -c
e2ef79b
e2ef79b
# Don't install/register tests
7043803
sed -e 's/role="test"/role="src"/' \
3d035a2
    -e '/LICENSE/s/role="doc"/role="src"/' \
7043803
    -i package.xml
21149e6
301e9f9
cd %{sources}
301e9f9
%patch -P0 -p1 -b .up
301e9f9
21149e6
# Check extension version
21149e6
ver=$(sed -n '/define PHP_SMBCLIENT_VERSION/{s/.* "//;s/".*$//;p}' php_smbclient.h)
21149e6
if test "$ver" != "%{version}%{?prever}"; then
21149e6
   : Error: Upstream VERSION version is ${ver}, expecting %{version}%{?prever}.
21149e6
   exit 1
21149e6
fi
21149e6
cd ..
21149e6
21149e6
cat  << 'EOF' | tee %{ini_name}
21149e6
; Enable %{summary} extension module
e2ef79b
extension=%{pecl_name}.so
21149e6
EOF
21149e6
301e9f9
mkdir NTS
21149e6
%if %{with_zts}
301e9f9
mkdir ZTS
21149e6
%endif
21149e6
21149e6
21149e6
%build
301e9f9
cd %{sources}
301e9f9
%{__phpize}
301e9f9
301e9f9
cd ../NTS
301e9f9
%configure --with-php-config=%{__phpconfig}
21149e6
make %{?_smp_mflags}
21149e6
21149e6
%if %{with_zts}
21149e6
cd ../ZTS
301e9f9
%configure --with-php-config=%{__ztsphpconfig}
21149e6
make %{?_smp_mflags}
21149e6
%endif
21149e6
21149e6
21149e6
%install
21149e6
make -C NTS install INSTALL_ROOT=%{buildroot}
21149e6
21149e6
# install configuration
21149e6
install -Dpm 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
21149e6
e2ef79b
# Install XML package description
e2ef79b
install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
e2ef79b
21149e6
%if %{with_zts}
21149e6
make -C ZTS install INSTALL_ROOT=%{buildroot}
21149e6
install -Dpm 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
21149e6
%endif
21149e6
e2ef79b
# Documentation
e2ef79b
for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//')
301e9f9
do install -Dpm 644 %{sources}/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
e2ef79b
done
e2ef79b
21149e6
21149e6
%check
21149e6
: Minimal load test for NTS extension
21149e6
%{__php} --no-php-ini \
e2ef79b
    --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
e2ef79b
    --modules | grep %{pecl_name}
21149e6
21149e6
%if %{with_zts}
0597476
: Minimal load test for ZTS extension
21149e6
%{__ztsphp} --no-php-ini \
e2ef79b
    --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
e2ef79b
    --modules | grep %{pecl_name}
21149e6
%endif
21149e6
7f1ac4e
%if %{with tests}
21149e6
: Upstream test suite for NTS extension
21149e6
cd NTS
21149e6
cp %{SOURCE2} phpunit.xml
21149e6
21149e6
%{__php} \
e2ef79b
    --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
21149e6
    %{_bindir}/phpunit --verbose
21149e6
%endif
21149e6
21149e6
21149e6
%files
301e9f9
%license %{sources}/LICENSE
e2ef79b
%doc %{pecl_docdir}/%{pecl_name}
e2ef79b
%{pecl_xmldir}/%{name}.xml
21149e6
21149e6
%config(noreplace) %{php_inidir}/%{ini_name}
e2ef79b
%{php_extdir}/%{pecl_name}.so
21149e6
21149e6
%if %{with_zts}
21149e6
%config(noreplace) %{php_ztsinidir}/%{ini_name}
e2ef79b
%{php_ztsextdir}/%{pecl_name}.so
21149e6
%endif
21149e6
21149e6
21149e6
%changelog
8289ac3
* Fri Apr 12 2024 Remi Collet <remi@remirepo.net> - 1.1.1-7
8289ac3
- drop 32-bit support
8289ac3
  https://fedoraproject.org/wiki/Changes/php_no_32_bit
8289ac3
301e9f9
* Mon Jan 29 2024 Remi Collet <remi@remirepo.net> - 1.1.1-6
301e9f9
- fix incompatible pointer types using upstream patch
301e9f9
- build out of sources tree
301e9f9
b5ebba1
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-5
b5ebba1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
b5ebba1
7eb8f02
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-4
7eb8f02
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
7eb8f02
335a562
* Tue Oct 03 2023 Remi Collet <remi@remirepo.net> - 1.1.1-3
335a562
- rebuild for https://fedoraproject.org/wiki/Changes/php83
335a562
65a7c72
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-2
65a7c72
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
65a7c72
37655ee
* Wed Apr 19 2023 Remi Collet <remi@remirepo.net> - 1.1.1-1
37655ee
- update to 1.1.1
37655ee
- drop patch merged upstream
37655ee
7f1ac4e
* Tue Apr  4 2023 Remi Collet <remi@remirepo.net> - 1.1.0-1
7f1ac4e
- update to 1.1.0
7f1ac4e
- drop patch merged upstream
7f1ac4e
- add workaround for regression in libsmbclient 4.16.9/4.17.5
7f1ac4e
  from https://github.com/eduardok/libsmbclient-php/pull/100
7f1ac4e
74c1fdc
* Fri Mar 31 2023 Remi Collet <remi@remirepo.net> - 1.0.6-9
74c1fdc
- use SPDX license ID
74c1fdc
750147c
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.6-8
750147c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
750147c
2ac048a
* Wed Oct 05 2022 Remi Collet <remi@remirepo.net> - 1.0.6-7
2ac048a
- rebuild for https://fedoraproject.org/wiki/Changes/php82
2ac048a
- add fix from https://github.com/eduardok/libsmbclient-php/pull/94
2ac048a
4769e63
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.6-6
4769e63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
4769e63
657c7b1
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.6-5
657c7b1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
657c7b1
1c43e71
* Thu Oct 28 2021 Remi Collet <remi@remirepo.net> - 1.0.6-4
1c43e71
- rebuild for https://fedoraproject.org/wiki/Changes/php81
1c43e71
a8fa5aa
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.6-3
a8fa5aa
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
a8fa5aa
8641d7f
* Thu Mar  4 2021 Remi Collet <remi@remirepo.net> - 1.0.6-2
8641d7f
- rebuild for https://fedoraproject.org/wiki/Changes/php80
8641d7f
9c889a8
* Mon Mar  1 2021 Remi Collet <remi@remirepo.net> - 1.0.6-1
9c889a8
- update to 1.0.6
9c889a8
1063764
* Mon Feb 15 2021 Remi Collet <remi@remirepo.net> - 1.0.5-1
1063764
- update to 1.0.5
1063764
235fb31
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-2
235fb31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
235fb31
9c586a8
* Fri Jan 22 2021 Remi Collet <remi@remirepo.net> - 1.0.4-1
9c586a8
- update to 1.0.4
9c586a8
6619507
* Thu Jan 21 2021 Remi Collet <remi@remirepo.net> - 1.0.3-1
6619507
- update to 1.0.3
6619507
603dfad
* Thu Jan 21 2021 Remi Collet <remi@remirepo.net> - 1.0.2-1
603dfad
- update to 1.0.2
603dfad
96acb19
* Tue Jan  5 2021 Remi Collet <remi@remirepo.net> - 1.0.1-1
96acb19
- update to 1.0.1
96acb19
17916f1
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-6
17916f1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
17916f1
37cf4e3
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-5
37cf4e3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
37cf4e3
5f7630c
* Thu Oct 03 2019 Remi Collet <remi@remirepo.net> - 1.0.0-4
5f7630c
- rebuild for https://fedoraproject.org/wiki/Changes/php74
5f7630c
228168f
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
228168f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
228168f
619500d
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-2
619500d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
619500d
5246580
* Wed Dec 26 2018 Remi Collet <remi@remirepo.net> - 1.0.0-1
5246580
- update to 1.0.0
5246580
bd57749
* Thu Oct 11 2018 Remi Collet <remi@remirepo.net> - 0.9.0-8
bd57749
- Rebuild for https://fedoraproject.org/wiki/Changes/php73
bd57749
- add patch for PHP 7.3 from
bd57749
  https://github.com/eduardok/libsmbclient-php/pull/60
bd57749
3ca0966
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-7
3ca0966
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
3ca0966
0f23b5b
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-6
0f23b5b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
0f23b5b
f4861d1
* Fri Jan 26 2018 Remi Collet <remi@remirepo.net> - 0.9.0-5
f4861d1
- undefine _strict_symbol_defs_build
f4861d1
279ed59
* Tue Oct 03 2017 Remi Collet <remi@fedoraproject.org> - 0.9.0-4
279ed59
- rebuild for https://fedoraproject.org/wiki/Changes/php72
279ed59
efad35c
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-3
efad35c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
efad35c
ca798a3
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-2
ca798a3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
ca798a3
fb500f1
* Fri Feb 10 2017 Remi Collet <remi@fedoraproject.org> - 0.9.0-1
fb500f1
- update to 0.9.0 (stable)
fb500f1
cfb2033
* Mon Nov 14 2016 Remi Collet <remi@fedoraproject.org> - 0.8.0-3
cfb2033
- rebuild for https://fedoraproject.org/wiki/Changes/php71
cfb2033
a9a0e8d
* Mon Jun 27 2016 Remi Collet <remi@fedoraproject.org> - 0.8.0-2
a9a0e8d
- rebuild for https://fedoraproject.org/wiki/Changes/php70
a9a0e8d
7043803
* Wed Mar  2 2016 Remi Collet <remi@fedoraproject.org> - 0.8.0-1
7043803
- update to 0.8.0 (stable, no change)
3d035a2
- drop scriptlets (replaced by file triggers in php-pear)
3d035a2
- cleanup
7043803
16a8f6f
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-0.5.RC1
16a8f6f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
16a8f6f
e2ef79b
* Tue Dec  8 2015 Remi Collet <remi@fedoraproject.org> - 0.8.0-0.4.RC1
e2ef79b
- now available on PECL
e2ef79b
- use sources from pecl
e2ef79b
- add virtual provides
e2ef79b
- add scriptlets for pecl registry (un)registration
e2ef79b
21149e6
* Thu Sep 17 2015 Remi Collet <remi@fedoraproject.org> - 0.8.0-0.3.rc1
21149e6
- cleanup SCL compatibility for Fedora
21149e6
21149e6
* Wed Sep 16 2015 Remi Collet <rcollet@redhat.com> - 0.8.0-0.2.rc1
21149e6
- update to 0.8.0-rc1
21149e6
- rename from php-libsmbclient to php-smbclient
21149e6
  https://github.com/eduardok/libsmbclient-php/pull/26
21149e6
21149e6
* Thu Sep  3 2015 Remi Collet <rcollet@redhat.com> - 0.8.0-0.1.20150909gita65127d
21149e6
- update to 0.8.0-dev
21149e6
- https://github.com/eduardok/libsmbclient-php/pull/20 streams support
21149e6
- https://github.com/eduardok/libsmbclient-php/pull/23 PHP 7
21149e6
21149e6
* Thu Sep  3 2015 Remi Collet <rcollet@redhat.com> - 0.7.0-1
21149e6
- Update to 0.7.0
21149e6
- drop patches merged upstream
21149e6
- license is now BSD
21149e6
21149e6
* Wed Sep  2 2015 Remi Collet <rcollet@redhat.com> - 0.6.1-1
21149e6
- Initial packaging of 0.6.1
21149e6
- open https://github.com/eduardok/libsmbclient-php/pull/17
21149e6
  test suite configuration
21149e6
- open https://github.com/eduardok/libsmbclient-php/pull/18
21149e6
  add reflection and improve phpinfo
21149e6
- open https://github.com/eduardok/libsmbclient-php/issues/19
7043803
  missing license file