[kchmviewer] - Make a subpackage for the Qt-only version - Make a subpackage owning the common data files

cheeselee cheeselee at fedoraproject.org
Mon Oct 11 16:09:34 UTC 2010


commit b1b845068e3fd1a63cf6a16143b835c336b9e80e
Author: Robin Lee <cheeselee at fedoraproject.org>
Date:   Tue Oct 12 00:09:06 2010 +0800

    - Make a subpackage for the Qt-only version
    - Make a subpackage owning the common data files

 kchmviewer.spec |   70 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 63 insertions(+), 7 deletions(-)
---
diff --git a/kchmviewer.spec b/kchmviewer.spec
index 9215dd9..f10f44c 100644
--- a/kchmviewer.spec
+++ b/kchmviewer.spec
@@ -1,7 +1,7 @@
 
 Name:           kchmviewer
 Version:        5.2
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        CHM viewer
 
 Group:          Applications/Publishing
@@ -23,10 +23,27 @@ BuildRequires:  gettext
 BuildRequires:  kdelibs4-devel
 
 Requires: kio_msits
+Requires: %{name}-common = %{version}-%{release}
 
 %description
 KchmViewer is a chm (MS HTML help file format) viewer.
 
+This package contains the version for KDE4.
+
+%package qt
+Summary: Qt4-based CHM viewer
+Requires: %{name}-common = %{version}-%{release}
+%description qt
+KchmViewer is a chm (MS HTML help file format) viewer.
+
+This package contains the Qt-only version.
+
+%package common
+Summary: Common data files for KchmViewer.
+BuildArch: noarch
+Requires: hicolor-icon-theme
+%description common
+Common data files for KchmViewer.
 
 %prep
 %setup -q -n build-%{version}
@@ -38,6 +55,13 @@ chmod -x lib/kio-msits/msits.*
 
 
 %build
+# make the Qt-only version
+%_qt4_qmake
+make %{?_smp_mflags}
+mv bin/%{name}{,-qt}
+make clean
+
+# make the KDE version
 mkdir -p %{_target_platform}
 pushd %{_target_platform}
 %{cmake_kde4} ..
@@ -49,43 +73,75 @@ make %{?_smp_mflags} -C %{_target_platform}
 %install
 rm -rf $RPM_BUILD_ROOT
 
+# install the KDE version
 make install/fast DESTDIR=$RPM_BUILD_ROOT -C %{_target_platform}
 
+# install the Qt-only version
+cp -p bin/%{name}-qt $RPM_BUILD_ROOT%{_bindir}
+pushd $RPM_BUILD_ROOT%{_datadir}/applications/
+cp -p kde4/%{name}.desktop %{name}-qt.desktop
+sed -i -e 's/^\(Exec=kchmviewer\) \(.*\)$/\1-qt \2/' \
+       -e 's/^\(Name.*\)$/\1 \(Qt-only\)/' \
+       -e 's/KDE;//' %{name}-qt.desktop
+popd
+
 install -Dpm 644 packages/%{name}.png $RPM_BUILD_ROOT%{_kde4_iconsdir}/hicolor/128x128/apps/%{name}.png
 
 %find_lang kchmviewer --with-kde
 
 %check
 desktop-file-validate $RPM_BUILD_ROOT%{_kde4_datadir}/applications/kde4/kchmviewer.desktop
+desktop-file-validate $RPM_BUILD_ROOT%{_kde4_datadir}/applications/%{name}-qt.desktop
 
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-
 %post
+update-desktop-database -q &> /dev/null ||:
+
+%postun
+update-desktop-database -q &> /dev/null ||:
+
+%post qt
+update-desktop-database -q &> /dev/null ||:
+
+%postun qt
+update-desktop-database -q &> /dev/null ||:
+
+%post common
 touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null || :
 
-%posttrans
+%posttrans common
 gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
-update-desktop-database -q &> /dev/null ||:
 
-%postun
+%postun common
 if [ $1 -eq 0 ] ; then
 touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null || :
 gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
-update-desktop-database -q &> /dev/null ||:
 fi
 
 %files -f kchmviewer.lang
 %defattr(-,root,root,-)
-%doc README COPYING ChangeLog FAQ
 %{_kde4_bindir}/kchmviewer
 %{_kde4_datadir}/applications/kde4/*.desktop
+
+%files qt
+%defattr(-,root,root,-)
+%{_bindir}/%{name}-qt
+%{_datadir}/applications/%{name}-qt.desktop
+
+%files common
+%defattr(-,root,root,-)
+%doc README COPYING ChangeLog FAQ
 %{_kde4_iconsdir}/hicolor/*/apps/kchmviewer.*
 
 
 %changelog
+* Mon Oct 11 2010 Robin Lee <cheeselee at fedoraproject.org> - 5.2-4
+- Make a subpackage for the Qt-only version
+- Make a subpackage owning the common data files
+
 * Fri Jun  4 2010 Robin Lee <robinlee.sysu at gmail.com> - 5.2-3
 - fix tag
 


More information about the scm-commits mailing list