import lprint-1.3.1-3.el10

cs10 imports/cs10/lprint-1.3.1-3.el10
MSVSphere Packaging Team 4 months ago
commit 1bb7a37c52
Signed by: sys_gitsync
GPG Key ID: B2B0B9F29E528FE8

1
.gitignore vendored

@ -0,0 +1 @@
SOURCES/lprint-1.3.1.tar.gz

@ -0,0 +1 @@
a6af2dcd2c5b3d7bae6a36d60129255514ffab0f SOURCES/lprint-1.3.1.tar.gz

@ -0,0 +1,103 @@
From 648bc2017192fe84c94ab6929c8def982069a8f7 Mon Sep 17 00:00:00 2001
From: Michael R Sweet <msweet@msweet.org>
Date: Sun, 18 Feb 2024 19:09:51 -0500
Subject: [PATCH] Update state filename to current PAPPL standard, rename old
state filenames (Issue #129)
---
CHANGES.md | 2 +-
lprint.c | 39 +++++++++++++++++++++++++++++++++------
2 files changed, 34 insertions(+), 7 deletions(-)
v1.3.1 - February 9, 2024
diff --git a/lprint.c b/lprint.c
index 81c542a..435e9aa 100644
--- a/lprint.c
+++ b/lprint.c
@@ -465,6 +465,7 @@ system_cb(
*logfile, // Log file, if any
*spooldir, // Spool directory, if any
*system_name; // System name, if any
+ char oldfile[1024]; // Old configuration filename
pappl_loglevel_t loglevel; // Log level
int port = 0; // Port number, if any
pappl_soptions_t soptions = PAPPL_SOPTIONS_MULTI_QUEUE | PAPPL_SOPTIONS_WEB_INTERFACE | PAPPL_SOPTIONS_WEB_LOG | PAPPL_SOPTIONS_WEB_SECURITY;
@@ -554,27 +555,31 @@ system_cb(
if ((val = getenv("SNAP_DATA")) != NULL)
{
snprintf(lprint_spooldir, sizeof(lprint_spooldir), "%s/lprint.d", val);
- snprintf(lprint_statefile, sizeof(lprint_statefile), "%s/lprint.conf", val);
+ snprintf(oldfile, sizeof(oldfile), "%s/lprint.conf", val);
+ snprintf(lprint_statefile, sizeof(lprint_statefile), "%s/lprint.state", val);
if (!spooldir)
spooldir = lprint_spooldir;
}
else if ((val = getenv("XDG_DATA_HOME")) != NULL)
{
- snprintf(lprint_statefile, sizeof(lprint_statefile), "%s/.lprint.conf", val);
+ snprintf(oldfile, sizeof(oldfile), "%s/.lprint.conf", val);
+ snprintf(lprint_statefile, sizeof(lprint_statefile), "%s/lprint.state", val);
}
#ifdef _WIN32
else if ((val = getenv("USERPROFILE")) != NULL)
{
snprintf(lprint_spooldir, sizeof(lprint_spooldir), "%s/AppData/Local/lprint.d", val);
- snprintf(lprint_statefile, sizeof(lprint_statefile), "%s/AppData/Local/lprint.ini", val);
+ snprintf(oldfile, sizeof(oldfile), "%s/AppData/Local/lprint.ini", val);
+ snprintf(lprint_statefile, sizeof(lprint_statefile), "%s/AppData/Local/lprint.state", val);
if (!spooldir)
spooldir = lprint_spooldir;
}
else
{
- papplCopyString(lprint_statefile, "/lprint.ini", sizeof(lprint_statefile));
+ papplCopyString(oldfile, "/lprint.ini", sizeof(oldfile));
+ papplCopyString(lprint_statefile, "/lprint.state", sizeof(lprint_statefile));
}
#else
else if ((val = getenv("HOME")) != NULL)
@@ -586,15 +591,37 @@ system_cb(
if (!spooldir)
spooldir = lprint_spooldir;
# else
- snprintf(lprint_statefile, sizeof(lprint_statefile), "%s/.lprint.conf", val);
+ snprintf(oldfile, sizeof(oldfile), "%s/.config", val);
+ if (access(oldfile, 0))
+ {
+ if (mkdir(oldfile, 0777))
+ {
+ perror(oldfile);
+ return (NULL);
+ }
+ }
+
+ snprintf(oldfile, sizeof(oldfile), "%s/.lprint.conf", val);
+ snprintf(lprint_statefile, sizeof(lprint_statefile), "%s/.config/lprint.state", val);
# endif // __APPLE__
}
else
{
- papplCopyString(lprint_statefile, "/etc/lprint.conf", sizeof(lprint_statefile));
+ papplCopyString(oldfile, "/etc/lprint.conf", sizeof(oldfile));
+# ifdef __APPLE__
+ papplCopyString(lprint_statefile, "/private/var/lib/lprint.state", sizeof(lprint_statefile));
+# else
+ papplCopyString(lprint_statefile, "/var/lib/lprint.state", sizeof(lprint_statefile));
+# endif // __APPLE__
}
#endif // _WIN32
+ if (!access(oldfile, 0) && access(lprint_statefile, 0))
+ {
+ // Move old state file to new name...
+ rename(oldfile, lprint_statefile);
+ }
+
if (spooldir && access(spooldir, 0))
{
if (mkdir(spooldir, 0777))
--
2.43.2

@ -0,0 +1,43 @@
From 641efd2de2c57d06389b869943aaf7517d52645c Mon Sep 17 00:00:00 2001
From: Zdenek Dohnal <zdohnal@redhat.com>
Date: Tue, 6 Aug 2024 15:16:27 +0200
Subject: [PATCH] lprint.c: Enable TLS support in Web UI
Currently (1.3.1) there is no way how to turn TLS web UI pages, because
system callback does not set WEB_TLS option by default, and checks only
for `no-tls` when processing server options.
This can be fixed by two way, depending on which default settings we
prefer. The PR enables TLS pages by default, leaving to user whether he
wants them to be disabled.
Do let me know if you would prefer the other way around.
---
lprint.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lprint.c b/lprint.c
index 435e9aa..8990379 100644
--- a/lprint.c
+++ b/lprint.c
@@ -468,7 +468,7 @@ system_cb(
char oldfile[1024]; // Old configuration filename
pappl_loglevel_t loglevel; // Log level
int port = 0; // Port number, if any
- pappl_soptions_t soptions = PAPPL_SOPTIONS_MULTI_QUEUE | PAPPL_SOPTIONS_WEB_INTERFACE | PAPPL_SOPTIONS_WEB_LOG | PAPPL_SOPTIONS_WEB_SECURITY;
+ pappl_soptions_t soptions = PAPPL_SOPTIONS_MULTI_QUEUE | PAPPL_SOPTIONS_WEB_INTERFACE | PAPPL_SOPTIONS_WEB_LOG | PAPPL_SOPTIONS_WEB_SECURITY | PAPPL_SOPTIONS_WEB_TLS;
// System options
static pappl_version_t versions[1] = // Software versions
{
@@ -527,7 +527,7 @@ system_cb(
else if (!strcmp(valptr, "web-security") || !strncmp(valptr, "web-security,", 13))
soptions |= PAPPL_SOPTIONS_WEB_SECURITY;
else if (!strcmp(valptr, "no-tls") || !strncmp(valptr, "no-tls,", 7))
- soptions |= PAPPL_SOPTIONS_NO_TLS;
+ soptions &= (pappl_soptions_t)~PAPPL_SOPTIONS_WEB_TLS;
if ((valptr = strchr(valptr, ',')) != NULL)
valptr ++;
--
2.45.2

@ -0,0 +1,11 @@
# multi-queue - Support multiple print queues.
# web-interface - Web UI.
# raw-socket - Provide a raw ("JetDirect") socket for each printer on port 91xx.
# web-network - Enables the network settings web page.
# web-remote - Enables remote queue management.
# web-security - Enables the user/password settings web page.
# web-tls - Enables the TLS settings web page.
server-options=multi-queue,web-interface,raw-socket,web-network,web-security,web-tls
# server-port - Listens for IPP connections on the specified port.
server-port=8000

@ -0,0 +1,169 @@
# the package can work with devices from network, so use hardened build
%global _hardened_build 1
Name: lprint
Version: 1.3.1
Release: 3%{?dist}
Summary: A Label Printer Application
License: Apache-2.0
URL: https://www.msweet.org/lprint
Source0: https://github.com/michaelrsweet/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: lprint.conf
# 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
# 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
# written in C
BuildRequires: gcc
# for autosetup
BuildRequires: git-core
# uses Makefile
BuildRequires: make
# the basic printer application related structures are now implemented in PAPPL
BuildRequires: pkgconfig(pappl) >= 1.2
# using pkg-config in configure script
BuildRequires: pkgconf-pkg-config
# for macros in rpm scriptlets
BuildRequires: systemd-rpm-macros
# 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
%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
%configure
%make_build
%install
%make_install DESTDIR=''
install -p -D -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/lprint.conf
%pre
if [ $1 -gt 1 ]
then
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 "^# Fedora default configuration" lprint.conf || mv -f /etc/lprint.conf /var/lib/lprint.state
fi
fi
%post
%systemd_post lprint.service
%preun
%systemd_preun lprint.service
%postun
%systemd_postun_with_restart lprint.service
%files
%doc README.md DOCUMENTATION.md CONTRIBUTING.md CHANGES.md
%license LICENSE NOTICE
%config(noreplace) %{_sysconfdir}/lprint.conf
%{_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*
%{_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*
%{_unitdir}/lprint.service
%changelog
* 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
* 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
* 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
* 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
* Thu Nov 05 2020 Zdenek Dohnal <zdohnal@redhat.com> - 1.0-2
- use smaller git-core instead of git
* Mon Aug 17 2020 Zdenek Dohnal <zdohnal@redhat.com> - 1.0-1
- Initial import (#1867587)
Loading…
Cancel
Save