Blame adminer.spec

Bernhard M. Wiedemann ac406d
#
Bernhard M. Wiedemann ac406d
# spec file for package adminer
Bernhard M. Wiedemann ac406d
#
926e57
# Copyright (c) 2021 SUSE LLC
Bernhard M. Wiedemann ac406d
# Copyright (c) 2015 Jimmy Berry <jimmy@boombatower.com>
Bernhard M. Wiedemann ac406d
#
Bernhard M. Wiedemann ac406d
# All modifications and additions to the file contributed by third parties
Bernhard M. Wiedemann ac406d
# remain the property of their copyright owners, unless otherwise agreed
Bernhard M. Wiedemann ac406d
# upon. The license for this file, and modifications and additions to the
Bernhard M. Wiedemann ac406d
# file, is the same license as for the pristine package itself (unless the
Bernhard M. Wiedemann ac406d
# license for the pristine package is not an Open Source License, in which
Bernhard M. Wiedemann ac406d
# case the license is the MIT License). An "Open Source License" is a
Bernhard M. Wiedemann ac406d
# license that conforms to the Open Source Definition (Version 1.9)
Bernhard M. Wiedemann ac406d
# published by the Open Source Initiative.
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
# Please submit bugfixes or comments via https://bugs.opensuse.org/
Bernhard M. Wiedemann ac406d
#
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
# pending package submissions to Factory
Bernhard M. Wiedemann ac406d
%bcond_with elasticsearch
Bernhard M. Wiedemann ac406d
%bcond_with mongodb
Bernhard M. Wiedemann ac406d
%bcond_with mssql
Bernhard M. Wiedemann ac406d
Name:           adminer
926e57
Version:        4.8.0
Bernhard M. Wiedemann ac406d
Release:        0
Bernhard M. Wiedemann ac406d
Summary:        Database management in a single PHP file
Bernhard M. Wiedemann ac406d
License:        GPL-2.0-only OR Apache-2.0
Bernhard M. Wiedemann ac406d
Group:          Productivity/Networking/Web/Frontends
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann dc195f
URL:            https://www.adminer.org/
Bernhard M. Wiedemann ac406d
Source0:        %{name}-%{version}.tar.xz
Bernhard M. Wiedemann ac406d
Source1:        %{name}-httpd.conf
Bernhard M. Wiedemann ac406d
BuildArch:      noarch
Bernhard M. Wiedemann ac406d
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
BuildRequires:  apache-rpm-macros
Bernhard M. Wiedemann ac406d
BuildRequires:  apache2-devel
926e57
BuildRequires:  php-cli
Bernhard M. Wiedemann ac406d
BuildRequires:  php-tokenizer
Bernhard M. Wiedemann ac406d
BuildRequires:  xz
Bernhard M. Wiedemann ac406d
Requires:       adminer-database-support = %{version}
Bernhard M. Wiedemann ac406d
Requires:       mod_php_any
Bernhard M. Wiedemann ac406d
Requires:       php-iconv
Bernhard M. Wiedemann ac406d
Requires:       php-mbstring
Bernhard M. Wiedemann ac406d
Requires:       php-session
Bernhard M. Wiedemann ac406d
Requires:       php-zlib
Bernhard M. Wiedemann ac406d
Suggests:       adminer-mysql
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%description
Bernhard M. Wiedemann ac406d
Adminer (formerly phpMinAdmin) is a full-featured database management tool
Bernhard M. Wiedemann ac406d
written in PHP. Conversely to phpMyAdmin, it consists of a single file ready to
Bernhard M. Wiedemann ac406d
deploy to the target server. Adminer is available for MySQL, PostgreSQL, SQLite,
Bernhard M. Wiedemann ac406d
MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch and MongoDB.
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%package editor
Bernhard M. Wiedemann ac406d
Summary:        Data manipulation for end-users
Bernhard M. Wiedemann ac406d
Group:          Productivity/Networking/Web/Frontends
Bernhard M. Wiedemann ac406d
Requires:       adminer = %{version}
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%description editor
Bernhard M. Wiedemann ac406d
Adminer Editor is both easy-to-use and user-friendly database data editing tool
Bernhard M. Wiedemann ac406d
written in PHP. It is suitable for common users, as it provides high-level data
Bernhard M. Wiedemann ac406d
manipulation.
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%package designs
Bernhard M. Wiedemann ac406d
Summary:        Alternative designs
Bernhard M. Wiedemann ac406d
Group:          Productivity/Networking/Web/Frontends
Bernhard M. Wiedemann ac406d
Requires:       adminer = %{version}
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%description designs
Bernhard M. Wiedemann ac406d
Alternative designs for Adminer. Update the symbolic link at
Bernhard M. Wiedemann ac406d
%{apache_datadir}/%{name}/adminer.css to target the desired theme found in
Bernhard M. Wiedemann ac406d
%{apache_datadir}/%{name}/designs/*/adminer.css.
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
# Define adminer-database-support packages
Bernhard M. Wiedemann ac406d
%package elasticsearch
Bernhard M. Wiedemann ac406d
Summary:        Dependencies required for Adminer ElasticSearch support
Bernhard M. Wiedemann ac406d
Group:          Productivity/Networking/Web/Frontends
Bernhard M. Wiedemann ac406d
Provides:       adminer-database-support = %{version}
Bernhard M. Wiedemann ac406d
Requires:       adminer = %{version}
Bernhard M. Wiedemann ac406d
Requires:       php-pear-horde_elasticsearch
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%description elasticsearch
Bernhard M. Wiedemann ac406d
Virtual package that requires dependencies needed for Adminer ElasticSearch support
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%package mongodb
Bernhard M. Wiedemann ac406d
Summary:        Dependencies required for Adminer MongoDB support
Bernhard M. Wiedemann ac406d
Group:          Productivity/Networking/Web/Frontends
Bernhard M. Wiedemann ac406d
Provides:       adminer-database-support = %{version}
Bernhard M. Wiedemann ac406d
Requires:       adminer = %{version}
Bernhard M. Wiedemann ac406d
Requires:       php-pear-horde_mongo
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%description mongodb
Bernhard M. Wiedemann ac406d
Virtual package that requires dependencies needed for Adminer MongoDB support
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%package mssql
Bernhard M. Wiedemann ac406d
Summary:        Dependencies required for Adminer MS SQL support
Bernhard M. Wiedemann ac406d
Group:          Productivity/Networking/Web/Frontends
Bernhard M. Wiedemann ac406d
Provides:       adminer-database-support = %{version}
Bernhard M. Wiedemann ac406d
Requires:       adminer = %{version}
Bernhard M. Wiedemann ac406d
Requires:       php-mssql
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%description mssql
Bernhard M. Wiedemann ac406d
Virtual package that requires dependencies needed for Adminer MS SQL support
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%package mysql
Bernhard M. Wiedemann ac406d
Summary:        Dependencies required for Adminer MySQL support
Bernhard M. Wiedemann ac406d
Group:          Productivity/Networking/Web/Frontends
Bernhard M. Wiedemann ac406d
Provides:       adminer-database-support = %{version}
Bernhard M. Wiedemann ac406d
Requires:       adminer = %{version}
Bernhard M. Wiedemann ac406d
Requires:       php-mysql
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%description mysql
Bernhard M. Wiedemann ac406d
Virtual package that requires dependencies needed for Adminer MySQL support
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%package pgsql
Bernhard M. Wiedemann ac406d
Summary:        Dependencies required for Adminer PostgreSQL support
Bernhard M. Wiedemann ac406d
Group:          Productivity/Networking/Web/Frontends
Bernhard M. Wiedemann ac406d
Provides:       adminer-database-support = %{version}
Bernhard M. Wiedemann ac406d
Requires:       adminer = %{version}
Bernhard M. Wiedemann ac406d
Requires:       php-pgsql
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%description pgsql
Bernhard M. Wiedemann ac406d
Virtual package that requires dependencies needed for Adminer PostgreSQL support
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%package sqlite
Bernhard M. Wiedemann ac406d
Summary:        Dependencies required for Adminer SQLite support
Bernhard M. Wiedemann ac406d
Group:          Productivity/Networking/Web/Frontends
Bernhard M. Wiedemann ac406d
Provides:       adminer-database-support = %{version}
Bernhard M. Wiedemann ac406d
Requires:       adminer = %{version}
Bernhard M. Wiedemann ac406d
Requires:       php-sqlite
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%description sqlite
Bernhard M. Wiedemann ac406d
Virtual package that requires dependencies needed for Adminer SQLite support
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%prep
Bernhard M. Wiedemann ac406d
%setup -q
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%build
Bernhard M. Wiedemann ac406d
# Creates: ./adminer-{version}.php.
Bernhard M. Wiedemann ac406d
./compile.php
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
# Creates: ./editor-{version}.php.
Bernhard M. Wiedemann ac406d
./compile.php editor
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%install
Bernhard M. Wiedemann ac406d
# Remove version from file names.
Bernhard M. Wiedemann ac406d
mv adminer-%{version}.php adminer.php
Bernhard M. Wiedemann ac406d
mv editor-%{version}.php editor.php
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
# Install files in datadir.
Bernhard M. Wiedemann ac406d
install -d -m 0755 %{buildroot}%{apache_datadir}/%{name}
Bernhard M. Wiedemann ac406d
cp -R adminer.php editor.php designs/ \
Bernhard M. Wiedemann ac406d
  %{buildroot}%{apache_datadir}/%{name}
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
# Default to hever theme.
Bernhard M. Wiedemann ac406d
ln -s %{apache_datadir}/%{name}/designs/hever/adminer.css \
Bernhard M. Wiedemann ac406d
  %{buildroot}%{apache_datadir}/%{name}
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
install -D -m 0644 %{SOURCE1} %{buildroot}%{apache_sysconfdir}/conf.d/%{name}.conf
Bernhard M. Wiedemann ac406d
# Fix paths in httpd config.
Bernhard M. Wiedemann ac406d
sed -i -e "s,@apache_datadir@,%{apache_datadir},g" -e "s,@name@,%{name},g" \
Bernhard M. Wiedemann ac406d
  %{buildroot}%{apache_sysconfdir}/conf.d/%{name}.conf
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
# README for adminer-database-support packages
Bernhard M. Wiedemann ac406d
echo "Virtual package for Adminer database support" > README
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%post
Bernhard M. Wiedemann ac406d
# Enable required apache modules.
Bernhard M. Wiedemann ac406d
if [ -x /usr/sbin/a2enmod ] ; then
Bernhard M. Wiedemann ac406d
  # Get installed php_version (5 or 7).
Bernhard M. Wiedemann ac406d
  php_version=$(php -v | grep '(cli)' | awk '{print $2}' | awk -F'.' '{print $1}')
Bernhard M. Wiedemann ac406d
  if [ -n "$php_version" ]; then
Bernhard M. Wiedemann ac406d
    a2enmod -q php${php_version} || a2enmod php${php_version}
Bernhard M. Wiedemann ac406d
    a2enmod -q version || a2enmod version
Bernhard M. Wiedemann ac406d
  fi
Bernhard M. Wiedemann ac406d
fi
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%if 0%{?suse_version} < 1310
Bernhard M. Wiedemann ac406d
%restart_on_update apache2
Bernhard M. Wiedemann ac406d
#%%else
Bernhard M. Wiedemann ac406d
#systemctl try-restart apache2 >/dev/null
Bernhard M. Wiedemann ac406d
%endif
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%postun
Bernhard M. Wiedemann ac406d
%if 0%{?suse_version} < 1310
Bernhard M. Wiedemann ac406d
%restart_on_update apache2
Bernhard M. Wiedemann ac406d
#%%else
Bernhard M. Wiedemann ac406d
#systemctl try-restart apache2 >/dev/null
Bernhard M. Wiedemann ac406d
%endif
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%files
Bernhard M. Wiedemann ac406d
%defattr(-,root,root)
Bernhard M. Wiedemann ac406d
%doc changes.txt
Bernhard M. Wiedemann ac406d
%dir %{apache_datadir}/%{name}
Bernhard M. Wiedemann ac406d
%{apache_datadir}/%{name}/adminer.php
Bernhard M. Wiedemann ac406d
%{apache_datadir}/%{name}/designs/hever/
Bernhard M. Wiedemann ac406d
%config(noreplace) %{apache_datadir}/%{name}/adminer.css
Bernhard M. Wiedemann ac406d
%config(noreplace) %{apache_sysconfdir}/conf.d/%{name}.conf
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%files editor
Bernhard M. Wiedemann ac406d
%defattr(-,root,root)
Bernhard M. Wiedemann ac406d
%{apache_datadir}/%{name}/editor.php
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%files designs
Bernhard M. Wiedemann ac406d
%defattr(-,root,root)
Bernhard M. Wiedemann ac406d
%{apache_datadir}/%{name}/designs/
Bernhard M. Wiedemann ac406d
%exclude %{apache_datadir}/%{name}/designs/hever/
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
# Define adminer-database-support packages
Bernhard M. Wiedemann ac406d
%if %{with elasticsearch}
Bernhard M. Wiedemann ac406d
%files elasticsearch
Bernhard M. Wiedemann ac406d
%defattr(-,root,root)
Bernhard M. Wiedemann ac406d
%doc README
Bernhard M. Wiedemann ac406d
%endif
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%if %{with mongodb}
Bernhard M. Wiedemann ac406d
%files mongodb
Bernhard M. Wiedemann ac406d
%defattr(-,root,root)
Bernhard M. Wiedemann ac406d
%doc README
Bernhard M. Wiedemann ac406d
%endif
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%if %{with mssql}
Bernhard M. Wiedemann ac406d
%files mssql
Bernhard M. Wiedemann ac406d
%defattr(-,root,root)
Bernhard M. Wiedemann ac406d
%doc README
Bernhard M. Wiedemann ac406d
%endif
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%files mysql
Bernhard M. Wiedemann ac406d
%defattr(-,root,root)
Bernhard M. Wiedemann ac406d
%doc README
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%files pgsql
Bernhard M. Wiedemann ac406d
%defattr(-,root,root)
Bernhard M. Wiedemann ac406d
%doc README
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%files sqlite
Bernhard M. Wiedemann ac406d
%defattr(-,root,root)
Bernhard M. Wiedemann ac406d
%doc README
Bernhard M. Wiedemann ac406d
Bernhard M. Wiedemann ac406d
%changelog