summaryrefslogtreecommitdiffstats
path: root/phpMyAdmin.spec
diff options
context:
space:
mode:
Diffstat (limited to 'phpMyAdmin.spec')
-rw-r--r--phpMyAdmin.spec290
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