# remirepo spec file for php-ioncube-loader # # Copyright (c) 2012-2022 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %{?scl: %scl_package php-ioncube-loader} %global extname ioncube_loader %global debug_package %{nil} %global __debug_install_post /bin/true %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 %global _build_id_links none %endif %ifarch armv7hl aarch64 armv7hl %global with_zts 0 %else %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %endif %if "%{php_version}" < "5.6" %global ininame %{extname}.ini %else # [ionCube Loader] The Loader must appear as the first entry in the php.ini %global ininame 01-%{extname}.ini %endif # Open issues # http://forum.ioncube.com/viewtopic.php?t=4244 - No version in Reflection Name: %{?scl_prefix}php-ioncube-loader Summary: Loader for ionCube Encoded Files with ionCube 24 support %global upstream_version 12.0.1 #global upstream_prever beta2 Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} License: Distribuable URL: http://www.ioncube.com %if 0%{?upstream_prever:1} Source0: https://www.ioncube.com/php-7.4.0-beta-loaders/ioncube_loaders_lin_x86_7.4_BETA2.tar.gz Source1: https://www.ioncube.com/php-7.4.0-beta-loaders/ioncube_loaders_lin_x86-64_7.4_BETA2.tar.gz %else Source1: https://www.ioncube.com/linux-v12-loaders/ioncube_loaders_lin_x86-64_v12.tar.gz #Source0: http://downloads2.ioncube.com/loader_downloads/%%{extname}s_lin_x86_%%{version}.tar.gz #Source1: http://downloads2.ioncube.com/loader_downloads/%%{extname}s_lin_x86-64_%%{version}.tar.gz #Source2: http://downloads2.ioncube.com/loader_downloads/%%{extname}s_lin_armv7l_%%{version}.tar.gz #Source3: http://downloads2.ioncube.com/loader_downloads/%%{extname}s_lin_aarch64_%%{version}.tar.gz %endif Source90: LICENSE.txt Source91: USER-GUIDE.txt #ExclusiveArch: %%{ix86} x86_64 armv7hl aarch64 ExclusiveArch: x86_64 BuildRequires: %{?scl_prefix}php-devel # ABI check Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} %{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} %if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} # Other third party repo stuff Obsoletes: php53-ioncube-loader <= %{version} Obsoletes: php53u-ioncube-loader <= %{version} Obsoletes: php54-ioncube-loader <= %{version} %if "%{php_version}" > "5.5" Obsoletes: php55u-ioncube-loader <= %{version} %endif %if "%{php_version}" > "5.6" Obsoletes: php56u-ioncube-loader <= %{version} %endif %if "%{php_version}" > "7.0" Obsoletes: php70u-ioncube-loader <= %{version} %endif %if "%{php_version}" > "7.1" Obsoletes: php71u-ioncube-loader <= %{version} %endif %if "%{php_version}" > "7.2" Obsoletes: php72u-ioncube-loader <= %{version} %endif %if "%{php_version}" > "7.3" Obsoletes: php73-ioncube-loader <= %{version} %endif %if "%{php_version}" > "7.4" Obsoletes: php74-ioncube-loader <= %{version} %endif %endif %description Loader for ionCube Encoded Files with ionCube 24 support. Package built for PHP %(%{__php} -n -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. %prep %setup -q -T -c %ifarch aarch64 tar xvf %{SOURCE3} %else %ifarch armv7hl tar xvf %{SOURCE2} %else tar xvf %{SOURCE1} %endif %endif %if 0%{?upstream_prever:1} mkdir ioncube mv ioncube_loader_lin_7.4_%{upstream_version}_%{upstream_prever}.so ioncube/ioncube_loader_lin_7.4.so mv ioncube_loader_lin_7.4_%{upstream_version}_%{upstream_prever}_ts.so ioncube/ioncube_loader_lin_7.4_ts.so %endif [ -d linux_x86_64 ] && ln -s linux_x86_64 ioncube # Drop in the bit of configuration # Sometime file is missing # http://forum.ioncube.com/viewtopic.php?t=4245 [ -f ioncube/LICENSE.txt ] || cp %{SOURCE90} ioncube/ [ -f ioncube/USER-GUIDE.txt ] || cp %{SOURCE91} ioncube/ sed -e 's/\r//' -i ioncube/*.txt cat << 'EOF' | tee %{extname}.nts ; Enable %{extname} extension module zend_extension = %{extname}.so ; ionCube PHP Loader + Intrusion Protection from ioncube24.com configuration ;ic24.enable = 0 ;ic24.sec.stop_on_error = 1 ;ic24.sec.trusted_include_paths = '' ;ic24.sec.block_uploaded_files = 1 ;ic24.api_access_key = '' ;ic24.api_check_ip = 1 ;ic24.slt = '7' ;ic24.sec.enable = 'auto' ;ic24.sec.initial_state = 1 ;ic24.sec.initial_action = 'block' ;ic24.sec.initial_notify = 'always' ;ic24.sec.initial_cache_all = 1 ;ic24.sec.exclusion_key = '' ;ic24.home_dir = '' ;ic24.sec.block_stdin = '1' ;ic24.update_domains_retry_interval = '30' ;ic24.phperr.enable = 'auto' ;ic24.phperr.ignore = 0 ;ic24.api.log_msg_errors = 0 ;ic24.api.max_timeout = 7 ;ioncube.loader.encoded_paths = '' EOF cp %{extname}.nts %{extname}.zts %if "%{php_version}" < "5.5" sed -e 's:%{extname}.so:%{php_ztsextdir}/%{extname}.so:' \ -i %{extname}.zts sed -e 's:%{extname}.so:%{php_extdir}/%{extname}.so:' \ -i %{extname}.nts diff %{extname}.nts %{extname}.zts || : ok %endif %build # tarball provides binaries %install ver=$(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;') if [ -f ioncube/%{extname}_lin_${ver}.so ]; then install -D -pm 755 ioncube/%{extname}_lin_${ver}.so %{buildroot}%{php_extdir}/%{extname}.so %if %{with_zts} install -D -pm 755 ioncube/%{extname}_lin_${ver}_ts.so %{buildroot}%{php_ztsextdir}/%{extname}.so %endif elif [ -f linux_x86_64/${ver}.0/ioncube_loader_%{version}.so ]; then install -D -pm 755 linux_x86_64/${ver}.0/ioncube_loader_%{version}.so %{buildroot}%{php_extdir}/%{extname}.so %if %{with_zts} install -D -pm 755 linux_x86_64/${ver}.0-ts/ioncube_loader_%{version}_ts.so %{buildroot}%{php_ztsextdir}/%{extname}.so %endif else : Module for PHP $ver not provided exit 1 fi install -D -m 644 %{extname}.nts %{buildroot}%{php_inidir}/%{ininame} %if %{with_zts} install -D -m 644 %{extname}.zts %{buildroot}%{php_ztsinidir}/%{ininame} %endif %check # simple module load test %{__php} --no-php-ini \ --define zend_extension=%{buildroot}%{php_extdir}/%{extname}.so \ --version | grep 'ionCube.*%{upstream_version}' %if %{with_zts} %{__ztsphp} --no-php-ini \ --define zend_extension=%{buildroot}%{php_ztsextdir}/%{extname}.so \ --version | grep 'ionCube.*%{upstream_version}' %endif %files %{!?_licensedir:%global license %%doc} %license ioncube/LICENSE.txt %doc ioncube/USER-GUIDE.txt %config(noreplace) %{php_inidir}/%{ininame} %{php_extdir}/%{extname}.so %if %{with_zts} %config(noreplace) %{php_ztsinidir}/%{ininame} %{php_ztsextdir}/%{extname}.so %endif %changelog * Tue Aug 9 2022 Remi Collet - 12.0.1-1 - update to 12.0.1 (Aug 8, 2022) * Mon Aug 8 2022 Remi Collet - 12.0.0-1 - update to 12.0.0 (Aug 5, 2022) - open https://support.ioncube.com/index.php?/Tickets/Ticket/View/25726 [12.0.0] undefined symbol: zend_exception_uncaught_error on 8.1 * Thu Jan 13 2022 Remi Collet - 11.0.1-1 - update to 11.0.1 (Jan 12, 2022) * Mon Oct 25 2021 Remi Collet - 11.0.0-1 - update to 11.0.0 (Oct 22, 2021) * Wed Nov 25 2020 Remi Collet - 10.4.5-1 - update to 10.4.5 (Nov 24, 2020) * Mon Oct 5 2020 Remi Collet - 10.4.4-1 - update to 10.4.4 (Oct 2, 2020) * Wed Sep 9 2020 Remi Collet - 10.4.3-1 - update to 10.4.3 (Sep 7, 2020) * Tue Sep 1 2020 Remi Collet - 10.4.2-1 - update to 10.4.2 (Sep 1, 2020) * Wed Jul 15 2020 Remi Collet - 10.4.1-2 - add aarch64 support * Wed Jul 15 2020 Remi Collet - 10.4.1-1 - update to 10.4.1 (Jul 13, 2020) * Tue Jun 30 2020 Remi Collet - 10.4.0-1 - update to 10.4.0 (Jun 29, 2020) * Mon Mar 2 2020 Remi Collet - 10.4.0~beta2-1 - update to 10.4.0-beta2 for PHP 7.4 (Feb 28, 2020) * Thu Feb 27 2020 Remi Collet - 10.4.0~beta1-1 - update to 10.4.0-beta1 for PHP 7.4 (Feb 27, 2020) * Fri Oct 11 2019 Remi Collet - 10.3.9-1 - update to 10.3.9 (Oct 11, 2019) * Sun Aug 25 2019 Remi Collet - 10.3.8-1 - update to 10.3.8 (Aug 23, 2019) * Wed Jun 26 2019 Remi Collet - 10.3.7-1 - update to 10.3.7 (Jun 25, 2019) * Wed Jun 19 2019 Remi Collet - 10.3.6-1 - update to 10.3.6 (Jun 18, 2019) * Thu Jun 6 2019 Remi Collet - 10.3.5-1 - update to 10.3.5 (Jun 4, 2019) * Mon Apr 8 2019 Remi Collet - 10.3.4-1 - update to 10.3.4 (Apr 7, 2019) * Thu Jan 3 2019 Remi Collet - 10.3.2-1 - update to 10.3.2 (Jan 2, 2019) * Sun Dec 30 2018 Remi Collet - 10.3.1-1 - update to 10.3.1 (Dec 28, 2018) * Mon Dec 24 2018 Remi Collet - 10.3.0-1 - update to 10.3.0 (Dec 21, 2018) * Wed Nov 14 2018 Remi Collet - 10.3.0~beta-1 - update to 10.3.0-beta for PHP 7.3 * Fri Nov 9 2018 Remi Collet - 10.2.7-1 - update to 10.2.7 (Nov 8, 2018) * Mon Oct 1 2018 Remi Collet - 10.2.5-1 - update to 10.2.5 (Sep 28, 2018) * Thu Aug 16 2018 Remi Collet - 10.2.4-1 - update to 10.2.4 (Jul 27, 2018) * Thu Jul 19 2018 Remi Collet - 10.2.3-1 - update to 10.2.3 (Jul 18, 2018) * Fri Jun 22 2018 Remi Collet - 10.2.2-1 - update to 10.2.2 (Jun 22, 2018) * Fri May 4 2018 Remi Collet - 10.2.1-1 - update to 10.2.1 (May 3, 2018) * Thu Mar 8 2018 Remi Collet - 10.2.0-1 - update to 10.2.0 (Mar 7, 2018) * Thu Jan 18 2018 Remi Collet - 10.1.1-1 - update to 10.1.1 (Jan 17, 2018) * Wed Jan 17 2018 Pablo Greco - 10.1.0-2 - add armv7hl as a target * Fri Dec 15 2017 Remi Collet - 10.1.0-1 - update to 10.1.0 (Dec 14, 2017) * Thu Nov 2 2017 Remi Collet - 10.0.4-1 - update to 10.0.4 (Nov 1, 2017) * Wed Sep 27 2017 Remi Collet - 10.0.3-1 - update to 10.0.3 (Sep 26, 2017) - add new options in default configuration * Tue Sep 12 2017 Remi Collet - 10.0.2-1 - update to 10.0.2 (Sep 11, 2017) * Mon Sep 4 2017 Remi Collet - 10.0.1-1 - update to 10.0.1 (Aug 31, 2017) * Thu Aug 24 2017 Remi Collet - 10.0.0-2 - add F27 workaround to https://bugzilla.redhat.com/1484370 * Thu Aug 3 2017 Remi Collet - 10.0.0-1 - update to 10.0.0 (Aug 2, 2017) * Wed May 24 2017 Remi Collet - 6.1.0-1 - update to 6.1.0 (May 23, 2017) * Thu Jan 26 2017 Remi Collet - 6.0.9-1 - update to 6.0.9 (Jan 26, 2017) * Thu Dec 15 2016 Remi Collet - 6.0.8-1 - update to 6.0.8 (Dec 15, 2016) * Sun Dec 4 2016 Remi Collet - 6.0.7-1 - update to 6.0.7 (Dec 4, 2016) * Thu Oct 27 2016 Remi Collet - 6.0.6-1 - update to 6.0.6 (Oct 26, 2016) * Sun Oct 9 2016 Remi Collet - 6.0.5-1 - update to 6.0.5 (Oct 7, 2016) * Mon Sep 26 2016 Remi Collet - 6.0.4-1 - update to 6.0.4 (Sep 23, 2016) * Mon Sep 19 2016 Remi Collet - 6.0.3-1 - update to 6.0.3 (Sep 19, 2016) * Thu Sep 15 2016 Remi Collet - 6.0.1-1 - update to 6.0.1 (Sep 14, 2016) * Wed Mar 23 2016 Remi Collet - 5.1.2-1 - update to 5.1.2 (Mar 22, 2016) * Sun Feb 7 2016 Remi Collet - 5.1.1-1 - update to 5.1.1 (Feb 7, 2016) * Sat Feb 6 2016 Remi Collet - 5.1.0-1 - update to 5.1.0 (Feb 5, 2016) - add new options in configuration file - remove README.txt, add USER-GUIDE.pdf - add missing LICENSE file from previous version * Wed Jan 27 2016 Remi Collet - 5.0.23-1 - update to 5.0.23 (Jan 26, 2016) - re-add ZTS module on EL-5 * Thu Jan 21 2016 Remi Collet - 5.0.22-1 - update to 5.0.22 (Jan 20, 2016) * Wed Jan 20 2016 Remi Collet - 5.0.21-1 - update to 5.0.21 (Jan 19, 2016) * Sat Jan 16 2016 Remi Collet - 5.0.20-1 - update to 5.0.20 (Jan 16, 2016) - update configuration comments, remove sec.alert_action add slt, sec.block_stdin, update_domains_retry_interval - drop broken ZTS module on EL-5 http://forum.ioncube.com/viewtopic.php?p=10779 * Tue Oct 20 2015 Remi Collet - 5.0.19-1 - update to 5.0.19 (Oct 19, 2015) * Tue Sep 15 2015 Remi Collet - 5.0.18-1 - update to 5.0.18 (Sep 14, 2015) * Thu Sep 10 2015 Remi Collet - 5.0.17-1 - update to 5.0.17 (Sep 9, 2015) * Fri Aug 28 2015 Remi Collet - 5.0.16-1 - update to 5.0.16 (Aug 27, 2015) * Fri Aug 21 2015 Remi Collet - 5.0.15-1 - update to 5.0.15 (Aug 19, 2015) * Thu Jul 30 2015 Remi Collet - 5.0.14-1 - update to 5.0.14 (Jul 29, 2015) * Tue Jul 28 2015 Remi Collet - 5.0.13-1 - update to 5.0.13 (Jul 28, 2015) * Tue Jul 14 2015 Remi Collet - 5.0.12-1 - update to 5.0.12 (Jul 13, 2015) * Mon Jun 29 2015 Remi Collet - 5.0.11-1 - update to 5.0.11 (Jun 28, 2015) * Tue Jun 23 2015 Remi Collet - 5.0.10-1 - update to 5.0.10 (Jun 22, 2015) * Sat Jun 20 2015 Remi Collet - 5.0.9-1 - update to 5.0.9 (Jun 19, 2015) * Tue Jun 16 2015 Remi Collet - 5.0.8-1 - update to 5.0.8 (Jun 16, 2015) - update configuration with new options * Sat May 23 2015 Remi Collet - 5.0.7-1 - update to 5.0.7 (May 22, 2015) * Tue May 19 2015 Remi Collet - 5.0.6-1 - update to 5.0.6 (May 18, 2015) * Sun May 17 2015 Remi Collet - 5.0.5-1 - update to 5.0.5 (May 15, 2015) * Mon May 11 2015 Remi Collet - 5.0.4-1 - update to 5.0.4 (May 8, 2015) * Mon May 4 2015 Remi Collet - 5.0.3-1 - update to 5.0.3 (May 4, 2015) * Tue Apr 28 2015 Remi Collet - 5.0.1-1 - update to 5.0.1 (Apr 27, 2015) * Tue Mar 3 2015 Remi Collet - 4.7.5-2 - LICENSE.txt and README.txt are back http://forum.ioncube.com/viewtopic.php?t=4245 - php 5.5+ don't need full extension path * Sat Feb 28 2015 Remi Collet - 4.7.5-1 - update to 4.7.5 (Feb 27, 2015) * Thu Feb 12 2015 Remi Collet - 4.7.4-1 - update to 4.7.4 (Feb 10, 2015) * Wed Dec 24 2014 Remi Collet 4.7.3-1.1 - Fedora 21 SCL mass rebuild * Wed Dec 17 2014 Remi Collet - 4.7.3-1 - update to 4.7.3 (Dec 15, 2014) * Mon Nov 24 2014 Remi Collet - 4.7.2-1 - update to 4.7.2 (Nov 24, 2014) * Fri Oct 31 2014 Remi Collet - 4.7.1-1 - update to 4.7.1 (Oct 31, 2014) * Sat Oct 18 2014 Remi Collet - 4.7.0-1 - update to 4.6.2 (Oct 17, 2014) with PHP 5.6 support * Thu Oct 16 2014 Remi Collet - 4.6.2-1 - update to 4.6.2 (Oct 14, 2014) * Mon Sep 1 2014 Remi Collet - 4.6.1-2 - allow SCL build - make ZTS optional * Tue Apr 22 2014 Remi Collet - 4.6.1-1 - update to 4.6.1 (Apr 22, 2014) * Sun Apr 6 2014 Remi Collet - 4.6.0-1 - update to 4.6.0 (Apr 4, 2014) * Tue Feb 18 2014 Remi Collet - 4.5.3-1 - update to 4.5.3 (Feb 11, 2014) * Sat Jan 18 2014 Remi Collet - 4.5.2-1 - update to 4.5.2 * Sat Jan 11 2014 Remi Collet - 4.5.1-1 - update to 4.5.1 * Sat Oct 19 2013 Remi Collet - 4.4.4-1 - update to 4.4.4 (php 5.4 only) * Mon Sep 16 2013 Remi Collet - 4.4.3-1 - update to 4.4.3 (php 5.4 only) * Mon Jun 24 2013 Remi Collet - 4.4.1-1 - update to 4.4.1 * Mon Sep 3 2012 Remi Collet - 4.2.2-1 - initial package