From b97c4943da02ff2b72e24c4de026795be4daaf5b Mon Sep 17 00:00:00 2001 From: Francois Andriot Date: Sat, 3 Dec 2011 17:35:19 +0100 Subject: [PATCH 1/4] RHEL/Fedora: add python-trinity --- ...n-trinity-3.5.13-install_directories.patch | 11 ++ .../python-trinity/python-trinity.spec | 129 ++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 redhat/libraries/python-trinity/python-trinity-3.5.13-install_directories.patch create mode 100644 redhat/libraries/python-trinity/python-trinity.spec diff --git a/redhat/libraries/python-trinity/python-trinity-3.5.13-install_directories.patch b/redhat/libraries/python-trinity/python-trinity-3.5.13-install_directories.patch new file mode 100644 index 000000000..a2949fc2b --- /dev/null +++ b/redhat/libraries/python-trinity/python-trinity-3.5.13-install_directories.patch @@ -0,0 +1,11 @@ +--- configure.py.ORI 2011-12-03 17:07:41.589390850 +0100 ++++ configure.py 2011-12-03 17:14:35.226888035 +0100 +@@ -786,7 +786,7 @@ + sipconfig.ParentMakefile( + configuration = pyqtcfg, + subdirs = subdirs, +- installs= [("pykdeconfig.py", opt_pykdemoddir), (srcPath("contrib/kdepyuic"), sipcfg.default_bin_dir)] ++ installs= [("pykdeconfig.py", opt_pykdemoddir), (srcPath("contrib/kdepyuic"), opt_kdebasedir + "/bin")] + ).generate() + + diff --git a/redhat/libraries/python-trinity/python-trinity.spec b/redhat/libraries/python-trinity/python-trinity.spec new file mode 100644 index 000000000..dec9a719a --- /dev/null +++ b/redhat/libraries/python-trinity/python-trinity.spec @@ -0,0 +1,129 @@ +# Default version for this component +%define kdecomp python-trinity +%define version 3.16.3 +%define release 1 + +# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". +%if "%{?_prefix}" != "/usr" +%define _variant .opt +%define _docdir %{_prefix}/share/doc +%endif + +# TDE 3.5.13 specific building variables +BuildRequires: autoconf automake libtool m4 +%define tde_docdir %{_docdir}/kde +%define tde_includedir %{_includedir}/kde +%define tde_libdir %{_libdir}/trinity + + +Name: %{kdecomp} +Summary: Trinity bindings for Python [Trinity] +Version: %{?version} +Release: %{?release}%{?dist}%{?_variant} + +License: GPLv2+ +Group: Applications/Utilities + +Vendor: Trinity Project +Packager: Francois Andriot +URL: http://www.simonzone.com/software/pykdeextensions + +Prefix: %{_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: %{kdecomp}-3.5.13.tar.gz + +## RHEL/Fedora patches +Patch0: python-trinity-3.5.13-install_directories.patch + +BuildRequires: tqtinterface-devel +BuildRequires: trinity-kdelibs-devel +BuildRequires: trinity-kdebase-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext + +BuildRequires: python +BuildRequires: PyQt-devel + + +%description +Python binding module that provides wide access to the Trinity API, +also known as PyKDE. Using this, you'll get (for example) classes +from kio, kjs, khtml and kprint. + + +%package devel +Summary: Trinity bindings for Python - Development files and scripts [Trinity] +Group: Development/Libraries + +%description devel +Development .sip files with definitions of PyKDE classes. They +are needed to build PyKDE, but also as building blocks of other +packages based on them. +The package also contains kdepyuic, a wrapper script around PyQt's +user interface compiler. + + +%package doc +Summary: Documentation and examples for PyKDE [Trinity] +Group: Development/Libraries + +%description doc +General documentation and examples for PyKDE providing programming +tips and working code you can use to learn from. + + +%prep +%setup -q -n libraries/%{kdecomp} +%patch0 -p0 + +# Hack to get TQT include files under /opt +%__sed -i "configure.py" \ + -e "s,/usr/include/tqt,%{_includedir}/tqt,g" + +%build +export PATH="%{_bindir}:${PATH}" +export LDFLAGS="-L%{_libdir} -I%{_includedir}" + +%__python configure.py \ + -k %{_prefix} \ + -L %{_lib} \ + -v %{_datadir}/sip/trinity +%__make %{_smp_mflags} + +%install +export PATH="%{_bindir}:${PATH}" +%__rm -rf %{buildroot} +%__make install DESTDIR=%{buildroot} + +# Install documentation +%__mkdir_p %{buildroot}%{tde_docdir}/HTML/en +%__cp -rf doc %{buildroot}%{tde_docdir}/HTML/en/%{name} + + + +%clean +%__rm -rf %{buildroot} + + + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING NEWS README +%{python_sitearch}/*.so +%{python_sitearch}/dcop*.py* +%{python_sitearch}/pykde*.py* + +%files devel +%defattr(-,root,root,-) +%{_bindir}/kdepyuic +%{_datadir}/sip/trinity + +%files doc +%defattr(-,root,root,-) +%{tde_docdir}/HTML/en/%{name} + + +%Changelog +* Fri Dec 02 2011 Francois Andriot - 3.16.3-1 +- Initial build for RHEL 5, RHEL 6, Fedora 15, Fedora 16 From 7ba2bd1098da531f3260c51ca2f7ecf1b310f9e8 Mon Sep 17 00:00:00 2001 From: Francois Andriot Date: Sat, 3 Dec 2011 17:36:41 +0100 Subject: [PATCH 2/4] RHEL/Fedora: add branding to kdebase (remove Kubuntu references) --- .../kdebase-3.5.13-kickoff_unstable.patch | 1 - redhat/kdebase/trinity-kdebase-3.5.13.spec | 52 ++++++++++++++++--- 2 files changed, 44 insertions(+), 9 deletions(-) diff --git a/redhat/kdebase/kdebase-3.5.13-kickoff_unstable.patch b/redhat/kdebase/kdebase-3.5.13-kickoff_unstable.patch index 7b8b649e1..0116d080e 100644 --- a/redhat/kdebase/kdebase-3.5.13-kickoff_unstable.patch +++ b/redhat/kdebase/kdebase-3.5.13-kickoff_unstable.patch @@ -1,4 +1,3 @@ -Binary files kdebase/kicker/data/kickoff/resize_handle.png and kdebase1/kicker/data/kickoff/resize_handle.png differ diff -ur kdebase/kicker/kicker/buttons/knewbutton.cpp kdebase1/kicker/kicker/buttons/knewbutton.cpp --- kdebase/kicker/kicker/buttons/knewbutton.cpp 2011-08-11 01:25:50.000000000 -0400 +++ kdebase1/kicker/kicker/buttons/knewbutton.cpp 2011-11-18 12:54:22.380404540 -0500 diff --git a/redhat/kdebase/trinity-kdebase-3.5.13.spec b/redhat/kdebase/trinity-kdebase-3.5.13.spec index e2a6aeaec..b8bd1a116 100644 --- a/redhat/kdebase/trinity-kdebase-3.5.13.spec +++ b/redhat/kdebase/trinity-kdebase-3.5.13.spec @@ -2,7 +2,7 @@ %if "%{?version}" == "" %define version 3.5.13 %endif -%define release 9 +%define release 10 # If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". %if "%{?_prefix}" != "/usr" @@ -76,29 +76,48 @@ Patch8: kdebase-3.5.13-startkde_ldpreload.patch Patch9: kdebase-3.5.13-mediamanager_ftbfs.patch ## [kdebase/kate] Restores the 'number of files' and sorting widgets to the Kate configuration Patch13: kdebase-3.5.13-kate_mru.patch +## [kdebase/kioslave/man] Fix kio_man for older distros without 'man-db' +Patch14: kdebase-3.5.13-kio_man_utf8.patch + # Fedora 15 Theme: "Lovelock" %if 0%{?fedora} == 15 Requires: lovelock-backgrounds-single %define tde_bg /usr/share/backgrounds/lovelock/default/standard/lovelock.png + +Requires: fedora-release-notes +%define tde_aboutlabel Fedora 15 +%define tde_aboutpage /usr/share/doc/HTML/fedora-release-notes/index.html %endif # Fedora 16 Theme: "Verne" %if 0%{?fedora} == 16 Requires: verne-backgrounds-single %define tde_bg /usr/share/backgrounds/verne/default/standard/verne.png + +Requires: fedora-release-notes +%define tde_aboutlabel Fedora 16 +%define tde_aboutpage /usr/share/doc/HTML/fedora-release-notes/index.html %endif # RHEL 5 Theme %if 0%{?rhel} == 5 Requires: desktop-backgrounds-basic %define tde_bg /usr/share/backgrounds/images/default.jpg + +Requires: indexhtml +%define tde_aboutlabel Enterprise Linux 5 +%define tde_aboutpage /usr/share/doc/HTML/index.html %endif # RHEL 6 Theme %if 0%{?rhel} == 6 Requires: redhat-logos %define tde_bg /usr/share/backgrounds/default.png + +Requires: redhat-indexhtml +%define tde_aboutlabel Enterprise Linux 6 +%define tde_aboutpage /usr/share/doc/HTML/index.html %endif BuildRequires: tqtinterface-devel @@ -154,7 +173,7 @@ Requires: kde-settings-kdm %endif Requires: redhat-menus -Provides: kdebase%{?_qt_suffix} = %{version} +#Provides: kdebase%{?_qt_suffix} = %{version} %if "%{?_prefix}" == "/usr" Obsoletes: kdebase%{?_qt_suffix} <= 3.5.10 %endif @@ -180,7 +199,7 @@ Requires: %{name} Requires: %{name}-libs = %{version}-%{release} Requires: trinity-kdelibs-devel Summary: %{summary} - Development files -Provides: kdebase%{?_qt_suffix}-devel = %{version} +#Provides: kdebase%{?_qt_suffix}-devel = %{version} %if "%{?_prefix}" == "/usr" Obsoletes: kdebase%{?_qt_suffix}-devel <= 3.5.10 %endif @@ -196,7 +215,7 @@ Kate plugins or KWin styles. Summary: Extra applications from %{name} Group: User Interface/Desktops Requires: %{name} = %{version}-%{release} -Provides: kdebase%{?_qt_suffix}-extras = %{version} +#Provides: kdebase%{?_qt_suffix}-extras = %{version} %if "%{?_prefix}" == "/usr" Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10 %endif @@ -212,7 +231,7 @@ Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10 Summary: %{name} runtime libraries Group: System Environment/Libraries Requires: trinity-kdelibs -Provides: kdebase%{?_qt_suffix}-libs = %{version} +#Provides: kdebase%{?_qt_suffix}-libs = %{version} %if "%{?_prefix}" == "/usr" Obsoletes: kdebase%{?_qt_suffix}-libs <= 3.5.10 %endif @@ -224,7 +243,7 @@ Requires: %{name} = %{version}-%{release} %package pim-ioslaves Summary: PIM KIOslaves from %{name} Group: System Environment/Libraries -Provides: kdebase%{?_qt_suffix}-pim-ioslaves = %{version} +#Provides: kdebase%{?_qt_suffix}-pim-ioslaves = %{version} %if "%{?_prefix}" == "/usr" Obsoletes: kdebase%{?_qt_suffix}-pim-ioslaves <= 3.5.10 %endif @@ -248,6 +267,9 @@ Protocol handlers (KIOslaves) for personal information management, including: %patch11 -p1 %patch12 -p1 %patch13 -p4 +%if 0%{?rhel} > 0 +%patch14 -p1 +%endif # Applies an optional distro-specific graphical theme %if "%{?tde_bg}" != "" @@ -258,12 +280,22 @@ Protocol handlers (KIOslaves) for personal information management, including: # TDE user default background %__sed -i "kpersonalizer/keyecandypage.cpp" \ -e 's,#define DEFAULT_WALLPAPER "isadora.png",#define DEFAULT_WALLPAPER "%{tde_bg}",' - %__sed -i "startkde" \ -e 's,/usr/share/wallpapers/isadora.png.desktop,%{tde_bg},' \ -e 's,Wallpaper=isadora.png,Wallpaper=%{tde_bg},' %endif +# TDE branding: removes KUbuntu references +%__sed -i "kcontrol/kdm/kdm-appear.cpp" \ + -e "s|Welcome to Kubuntu |Welcome to %{tde_aboutlabel} |" +%__sed -i "konqueror/about/konq_aboutpage.cc" \ + -e "s|About Kubuntu|About %{tde_aboutlabel}|" \ + -e "s|help:/kubuntu/|%{tde_aboutpage}|" \ + -e "s|Kubuntu Documentation|%{tde_aboutlabel} Documentation|" +%__sed -i "konqueror/about/launch.html" \ + -e "s|help:/kubuntu/about-kubuntu/index.html|%{tde_aboutpage}|" +%__sed -i "kdm/config.def" \ + -e "s|Welcome to Trinity |Welcome to %{tde_aboutlabel} |" %build unset QTDIR || : ; . /etc/profile.d/qt.sh @@ -322,7 +354,7 @@ cd build # Modifies 'startkde' to set KDEDIR and KDEHOME hardcoded specific for TDE %__sed -i "%{?buildroot}%{_bindir}/startkde" \ - -e '/^echo "\[startkde\] Starting startkde.".*/ s,$,\nexport KDEDIR=%{_prefix}\nexport KDEHOME=~/.trinity,' + -e '/^echo "\[startkde\] Starting startkde.".*/ s,$,\nexport KDEDIR=%{_prefix}\nexport KDEHOME=~/.trinity,' # Renames '/etc/ksysguarddrc' to avoid conflict with KDE4 'ksysguard' %__mv -f %{?buildroot}%{_sysconfdir}/ksysguarddrc %{?buildroot}%{_sysconfdir}/ksysguarddrc.tde @@ -622,7 +654,11 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %{_datadir}/cmake/*.cmake %changelog +* Sat Dec 03 2011 Francois Andriot - 3.5.13-10 +- Removes Kubuntu branding [TDE Bug #449] + * Wed Nov 29 2011 Francois Andriot - 3.5.13-9 +- Fix 'kio_man' on RHEL 5 and RHEL 6 [TDE Bug #714] - Restores the 'number of files' and sorting widgets to the Kate configuration [TDE Bug #244] * Fri Nov 18 2011 Francois Andriot - 3.5.13-8 From f903a6701f3c2de30431cb72252d69721f64217c Mon Sep 17 00:00:00 2001 From: Francois Andriot Date: Sat, 3 Dec 2011 18:03:45 +0100 Subject: [PATCH 3/4] RHEL/Fedora: add pykdeextensions --- redhat/components.txt | 6 +- .../trinity-pykdeextensions.spec | 149 ++++++++++++++++++ 2 files changed, 153 insertions(+), 2 deletions(-) create mode 100644 redhat/libraries/pykdeextensions/trinity-pykdeextensions.spec diff --git a/redhat/components.txt b/redhat/components.txt index d4d16049a..520891a30 100644 --- a/redhat/components.txt +++ b/redhat/components.txt @@ -2,6 +2,8 @@ libraries/libkdcraw libraries/libkexiv2 libraries/libkipi libraries/libksquirrel +libraries/python-trinity +libraries/pykdeextensions qt3 dependencies/libcaldav dependencies/libcarddav @@ -9,8 +11,7 @@ dependencies/tqtinterface dependencies/dbus-tqt dependencies/dbus-1-tqt dependencies/arts -#trinity-settings -trinity-live +#dependencies/tqscintilla kdelibs kdebase kdebindings @@ -34,6 +35,7 @@ extras/ksensors extras/libkarma #extras/libkexif extras/trinity-desktop +extras/trinity-live applications/k3b applications/abakus applications/dolphin diff --git a/redhat/libraries/pykdeextensions/trinity-pykdeextensions.spec b/redhat/libraries/pykdeextensions/trinity-pykdeextensions.spec new file mode 100644 index 000000000..dd0ad0c51 --- /dev/null +++ b/redhat/libraries/pykdeextensions/trinity-pykdeextensions.spec @@ -0,0 +1,149 @@ +# Default version for this component +%define kdecomp pykdeextensions +%define version 0.4.0 +%define release 1 + +# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". +%if "%{?_prefix}" != "/usr" +%define _variant .opt +%define _docdir %{_prefix}/share/doc +%endif + +# TDE 3.5.13 specific building variables +BuildRequires: autoconf automake libtool m4 +%define tde_docdir %{_docdir}/kde +%define tde_includedir %{_includedir}/kde +%define tde_libdir %{_libdir}/trinity + + +Name: trinity-%{kdecomp} +Summary: Python packages to support KDE applications (scripts) [Trinity] +Version: %{?version} +Release: %{?release}%{?dist}%{?_variant} + +License: GPLv2+ +Group: Applications/Utilities + +Vendor: Trinity Project +Packager: Francois Andriot +URL: http://www.simonzone.com/software/pykdeextensions + +Prefix: %{_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: %{kdecomp}-3.5.13.tar.gz + +BuildRequires: tqtinterface-devel +BuildRequires: trinity-kdelibs-devel +BuildRequires: trinity-kdebase-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext + +BuildRequires: PyQt-devel +BuildRequires: python-trinity-devel + +%description +PyKDE Extensions is a collection of software and Python packages +to support the creation and installation of KDE applications. + + +%package -n trinity-libpythonize0 +Summary: Python packages to support KDE applications (library) [Trinity] +Group: Environment/Libraries + +%description -n trinity-libpythonize0 +PyKDE Extensions is a collection of software and Python packages +to support the creation and installation of KDE applications. + +This package contains the libpythonize library files. + + +%package -n trinity-libpythonize0-devel +Summary: Python packages to support KDE applications (development) [Trinity] +Group: Development/Libraries +Requires: trinity-libpythonize0 + +%description -n trinity-libpythonize0-devel +PyKDE Extensions is a collection of software and Python packages +to support the creation and installation of KDE applications. + +This package contains the libpythonize development files. + + +%prep +%setup -q -n libraries/%{kdecomp} + +# Changes library directory to 'lib64' +for f in src/*.py; do + %__sed -i "${f}" \ + -e "s,%{_prefix}/lib,%{_libdir},g" \ + -e "s,/usr/lib/pyshared/python2.6,%{python_sitearch},g" \ + -e "s|'pykde-dir=',None,|'pykde-dir=','%{python_sitearch}',|g" \ + -e "s|self.pykde_dir = None|self.pykde_dir = \"%{python_sitearch}\"|g" \ + -e "s|/usr/include/tqt|%{_includedir}/tqt|g" +done + +%build +export PATH="%{_bindir}:${PATH}" +export LDFLAGS="-L%{_libdir} -I%{_includedir}" + +./setup.py build_libpythonize + +%install +export PATH="%{_bindir}:${PATH}" +%__rm -rf %{buildroot} +./setup.py install \ + --root=%{buildroot} \ + --prefix=%{_prefix} \ + --install-clib=%{_libdir} \ + --install-cheaders=%{tde_includedir} + +# Removes BUILDROOT directory reference in installed files +for f in \ + %{buildroot}%{_libdir}/libpythonize.la \ + %{buildroot}%{_datadir}/apps/pykdeextensions/app_templates/kcontrol_module/src/KcontrolModuleWidgetUI.py \ + %{buildroot}%{_datadir}/apps/pykdeextensions/app_templates/kdeutility/src/KDEUtilityDialogUI.py \ +; do + %__sed -i "${f}" -e "s,%{buildroot},,g" +: +done + +# Moves PYTHON libraries to distribution directory +%__mkdir_p %{buildroot}%{python_sitearch} +%__mv -f %{buildroot}%{_prefix}/lib/python*/site-packages/* %{buildroot}%{python_sitearch} +%__rm -rf %{buildroot}%{_prefix}/lib/python2.7/site-packages + + +%clean +%__rm -rf %{buildroot} + + +%post -n trinity-libpythonize0 -p /sbin/ldconfig +%postun -n trinity-libpythonize0 -p /sbin/ldconfig + +%post -n trinity-libpythonize0-devel -p /sbin/ldconfig +%postun -n trinity-libpythonize0-devel -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING NEWS README TODO +%{_datadir}/apps/pykdeextensions +%{tde_docdir}/HTML/en/pykdeextensions +%{python_sitearch}/* + +%files -n trinity-libpythonize0 +%defattr(-,root,root,-) +%{_libdir}/libpythonize.so.* + +%files -n trinity-libpythonize0-devel +%defattr(-,root,root,-) +%{tde_includedir}/*.h +%{_libdir}/libpythonize.a +%{_libdir}/libpythonize.la +%{_libdir}/libpythonize.so + + +%Changelog +* Thu Dec 01 2011 Francois Andriot - 0.8.0svn20080103-1 +- Initial build for RHEL 5, RHEL 6, Fedora 15, Fedora 16 From ec6712458a71c869b90732067b055fee7158bbce Mon Sep 17 00:00:00 2001 From: Francois Andriot Date: Sat, 3 Dec 2011 19:54:08 +0100 Subject: [PATCH 4/4] RHEL/Fedora: add kde-guidance --- .../kde-guidance/trinity-kde-guidance.spec | 317 ++++++++++++++++++ 1 file changed, 317 insertions(+) create mode 100644 redhat/applications/kde-guidance/trinity-kde-guidance.spec diff --git a/redhat/applications/kde-guidance/trinity-kde-guidance.spec b/redhat/applications/kde-guidance/trinity-kde-guidance.spec new file mode 100644 index 000000000..c15b9fd43 --- /dev/null +++ b/redhat/applications/kde-guidance/trinity-kde-guidance.spec @@ -0,0 +1,317 @@ +# Default version for this component +%define kdecomp guidance +%define version 0.8.0svn20080103 +%define release 1 + +# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". +%if "%{?_prefix}" != "/usr" +%define _variant .opt +%define _docdir %{_prefix}/share/doc +%endif + +# TDE 3.5.13 specific building variables +BuildRequires: autoconf automake libtool m4 +%define tde_docdir %{_docdir}/kde +%define tde_includedir %{_includedir}/kde +%define tde_libdir %{_libdir}/trinity + +%define __arch_install_post %{nil} + +Name: trinity-%{kdecomp} +Summary: collection of KDE system administration tools for GNU/Linux [Trinity] +Version: %{?version} +Release: %{?release}%{?dist}%{?_variant} + +License: GPLv2+ +Group: Applications/Utilities + +Vendor: Trinity Project +Packager: Francois Andriot +URL: http://www.simonzone.com/software/guidance + +Prefix: %{_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: kde-guidance-3.5.13.tar.gz + +BuildRequires: tqtinterface-devel +BuildRequires: trinity-kdelibs-devel +BuildRequires: trinity-kdebase-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext + +BuildRequires: trinity-pykdeextensions +BuildRequires: chrpath +Requires: python-trinity +Requires: %{name}-backends +Requires: hwdata +Requires: python >= 2.5 + +%if "%{_prefix}" == "/usr" +Conflicts: guidance-power-manager +Conflicts: kde-guidance-powermanager +%endif + +%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 displayconfig - Screen and display configuration + o wineconfig - Wine configuration + +These tools are available in KDE Control Center, System Settings +or can be run as standalone applications. + + + +%package backends +Group: Applications/Utilities +Summary: collection of system administration tools for GNU/Linux [Trinity] +Requires: hwdata +Requires: python >= 2.5 + +%description backends +This package contains the platform neutral backends used in the +Guidance configuration tools. + + +%package powermanager +Group: Applications/Utilities +Summary: HAL based power manager applet [Trinity] +Requires: %{name} = %{version}-%{release} + +%description powermanager +A power management applet to indicate battery levels and perform hibernate or +suspend using HAL. + + +%prep +%setup -q -n applications/kde-guidance + + +%build +export PATH="%{_bindir}:${PATH}" +export LDFLAGS="-L%{_libdir} -I%{_includedir}" +./setup.py build + + + +%install +export PATH="%{_bindir}:${PATH}" +%__rm -rf %{buildroot} +./setup.py install \ + --prefix=%{_prefix} \ + --root=%{buildroot} + +%find_lang %{kdecomp} || touch %{kdecomp}.lang + +# Fix building directories stored inside .py files +for f in %{buildroot}%{_datadir}/apps/guidance/*.py; do + %__sed -i "${f}" -e "s|%{buildroot}||g" +done + +##### MAIN PACKAGE INSTALLATION +# install icons to right place +%__mkdir_p %{buildroot}%{_datadir}/icons/crystalsvg/32x32/apps +%__mv -f %{buildroot}%{_datadir}/apps/guidance/pics/hi32-app-daemons.png \ + %{buildroot}%{_datadir}/icons/crystalsvg/32x32/apps/daemons.png +%__mv -f %{buildroot}%{_datadir}/apps/guidance/pics/kcmpartitions.png \ + %{buildroot}%{_datadir}/icons/crystalsvg/32x32/apps/disksfilesystems.png +%__mv -f %{buildroot}%{_datadir}/apps/guidance/pics/hi32-user.png \ + %{buildroot}%{_datadir}/icons/crystalsvg/32x32/apps/userconfig.png +%__mv -f %{buildroot}%{_datadir}/apps/guidance/pics/hi32-display.png \ + %{buildroot}%{_datadir}/icons/crystalsvg/32x32/apps/displayconfig.png +%__mv -f %{buildroot}%{_datadir}/apps/guidance/pics/32-wine.png \ + %{buildroot}%{_datadir}/icons/crystalsvg/32x32/apps/wineconfig.png +%__install -D -p -m0644 kde/wineconfig/pics/16x16/wineconfig.png \ + %{buildroot}%{_datadir}/icons/crystalsvg/16x16/apps/wineconfig.png + +# fix binary-or-shlib-defines-rpath +chrpath -d %{buildroot}%{tde_libdir}/kcm_*.so.* + +# fix executable-not-elf-or-script +%__chmod 0644 %{buildroot}%{_datadir}/apps/guidance/pics/kdewinewizard.png + +# move python modules in %{python_sitearch} +%__mkdir_p %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/SMBShareSelectDialog.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/SimpleCommandRunner.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/displayconfig.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/displayconfigwidgets.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/fuser.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/fuser_ui.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/grubconfig.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/ktimerdialog.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/mountconfig.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/servertestdialog.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/serviceconfig.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/sizeview.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/unixauthdb.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/userconfig.py %{buildroot}%{python_sitearch}/%{name} +%__mv -f %{buildroot}%{_datadir}/apps/guidance/wineconfig.py %{buildroot}%{python_sitearch}/%{name} + +# fix the link properly +%__rm -f %{buildroot}%{_bindir}/* +%__ln_s -f %{python_sitearch}/%{name}/displayconfig.py %{buildroot}%{_bindir}/displayconfig +%__ln_s -f %{python_sitearch}/%{name}/mountconfig.py %{buildroot}%{_bindir}/mountconfig +%__ln_s -f %{python_sitearch}/%{name}/serviceconfig.py %{buildroot}%{_bindir}/serviceconfig +%__ln_s -f %{python_sitearch}/%{name}/userconfig.py %{buildroot}%{_bindir}/userconfig +%__ln_s -f %{python_sitearch}/%{name}/wineconfig.py %{buildroot}%{_bindir}/wineconfig +%__ln_s -f %{python_sitearch}/%{name}/grubconfig.py %{buildroot}%{_bindir}/grubconfig + +# put this here since gnome people probably don't want it by default +%__ln_s -f %{_python_sitearch}/guidance-backends-trinity/displayconfig-restore.py %{buildroot}%{_bindir}/displayconfig-restore + +# fix script-not-executable +%__chmod 0755 %{buildroot}%{python_sitearch}/%{name}/fuser.py +%__chmod 0755 %{buildroot}%{python_sitearch}/%{name}/grubconfig.py + +# Moves libraries +%__mv -f %{buildroot}%{tde_libdir}/*.so.* %{buildroot}%{_libdir} +%__mv -f %{buildroot}%{tde_libdir}/*.so %{buildroot}%{_libdir} +%__mv -f %{buildroot}%{tde_libdir}/*.la %{buildroot}%{_libdir} +%__mv -f %{buildroot}%{tde_libdir}/*.a %{buildroot}%{_libdir} + +%__mv -f %{buildroot}%{_datadir}/applications/kde/displayconfig.desktop %{buildroot}%{_datadir}/applications/kde/guidance-displayconfig.desktop + +##### BACKENDS INSTALLATION +# install displayconfig-hwprobe.py script +%__install -D -p -m0755 displayconfig/displayconfig-hwprobe.py \ + %{buildroot}%{python_sitearch}/trinity-guidance-backends/displayconfig-hwprobe.py + +%__mv -f %{buildroot}%{_libdir}/python*/site-packages/ixf86misc.so %{buildroot}%{python_sitearch} +%__mv -f %{buildroot}%{_libdir}/python*/site-packages/xf86misc.py* %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/MicroHAL.py %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/ScanPCI.py %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/infimport.py %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/displayconfigabstraction.py %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/displayconfig-restore.py %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/drivedetect.py %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/execwithcapture.py %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/wineread.py %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/winewrite.py %{buildroot}%{python_sitearch}/trinity-guidance-backends +%__mv -f %{buildroot}%{_datadir}/apps/guidance/xorgconfig.py %{buildroot}%{python_sitearch}/trinity-guidance-backends + +%__rm -f %{buildroot}%{_datadir}/apps/guidance/MonitorsDB +%__ln_s -f /usr/share/hwdata/MonitorsDB %{buildroot}%{_datadir}/apps/guidance/MonitorsDB + + + +##### POWERMANAGER INSTALLATION +# install icon to right place +%__install -D -p -m0644 kde/powermanager/pics/battery-charging-100.png \ + %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/power-manager.png +%__install -D -p -m0644 kde/powermanager/pics/*.png \ + %{buildroot}%{_datadir}/apps/guidance/pics/ + +# install desktop file +%__install -D -p -m0644 powermanager/guidance-power-manager.desktop \ + %{buildroot}%{_datadir}/autostart/guidance-power-manager.desktop + +# copy python modules in PYSUPPORT_PATH +%__mkdir_p %{buildroot}%{python_sitearch}/trinity-guidance-powermanager +%__cp %{buildroot}%{python_sitearch}/trinity-guidance-backends/MicroHAL.py %{buildroot}%{python_sitearch}/trinity-guidance-powermanager +%__mv -f %{buildroot}%{_datadir}/apps/guidance/guidance-power-manager.py %{buildroot}%{python_sitearch}/trinity-guidance-powermanager +%__mv -f %{buildroot}%{_datadir}/apps/guidance/powermanage.py %{buildroot}%{python_sitearch}/trinity-guidance-powermanager +%__mv -f %{buildroot}%{_datadir}/apps/guidance/gpmhelper.py %{buildroot}%{python_sitearch}/trinity-guidance-powermanager +%__mv -f %{buildroot}%{_datadir}/apps/guidance/powermanager_ui.py %{buildroot}%{python_sitearch}/trinity-guidance-powermanager +%__cp powermanager/guidance_power_manager_ui.py %{buildroot}%{python_sitearch}/trinity-guidance-powermanager +%__cp powermanager/notify.py %{buildroot}%{python_sitearch}/trinity-guidance-powermanager +%__cp powermanager/tooltip.py %{buildroot}%{python_sitearch}/trinity-guidance-powermanager + +# generate guidance-power-manager script +cat <%{buildroot}%{_bindir}/guidance-power-manager +#!/bin/sh +export PYTHONPATH=%{python_sitearch}/trinity-guidance-backends +%{python_sitearch}/trinity-guidance-powermanager/guidance-power-manager.py & +EOF +chmod +x %{buildroot}%{_bindir}/guidance-power-manager + +# fix script-not-executable +chmod 0755 %{buildroot}%{python_sitearch}/trinity-guidance-powermanager/powermanage.py +chmod 0755 %{buildroot}%{python_sitearch}/trinity-guidance-powermanager/gpmhelper.py + + +# Replace all '#!' calls to python with /usr/bin/python +# and make them executable +for i in `find %{buildroot} -type f`; do + sed '1s,#!.*python[^ ]*\(.*\),#! /usr/bin/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 + +find %{buildroot} -name "*.egg-info" -exec rm -f {} \; + + +%clean +%__rm -rf %{buildroot} + + +%post +touch --no-create %{_datadir}/icons/hicolor || : +gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +/sbin/ldconfig || : + +%postun +touch --no-create %{_datadir}/icons/hicolor || : +gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +/sbin/ldconfig || : + + +%files -f %{kdecomp}.lang +%defattr(-,root,root,-) +%doc ChangeLog COPYING README TODO +%{_bindir}/displayconfig +%{_bindir}/displayconfig-restore +%{_bindir}/grubconfig +%{_bindir}/mountconfig +%{_bindir}/serviceconfig +%{_bindir}/userconfig +%{_bindir}/wineconfig +%{_libdir}/*.so.* +%{_libdir}/*.so +%{_libdir}/*.la +%{_libdir}/*.a +%{_datadir}/apps/guidance +%{python_sitearch}/trinity-guidance +%{_datadir}/applications/kde/*.desktop +%{tde_docdir}/HTML/en/guidance +%{_datadir}/icons/crystalsvg/*/*/*.png +%exclude %{_datadir}/icons/crystalsvg/*/*/*.svg +#%{python_sitearch}/guidance-*.egg-info +%exclude /etc/X11/Xsession.d/40guidance-displayconfig_restore + +%files -n trinity-guidance-backends +%defattr(-,root,root,-) +%{python_sitearch}/trinity-guidance-backends +%{python_sitearch}/ixf86misc.so +%{_datadir}/apps/guidance/vesamodes +%{_datadir}/apps/guidance/extramodes +%{_datadir}/apps/guidance/widescreenmodes +%{_datadir}/apps/guidance/Cards+ +%{_datadir}/apps/guidance/pcitable +%{_datadir}/apps/guidance/MonitorsDB + + +%files powermanager +%defattr(-,root,root,-) +%{_bindir}/guidance-power-manager +%{python_sitearch}/trinity-guidance-powermanager +%{_datadir}/icons/hicolor/22x22/apps/power-manager.png +%{_datadir}/apps/guidance/pics/ac-adapter.png +%{_datadir}/apps/guidance/pics/battery*.png +%{_datadir}/apps/guidance/pics/processor.png +%{_datadir}/autostart/guidance-power-manager.desktop + + +%Changelog +* Thu Dec 01 2011 Francois Andriot - 0.8.0svn20080103-1 +- Initial build for RHEL 5, RHEL 6, Fedora 15, Fedora 16