diff options
Diffstat (limited to 'phpMyAdmin.spec')
-rw-r--r-- | phpMyAdmin.spec | 290 |
1 files changed, 146 insertions, 144 deletions
diff --git a/phpMyAdmin.spec b/phpMyAdmin.spec index 4f35a83..ebc0a8c 100644 --- a/phpMyAdmin.spec +++ b/phpMyAdmin.spec @@ -1,7 +1,7 @@ -# remirepo spec file for phpMyAdmin # remirepo:3 +# remirepo spec file for phpMyAdmin # -# Copyright (c) 2008-2021 Remi Collet +# Copyright (c) 2008-2025 Remi Collet # # Fedora spec file for phpMyAdmin # @@ -10,45 +10,48 @@ # # Please, preserve the changelog entries # -%{!?_pkgdocdir: %global _pkgdocdir %{_datadir}/doc/%{name}-%{version}} -# remirepo:1 -%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 + +%bcond_with generators + # nginx 1.6 with nginx-filesystem %global with_nginx 1 # httpd 2.4 with httpd-filesystem %global with_httpd 1 -# remirepo:4 -%else -%global with_nginx 0 -%global with_httpd 0 -%endif -%global upstream_version 5.1.0 -#global upstream_prever rc2 +%global upstream_version 5.2.2 +#global upstream_prever rc1 Name: phpMyAdmin Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} -Release: 3%{?dist} +Release: 1%{?dist} Summary: A web interface for MySQL and MariaDB +# phpMyAdmin is GPL-2.0-or-later # MIT (js/jquery/, js/jqplot, js/codemirror/, js/tracekit/) -# BSD (js/openlayers/) -# GPLv2+ (the rest) -License: GPLv2+ and MIT and BSD +# BSD 2-Clause (js/openlayers/) +# for PHP library see generated bundled list above +License: GPL-2.0-or-later AND MIT AND BSD-2-Clause AND BSD-3-Clause AND LGPL-3.0-or-later AND MPL-2.0 AND ISC URL: https://www.phpmyadmin.net/ Source0: https://files.phpmyadmin.net/%{name}/%{upstream_version}%{?upstream_prever:-%upstream_prever}/%{name}-%{upstream_version}%{?upstream_prever:-%upstream_prever}-all-languages.tar.xz Source1: https://files.phpmyadmin.net/%{name}/%{upstream_version}%{?upstream_prever:-%upstream_prever}/%{name}-%{upstream_version}%{?upstream_prever:-%upstream_prever}-all-languages.tar.xz.asc Source2: phpMyAdmin.htaccess Source3: phpMyAdmin.nginx Source4: https://files.phpmyadmin.net/phpmyadmin.keyring +# List name / version / license of bundled libraries +Source5: phpMyAdmin-bundled.php # Redirect to system certificates Patch0: phpMyAdmin-certs.patch BuildArch: noarch BuildRequires: gnupg2 -# ensure dependencies are there -BuildRequires: php-symfony4-common >= 4.4.9 +# to run phpMyAdmin-bundled.php +BuildRequires: php(language) >= 7.2.5 +BuildRequires: php-cli +BuildRequires: php-json +%if %{with generators} +BuildRequires: composer-generators +%endif Requires(post): coreutils sed Requires: webserver @@ -68,18 +71,19 @@ Requires: php(httpd) Suggests: httpd %endif # From composer.json, "require": { -# "php": "^7.1.3 || ^8.0", +# "php": "^7.2.5 || ^8.0", # "ext-hash": "*", # "ext-iconv": "*", # "ext-json": "*", # "ext-mysqli": "*", +# "ext-openssl": "*", # "ext-pcre": "*", # "ext-xml": "*", # "google/recaptcha": "^1.1", # "nikic/fast-route": "^1.3", # "phpmyadmin/motranslator": "^5.0", # "phpmyadmin/shapefile": "^2.0", -# "phpmyadmin/sql-parser": "^5.0", +# "phpmyadmin/sql-parser": "^5.5", # "phpmyadmin/twig-i18n-extension": "^3.0", # "phpseclib/phpseclib": "^2.0", # "symfony/config": "^4.4.9", @@ -87,87 +91,96 @@ Suggests: httpd # "symfony/expression-language": "^4.4.9", # "symfony/polyfill-ctype": "^1.17.0", # "symfony/polyfill-mbstring": "^1.17.0", -# "twig/twig": "^2.9 || ^3", +# "twig/twig": "^2.14.9 || ^3.3.5", # "williamdes/mariadb-mysql-kbs": "^1.2" -Requires: php(language) >= 7.1.3 +Requires: php(language) >= 7.2.5 Requires: php-hash Requires: php-iconv Requires: php-json Requires: php-mysqli +Requires: php-openssl Requires: php-pcre Requires: php-xml -# remirepo:1 -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -Requires: (php-composer(google/recaptcha) >= 1.1 with php-composer(google/recaptcha) < 2) -Requires: (php-composer(nikic/fast-route) >= 1.3 with php-composer(nikic/fast-route) < 2) -Requires: (php-composer(phpmyadmin/motranslator) >= 5.0 with php-composer(phpmyadmin/motranslator) < 6) -Requires: (php-composer(phpmyadmin/shapefile) >= 2.0 with php-composer(phpmyadmin/shapefile) < 3) -Requires: (php-composer(phpmyadmin/sql-parser) >= 5.0 with php-composer(phpmyadmin/sql-parser) < 6) -Requires: (php-composer(phpmyadmin/twig-i18n-extension) >= 3.0 with php-composer(phpmyadmin/twig-i18n-extension) < 4) -Requires: (php-composer(phpseclib/phpseclib) >= 2.0.9 with php-composer(phpseclib/phpseclib) < 3) -Requires: (php-composer(symfony/config) >= 4.4.9 with php-composer(symfony/config) < 5) -Requires: (php-composer(symfony/dependency-injection) >= 4.4.9 with php-composer(symfony/dependency-injection) < 5) -Requires: (php-composer(symfony/expression-language) >= 4.4.9 with php-composer(symfony/expression-language) < 5) -Requires: (php-composer(symfony/polyfill-mbstring) >= 1.17 with php-composer(symfony/polyfill-mbstring) < 2) -Requires: (php-composer(twig/twig) >= 2.9 with php-composer(twig/twig) < 4) -Requires: (php-composer(williamdes/mariadb-mysql-kbs) >= 1.2 with php-composer(williamdes/mariadb-mysql-kbs) < 2) -# remirepo:15 -%else -Requires: php-google-recaptcha >= 1.1 -Requires: php-nikic-fast-route >= 1.3 -Requires: php-phpmyadmin-motranslator5 >= 5.0 -Requires: php-phpmyadmin-shapefile >= 2.0 -Requires: php-phpmyadmin-sql-parser5 -Requires: php-phpmyadmin-twig-i18n-extension -Requires: php-phpseclib >= 2.0.9 -Requires: php-symfony4-config >= 4.4.9 -Requires: php-symfony4-dependency-injection >= 4.4.9 -Requires: php-symfony4-expression-language >= 4.4.9 -Requires: php-symfony-polyfill >= 1.17 -Requires: php-twig2 >= 2.9 -Requires: php-williamdes-mariadb-mysql-kbs >= 1.2 + +%if %{without generators} +# License BSD-2-Clause +Provides: bundled(php-composer(bacon/bacon-qr-code)) = 2.0.8 +Provides: bundled(php-composer(beberlei/assert)) = 3.3.3 +Provides: bundled(php-composer(code-lts/u2f-php-server)) = 1.2.2 +Provides: bundled(php-composer(dasprid/enum)) = 1.0.6 +# License BSD-3-Clause +Provides: bundled(php-composer(google/recaptcha)) = 1.2.4 +Provides: bundled(php-composer(nikic/fast-route)) = 1.3.0 +Provides: bundled(php-composer(twig/twig)) = 3.11.3 +# License GPL-2.0-or-later +Provides: bundled(php-composer(phpmyadmin/motranslator)) = 5.3.1 +Provides: bundled(php-composer(phpmyadmin/shapefile)) = 3.0.2 +Provides: bundled(php-composer(phpmyadmin/sql-parser)) = 5.10.3 +# License ISC +Provides: bundled(php-composer(paragonie/sodium_compat)) = 1.21.1 +# License LGPL-3.0-or-later +Provides: bundled(php-composer(tecnickcom/tcpdf)) = 6.8.0 +# License MIT +Provides: bundled(php-composer(brick/math)) = 0.8.17 +Provides: bundled(php-composer(composer/ca-bundle)) = 1.5.5 +Provides: bundled(php-composer(fgrosse/phpasn1)) = 2.5.0 +Provides: bundled(php-composer(fig/http-message-util)) = 1.1.5 +Provides: bundled(php-composer(league/uri)) = 6.4.0 +Provides: bundled(php-composer(league/uri-interfaces)) = 2.3.0 +Provides: bundled(php-composer(paragonie/constant_time_encoding)) = 2.7.0 +Provides: bundled(php-composer(paragonie/random_compat)) = 9.99.100 +Provides: bundled(php-composer(phpmyadmin/twig-i18n-extension)) = 4.1.3 +Provides: bundled(php-composer(pragmarx/google2fa)) = 8.0.3 +Provides: bundled(php-composer(pragmarx/google2fa-qrcode)) = 2.1.1 +Provides: bundled(php-composer(psr/cache)) = 1.0.1 +Provides: bundled(php-composer(psr/container)) = 1.1.1 +Provides: bundled(php-composer(psr/http-client)) = 1.0.3 +Provides: bundled(php-composer(psr/http-factory)) = 1.1.0 +Provides: bundled(php-composer(psr/http-message)) = 1.1 +Provides: bundled(php-composer(psr/log)) = 1.1.4 +Provides: bundled(php-composer(ralouphie/getallheaders)) = 3.0.3 +Provides: bundled(php-composer(ramsey/collection)) = 1.1.4 +Provides: bundled(php-composer(ramsey/uuid)) = 4.2.3 +Provides: bundled(php-composer(slim/psr7)) = 1.4.1 +Provides: bundled(php-composer(spomky-labs/base64url)) = 2.0.4 +Provides: bundled(php-composer(spomky-labs/cbor-php)) = 1.1.1 +Provides: bundled(php-composer(symfony/cache)) = 5.4.46 +Provides: bundled(php-composer(symfony/cache-contracts)) = 2.5.4 +Provides: bundled(php-composer(symfony/config)) = 5.4.46 +Provides: bundled(php-composer(symfony/dependency-injection)) = 5.4.48 +Provides: bundled(php-composer(symfony/deprecation-contracts)) = 2.5.4 +Provides: bundled(php-composer(symfony/expression-language)) = 5.4.45 +Provides: bundled(php-composer(symfony/filesystem)) = 5.4.45 +Provides: bundled(php-composer(symfony/polyfill-ctype)) = 1.31.0 +Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.31.0 +Provides: bundled(php-composer(symfony/polyfill-php73)) = 1.31.0 +Provides: bundled(php-composer(symfony/polyfill-php80)) = 1.31.0 +Provides: bundled(php-composer(symfony/polyfill-php81)) = 1.31.0 +Provides: bundled(php-composer(symfony/process)) = 5.4.47 +Provides: bundled(php-composer(symfony/service-contracts)) = 2.5.4 +Provides: bundled(php-composer(symfony/var-exporter)) = 5.4.45 +Provides: bundled(php-composer(thecodingmachine/safe)) = 1.3.3 +Provides: bundled(php-composer(web-auth/cose-lib)) = 3.3.12 +Provides: bundled(php-composer(web-auth/metadata-service)) = 3.3.12 +Provides: bundled(php-composer(web-auth/webauthn-lib)) = 3.3.12 +Provides: bundled(php-composer(webmozart/assert)) = 1.11.0 +# License MPL-2.0 +Provides: bundled(php-composer(williamdes/mariadb-mysql-kbs)) = 1.3.0 +# main package +Provides: php-composer(phpmyadmin/phpmyadmin) = %{version} %endif -# Autoloader -Requires: php-composer(fedora/autoloader) -# From composer.json, "suggest": { -# "ext-openssl": "Cookie encryption", -# "ext-curl": "Updates checking", -# "ext-opcache": "Better performance", -# "ext-zlib": "For gz import and export", -# "ext-bz2": "For bzip2 import and export", -# "ext-zip": "For zip import and export", -# "ext-gd2": "For image transformations", -# "ext-mbstring": "For best performance", -# "tecnickcom/tcpdf": "For PDF support", -# "pragmarx/google2fa-qrcode": "For 2FA authentication", -# "samyoul/u2f-php-server": "For FIDO U2F authentication" -# "conflict": { -# "phpseclib/phpseclib": "2.0.8", -# "tecnickcom/tcpdf": "<6.2", -# "pragmarx/google2fa-qrcode": "<1.0.1", -# "samyoul/u2f-php-server": "<1.1" + +Requires: php-dom +Requires: php-intl +Requires: php-posix +# php-tidy required by tcpdf is not used (fixHTMLCode) Requires: php-ctype -Requires: php-openssl Requires: php-curl Requires: php-zlib Requires: php-bz2 Requires: php-zip Requires: php-gd Requires: php-mbstring -# remirepo:1 -%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 -Recommends: php-opcache -Recommends: php-composer(tecnickcom/tcpdf) >= 6.3 -Recommends: php-composer(pragmarx/google2fa-qrcode) >= 1.0.1 -Recommends: php-composer(samyoul/u2f-php-server) >= 1.1 -Recommends: php-tcpdf-dejavu-sans-fonts >= 6.2 -# remirepo:6 -%else -Requires: php-tcpdf >= 6.3 -Requires: php-pragmarx-google2fa-qrcode >= 1.0.1 -Requires: php-samyoul-u2f-php-server >= 1.1 -Requires: php-tcpdf-dejavu-sans-fonts >= 6.2 -%endif # From phpcompatinfo reports for 4.8.0 # notice: recode is optional (iconv or mbstring are preferred / used first) Requires: php-date @@ -187,12 +200,6 @@ Provides: bundled(js-jquery) = 3.2.1 Provides: bundled(js-openlayers) Provides: bundled(js-tracekit) -Provides: php-composer(phpmyadmin/phpmyadmin) = %{version} -# remirepo:4 -# Update from other 3rd party -Obsoletes: phpMyAdmin50 <= %{version} -Obsoletes: phpMyAdmin49 <= %{version} -Obsoletes: phpmyadmin < %{version} # Allow lowercase in install command Provides: phpmyadmin = %{version}-%{release} @@ -209,7 +216,8 @@ is available in 50 languages %{?gpgverify:%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE1}' --data='%{SOURCE0}'} %setup -qn phpMyAdmin-%{upstream_version}%{?upstream_prever:-%upstream_prever}-all-languages -%patch0 -p1 +%patch -P0 -p1 +rm -r vendor/composer/ca-bundle/res/ # Minimal configuration file sed -e "/'blowfish_secret'/s@''@'MUSTBECHANGEDONINSTALL'@" \ @@ -218,53 +226,21 @@ sed -e "/'blowfish_secret'/s@''@'MUSTBECHANGEDONINSTALL'@" \ config.sample.inc.php >CONFIG # Setup vendor config file -sed -e "/'CHANGELOG_FILE'/s@ROOT_PATH@'%{_pkgdocdir}/'@" \ - -e "/'LICENSE_FILE'/s@ROOT_PATH@'%{_pkgdocdir}/'@" \ - -e "/'CONFIG_DIR'/s@ROOT_PATH@'%{_sysconfdir}/%{name}/'@" \ -%if 0%{?_licensedir:1} - -e '/LICENSE_FILE/s:%_defaultdocdir:%_defaultlicensedir:' \ -%endif - -e "/VERSION_SUFFIX/s/''/'-%{release}'/" \ - -e '/AUTOLOAD_FILE/s@./vendor@%{_datadir}/%{name}/vendor@' \ - -e "/TEMP_DIR/s@ROOT.*tmp'@'%{_localstatedir}/lib/%{name}/temp'@" \ - -e "/CACHE_DIR/s@ROOT.*cache'@'%{_localstatedir}/lib/%{name}/cache'@" \ +sed -e "/'changeLogFile'/s@ROOT_PATH@'%{_pkgdocdir}/'@" \ + -e "/'licenseFile'/s@ROOT_PATH@'%{_pkgdocdir}/'@" \ + -e "/'configFile'/s@ROOT_PATH@'%{_sysconfdir}/%{name}/'@" \ + -e '/licenseFile/s:%_defaultdocdir:%_defaultlicensedir:' \ + -e "/versionSuffix/s/''/'-%{release}'/" \ + -e "/tempDir/s@ROOT.*tmp'@'%{_localstatedir}/lib/%{name}/temp'@" \ + -e "/cacheDir/s@ROOT.*cache'@'%{_localstatedir}/lib/%{name}/cache'@" \ -i libraries/vendor_config.php # For debug -grep '^define' libraries/vendor_config.php - -# Generate autoloader -rm -rf vendor/* -cat << 'EOF' | tee vendor/autoload.php -<?php -/* Autoloader for phpMyAdmin and its dependencies */ - -require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php'; -\Fedora\Autoloader\Autoload::addPsr4('PhpMyAdmin\\', dirname(__DIR__) . '/libraries/classes'); -\Fedora\Autoloader\Dependencies::required([ - '%{_datadir}/php/FastRoute/autoload.php', - '%{_datadir}/php/PhpMyAdmin/MoTranslator5/autoload.php', /* before sqlparser which may allow other version */ - '%{_datadir}/php/PhpMyAdmin/SqlParser5/autoload.php', - '%{_datadir}/php/PhpMyAdmin/ShapeFile/autoload.php', - '%{_datadir}/php/phpseclib/autoload.php', - '%{_datadir}/php/ReCaptcha/autoload.php', - [ - '%{_datadir}/php/Twig3/autoload.php', - '%{_datadir}/php/Twig2/autoload.php', - ], - '%{_datadir}/php/PhpMyAdmin/Twig/Extensions/autoload.php', - '%{_datadir}/php/Symfony4/Component/Config/autoload.php', - '%{_datadir}/php/Symfony4/Component/DependencyInjection/autoload.php', - '%{_datadir}/php/Symfony4/Component/ExpressionLanguage/autoload.php', - '%{_datadir}/php/Symfony/Polyfill/autoload.php', - '%{_datadir}/php/Williamdes/MariaDBMySQLKBS/autoload.php', -]); -\Fedora\Autoloader\Dependencies::optional([ - '%{_datadir}/php/tcpdf/autoload.php', - '%{_datadir}/php/PragmaRX/Google2FAQRCode/autoload.php', - '%{_datadir}/php/Samyoul/U2F/U2FServer/autoload.php', -]); -EOF +grep '=>' libraries/vendor_config.php + +%if %{without generators} +php %{SOURCE5} vendor/composer/installed.json +%endif %build @@ -296,17 +272,14 @@ rm -rf %{buildroot}%{_datadir}/%{name}/tmp/ mv %{buildroot}%{_datadir}/%{name}/libraries/cache %{buildroot}/%{_localstatedir}/lib/%{name}/cache # JS libraries sources -#rm -r %{buildroot}%{_datadir}/%{name}/js/jquery/src -#rm -r %{buildroot}%{_datadir}/%{name}/js/openlayers/src - -# Bundled certificates -rm -r %{buildroot}%{_datadir}/%{name}/libraries/certs +#rm -r %%{buildroot}%%{_datadir}/%{name}/js/jquery/src +#rm -r %%{buildroot}%%{_datadir}/%{name}/js/openlayers/src # documentation rm -rf %{buildroot}%{_datadir}/%{name}/examples/ rm -rf %{buildroot}%{_datadir}/%{name}/doc/ mkdir -p %{buildroot}%{_datadir}/%{name}/doc/ -ln -s %{_pkgdocdir}/html %{buildroot}%{_datadir}/%{name}/doc/html +ln -s ../../doc/%{name}/html %{buildroot}%{_datadir}/%{name}/doc/html mv -f %{buildroot}%{_datadir}/%{name}/js/vendor/jquery/MIT-LICENSE.txt LICENSE-jquery mv -f %{buildroot}%{_datadir}/%{name}/js/vendor/codemirror/LICENSE LICENSE-codemirror @@ -326,7 +299,6 @@ sed -e "/'blowfish_secret'/s/MUSTBECHANGEDONINSTALL/$SECRET/" \ %files -%{!?_licensedir:%global license %%doc} %license LICENSE* %doc ChangeLog README CONTRIBUTING.md config.sample.inc.php %doc doc/html/ @@ -349,6 +321,36 @@ sed -e "/'blowfish_secret'/s/MUSTBECHANGEDONINSTALL/$SECRET/" \ %changelog +* Wed Jan 22 2025 Remi Collet <remi@remirepo.net> - 5.2.2-1 +- update to 5.2.2 (2025-01-21, security and bugfix release) + +* Wed Feb 8 2023 Remi Collet <remi@remirepo.net> - 5.2.1-1 +- update to 5.2.1 (2023-02-08, security and bugfix release) + +* Thu May 12 2022 Remi Collet <remi@remirepo.net> - 5.2.0-1 +- update to 5.2.0 (2022-10-12, new features release) + +* Mon Jan 24 2022 Remi Collet <remi@remirepo.net> - 5.2.0~rc1-1 +- update to 5.2.0-rc1 +- raise dependency on PHP 7.2.5 +- always use bundled libraries + +* Sun Jan 23 2022 Remi Collet <remi@remirepo.net> - 5.1.2-1 +- update to 5.1.2 (2022-01-22, security and bugfix release) +- raise dependency on phpmyadmin/sql-parser 5.5 +- raise dependency on twig/twig 2.14.9 +- switch from samyoul/u2f-php-server to code-lts/u2f-php-server + +* Thu Jan 13 2022 Remi Collet <remi@remirepo.net> - 5.1.1-4 +- fix Licence name +- add build dependency on json ext + +* Fri Dec 10 2021 Remi Collet <remi@remirepo.net> - 5.1.1-3 +- add flag to use all PHP bundled libraries instead of system ones + +* Fri Jun 4 2021 Remi Collet <remi@remirepo.net> - 5.1.1-1 +- update to 5.1.1 (2021-06-04, bugfix release) + * Wed May 5 2021 Remi Collet <remi@remirepo.net> - 5.1.0-3 - add VERSION_SUFFIX in vendor_config.php |