diff options
Diffstat (limited to 'redhat/applications/tde-guidance/tde-guidance.spec')
-rw-r--r-- | redhat/applications/tde-guidance/tde-guidance.spec | 458 |
1 files changed, 458 insertions, 0 deletions
diff --git a/redhat/applications/tde-guidance/tde-guidance.spec b/redhat/applications/tde-guidance/tde-guidance.spec new file mode 100644 index 000000000..0649514e9 --- /dev/null +++ b/redhat/applications/tde-guidance/tde-guidance.spec @@ -0,0 +1,458 @@ +# +# spec file for package tde-guidance (version R14) +# +# Copyright (c) 2014 Trinity Desktop Environment +# +# 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://www.trinitydesktop.org/ +# + +# TDE variables +%define tde_epoch 2 +%if "%{?tde_version}" == "" +%define tde_version 14.0.7 +%endif +%define tde_pkg tde-guidance +%define tde_prefix /opt/trinity +%define tde_bindir %{tde_prefix}/bin +%define tde_datadir %{tde_prefix}/share +%define tde_docdir %{tde_datadir}/doc +%define tde_includedir %{tde_prefix}/include +%define tde_libdir %{tde_prefix}/%{_lib} +%define tde_mandir %{tde_datadir}/man +%define tde_tdeappdir %{tde_datadir}/applications/tde +%define tde_tdedocdir %{tde_docdir}/tde +%define tde_tdeincludedir %{tde_includedir}/tde +%define tde_tdelibdir %{tde_libdir}/trinity + +%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%define __arch_install_post %{nil} + + +Name: trinity-%{tde_pkg} +Epoch: %{tde_epoch} +Version: 0.8.0svn20080103 +Release: %{?tde_version}_%{?!preversion:1}%{?preversion:0_%{preversion}}%{?dist} +Summary: A collection of system administration tools for Trinity +Group: Applications/Utilities +URL: http://www.simonzone.com/software/guidance + +%if 0%{?suse_version} +License: GPL-2.0+ +%else +License: GPLv2+ +%endif + +#Vendor: Trinity Desktop +#Packager: Francois Andriot <[email protected]> + +Prefix: %{tde_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz +Source1: trinity-%{tde_pkg}-rpmlintrc + +BuildRequires: trinity-tdelibs-devel >= %{tde_version} +BuildRequires: trinity-tdebase-devel >= %{tde_version} +BuildRequires: desktop-file-utils + +BuildRequires: trinity-pytdeextensions +BuildRequires: trinity-libpythonize0-devel +BuildRequires: trinity-python-trinity +BuildRequires: chrpath + +BuildRequires: autoconf automake libtool m4 +BuildRequires: gcc-c++ +BuildRequires: pkgconfig +BuildRequires: fdupes + +# SUSE desktop files utility +%if 0%{?suse_version} +BuildRequires: update-desktop-files +%endif + +%if 0%{?opensuse_bs} && 0%{?suse_version} +# for xdg-menu script +BuildRequires: brp-check-trinity +%endif + +# SIP support +BuildRequires: sip4-tqt-devel >= 4.10.5 +Requires: sip4-tqt >= 4.10.5 + +# PYTHON-QT support +BuildRequires: python-tqt-devel +BuildRequires: trinity-python-trinity-devel +BuildRequires: trinity-pytqt-tools + +# LIBXXF86VM support +%if 0%{?mgaversion} || 0%{?mdkversion} +BuildRequires: %{_lib}xxf86vm-devel +%endif +%if 0%{?rhel} || 0%{?fedora} || 0%{?suse_version} >= 1210 +BuildRequires: libXxf86vm-devel +%endif + +# XSCREENSAVER support +# RHEL 4: disabled +# RHEL 6: available in EPEL +# RHEL 7: available in NUX +%if 0%{?fedora} || 0%{?mgaversion} || 0%{?mdkversion} || 0%{?rhel} == 5 || 0%{?rhel} == 6 || 0%{?rhel} == 7 || 0%{?suse_version} +%define with_xscreensaver 1 + +%if 0%{?fedora} || 0%{?rhel} >= 5 +BuildRequires: libXScrnSaver-devel +BuildRequires: xscreensaver +BuildRequires: xscreensaver-base +BuildRequires: xscreensaver-extras +%if 0%{?fedora} +BuildRequires: xscreensaver-extras-base +%endif +BuildRequires: xscreensaver-gl-base +BuildRequires: xscreensaver-gl-extras +%endif + +%if 0%{?suse_version} +BuildRequires: libXScrnSaver-devel +BuildRequires: xscreensaver +BuildRequires: xscreensaver-data +BuildRequires: xscreensaver-data-extra +%endif + +%if 0%{?mgaversion} || 0%{?mdkversion} +%if 0%{?mgaversion} >= 4 +BuildRequires: %{_lib}xscrnsaver-devel +%else +BuildRequires: %{_lib}xscrnsaver%{?mgaversion:1}-devel +%endif +BuildRequires: xscreensaver +BuildRequires: xscreensaver-base +BuildRequires: xscreensaver-extrusion +BuildRequires: xscreensaver-gl +%endif +%endif + +# PYTHON +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 31 +%define python python2 +%define __python %__python2 +%else +%define python python +%endif +BuildRequires: %{python} + +Requires: python-tqt +Requires: trinity-python-trinity +Requires: trinity-pytdeextensions +%if 0%{?rhel} || 0%{?fedora} || 0%{?mgaversion} || 0%{?mdkversion} +Requires: hwdata +%endif + +Requires: %{name}-backends = %{?epoch:%{epoch}:}%{version}-%{release} + +# POWERMANAGER support (requires HAL) +#define with_powermanager 1 +Obsoletes: trinity-tde-guidance-powermanager + +Obsoletes: trinity-guidance < %{?epoch:%{epoch}:}%{version}-%{release} +Provides: trinity-guidance = %{?epoch:%{epoch}:}%{version}-%{release} + +%description +Guidance currently consists of four programs designed to help you +look after your system: + o userconfig - User and Group administration + o serviceconfig - Service/daemon administration + o mountconfig - Disk and filesystem administration + o wineconfig - Wine configuration + +These tools are available in Trinity Control Center, System Settings +or can be run as standalone applications. + +%files +%defattr(-,root,root,-) +%doc ChangeLog COPYING README TODO +%{tde_bindir}/grubconfig +%{tde_bindir}/mountconfig +%{tde_bindir}/serviceconfig +%{tde_bindir}/userconfig +%{tde_bindir}/wineconfig +%attr(0644,root,root) %{tde_tdelibdir}/*.so +%attr(0644,root,root) %{tde_tdelibdir}/*.la +%{tde_datadir}/apps/guidance/ +%{tde_tdeappdir}/*.desktop +%{tde_datadir}/icons/crystalsvg/*/*/*.png +%{tde_datadir}/icons/crystalsvg/*/*/*.svg +%{python_sitearch}/%{name}/SMBShareSelectDialog.py* +%{python_sitearch}/%{name}/SimpleCommandRunner.py* +%{python_sitearch}/%{name}/fuser.py* +%{python_sitearch}/%{name}/fuser_ui.py* +%{python_sitearch}/%{name}/grubconfig.py* +%{python_sitearch}/%{name}/mountconfig.py* +%{python_sitearch}/%{name}/serviceconfig.py* +%{python_sitearch}/%{name}/sizeview.py* +%{python_sitearch}/%{name}/unixauthdb.py* +%{python_sitearch}/%{name}/userconfig.py* +%{python_sitearch}/%{name}/wineconfig.py* +%{tde_tdedocdir}/HTML/en/guidance/ + + +# Files from powermanager +%if 0%{?with_powermanager} +%exclude %{tde_datadir}/icons/hicolor/22x22/apps/power-manager.png +%exclude %{tde_datadir}/apps/guidance/pics/ac-adapter.png +%exclude %{tde_datadir}/apps/guidance/pics/battery*.png +%exclude %{tde_datadir}/apps/guidance/pics/processor.png +%endif + +########## + +%package backends +Group: Applications/Utilities +Summary: collection of system administration tools for GNU/Linux [Trinity] +%if 0%{?rhel} || 0%{?fedora} || 0%{?mgaversion} || 0%{?mdkversion} +Requires: hwdata +%endif +Requires: %{python} + +Obsoletes: trinity-guidance-backends < %{?epoch:%{epoch}:}%{version}-%{release} +Provides: trinity-guidance-backends = %{?epoch:%{epoch}:}%{version}-%{release} + +%description backends +This package contains the platform neutral backends used in the +Guidance configuration tools. + +%files backends +%defattr(-,root,root,-) +%dir %{python_sitearch}/%{name} +%{python_sitearch}/%{name}/MicroHAL.py* +%{python_sitearch}/%{name}/drivedetect.py* +%{python_sitearch}/%{name}/wineread.py* +%{python_sitearch}/%{name}/winewrite.py* +%{python_sitearch}/%{name}/xf86misc.py* +%{python_sitearch}/ixf86misc.so + +########## + +%if 0%{?with_powermanager} + +%package powermanager +Group: Applications/Utilities +Summary: HAL based power manager applet [Trinity] +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: hal + +Obsoletes: trinity-guidance-powermanager < %{?epoch:%{epoch}:}%{version}-%{release} +Provides: trinity-guidance-powermanager = %{?epoch:%{epoch}:}%{version}-%{release} + +%if "%{tde_prefix}" == "/usr" +Conflicts: guidance-power-manager +Conflicts: kde-guidance-powermanager +%endif + +%description powermanager +A power management applet to indicate battery levels and perform hibernate or +suspend using HAL. + +%files powermanager +%defattr(-,root,root,-) +%{tde_bindir}/guidance-power-manager +%{python_sitearch}/%{name}/MicroHAL.py* +%{python_sitearch}/%{name}/guidance-power-manager.py* +%{python_sitearch}/%{name}/powermanage.py* +%{python_sitearch}/%{name}/gpmhelper.py* +%{python_sitearch}/%{name}/powermanager_ui.py* +%{python_sitearch}/%{name}/guidance_power_manager_ui.py* +%{python_sitearch}/%{name}/notify.py* +%{python_sitearch}/%{name}/tooltip.py* +%{tde_datadir}/icons/hicolor/22x22/apps/power-manager.png +%{tde_datadir}/apps/guidance/pics/ac-adapter.png +%{tde_datadir}/apps/guidance/pics/battery*.png +%{tde_datadir}/apps/guidance/pics/processor.png +%{tde_datadir}/autostart/guidance-power-manager.desktop + +%endif + +########## + +%if 0%{?pclinuxos} || 0%{?suse_version} && 0%{?opensuse_bs} == 0 +%debug_package +%endif + +########## + +%prep +%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}} + +%if 0%{?rhel} || 0%{?mgaversion} || 0%{?mdkversion} +%__sed -i "userconfig/unixauthdb.py" \ + -e "s|self.first_uid = .*|self.first_uid = 500|" \ + -e "s|self.first_gid = .*|self.first_gid = 500|" +%endif + + +%build +unset QTDIR QTINC QTLIB +export PATH="%{tde_bindir}:${PATH}" +#export PYTHONPATH=%{python_sitearch}/python-tqt + +# Avoids 'error: byte-compiling is disabled.' on Mandriva/Mageia +export PYTHONDONTWRITEBYTECODE= + +# FTBFS on PCLOS ... +export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -I%{tde_tdeincludedir} -I%{tde_includedir}" + +# Specific path for RHEL4 +if [ -d /usr/X11R6 ]; then + export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -I/usr/X11R6/include -L/usr/X11R6/%{_lib}" + %__sed -i "setup.py" -e "s|/usr/X11R6/lib|/usr/X11R6/%{_lib}|g" +fi + +%__python ./setup.py build + + +%install +unset QTDIR QTINC QTLIB +export PATH="%{tde_bindir}:${PATH}" +export EXTRA_MODULE_DIR="%{python_sitearch}/%{name}" +export SIPTQT_DIR="%{python_sitearch}/sip4_tqt" +export PYTHONPATH="%{python_sitearch}/python-tqt" + +# Support for 'sip4-tqt' +export PYTHONPATH="%{python_sitearch}/sip4_tqt:${PYTHONPATH}" + +# For Mageia/Mandriva: Avoids 'error: byte-compiling must be disabled. +export PYTHONDONTWRITEBYTECODE= + +%__rm -rf %{buildroot} +%__python ./setup.py install \ + --prefix=%{tde_prefix} \ + --root=%{buildroot} + +# Fix temporary build directories remaining inside .py files +for f in %{buildroot}%{tde_datadir}/apps/guidance/*.py; do + %__sed -i "${f}" -e "s|%{buildroot}||g" +done + +##### MAIN PACKAGE INSTALLATION (based on Debian/Ubuntu packaging rules) +# install icons to right place +%__mkdir_p %{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps +%__cp -f %{buildroot}%{tde_datadir}/apps/guidance/pics/hi32-app-daemons.png \ + %{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/daemons.png +%__cp -f %{buildroot}%{tde_datadir}/apps/guidance/pics/kcmpartitions.png \ + %{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/disksfilesystems.png +%__cp -f %{buildroot}%{tde_datadir}/apps/guidance/pics/hi32-user.png \ + %{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/userconfig.png +%__cp -f %{buildroot}%{tde_datadir}/apps/guidance/pics/32-wine.png \ + %{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/wineconfig.png +%__install -D -p -m0644 kde/wineconfig/pics/16x16/wineconfig.png \ + %{buildroot}%{tde_datadir}/icons/crystalsvg/16x16/apps/wineconfig.png + +# fix binary-or-shlib-defines-rpath +chrpath -r %{tde_libdir} %{buildroot}%{tde_tdelibdir}/kcm_*.so + +# fix executable-not-elf-or-script +%__chmod 0644 %{buildroot}%{tde_datadir}/apps/guidance/pics/kdewinewizard.png + +# move python modules in %{python_sitearch} (/usr/lib/pythonXX/site-packages) +%__mkdir_p %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{tde_datadir}/apps/guidance/*.py* %{buildroot}%{python_sitearch}/%{name} + +# Generates the startup scripts +%__rm -f %{buildroot}%{tde_bindir}/* +%__ln_s -f %{python_sitearch}/%{name}/mountconfig.py %{buildroot}%{tde_bindir}/mountconfig +%__ln_s -f %{python_sitearch}/%{name}/serviceconfig.py %{buildroot}%{tde_bindir}/serviceconfig +%__ln_s -f %{python_sitearch}/%{name}/userconfig.py %{buildroot}%{tde_bindir}/userconfig +%__ln_s -f %{python_sitearch}/%{name}/wineconfig.py %{buildroot}%{tde_bindir}/wineconfig +%__ln_s -f %{python_sitearch}/%{name}/grubconfig.py %{buildroot}%{tde_bindir}/grubconfig + +# fix script-not-executable +%__chmod 0755 %{buildroot}%{python_sitearch}/%{name}/fuser.py +%__chmod 0755 %{buildroot}%{python_sitearch}/%{name}/grubconfig.py + +##### BACKENDS INSTALLATION + +# The xf86misc stuff should not go under /opt/trinity bur under /usr !!! +%__mv -f %{buildroot}%{tde_libdir}/python*/site-packages/ixf86misc.so %{buildroot}%{python_sitearch} +%__mv -f %{buildroot}%{tde_libdir}/python*/site-packages/xf86misc.py* %{buildroot}%{python_sitearch}/%{name} + +%if 0%{?rhel} || 0%{?fedora} || 0%{?mgaversion} || 0%{?mdkversion} +%__rm -f %{buildroot}%{tde_datadir}/apps/guidance/MonitorsDB +%__ln_s -f /usr/share/hwdata/MonitorsDB %{buildroot}%{tde_datadir}/apps/guidance/MonitorsDB +%endif + +%if 0%{?with_powermanager} +##### POWERMANAGER INSTALLATION +# install icon to right place +%__install -D -p -m0644 kde/powermanager/pics/battery-charging-100.png \ + %{buildroot}%{tde_datadir}/icons/hicolor/22x22/apps/power-manager.png +%__install -D -p -m0644 kde/powermanager/pics/*.png \ + %{buildroot}%{tde_datadir}/apps/guidance/pics/ + +# install desktop file +%__install -D -p -m0644 powermanager/guidance-power-manager.desktop \ + %{buildroot}%{tde_datadir}/autostart/guidance-power-manager.desktop + +# copy python modules in PYSUPPORT_PATH +%__cp powermanager/guidance_power_manager_ui.py %{buildroot}%{python_sitearch}/%{name} +%__cp powermanager/notify.py %{buildroot}%{python_sitearch}/%{name} +%__cp powermanager/tooltip.py %{buildroot}%{python_sitearch}/%{name} + +# generate guidance-power-manager script +cat <<EOF >%{?buildroot}%{tde_bindir}/guidance-power-manager +#!/bin/sh +export PYTHONPATH=%{python_sitearch}/%{name}:%{python_sitearch}/sip4-tqt +%{python_sitearch}/%{name}/guidance-power-manager.py & +EOF +chmod +x %{buildroot}%{tde_bindir}/guidance-power-manager + +# fix script-not-executable +chmod 0755 %{buildroot}%{python_sitearch}/%{name}/powermanage.py +chmod 0755 %{buildroot}%{python_sitearch}/%{name}/gpmhelper.py + +%else +%__rm -f %{buildroot}%{python_sitearch}/%{name}/gpmhelper.py* +%__rm -f %{buildroot}%{python_sitearch}/%{name}/guidance-power-manager.py* +%__rm -f %{buildroot}%{python_sitearch}/%{name}/guidance_power_manager_ui.py* +%__rm -f %{buildroot}%{python_sitearch}/%{name}/powermanage.py* +%__rm -f %{buildroot}%{python_sitearch}/%{name}/powermanager_ui.py* +%__rm -f %{buildroot}%{tde_datadir}/apps/guidance/powermanager_ui.ui + +%endif + +# Replace all '#!' calls to python with /usr/bin/python +# and make them executable +%if 0%{?fedora} >= 30 || 0%{?rhel} >= 8 +%define python /usr/bin/python2 +%else +%define python /usr/bin/python +%endif +for i in `find %{buildroot} -type f`; do + sed '1s,#!.*python[^ ]*\(.*\),#! %python\1,' \ + $i > $i.temp; + if cmp --quiet $i $i.temp; then + rm -f $i.temp; + else + mv -f $i.temp $i; + chmod 755 $i; + echo "fixed interpreter: $i"; + fi; +done + +# Removes useless files +find %{buildroot} -name "*.egg-info" -exec rm -f {} \; +find %{buildroot}%{tde_libdir} -name "*.a" -exec rm -f {} \; + + +%clean +%__rm -rf %{buildroot} + + +%changelog |