phpMyAdmin/phpMyAdmin.spec

159 lines
5.8 KiB
RPMSpec

#
# spec file for package phpMyAdmin
#
# Copyright (c) 2011 SUSE LINUX Products 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/
#
# norootforbuild
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
Version: 3.3.9.2
Release: 1
License: GPLv2+
Group: Productivity/Networking/Web/Frontends
Url: http://www.phpMyAdmin.net
Source0: %{name}-%{version}-all-languages.tar.bz2
Source1: %{name}.http
Patch0: %{name}-3.3.8-config.patch
#Patch1: %{name}-2.11.0rc1-blowfish_secret.patch
#Patch2: %{name}-3.1.0-mysqli.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: pwgen coreutils sed grep
BuildRequires: apache2-devel
%if 0%{?suse_version} > 1020
BuildRequires: fdupes
%endif
#
Requires: mod_php_any php-bz2 php-gd php-iconv
Requires: php-mbstring php-mcrypt php-mysql php-session 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
%patch0 -p1
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
find . -type f -name '*.orig' -exec rm {} \;
rm lang/*.sh
%{__rm} libraries/.htaccess
%build
%install
#%{__install} -d -m0750 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
%{__install} -d -m0755 $RPM_BUILD_ROOT%{ap_docroot}/%{name}
%{__cp} -dR *.css *.php *.html *.ico js lang libraries pmd 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 -s ${RPM_BUILD_ROOT}
%endif
%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}
%postun
%restart_on_update apache2
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%files -f FILELIST
%defattr(644,root,root,755)
%doc CREDITS ChangeLog Documentation.* docs.css
%doc LICENSE README RELEASE-DATE* TODO translators.html
%doc scripts/*.sql
%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