Compare commits

..

No commits in common. "c9s" and "c8" have entirely different histories.
c9s ... c8

6 changed files with 87 additions and 357 deletions

7
.gitignore vendored
View File

@ -1,6 +1 @@
psutils-p17-clean.tar.gz SOURCES/psutils-1.23.tar.xz
/psutils-1.21.tar.xz
/psutils-1.23.tar.xz
/psutils-2.03.tar.gz
/psutils-2.04.tar.gz
/psutils-2.06.tar.gz

1
.psutils.metadata Normal file
View File

@ -0,0 +1 @@
262d61ccfed221f9b2c5347855851c51a3df744d SOURCES/psutils-1.23.tar.xz

View File

@ -0,0 +1,40 @@
diff -up psutils-1.23/configure.paperconf psutils-1.23/configure
--- psutils-1.23/configure.paperconf 2014-01-22 10:31:58.000000000 +0100
+++ psutils-1.23/configure 2015-05-20 14:25:40.636115433 +0200
@@ -15700,7 +15700,7 @@ fi
if test -z "$PAPER"; then
- PAPER=paper
+ PAPER=paperconf
fi
diff -up psutils-1.23/psutil.c.paperconf psutils-1.23/psutil.c
--- psutils-1.23/psutil.c.paperconf 2014-01-16 11:20:54.000000000 +0100
+++ psutils-1.23/psutil.c 2015-05-29 13:24:12.834350330 +0200
@@ -88,13 +87,21 @@ int paper_size(const char *paper_name, d
int res = 0;
if (paper_name == NULL) /* Use default paper name */
paper_name = pgetline(PAPER);
- if (paper_name && (cmd = xasprintf(PAPER " --unit=pt --size %s", paper_name)) && (l = pgetline(cmd)))
- res = sscanf(l, "%lg %lg", width, height);
+ if (paper_name && (cmd = xasprintf(PAPER " -s %s", paper_name)) && (l = pgetline(cmd)))
+ {
+ for (int i = 0; i < strlen(l); i++)
+ {
+ if (l[i] == ',')
+ {
+ l[i] = '.';
+ }
+ }
+ res = sscanf(l, "%lg %lg", width, height);
+ }
free(l);
free(cmd);
return res == 2;
}
-
/* Make a file seekable, using temporary files if necessary */
FILE *seekable(FILE *fp)
{

View File

@ -1,188 +1,85 @@
# Unbundle gnulib Summary: PostScript Utilities
#%%bcond_without psutils_enables_unbundling_gnulib
Name: psutils Name: psutils
Version: 2.06 Version: 1.23
Release: 2%{?dist} Release: 13%{?dist}
Summary: PostScript utilities License: psutils
# COPYING: GPLv3 text
# epsffit.1: GPLv3+ # We can't follow https://fedoraproject.org/wiki/Packaging:SourceURL#Github
# epsffit.in.in: GPLv3+ # and use upstream tarball for building because ./bootstrap downloads gnulib.
# extractres.in.in: psutils # wget https://github.com/rrthomas/psutils/archive/master.zip && unzip master.zip && cd psutils-master/
# includeres.in.in: psutils # ./bootstrap && autoreconf -vfi && ./configure && make dist-xz
# psbook.1: GPLv3+ Source: psutils-%{version}.tar.xz
# psbook.in.in: GPLv3+ URL: https://github.com/rrthomas/psutils
# psjoin.1: GPLv3+
# psjoin.in.in: GPLv3+ # BZ#1072371
# psnup.in.in: GPLv3+ # https://github.com/rrthomas/psutils/commit/cca570c806bf4bde07f400b2bab9266e02998145
# psresize.1: GPLv3+ Patch0: psutils-paperconf.patch
# psresize.in.in: GPLv3+
# psselect.1: GPLv3+
# psselect.in.in: GPLv3+
# pstops.1: GPLv3+
# pstops.in.in: GPLv3+
# PSUtils.pm: GPLv3+
# README: GPLv3+
## Not in any binary package
# aclocal.m4: FSFULLR
# build-aux/compile: GPLv2+ with Autoconf exception
# build-aux/config.guess: GPLv3+ with Autoconf exception
# build-aux/config.sub: GPLv3+ with Autoconf exception
# build-aux/depcomp: GPLv2+ with Autoconf exception
# build-aux/install-sh: MIT
# build-aux/missing: GPLv2+ with Autoconf exception
# build-aux/mdate-sh: GPLv2+ with Autoconf exception
# build-aux/test-driver: GPLv2+ with Autoconf exception
# build-aux/texinfo.tex: GPLv3+ with TeX exception
# configure: FSFULLR
# INSTALL: FSFAP
# m4/00gnulib.m4: FSFULLR
# m4/ax_check_gnu_make.m4: FSFAP
# m4/gnulib-common.m4: FSFULLR
# m4/gnulib-comp.m4: GPLv3+ with Autoconf exception
# m4/relocatable-lib.m4: FSFULLR
# Makefile.in: FSFULLR
# old-scripts/fixwfwps: See LICENSE
# pre-inst-env.in: GPLv2+
License: GPLv3+ and psutils
URL: https://github.com/rrthomas/%{name}
Source: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: autoconf
BuildRequires: automake >= 1.11
BuildRequires: bash
# coreutils for chmod in Makefile.am
BuildRequires: coreutils
# gcc is a default autoconf dependency and populates EXEEXT variable used in
# Makefile.am.
BuildRequires: gcc
%if %{with psutils_enables_unbundling_gnulib}
BuildRequires: gnulib-devel
%endif
BuildRequires: grep
BuildRequires: make
BuildRequires: perl-generators BuildRequires: perl-generators
BuildRequires: sed
# Run-time:
BuildRequires: paper
BuildRequires: perl-interpreter
BuildRequires: perl(:VERSION) >= 5.14
BuildRequires: perl(base)
BuildRequires: perl(Exporter)
BuildRequires: perl(Fcntl)
BuildRequires: perl(File::Basename) BuildRequires: perl(File::Basename)
BuildRequires: perl(File::Copy)
BuildRequires: perl(File::Spec::Functions)
BuildRequires: perl(File::Temp)
BuildRequires: perl(Getopt::Long) BuildRequires: perl(Getopt::Long)
BuildRequires: perl(IPC::Run3)
BuildRequires: perl(List::Util)
BuildRequires: perl(POSIX)
BuildRequires: perl(strict) BuildRequires: perl(strict)
BuildRequires: perl(warnings) BuildRequires: perl(warnings)
# Tests:
BuildRequires: diffutils
# Only for building
Provides: bundled(gnulib)%(perl -ne 'if($. == 1 and /\A(\d+)-(\d+)-(\d+)/) {print qq{ = $1$2$3}}' %{_defaultdocdir}/gnulib/ChangeLog 2>/dev/null)
# psutils-perl was merged into psutils-2.03-1.fc34
Provides: %{name}-perl = %{version}-%{release}
Obsoletes: %{name}-perl < %{version}-%{release}
Requires: paper
# Filter private modules Requires: /usr/bin/paperconf
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(PSUtils\\)
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(PSUtils\\) # copylib - https://fedorahosted.org/fpc/ticket/174
Provides: bundled(gnulib)
%description %description
Utilities for manipulating PostScript documents. Utilities for manipulating PostScript documents.
Page selection and rearrangement are supported, including arrangement into Page selection and rearrangement are supported, including arrangement into
signatures for booklet printing, and page merging for n-up printing. signatures for booklet printing, and page merging for n-up printing.
%package perl
Summary: psutils scripts requiring perl
BuildArch: noarch
%description perl
Various scripts from the psutils distribution that require perl.
%prep %prep
%setup -q %setup -q
%if %{with psutils_enables_unbundling_gnulib}
gnulib-tool --import --no-changelog relocatable-perl %patch0 -p1 -b .paperconf
%endif # Use /usr/bin/perl instead of /usr/bin/env perl
autoreconf -fi sed -i -e 's,/usr/bin/env perl,%{__perl},' \
extractres psjoin
%build %build
%configure --disable-relocatable %configure
%{make_build} %{__make} %{?_smp_mflags}
%install %install
%{make_install} %{__make} install DESTDIR=%{buildroot}
%check
unset PSUTILS_UNINSTALLED
make check %{?_smp_mflags}
%files %files
%license COPYING %doc README LICENSE
# ChangeLog is not helpful
# old-scripts excluded intentionally
%doc README
%{_bindir}/epsffit %{_bindir}/epsffit
%{_bindir}/extractres
%{_bindir}/includeres
%{_bindir}/psbook %{_bindir}/psbook
%{_bindir}/psjoin
%{_bindir}/psnup %{_bindir}/psnup
%{_bindir}/psresize %{_bindir}/psresize
%{_bindir}/psselect %{_bindir}/psselect
%{_bindir}/pstops %{_bindir}/pstops
%{_datadir}/%{name}
%{_mandir}/man1/epsffit.1* %{_mandir}/man1/epsffit.1*
%{_mandir}/man1/extractres.1*
%{_mandir}/man1/includeres.1*
%{_mandir}/man1/psbook.1* %{_mandir}/man1/psbook.1*
%{_mandir}/man1/psjoin.1*
%{_mandir}/man1/psnup.1* %{_mandir}/man1/psnup.1*
%{_mandir}/man1/psresize.1* %{_mandir}/man1/psresize.1*
%{_mandir}/man1/psselect.1* %{_mandir}/man1/psselect.1*
%{_mandir}/man1/pstops.1* %{_mandir}/man1/pstops.1*
%{_mandir}/man1/psutils.1* %{_mandir}/man1/psutils.1*
%files perl
%doc LICENSE
%{_bindir}/extractres
%{_bindir}/includeres
%{_bindir}/psjoin
%{_mandir}/man1/extractres.1*
%{_mandir}/man1/includeres.1*
%{_mandir}/man1/psjoin.1*
%changelog %changelog
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 2.06-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Jun 10 2021 Ondřej Pohořelský <opohorel@redhat.com> - 2.06-1
- 2.06 bump
- Resolves: #1970467
* Tue Apr 27 2021 Ondřej Pohořelský <opohorel@redhat.com> - 2.04-4
- Switch to bundled gnulib
- Resolves: #1952815
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.04-3
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.04-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Nov 18 2020 Petr Pisar <ppisar@redhat.com> - 2.04-1
- 2.04 bump
* Fri Oct 02 2020 Petr Pisar <ppisar@redhat.com> - 2.03-1
- 2.03 bump
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.23-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.23-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.23-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.23-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.23-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.23-13 * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.23-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

View File

@ -1,202 +0,0 @@
--- psutils/pstops.1.paper Tue Mar 11 23:53:04 1997
+++ psutils/pstops.1 Thu Jul 19 15:21:51 2001
@@ -108,10 +108,11 @@
The
.I \-p
option can be used as an alternative, to set the paper size to
-.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto
+.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto, 10x14
or
-.B 10x14.
-The default paper size is
+.B _glibc,
+where latter one means the format of the current locale. The default
+paper size is
.B @PAPER@.
.PP
The
@@ -154,6 +155,12 @@
4:1L@.7(21cm,0)+-2L@.7(21cm,14.85cm)
.sp
for the reverse sides (or join them with a comma for duplex printing).
+.SH "ENVIRONMENT VARIABLES"
+.TP
+.B LC_ALL, LC_PAPER
+These variables are specifying the papertype when used paper is
+.B _glibc.
+For details see the locale(7) manpage.
.SH AUTHOR
Copyright (C) Angus J. C. Duggan 1991-1995
.SH "SEE ALSO"
--- psutils/psutil.c.paper Tue Mar 11 23:53:04 1997
+++ psutils/psutil.c Thu Jul 19 15:21:51 2001
@@ -21,6 +21,11 @@
#include <sys/types.h>
#include <sys/stat.h>
+#ifdef HAVE_LANGINFO_H
+# include <langinfo.h>
+# include <locale.h>
+#endif
+
#define iscomment(x,y) (strncmp(x,y,strlen(y)) == 0)
extern char *program ;
@@ -31,6 +36,16 @@
extern char pagelabel[BUFSIZ];
extern int pageno;
+#ifdef HAVE_LANGINFO_H
+/* When using papertype _glibc we are comparing floating point values. Therefore
+ * and because values in the papersize table are not exactly we are needing an
+ * epsilon value. */
+static float PT_EPSILON = 2.0;
+
+/* The factor needed to convert lengths given in mm to length in pt.*/
+static float MM_TO_PT_FACTOR = 72/25.4;
+#endif /* HAVE_LANGINFO_H */
+
static char buffer[BUFSIZ];
static long bytes = 0;
static long pagescmt = 0;
@@ -64,16 +79,52 @@
{ NULL, 0, 0 }
};
+#ifdef HAVE_LANGINFO_H
+/* Called if papertype is '_glibc'. It uses the current locale to determine the
+ * height and width of the current LC_PAPER and compares it with the items of
+ * the 'papersizes' list. */
+Paper* findpaperglibc()
+{
+ float height, width;
+ char *old_locale = setlocale (LC_PAPER, "");
+ Paper *result = 0, *pp;
+
+ height = MM_TO_PT_FACTOR * (unsigned int)(nl_langinfo(_NL_PAPER_HEIGHT));
+ width = MM_TO_PT_FACTOR * (unsigned int)(nl_langinfo(_NL_PAPER_WIDTH));
+
+ for (pp = papersizes; PaperName(pp) && result==0; pp++) {
+ if ( abs(PaperWidth(pp)-width)<PT_EPSILON &&
+ abs(PaperHeight(pp)-height)<PT_EPSILON )
+ result = pp;
+ }
+
+ setlocale(LC_PAPER, old_locale);
+
+ return result;
+}
+#endif /* HAVE_LANGINFO_H */
+
/* return pointer to paper size struct or NULL */
Paper* findpaper(char *name)
{
- Paper *pp;
- for (pp = papersizes; PaperName(pp); pp++) {
- if (strcmp(PaperName(pp), name) == 0) {
+ Paper *pp = 0;
+
+#ifdef HAVE_LANGINFO_H
+ if (strcmp(name, "_glibc") == 0) {
+ pp = findpaperglibc();
+ if (pp==0) name = "a4"; /* Paper in C locale */
+ }
+#endif /* HAVE_LANGINFO_H */
+
+ if (pp==0) {
+ for (pp = papersizes; PaperName(pp); pp++) {
+ if (strcmp(PaperName(pp), name) == 0) {
return pp;
- }
+ }
+ }
}
- return (Paper *)NULL;
+
+ return pp;
}
/* Make a file seekable, using temporary files if necessary */
--- psutils/psresize.1.paper Tue Mar 11 23:53:03 1997
+++ psutils/psresize.1 Thu Jul 19 15:21:51 2001
@@ -42,10 +42,11 @@
The
.I \-p
option can be used as an alternative, to set the output paper size to
-.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto
+.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto, 10x24
or
-.B 10x14.
-The default output paper size is
+.B _glibc,
+where latter one means the format of the current locale. The default
+output paper size is
.B @PAPER@.
.PP
The
@@ -69,6 +70,12 @@
.sp
psresize -PA4 -pletter in.ps out.ps
.sp
+.SH "ENVIRONMENT VARIABLES"
+.TP
+.B LC_ALL, LC_PAPER
+These variables are specifying the papertype when used paper is
+.B _glibc.
+For details see the locale(7) manpage.
.SH AUTHOR
Copyright (C) Angus J. C. Duggan 1991-1995
.SH "SEE ALSO"
--- psutils/psnup.1.paper Tue Mar 11 23:53:02 1997
+++ psutils/psnup.1 Thu Jul 19 15:21:51 2001
@@ -61,9 +61,11 @@
The
.I \-p
option can be used as an alternative, to set the paper size to
-.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto
+.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto,
+.B 10x14
or
-.B 10x14.
+.B _glibc,
+where latter one means the format of the current locale.
The default paper size is
.B @PAPER@.
The
@@ -148,6 +150,12 @@
on the first output page and
pages 2 then 3 of the input document
on the second output page.
+.SH "ENVIRONMENT VARIABLES"
+.TP
+.B LC_ALL, LC_PAPER
+These variables are specifying the papertype when used paper is
+.B _glibc.
+For details see the locale(7) manpage.
.SH AUTHOR
Copyright (C) Angus J. C. Duggan 1991-1995
.SH "SEE ALSO"
--- psutils/Makefile.unix.paper Thu Jul 19 15:21:51 2001
+++ psutils/Makefile.unix Thu Jul 19 15:24:07 2001
@@ -19,7 +19,11 @@
# psnup puts multiple logical pages on one physical page
# psresize scales and moves pages to fit on different paper sizes
-PAPER=a4
+PAPER="_glibc"
+
+# Comment it out if your machine does not have the <langutil.h> header
+# or does not know nl_langinfo()
+LANGINFO_FLAG = -DHAVE_LANGINFO_H
# Makefile for PSUtils under Unix
@@ -39,7 +43,7 @@
MANDIR = $(DESTDIR)/usr/man/man$(MANEXT)
CC = gcc
-CFLAGS = -DPAPER=\"$(PAPER)\" -DUNIX $(RPM_OPT_FLAGS) -Wall
+CFLAGS = -DPAPER=\"$(PAPER)\" -DUNIX $(RPM_OPT_FLAGS) $(LANGINFO_FLAG) -Wall
BIN = psbook psselect pstops epsffit psnup \
psresize

View File

@ -1 +0,0 @@
SHA512 (psutils-2.06.tar.gz) = e105471e33d16592dc1615fb568786256d9f3051875ca7c23c541b9d4587943ff9d93f5ad593716be4849b2f652d0e0727e5d1faa0506cdee0e9475e1c3da19f