lprint/lprint.spec

208 lines
7.0 KiB
RPMSpec
Raw Permalink Normal View History

2020-08-17 15:14:26 +00:00
# the package can work with devices from network, so use hardened build
%global _hardened_build 1
Name: lprint
Version: 1.3.1
Release: 8%{?dist}
2020-08-17 15:14:26 +00:00
Summary: A Label Printer Application
License: Apache-2.0
2020-08-17 15:14:26 +00:00
URL: https://www.msweet.org/lprint
Source0: https://github.com/michaelrsweet/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: lprint.conf
2020-08-17 15:14:26 +00:00
2022-01-12 08:22:20 +00:00
# UPSTREAM PATCHES
# fix putting state file into correct place
# https://github.com/michaelrsweet/lprint/commit/648bc20171
Patch001: 0001-Update-state-filename-to-current-PAPPL-standard-rena.patch
# https://github.com/michaelrsweet/lprint/pull/151
Patch002: 0001-lprint.c-Enable-TLS-support-in-Web-UI.patch
2022-01-12 08:22:20 +00:00
2020-08-17 15:14:26 +00:00
# dns-sd support for register/sharing devices
BuildRequires: pkgconfig(avahi-client) >= 0.7
# uses CUPS API for arrays, options, rastering, HTTP, IPP support
BuildRequires: pkgconfig(cups) >= 2.4.0
2020-08-17 15:14:26 +00:00
# written in C
BuildRequires: gcc
# for autosetup
2020-11-05 06:57:03 +00:00
BuildRequires: git-core
2020-08-17 15:14:26 +00:00
# uses Makefile
BuildRequires: make
2022-01-12 08:22:20 +00:00
# the basic printer application related structures are now implemented in PAPPL
BuildRequires: pkgconfig(pappl) >= 1.2
2020-08-17 15:14:26 +00:00
# using pkg-config in configure script
BuildRequires: pkgconf-pkg-config
2022-01-12 08:22:20 +00:00
# for macros in rpm scriptlets
BuildRequires: systemd-rpm-macros
2020-08-17 15:14:26 +00:00
# lprint server can run as a systemd service, but to don't require systemd by default,
# require filesystem (provides /usr/lib/systemd/system too)
Requires: filesystem
# RHEL-67908 lprint requires avahi-daemon.socket, but does not install avahi
Requires: avahi
2020-08-17 15:14:26 +00:00
%description
LPrint is a label printer application for macOS and Linux. Basically,
LPrint is a print spooler optimized for label printing. It accepts
"raw" print data as well as PNG images (like those used for shipping
labels by most shippers' current web APIs) and has built-in "drivers"
to send the print data to USB and network-connected label printers.
%prep
%autosetup -S git
%build
# use gcc
export CC=%{__cc}
# get system default CFLAGS and LDFLAGS
%set_build_flags
2022-01-12 08:22:20 +00:00
%configure
2020-08-17 15:14:26 +00:00
%make_build
%install
%make_install DESTDIR=''
install -p -D -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/lprint.conf
%pre
# migration scriptlet to take care of incorrect conf locations
if [ $1 -gt 1 ]
then
# daemon moved /etc/lprint.conf into /var/lib/lprint.state if the latter was missing and
# no HOME env set - this is incorrect, move it back to /etc (server-options are present only in
# system conf file). It was daemon solution for migration of configuration after fixing the bug
# which gets fixed by next scriptlet (the state was written into /etc)
if test -f /var/lib/lprint.state
then
! grep -q "^server-options" /var/lib/lprint.state || mv -f /var/lib/lprint.state /etc/lprint.conf
fi
# the original issue - state was written into /etc instead of /var/lib - check if the /etc/lprint.conf
# is an actual state file, and if it is, move it into right directory if state file does not exist.
if test ! -f /var/lib/lprint.state -a -f /etc/lprint.conf
then
# if the lprint.conf is the default one from RPM, do not move
grep -q "^server-options" /etc/lprint.conf || mv -f /etc/lprint.conf /var/lib/lprint.state
fi
fi
2022-01-12 08:22:20 +00:00
%post
# generate an empty state file to prevent /etc config file being moved into
# /var/lib/ - it will be rewritten by the daemon either way
if test ! -f /var/lib/lprint.state
then
touch /var/lib/lprint.state
fi
2022-01-12 08:22:20 +00:00
%systemd_post lprint.service
%preun
%systemd_preun lprint.service
%postun
%systemd_postun_with_restart lprint.service
2020-08-17 15:14:26 +00:00
%files
2022-01-12 08:22:20 +00:00
%doc README.md DOCUMENTATION.md CONTRIBUTING.md CHANGES.md
2020-08-17 15:14:26 +00:00
%license LICENSE NOTICE
%config(noreplace) %{_sysconfdir}/lprint.conf
2020-08-17 15:14:26 +00:00
%{_bindir}/lprint
%{_mandir}/man1/lprint-add.1*
%{_mandir}/man1/lprint-cancel.1*
%{_mandir}/man1/lprint-default.1*
%{_mandir}/man1/lprint-delete.1*
%{_mandir}/man1/lprint-devices.1*
%{_mandir}/man1/lprint-drivers.1*
%{_mandir}/man1/lprint-jobs.1*
%{_mandir}/man1/lprint-modify.1*
%{_mandir}/man1/lprint-options.1*
2020-08-17 15:14:26 +00:00
%{_mandir}/man1/lprint-printers.1*
%{_mandir}/man1/lprint-server.1*
%{_mandir}/man1/lprint-shutdown.1*
%{_mandir}/man1/lprint-status.1*
%{_mandir}/man1/lprint-submit.1*
%{_mandir}/man1/lprint.1*
%{_mandir}/man5/lprint.conf.5*
2022-01-12 08:22:20 +00:00
%{_unitdir}/lprint.service
%ghost %verify(not mode) %{_sharedstatedir}/lprint.state
2020-08-17 15:14:26 +00:00
%changelog
* Mon Nov 18 2024 Zdenek Dohnal <zdohnal@redhat.com> - 1.3.1-8
- RHEL-62834 ignore the mode on lprint.state
* Mon Nov 18 2024 Zdenek Dohnal <zdohnal@redhat.com> - 1.3.1-7
- RHEL-62834 Fix post scriptlet
* Mon Nov 18 2024 Zdenek Dohnal <zdohnal@redhat.com> - 1.3.1-6
- RHEL-67908 lprint requires avahi-daemon.socket, but does not install avahi
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.3.1-5
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Wed Oct 16 2024 Zdenek Dohnal <zdohnal@redhat.com> - 1.3.1-4
- RHEL-62834 Fix post scriptlet
* Thu Aug 08 2024 Zdenek Dohnal <zdohnal@redhat.com> - 1.3.1-3
- rebuilt with updated pappl
* Tue Aug 06 2024 Zdenek Dohnal <zdohnal@redhat.com> - 1.3.1-2
- RHEL-25502 set common server settings by /etc/lprint.conf
* Wed Jul 17 2024 Zdenek Dohnal <zdohnal@redhat.com> - 1.3.1-1
- RHEL-25806 [lprint] rebase lprint to 1.3.1 or newer upstream version
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.2.0-7
- Bump release for June 2024 mass rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 26 2023 Zdenek Dohnal <zdohnal@redhat.com> - 1.2.0-4
- SPDX migration and require filesystem instead of systemd
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
2023-01-03 16:15:50 +00:00
* Tue Jan 03 2023 Zdenek Dohnal <zdohnal@redhat.com> - 1.2.0-1
- 2157610 - lprint-1.2.0 is available
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
2022-05-06 08:14:10 +00:00
* Fri May 06 2022 Zdenek Dohnal <zdohnal@redhat.com> - 1.1.0-3
- path to lprint was hardcoded in service file
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
2022-01-12 08:22:20 +00:00
* Tue Jan 04 2022 Zdenek Dohnal <zdohnal@redhat.com> - 1.1.0-1
- 2035381 - lprint-1.1.0 is available
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
2020-11-05 06:57:03 +00:00
* Thu Nov 05 2020 Zdenek Dohnal <zdohnal@redhat.com> - 1.0-2
- use smaller git-core instead of git
2020-08-17 15:14:26 +00:00
* Mon Aug 17 2020 Zdenek Dohnal <zdohnal@redhat.com> - 1.0-1
- Initial import (#1867587)