# https://github.com/Boomaga/boomaga/commit/6941130b161f902ed6fed77d6226a726fe18c3ea %global commit0 6941130b161f902ed6fed77d6226a726fe18c3ea %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) %global selinux_variants mls targeted %global modulename %{name} Name: boomaga Version: 0.9.0 Release: 1.git%{shortcommit0}%{?dist} Summary: A virtual printer for viewing a document before printing License: GPLv2 and LGPLv2+ URL: http://www.boomaga.org Source0: https://github.com/Boomaga/%{name}/archive/%{commit0}/%{name}-%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz Source1: %{modulename}.if Source2: %{modulename}.te Source3: %{modulename}.fc BuildRequires: cmake BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: poppler-devel BuildRequires: poppler-cpp-devel BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qttools-devel BuildRequires: snappy-devel Requires: cups Requires: shared-mime-info Requires: hicolor-icon-theme %description Boomaga (BOOklet MAnager) is a virtual printer for viewing a document before printing it out using the physical printer. The program is very simple to work with. Running any program, click "print" and select "Boomaga" to see in several seconds (CUPS takes some time to respond) the Boomaga window open. If you print out one more document, it gets added to the previous one, and you can also print them out as one, and you can also print them out as one. Regardless of whether your printer supports duplex printing or not, you would be able to easily print on both sides of the sheet. If your printer does not support duplex printing, point this out in the settings, and Booklet would ask you to turn over the pages half way through printing your document. The program can also help you get your documents prepared a bit before printing. At this stage Boomaga makes it possible to: * Paste several documents together. * Print several pages on one sheet. * 1, 2, 4, 8 pages per sheet * Booklet. Folding the sheets in two, you'll get a book. %package selinux Summary: SELinux policy module supporting boomaga BuildRequires: checkpolicy, selinux-policy-devel, hardlink Requires: %{name} = %{version}-%{release} Requires(post): policycoreutils, initscripts, %{name} Requires(preun): policycoreutils, initscripts, %{name} Requires(postun): policycoreutils %description selinux SELinux policy module supporting boomaga %prep %setup -qn %{name}-%{commit0} mkdir SELinux cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} SELinux # delete unused directories and files find -name .gitignore -type f -or -name .travis.yml -type f | xargs rm -rfv %build %cmake \ -DUSE_QT5=Yes \ -DCUPS_BACKEND_DIR=%{_cups_serverbin}/backend \ -DCUPS_FILTER_DIR=%{_cups_serverbin}/filter \ . %make_build cd SELinux for selinuxvariant in %{selinux_variants} do make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile mv %{modulename}.pp %{modulename}.pp.${selinuxvariant} make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean done cd - %install %make_install mkdir -p %{buildroot}%{_datadir}/%{name}/scripts install -m 755 scripts/installPrinter.sh %{buildroot}%{_datadir}/%{name}/scripts/ chmod +x %{buildroot}%{_datadir}/%{name}/scripts/installPrinter.sh mkdir -p %{buildroot}/%{_localstatedir}/cache/%{name} cd SELinux for selinuxvariant in %{selinux_variants} do install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} install -p -m 644 %{modulename}.pp.${selinuxvariant} \ %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp done cd - /usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux %find_lang %{name} --with-qt %check desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %pre # Start cups if is stopped if [ "$(systemctl is-active cups.service)" != "active" ]; then /bin/systemctl start cups sleep 2 fi %post /usr/bin/update-desktop-database &> /dev/null || : # Install the printer to cups backends if [ $1 = 1 ]; then sh %{_datadir}/%{name}/scripts/installPrinter.sh fi /bin/touch --no-create %{_datadir}/icons/hicolor &> /dev/null || : /bin/touch --no-create %{_datadir}/mime/packages &> /dev/null || : /usr/bin/update-mime-database %{_datadir}/mime &> /dev/null || : %postun /usr/bin/update-desktop-database &> /dev/null || : if [ $1 -eq 0 ] ; then /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null /bin/touch --no-create %{_datadir}/mime/packages &>/dev/null /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : /usr/bin/update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : fi %posttrans /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : /usr/bin/update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : %preun # Uninstall the printer if [ $1 = 0 ] ; then lpadmin -x "Boomaga" fi %post selinux for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -i \ %{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp &> /dev/null || : /sbin/fixfiles -R %{name} restore done /sbin/restorecon %{_localstatedir}/cache/%{name} || : %preun selinux if [ "$1" -lt "1" ]; then # Final removal /usr/sbin/semodule -r %{name} 2>/dev/null || : /sbin/fixfiles -R %{name} restore fi %postun selinux if [ $1 -eq 0 ] ; then for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -r %{modulename} &> /dev/null || : done [ -d %{_localstatedir}/cache/%{name} ] && \ /sbin/restorecon -R %{_localstatedir}/cache/%{name} &> /dev/null || : fi %files -f %{name}.lang %doc README.md %license COPYING GPL LGPL %{_bindir}/%{name} %defattr(700,root,root,-) %{_cups_serverbin}/backend/%{name} %dir %{_localstatedir}/cache/%{name} %defattr(-,root,root,-) %dir %{_libdir}/%{name} %{_libdir}/%{name}/boomagabackend %{_libdir}/%{name}/boomagamerger %{_datadir}/applications/%{name}.desktop %{_datadir}/dbus-1/services/org.%{name}.service %{_datadir}/icons/hicolor/*/apps/%{name}.png %{_datadir}/mime/packages/%{name}.xml %dir %{_datadir}/ppd/%{name} %{_datadir}/ppd/%{name}/%{name}.ppd %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/scripts %dir %{_datadir}/%{name}/translations/ %{_datadir}/%{name}/scripts/installPrinter.sh %{_mandir}/man1/%{name}.1.gz %files selinux %defattr(-,root,root,0755) %doc SELinux/* %{_datadir}/selinux/*/%{modulename}.pp %changelog * Sun Mar 19 2017 Martin Gansser - 0.9.0-1.git6941130 - Update to 0.9.0-1.git6941130 * Wed Feb 15 2017 Martin Gansser - 0.8.0-8.gitb495615 - Update to 0.8.0-8.gitb495615 * Fri Feb 10 2017 Fedora Release Engineering - 0.8.0-7.git97f52c1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sun Jan 15 2017 Martin Gansser - 0.8.0-6.git97f52c1 - Update to 0.8.0-6.git97f52c1 - Correct boomaga.te - Correct boomaga.fc - Update Scriptles - Added RR hicolor-icon-theme * Fri Dec 30 2016 Martin Gansser - 0.8.0-5.git074682a - Update to 0.8.0-5.git074682a - Change permission of %%{_cups_serverbin}/backend/%%{name} to 0700 - Add subpackage selinux (rhbz#1409115) * Fri Dec 16 2016 David Tardon - 0.8.0-4.git157fd2e - rebuild for poppler 0.50.0 * Thu Nov 24 2016 Orion Poplawski - 0.8.0-3.git157fd2e - Rebuild for poppler 0.49.0 * Fri Oct 21 2016 Marek Kasik - 0.8.0-2.git157fd2e - Rebuild for poppler-0.48.0 * Thu Sep 22 2016 Martin Gansser - 0.8.0-1.git157fd2e - Update to 0.8.0-1.git157fd2e * Mon Jul 18 2016 Marek Kasik - 0.7.1-10.git9a6aa75 - Rebuild for poppler-0.45.0 * Wed May 04 2016 Martin Gansser - 0.7.1-9.git9a6aa75 - Rebuilt * Tue May 3 2016 Marek Kasik - 0.7.1-8.git9a6aa75 - Rebuild for poppler-0.43.0 * Wed Feb 03 2016 Fedora Release Engineering - 0.7.1-7.git9a6aa75 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Jan 28 2016 Martin Gansser - 0.7.1-6.git9a6aa75 - Dropped %%Patch0 - Update to new git version * Thu Jan 28 2016 Martin Gansser - 0.7.1-5.git2928eef - Dropped link for %%{_bindir}/boomagamerger - Added %%{name}-0.7.1-NONGUI_DIR.patch * Sat Jan 09 2016 Martin Gansser - 0.7.1-4.git2928eef - used %%{_cups_serverbin} macro provided by cups-devel - Update to new git version * Sat Dec 26 2015 Martin Gansser - 0.7.1-3.git8ca78b2 - Follow https://fedoraproject.org/wiki/Packaging:SourceURL - corrected cups backend and filter directories - use if condition in %%preun script - linked missing %%{_bindir}/boomagamerger * Fri Dec 25 2015 Martin Gansser - 0.7.1-2.git8ca78b2 - Rebuilt for new git release * Tue Dec 22 2015 Martin Gansser - 0.7.1-1.git8ca78b2 - Initial version of the package