# # spec file for package phpMyAdmin # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: phpMyAdmin %define apxs %{_sbindir}/apxs2 %define ap_sysconfdir %(%{apxs} -q SYSCONFDIR) %define ap_serverroot %(%{apxs} -q PREFIX) %define ap_docroot %(%{apxs} -q PREFIX)/htdocs %define pma_config %{_sysconfdir}/%{name}/config.inc.php %if 0%{?suse_version} %define ap_usr wwwrun %define ap_grp www %else %define ap_usr nobody %define ap_grp nogroup %endif Summary: Administration of MySQL over the web License: GPL-2.0+ Group: Productivity/Networking/Web/Frontends Version: 4.3.11.1 Release: 0 Url: http://www.phpMyAdmin.net Source0: http://sourceforge.net/projects/phpmyadmin/files/%{name}-%{version}-all-languages.tar.bz2 Source1: %{name}.http Source100: %{name}-rpmlintrc # Fix-SuSE: provide useful default config Patch0: %{name}-config.patch # Fix-SUSE: auto config for pma storage Patch1: %{name}-pma.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: pwgen coreutils sed grep BuildRequires: apache2-devel BuildRequires: python-devel %if 0%{?suse_version} > 1020 BuildRequires: fdupes %endif # Requires: mod_php_any Requires: php-bz2 Requires: php-gd Requires: php-iconv Requires: php-mbstring Requires: php-mcrypt Requires: php-mysql Requires: php-session Requires: php-zlib Recommends: php5-zip %description phpMyAdmin can manage a whole MySQL server (needs a super-user) as well as a single database. To accomplish the latter you'll need a properly set up MySQL user who can read/write only the desired database. It's up to you to look up the appropriate part in the MySQL manual. Currently phpMyAdmin can: * browse and drop databases, tables, views, fields and indexes * create, copy, drop, rename and alter databases, tables, fields and indexes * maintenance server, databases and tables, with proposals on server configuration * execute, edit and bookmark any SQL-statement, even batch-queries * load text files into tables * create^1 and read dumps of tables * export^1 data to various formats: CSV, XML, PDF, ISO/IEC 26300 - OpenDocument Text and Spreadsheet, Word, Excel and L^AT[E]X formats * import data and MySQL structures from Microsoft Excel and OpenDocument spreadsheets, as well as XML, CSV, and SQL files * administer multiple servers * manage MySQL users and privileges * check referential integrity in MyISAM tables * using Query-by-example (QBE), create complex queries automatically connecting required tables * create PDF graphics of your Database layout * search globally in a database or a subset of it * transform stored data into any format using a set of predefined functions, like displaying BLOB-data as image or download-link * track changes on databases, tables and views * support InnoDB tables and foreign keys (see FAQ 3.6) * support mysqli, the improved MySQL extension (see FAQ 1.17) * communicate in 57 different languages * synchronize two databases residing on the same as well as remote servers (see FAQ 9.1) %prep %setup -q -n %{name}-%{version}-all-languages ## rpmlint: # wrong-file-end-of-line-encoding %{__perl} -p -i -e 's|\r\n|\n|' examples/config.manyhosts.inc.php %patch0 %patch1 find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \; find . -type f -name '*.orig' -exec rm {} \; %build %install #%%{__install} -d -m0750 $RPM_BUILD_ROOT%%{_sysconfdir}/%%{name} %{__install} -d -m0755 $RPM_BUILD_ROOT%{ap_docroot}/%{name} %{__cp} -dR *.css *.php *.ico js libraries locale themes \ $RPM_BUILD_ROOT%{ap_docroot}/%{name} # install config to config dir %{__install} -D -m0640 $RPM_BUILD_ROOT%{ap_docroot}/%{name}/config.sample.inc.php \ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.inc.php # fix libraries/vendor_config.php %{__sed} -i -e "s,@docdir@,%{_docdir}/%{name},g" -e "s,@sysconfdir@,%{_sysconfdir}/%{name},g" \ $RPM_BUILD_ROOT%{ap_docroot}/%{name}/libraries/vendor_config.php # fix libraries/common.inc.php #%%{__sed} -i -e "s,@PMA_Config@,%%{_sysconfdir}/%%{name}/config.inc.php,g" \ # $RPM_BUILD_ROOT%%{ap_docroot}/%%{name}/libraries/common.inc.php # generate file list find $RPM_BUILD_ROOT%{ap_docroot}/%{name} -mindepth 1 -maxdepth 1 -type d | sed -e "s@$RPM_BUILD_ROOT@@" > FILELIST find $RPM_BUILD_ROOT%{ap_docroot}/%{name} -maxdepth 1 -type f | grep -v 'config.inc.php' | sed -e "s@$RPM_BUILD_ROOT@@" >> FILELIST %{__install} -D -m0644 %{S:1} $RPM_BUILD_ROOT%{ap_sysconfdir}/conf.d/%{name}.conf # fix paths in http config %{__sed} -i -e "s,@ap_docroot@,%{ap_docroot},g" -e "s,@name@,%{name},g" \ -e "s,@docdir@,%{_docdir},g" $RPM_BUILD_ROOT%{ap_sysconfdir}/conf.d/%{name}.conf # rpmlint stuff %if 0%{?suse_version} > 1020 %fdupes ${RPM_BUILD_ROOT}%{ap_docroot}/%{name}/libraries %fdupes ${RPM_BUILD_ROOT}%{ap_docroot}/%{name}/themes %endif # Fix python-bytecode-inconsistent-mtime rm -rf doc/_ext/configext.pyc pushd doc/_ext %py_compile ./ popd %post # on `rpm -ivh` PARAM is 1 # on `rpm -Uvh` PARAM is 2 # set PmaAbsoluteUri ### generate blowfish secret %{__sed} -i -e "s,@FQDN@,$(cat /etc/HOSTNAME)," \ -e "s/\\\$cfg\['blowfish_secret'\] = ''/\$cfg['blowfish_secret'] = '`pwgen -s -1 46`'/" %{pma_config} %if 0%{?suse_version} < 1310 %restart_on_update apache2 #%%else #systemctl try-restart apache2 &>/dev/null %endif %postun %if 0%{?suse_version} < 1310 %restart_on_update apache2 #%%else #systemctl try-restart apache2 &>/dev/null %endif %clean %{__rm} -rf $RPM_BUILD_ROOT %files -f FILELIST %defattr(644,root,root,755) %doc ChangeLog %doc LICENSE README RELEASE-DATE* %doc examples doc %dir %attr(0750,root,%{ap_grp}) %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/config.inc.php %dir %{ap_docroot}/%{name} %config(noreplace) %{ap_sysconfdir}/conf.d/%{name}.conf %changelog