Accepting request 1072656 from Publishing

- Updated to 4.15
 * Noteworthy changes in release 4.15 (2023-03-07) [stable]
 * Features:
   - Replace the 'psmandup' utility with simpler 'lp2' to directly print
     documents to a simplex printer.
   - Remove the outdated 'psset' and 'fixnt', and simplify 'fixps' to
     always process its input with Ghostscript.
   - Use libpaper's paper sizes. This includes user-defined paper sizes
     when using libpaper 2. It is still possible to define custom margins
     using "Medium:" specifications in the configuration file, and the
     one size defined by a2ps that libpaper does not know about, Quarto, is
     retained for backwards compatiblity, and as an example.
 * Documentation
   - Remove some obsolete explanations.
   - Reformat --help output consistently to 80 columns.
   - Some English fixes.
 * Bug fixes:
   - Avoid a crash when a medium is not specified; instead, use the default
     libpaper size (configured by the user or sysadmin, or the locale
     default).
   - Fix some other potential crashes and compiler warnings.
   - Fixes for security bugs CVE-2001-1593, CVE-2015-8107 and CVE-2014-0466.
   - Minor bugs fixed.
 * Predefined delegations:
   - Remove support for defunct Netscape and proprietary Acrobat Reader.
   - Add lpr wrapper for automatic detection of different printing systems,
     including CUPS support.
 * Encodings:
   - Use libre fonts for KOI-8.
   - Composite fonts support.

OBS-URL: https://build.opensuse.org/request/show/1072656
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/a2ps?expand=0&rev=51
This commit is contained in:
Dominique Leuenberger 2023-03-18 23:30:16 +00:00 committed by Git OBS Bridge
commit 24f00d3d83
27 changed files with 499 additions and 1304 deletions

View File

@ -1,32 +0,0 @@
Description: CVE-2014-0466: fixps does not invoke gs with -dSAFER
A malicious PostScript file could delete files with the privileges of
the invoking user.
Origin: vendor
Bug-Debian: http://bugs.debian.org/742902
Author: Salvatore Bonaccorso <carnil@debian.org>
Last-Update: 2014-03-28
diff -rupN a2ps-4.14.old/contrib/fixps.in a2ps-4.14/contrib/fixps.in
--- a2ps-4.14.old/contrib/fixps.in 2007-12-28 19:29:01.000000000 -0800
+++ a2ps-4.14/contrib/fixps.in 2014-08-06 21:11:17.114518845 -0700
@@ -389,7 +389,7 @@ if test $task != check; then
eval "$command" ;;
gs)
$verbose "$program: making a full rewrite of the file ($gs)." >&2
- $gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;;
+ $gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;;
esac
)
fi
diff -rupN a2ps-4.14.old/contrib/fixps.m4 a2ps-4.14/contrib/fixps.m4
--- a2ps-4.14.old/contrib/fixps.m4 2007-12-28 18:11:47.000000000 -0800
+++ a2ps-4.14/contrib/fixps.m4 2014-08-06 21:11:40.529942880 -0700
@@ -307,7 +307,7 @@ if test $task != check; then
eval "$command" ;;
gs)
$verbose "$program: making a full rewrite of the file ($gs)." >&2
- $gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;;
+ $gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;;
esac
)
fi

View File

@ -1,6 +1,6 @@
--- ps/base.ps
+++ ps/base.ps 2006-05-19 12:23:41.000000000 +0200
@@ -114,7 +114,7 @@
@@ -113,7 +113,7 @@
} bind def
/reencode_font {

View File

@ -1,7 +1,7 @@
diff -pur a2ps-4.13-1059/lib/title.c a2ps-4.13/lib/title.c
--- a2ps-4.13-1059/lib/title.c 2005-09-20 13:40:15.000000000 +0200
+++ a2ps-4.13/lib/title.c 2005-09-20 13:53:13.000000000 +0200
@@ -57,6 +57,10 @@
diff -pur a2ps-4.13-1059/liba2ps/title.c a2ps-4.13/liba2ps/title.c
--- a2ps-4.13-1059/liba2ps/title.c 2005-09-20 13:40:15.000000000 +0200
+++ a2ps-4.13/liba2ps/title.c 2005-09-20 13:53:13.000000000 +0200
@@ -32,6 +32,10 @@
#include "title.h"
#include "printlen.h"

View File

@ -1,11 +0,0 @@
--- src/main.c
+++ src/main.c 2009-08-28 16:24:47.430026397 +0200
@@ -578,7 +578,7 @@ spy_user (struct a2ps_job *a_job, FILE *
/* Yes, I know, there are certainly better means. Just teach them
to me... */
fclose (spy);
- fopen (spyname, "r");
+ spy = fopen (spyname, "r");
if (!spy)
error (1, errno, _("cannot open file `%s'"), quotearg (spyname));

View File

@ -1,65 +0,0 @@
--- lib/routines.c
+++ lib/routines.c Fri Jan 5 12:51:20 2001
@@ -242,3 +242,50 @@
/* Don't complain if you can't unlink. Who cares of a tmp file? */
unlink (filename);
}
+
+/*
+ * Securely generate a temp file, and make sure it gets
+ * deleted upon exit.
+ */
+static char ** tempfiles;
+static unsigned ntempfiles;
+
+static void
+cleanup_tempfiles()
+{
+ while (ntempfiles--)
+ unlink(tempfiles[ntempfiles]);
+}
+
+char *
+safe_tempnam(const char *pfx)
+{
+ char *dirname, *filename;
+ int fd;
+
+ if (!(dirname = getenv("TMPDIR")))
+ dirname = "/tmp";
+
+ tempfiles = (char **) realloc(tempfiles,
+ (ntempfiles+1) * sizeof(char *));
+ if (tempfiles == NULL)
+ return NULL;
+
+ filename = malloc(strlen(dirname) + strlen(pfx) + sizeof("/XXXXXX"));
+ if (!filename)
+ return NULL;
+
+ sprintf(filename, "%s/%sXXXXXX", dirname, pfx);
+
+ if ((fd = mkstemp(filename)) < 0) {
+ free(filename);
+ return NULL;
+ }
+ close(fd);
+
+ if (ntempfiles == 0)
+ atexit(cleanup_tempfiles);
+ tempfiles[ntempfiles++] = filename;
+
+ return filename;
+}
--- lib/routines.h
+++ lib/routines.h Fri Jan 5 12:37:53 2001
@@ -255,7 +255,8 @@
/* If _STR_ is not defined, give it a tempname in _TMPDIR_ */
#define tempname_ensure(Str) \
do { \
- (Str) = (Str) ? (Str) : tempnam (NULL, "a2_"); \
+ (Str) = (Str) ? (Str) : safe_tempnam("a2_"); \
} while (0)
+char * safe_tempnam(const char *);
#endif

View File

@ -1,21 +1,29 @@
--- lib/liba2ps.h
+++ lib/liba2ps.h 2008-10-27 11:40:05.145358590 +0100
@@ -57,16 +57,8 @@
# endif
---
liba2ps/liba2ps.h | 3 +++
liba2ps/liba2ps.h.in | 3 +++
2 files changed, 6 insertions(+)
--- liba2ps/liba2ps.h.in
+++ liba2ps/liba2ps.h.in 2023-03-10 13:23:48.196486749 +0000
@@ -39,6 +39,9 @@
# define __END_DECLS /* empty */
#endif
-/*
- * The type bool must be defined, for instance with
-
- #if HAVE_STDBOOL_H
- # include <stdbool.h>
- #else
- typedef enum {false = 0, true = 1} bool;
- #endif
-
-*/
+#include <stdbool.h>
+#include <sys/types.h>
+
__BEGIN_DECLS
/*
--- liba2ps/liba2ps.h
+++ liba2ps/liba2ps.h 2023-03-10 13:23:58.020307717 +0000
@@ -39,6 +39,9 @@
# define __END_DECLS /* empty */
#endif
+#include <stdbool.h>
+#include <sys/types.h>
+
__BEGIN_DECLS
/*

View File

@ -1,6 +1,13 @@
---
etc/a2ps_cfg.in | 3 ++
sheets/sheets.map | 3 ++
src/buffer.c | 29 +++++++++++++++++++++
src/generate.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 108 insertions(+), 1 deletion(-)
--- etc/a2ps_cfg.in
+++ etc/a2ps_cfg.in 2008-07-15 14:12:03.044199079 +0200
@@ -266,6 +266,9 @@ $3p<-$3p> $4l# lines\n||
+++ etc/a2ps_cfg.in 2023-03-10 13:06:52.122978624 +0000
@@ -199,6 +199,9 @@ $3p<-$3p> $4l# lines\n||
# rm is done by a2ps itself. No need to quote.
#
@ -11,8 +18,8 @@
# A compressed file should be decompressed and processed by a2ps
# A consequence is that the decompressed file may be delegated.
--- sheets/sheets.map
+++ sheets/sheets.map 2008-07-15 17:24:53.922318567 +0200
@@ -144,6 +144,9 @@ gmake: /GNUmakefile/ /*\/GNUmakefile/
+++ sheets/sheets.map 2023-03-10 13:06:52.122978624 +0000
@@ -146,6 +146,9 @@ gmake: /GNUmakefile/ /*\/GNUmakefile/
plain: /*.doc/
/*.txt/
@ -23,19 +30,26 @@
ada: /*.ad[abs]/
--- src/buffer.c
+++ src/buffer.c 2008-07-15 17:11:53.197276387 +0200
@@ -193,9 +193,24 @@ buffer_release (buffer_t * buffer)
{
/* VALUE is malloc'd only if BUFFER->LOWER_CASE */
if (buffer->lower_case)
- free (buffer->value);
+++ src/buffer.c 2023-03-10 13:15:24.785647598 +0000
@@ -175,6 +175,35 @@ buffer_self_print (buffer_t * buffer, FI
fprintf (stream, "Content = `%s'\n", buffer->content);
}
+/*
+ * It frees the content, not the pointer
+ */
+void
+buffer_release (buffer_t * buffer)
+{
+ /* VALUE is malloc'd only if BUFFER->LOWER_CASE */
+ if (buffer->lower_case)
+ {
+ free (buffer->value);
+ buffer->value = NULL;
+ buffer->allocsize = 0;
+ }
/* I don't know how this one should be used */
- /* obstack_free (&buffer->obstack, NULL); */
+ }
+
+ /* I don't know how this one should be used */
+ if (buffer->buf)
+ {
+ free(buffer->buf);
@ -48,12 +62,14 @@
+ buffer->content = obstack_finish(&buffer->obstack);
+ }
+ obstack_free (&buffer->obstack, NULL);
}
+}
+
void
buffer_set_lower_case (buffer_t * buffer, bool sensitive)
{
--- src/generate.c
+++ src/generate.c 2008-07-15 17:12:02.778172717 +0200
@@ -35,7 +35,7 @@ char *sample_tmpname = NULL;
+++ src/generate.c 2023-03-10 13:17:27.919406928 +0000
@@ -29,7 +29,7 @@ char *sample_tmpname = NULL;
*/
enum style_kind_e
{
@ -62,16 +78,16 @@
};
static enum style_kind_e
@@ -49,6 +49,8 @@ string_to_style_kind (const char * strin
@@ -43,6 +43,8 @@ string_to_style_kind (const char * strin
return no_style;
else if (strequ (string, "delegate"))
else if (STREQ (string, "delegate"))
return delegate;
+ else if (strequ (string, "utf8"))
+ else if (STREQ (string, "utf8"))
+ return utf8;
return sshparser;
}
/************************************************************************/
@@ -360,6 +362,76 @@ print (uchar * filename, int * native_jo
@@ -350,6 +352,76 @@ print (char * filename, int * native_job
msg_file_pages_printed (job, _("plain"));
(*native_jobs)++;
break;

View File

@ -1,24 +0,0 @@
diff -rupN a2ps-4.14.old/configure a2ps-4.14/configure
--- a2ps-4.14.old/configure 2007-12-28 19:28:03.000000000 -0800
+++ a2ps-4.14/configure 2014-08-06 20:54:27.423260701 -0700
@@ -32078,6 +32078,8 @@ echo "${ECHO_T}$a2_cv_com_acroread4" >&6
test "$a2_cv_com_acroread4" = yes && COM_acroread4=''
fi
+COM_acroread4=''
+
# Outputting PDF
if test "$enable_paths" = "no"; then
# Extract the first word of "distill", so it can be a program name with args.
diff -rupN a2ps-4.14.old/configure.in a2ps-4.14/configure.in
--- a2ps-4.14.old/configure.in 2007-05-01 21:35:49.000000000 -0700
+++ a2ps-4.14/configure.in 2014-08-06 20:52:42.219361561 -0700
@@ -337,6 +337,8 @@ if test "x$COM_acroread" = x; then
test "$a2_cv_com_acroread4" = yes && COM_acroread4=''
fi
+COM_acroread4=''
+
# Outputting PDF
ad_CHECK_PROGS([distill, ps2pdf])
test "$COM_distill$COM_ps2pdf" = "##" && COM_PS2PDF="#"

View File

@ -1,341 +0,0 @@
---
Makefile.in | 8 +-------
afm/Makefile.in | 7 -------
auxdir/Makefile.in | 8 --------
contrib/Makefile.in | 29 -----------------------------
doc/Makefile.in | 8 --------
encoding/Makefile.in | 8 --------
etc/Makefile.in | 7 -------
fonts/Makefile.in | 8 --------
lib/Makefile.in | 7 -------
m4/Makefile.in | 8 --------
man/Makefile.in | 8 --------
ogonkify/Makefile.in | 5 -----
ppd/Makefile.in | 8 --------
ps/Makefile.in | 8 --------
sheets/Makefile.in | 8 --------
src/Makefile.in | 7 -------
tests/Makefile.in | 7 -------
17 files changed, 1 insertion(+), 148 deletions(-)
--- Makefile.in
+++ Makefile.in 2018-10-17 06:37:24.654213544 +0000
@@ -286,8 +286,6 @@ all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
-am--refresh:
- @:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -305,16 +303,12 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefi
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
+ ;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
--- afm/Makefile.in
+++ afm/Makefile.in 2018-10-17 06:28:39.571865589 +0000
@@ -342,13 +342,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-afmSCRIPTS: $(afm_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(afmdir)" || $(mkdir_p) "$(DESTDIR)$(afmdir)"
--- auxdir/Makefile.in
+++ auxdir/Makefile.in 2018-10-17 06:28:53.627607366 +0000
@@ -280,14 +280,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
mostlyclean-libtool:
-rm -f *.lo
--- contrib/Makefile.in
+++ contrib/Makefile.in 2018-10-17 06:15:59.153857421 +0000
@@ -320,35 +320,6 @@ all: all-recursive
.SUFFIXES:
.SUFFIXES: .m4 .in .c .l .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu contrib/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
card: $(top_builddir)/config.status $(srcdir)/card.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
fixps: $(top_builddir)/config.status $(srcdir)/fixps.in
--- doc/Makefile.in
+++ doc/Makefile.in 2018-10-17 06:29:27.606983082 +0000
@@ -308,14 +308,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
mostlyclean-libtool:
-rm -f *.lo
--- encoding/Makefile.in
+++ encoding/Makefile.in 2018-10-17 06:29:36.290823531 +0000
@@ -300,14 +300,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
mostlyclean-libtool:
-rm -f *.lo
--- etc/Makefile.in
+++ etc/Makefile.in 2018-10-17 06:29:48.894591952 +0000
@@ -292,13 +292,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
a2ps_cfg: $(top_builddir)/config.status $(srcdir)/a2ps_cfg.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
a2ps-site.cfg: $(top_builddir)/config.status $(srcdir)/a2ps-site.cfg.in
--- fonts/Makefile.in
+++ fonts/Makefile.in 2018-10-17 06:30:01.506360220 +0000
@@ -318,14 +318,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
mostlyclean-libtool:
-rm -f *.lo
--- lib/Makefile.in
+++ lib/Makefile.in 2018-10-17 06:30:10.074202787 +0000
@@ -406,13 +406,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
--- m4/Makefile.in
+++ m4/Makefile.in 2018-10-17 06:30:17.426067696 +0000
@@ -308,14 +308,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
mostlyclean-libtool:
-rm -f *.lo
--- man/Makefile.in
+++ man/Makefile.in 2018-10-17 06:30:24.965929147 +0000
@@ -287,14 +287,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
mostlyclean-libtool:
-rm -f *.lo
--- ogonkify/Makefile.in
+++ ogonkify/Makefile.in 2018-10-17 06:16:20.769458703 +0000
@@ -243,8 +243,6 @@ all: all-recursive
.SUFFIXES:
.SUFFIXES: .enc .ps .pfa .afm
-am--refresh:
- @:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -269,9 +267,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
--- ppd/Makefile.in
+++ ppd/Makefile.in 2018-10-17 06:30:31.665806033 +0000
@@ -320,14 +320,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
mostlyclean-libtool:
-rm -f *.lo
--- ps/Makefile.in
+++ ps/Makefile.in 2018-10-17 06:30:38.553679461 +0000
@@ -294,14 +294,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
mostlyclean-libtool:
-rm -f *.lo
--- sheets/Makefile.in
+++ sheets/Makefile.in 2018-10-17 06:30:44.737565824 +0000
@@ -316,14 +316,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
mostlyclean-libtool:
-rm -f *.lo
--- src/Makefile.in
+++ src/Makefile.in 2018-10-17 06:30:51.489441747 +0000
@@ -334,13 +334,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
--- tests/Makefile.in
+++ tests/Makefile.in 2018-10-17 06:31:04.941194545 +0000
@@ -314,13 +314,6 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
defs: $(top_builddir)/config.status $(srcdir)/defs.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@

View File

@ -1,28 +0,0 @@
From seclists.org/oss-sec/2015/q4/284
CVE-2015-8107 - a2ps(gnu) v4.14 format string vulnerability
Be aware that if compiled with -D_FORTIFY_SOURCE=2 the a2ps
does abort with
a2ps --prologue=exploit /etc/hosts -o /dev/null
*** %n in writable segment detected ***
Abort
Also the explpoit has to be installed as a pro file in the
appropiate system paths or $HOME/.a2ps of the attacked user.
---
lib/output.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- lib/output.c
+++ lib/output.c 2015-11-16 15:01:23.414079544 +0000
@@ -525,7 +525,7 @@ output_file (struct output * out, a2ps_j
expand_user_string (job, FIRST_FILE (job),
(const uchar *) "Expand: requirement",
(const uchar *) token));
- output (dest, expansion);
+ output (dest, "%s", expansion);
continue;
}

View File

@ -1,14 +0,0 @@
--- a2ps-4.14/configure.orig 2015-05-23 14:15:15.532064792 +0200
+++ a2ps-4.14/configure 2015-05-23 14:17:17.108061667 +0200
@@ -6296,9 +6296,9 @@
{ echo "$as_me:$LINENO: checking for gperf - version >= $min_gperf_version" >&5
echo $ECHO_N "checking for gperf - version >= $min_gperf_version... $ECHO_C" >&6; }
gperf_major_version=`$GPERF --version | \
- sed 's/GNU gperf \([0-9]*\).\([0-9]*\)/\1/'`
+ grep 'GNU gperf' | sed 's/GNU gperf \([0-9]*\).\([0-9]*\).*$/\1/'`
gperf_minor_version=`$GPERF --version | \
- sed 's/GNU gperf \([0-9]*\).\([0-9]*\)/\2/'`
+ grep 'GNU gperf' | sed 's/GNU gperf \([0-9]*\).\([0-9]*\).*$/\2/'`
no_gperf=""
if test "$cross_compiling" = yes; then
/bin/true

View File

@ -1,14 +0,0 @@
---
lib/quotearg.c | 1 +
1 file changed, 1 insertion(+)
--- lib/quotearg.c
+++ lib/quotearg.c 2015-03-03 11:23:16.174018578 +0000
@@ -60,6 +60,7 @@
#if HAVE_MBRTOWC && HAVE_WCHAR_H
# include <wchar.h>
+# include <wctype.h>
#else
# define iswprint(wc) 1
# define mbrtowc(pwc, s, n, ps) 1

View File

@ -1,19 +1,22 @@
diff -rupN a2ps-4.14.old/auxdir/ltmain.sh a2ps-4.14/auxdir/ltmain.sh
--- a2ps-4.14.old/auxdir/ltmain.sh 2007-11-27 13:23:09.000000000 -0800
+++ a2ps-4.14/auxdir/ltmain.sh 2014-08-06 21:06:38.888482449 -0700
@@ -3792,11 +3792,12 @@ EOF
$echo
if test "X$deplibs_check_method" = "Xnone"; then
$echo "*** Warning: inter-library dependencies are not supported in this platform."
+ $echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
---
a2ps-4.15/build-aux/ltmain.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a2ps-4.15/build-aux/ltmain.sh
+++ a2ps-4.15/build-aux/ltmain.sh 2023-03-10 13:32:25.551060728 +0000
@@ -9715,11 +9715,13 @@ EOF
echo
if test none = "$deplibs_check_method"; then
echo "*** Warning: inter-library dependencies are not supported in this platform."
+ $echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
else
- $echo "*** Warning: inter-library dependencies are not known to be supported."
+ deplibs=$($echo "X $deplibs" | $Xsed -e 's/ -1c$//' -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g')
+ newdeplibs="$deplibs"
echo "*** Warning: inter-library dependencies are not known to be supported."
+ deplibs=$($echo "X $deplibs" | $Xsed -e 's/ -1c$//' -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g')
+ newdeplibs="$deplibs"
fi
- $echo "*** All declared inter-library dependencies are being dropped."
- echo "*** All declared inter-library dependencies are being dropped."
- droppeddeps=yes
fi
;;
esac
;;
esac

View File

@ -1,16 +1,17 @@
---
man/a2ps.1 | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
man/a2ps.1 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- man/a2ps.1
+++ man/a2ps.1 2014-08-07 14:32:29.000000000 +0000
@@ -81,8 +81,7 @@ first fill (DIRECTION=) rows, or columns
predefined font sizes and layouts for 1.. 9 virtuals
+++ man/a2ps.1 2023-03-17 07:40:09.630973874 +0000
@@ -88,8 +88,8 @@ predefined font sizes and layouts for 1.
virtuals
.TP
\fB\-A\fR, \fB\-\-file\-align\fR=\fIMODE\fR
-align separate files according to MODE (fill, rank
-page, sheet, or a number)
+align separate files according to MODE (`virtual', `rank', `page', `sheet', or a number)
\fB\-A\fR, \fB\-\-file\-align\fR=\fI\,MODE\/\fR
-align separate files according to MODE (fill,
-rank page, sheet, or a number)
+align separate files according to MODE (`fill', `virtual',
+`rank', `page', `sheet', or a number)
.TP
\fB\-j\fR, \fB\-\-borders\fR*
print borders around columns

View File

@ -61,82 +61,6 @@ diff -rupN a2ps-4.14.old/ogonkify/doc/ogonkify.1 a2ps-4.14/ogonkify/doc/ogonkify
.SH BUGS
Characters with an `ogonek' should be constructed differently (for
diff -rupN a2ps-4.14.old/ogonkify/doc/ogonkify.info a2ps-4.14/ogonkify/doc/ogonkify.info
--- a2ps-4.14.old/ogonkify/doc/ogonkify.info 2007-12-28 18:11:11.000000000 -0800
+++ a2ps-4.14/ogonkify/doc/ogonkify.info 2014-08-06 19:54:36.906104041 -0700
@@ -1,9 +1,9 @@
-This is ogonkify.info, produced by makeinfo version 3.12i from
-ogonkify.texi.
+This is ogonkify.info, produced by makeinfo version 1.68 from
+the input file ogonkify.texi.
INFO-DIR-SECTION Printing Tools
START-INFO-DIR-ENTRY
-* ogonkify: (ogonkify). Ogonkify
+* ogonkify: (ogonkify). Ogonkify
END-INFO-DIR-ENTRY
This is the Ogonkify manual, Copyright (C) 1996-1999 by Juliusz
@@ -48,7 +48,7 @@ Perl code character-building, it should
formative years. The author will not accept any responsibility for any
moral grief caused.
- I would like to ask you _not_ to distribute the generated fonts
+ I would like to ask you *not* to distribute the generated fonts
without including a pointer to the original AFMs and the rest of the
code. Furthermore, please notify me if you decide to include this code
in a larger piece of software.
@@ -387,19 +387,19 @@ Chroboczek, <jec@dcs.ed.ac.uk>.

Tag Table:
-Node: Top276
-Node: License866
-Node: Using Ogonkify2161
-Node: Ghostscript2602
-Node: Standard Applications3086
-Node: a2ps3571
-Node: genscript4003
-Node: Adding new characters5548
-Node: Composite background6146
-Node: AFM files9661
-Node: Generated fonts10868
-Node: Composite usage12867
-Node: Composite example14413
-Node: Reaching the author15327
+Node: Top297
+Node: License887
+Node: Using Ogonkify2182
+Node: Ghostscript2623
+Node: Standard Applications3107
+Node: a2ps3592
+Node: genscript4024
+Node: Adding new characters5569
+Node: Composite background6167
+Node: AFM files9682
+Node: Generated fonts10889
+Node: Composite usage12888
+Node: Composite example14434
+Node: Reaching the author15348

End Tag Table
diff -rupN a2ps-4.14.old/ogonkify/doc/ogonkify.texi a2ps-4.14/ogonkify/doc/ogonkify.texi
--- a2ps-4.14.old/ogonkify/doc/ogonkify.texi 2007-12-28 18:09:38.000000000 -0800
+++ a2ps-4.14/ogonkify/doc/ogonkify.texi 2014-08-06 19:56:17.178966101 -0700
@@ -5,11 +5,11 @@
@setchapternewpage off
@c %**end of header
-@c Time-stamp: <99/05/14 04:30:20 jec>
+@c Time-stamp: <14/08/06 19:55:00 swd>
@dircategory Printing Tools
@direntry
-* ogonkify: (ogonkify). Ogonkify
+* ogonkify: (ogonkify). Ogonkify
@end direntry
@ifinfo
diff -rupN a2ps-4.14.old/ogonkify/ogonkify.in.in a2ps-4.14/ogonkify/ogonkify.in.in
--- a2ps-4.14.old/ogonkify/ogonkify.in.in 2007-12-28 18:05:05.000000000 -0800
+++ a2ps-4.14/ogonkify/ogonkify.in.in 2014-08-06 19:59:53.821986881 -0700

View File

@ -1,7 +1,7 @@
diff -rupN a2ps-4.14.old/contrib/card.m4 a2ps-4.14/contrib/card.m4
--- a2ps-4.14.old/contrib/card.m4 2007-12-28 18:11:47.000000000 -0800
+++ a2ps-4.14/contrib/card.m4 2014-08-06 20:08:33.925684483 -0700
@@ -27,7 +27,6 @@ LC_ALL="${LC_ALL-C}" export LC_ALL
diff -rupN a2ps-4.14.old/contrib/card.in a2ps-4.14/contrib/card.in
--- a2ps-4.14.old/contrib/card.in 2007-12-28 18:11:47.000000000 -0800
+++ a2ps-4.14/contrib/card.in 2014-08-06 20:08:33.925684483 -0700
@@ -41,7 +41,6 @@ LC_ALL="${LC_ALL-C}" export LC_ALL
print_form_feeds=:
RM="/bin/rm -rf"
tmp_dir=`mktemp -d -t card.XXXXXX` || { echo "$program: Cannot create temporary dir!" >&2 ; exit 1; }
@ -9,7 +9,7 @@ diff -rupN a2ps-4.14.old/contrib/card.m4 a2ps-4.14/contrib/card.m4
success=false
verbose=:
version_short="card $card_version (@GNU_PACKAGE@ @VERSION@)"
@@ -111,7 +110,14 @@ if test $# = 0 && test "X$commands" = X;
@@ -192,7 +191,14 @@ if test $# = 0 && test "X$commands" = X;
fi
# Create a tmp dir and be ready to clean up
@ -25,149 +25,3 @@ diff -rupN a2ps-4.14.old/contrib/card.m4 a2ps-4.14/contrib/card.m4
case $LC_ALL in
fr) footer="Engendré par $version_short" ;;
diff -rupN a2ps-4.14.old/contrib/fixnt.l a2ps-4.14/contrib/fixnt.l
--- a2ps-4.14.old/contrib/fixnt.l 2002-03-04 10:46:23.000000000 -0800
+++ a2ps-4.14/contrib/fixnt.l 2014-08-06 20:13:20.264026372 -0700
@@ -90,6 +90,7 @@ int ifpagesv = 0;
int ifcorel = 0;
int ifendsetup = 0;
int pid;
+int fd;
char fontfname[255];
char adobefname[255];
char bodyfname[255];
@@ -131,7 +132,9 @@ const char *tmpdir;
<NORMAL>%%Page:.*\n { /* read up to first page and just output everyting */
sprintf(bodyfname, "%s/fixnt_Body_%d", tmpdir, pid);
- body = fopen(bodyfname,"w+");
+ fd = fopen(bodyfname,"w+");
+ if (fd == -1) abort();
+ body = fdopen(fd,"w+");
fprintf(body,"%s",yytext);
BEGIN BODY;
}
@@ -142,7 +145,9 @@ const char *tmpdir;
<BODY>[/]Adobe_WinNT_Driver_Gfx[ ]175[ ]dict[ ]dup[ ]begin.*\n { /* Adobe Stuff */
sprintf(adobefname, "%s/fixnt_Adobe_%d", tmpdir, pid);
- adobe = fopen(adobefname,"w+");
+ fd = mkstemp(adobefname);
+ if (fd == -1) abort();
+ adobe = fdopen(fd,"w+");
fprintf(adobe,"%s",yytext);
BEGIN ADOBE;
}
@@ -169,7 +174,9 @@ const char *tmpdir;
<BODY>(NTPSOct95[ ]){0,1}[/]FontSV[ ]save[ ](put|def).*\n { ;
/* font definitions from here on */
sprintf(fontfname, "%s/fixnt_Font_%d", tmpdir, pid);
- font = fopen(fontfname,"w+");
+ fd = mkstemp(fontfname);
+ if (fd == -1) abort();
+ font = fdopen(fd,"w+");
fprintf(font,"%s",yytext);
BEGIN FONT;
}
diff -rupN a2ps-4.14.old/contrib/fixps.m4 a2ps-4.14/contrib/fixps.m4
--- a2ps-4.14.old/contrib/fixps.m4 2007-12-28 18:11:47.000000000 -0800
+++ a2ps-4.14/contrib/fixps.m4 2014-08-06 20:18:34.234875842 -0700
@@ -101,12 +101,23 @@ case $# in
exit 1;;
esac
-if test -n "$debug"; then
- # Set -x now if debugging
- set -x
+if type -p mktemp > /dev/null 2>&1 ; then
+ tmpdir="`mktemp -d ${tmpdir}.XXXXXX`" || exit 1
+ if test -n "$debug"; then
+ # Set -x now if debugging
+ set -x
+ else
+ trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15
+ fi
else
- # Temp dir. Get ready not to leave junk (if not debugging)
- trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15
+ if test -n "$debug"; then
+ # Set -x now if debugging
+ set -x
+ else
+ # Temp dir. Get ready not to leave junk (if not debugging)
+ trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15
+ fi
+ (umask 077 && mkdir $tmpdir) || exit 1
fi
fixps_sed=$tmpdir/fixps.sed
diff -rupN a2ps-4.14.old/contrib/psset.m4 a2ps-4.14/contrib/psset.m4
--- a2ps-4.14.old/contrib/psset.m4 2007-12-28 18:11:47.000000000 -0800
+++ a2ps-4.14/contrib/psset.m4 2014-08-06 20:28:09.587478128 -0700
@@ -20,7 +20,6 @@ output=-
pagedevices= # `;' separated list of `key:value'
quiet=: # i.e., verbose
tmpdir=`mktemp -d -t psset.XXXXXX` || { echo "$program: Cannot create temporary dir!" >&2 ; exit 1; }
-sedscript=$tmpdir/psset.sed
# The version/usage strings
version="$program 1.3 (@GNU_PACKAGE@ @VERSION@)
@@ -106,13 +105,26 @@ case $# in
exit 1;;
esac
-if test -n "$debug"; then
- # Set -x now if debugging
- set -x
+if type -p mktemp > /dev/null 2>&1 ; then
+ tmpdir="`mktemp -d ${tmpdir}.XXXXXX`" || exit 1
+ if test -n "$debug"; then
+ # Set -x now if debugging
+ set -x
+ else
+ # Temp dir. Get ready not to leave junk (if not debugging)
+ trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15
+ fi
else
- # Temp dir. Get ready not to leave junk (if not debugging)
- trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15
+ if test -n "$debug"; then
+ # Set -x now if debugging
+ set -x
+ else
+ # Temp dir. Get ready not to leave junk (if not debugging)
+ trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15
+ fi
+ (umask 077 && mkdir $tmpdir) || exit 1
fi
+sedscript=$tmpdir/psset.sed
# Well, if there is nothing to do, just do nothing.
if test -z "$pagedevices"; then
diff -rupN a2ps-4.14.old/contrib/texi2dvi4a2ps a2ps-4.14/contrib/texi2dvi4a2ps
--- a2ps-4.14.old/contrib/texi2dvi4a2ps 2007-12-28 17:58:11.000000000 -0800
+++ a2ps-4.14/contrib/texi2dvi4a2ps 2014-08-06 20:34:41.870692018 -0700
@@ -197,9 +197,20 @@ case $# in
;;
esac
-# Prepare the temporary directory. Remove it at exit, unless debugging.
-if test -z "$debug"; then
- trap "cd / && rm -rf $tmpdir" 0 1 2 15
+if type -p mktemp > /dev/null 2>&1 ; then
+ # Create the temporary directory with strict rights
+ tmpdir="`mktemp -d ${tmpdir}.XXXXXX`" || exit 1
+ # Prepare the temporary directory. Remove it at exit, unless debugging.
+ if test -z "$debug"; then
+ trap "cd / && rm -rf $tmpdir" 0 1 2 3 13 15
+ fi
+else
+ # Prepare the temporary directory. Remove it at exit, unless debugging
+ if test -x "$debug"; then
+ trap "cd / && rm -rf $tmpdir" 0 1 2 3 13 15
+ fi
+ # Create the temporary directory with strict rights
+ (umask 077 && mkdir $tmpdir) || exit 1
fi
# Prepare the tools we might need. This may be extra work in some

View File

@ -1,146 +0,0 @@
---
doc/a2ps.texi | 30 +++++++++++++++---------------
doc/encoding.texi | 2 +-
doc/sheets.texi | 2 +-
encoding/koi8.edf | 2 +-
sheets/matlab.ssh | 4 ++--
5 files changed, 20 insertions(+), 20 deletions(-)
--- doc/a2ps.texi
+++ doc/a2ps.texi 2019-11-07 09:37:13.287322560 +0000
@@ -22,24 +22,24 @@
@c `a2ps'. Avoid those quotes.
@iftex
@macro pack
-@code{@value{PACKAGE}}@c
+@code{@value{PACKAGE}}
@end macro
@end iftex
@ifnottex
@macro pack
-@value{PACKAGE}@c
+@value{PACKAGE}
@end macro
@end ifnottex
@c better looking url references
@iftex
-@macro href{link, name}
+@macro href{link,name}
\name\@footnote{@url{\link\}}
@end macro
@end iftex
@ifnottex
-@macro href{link, name}
-@uref{\link\,\name\}
+@macro href{link,name}
+@uref{\link\,\name}
@end macro
@end ifnottex
@@ -417,8 +417,8 @@ Genesis
@cindex First Page
This document describes GNU @pack{} version @value{VERSION}. The latest
versions may be found on the @href{@value{WWWHOME},@pack{} home page}.
-We plan to update the @href{http://www.gnu.org/software/a2ps/, GNU
-@pack{} home page} in the near future, in which case the latter will be
+We plan to update the @href{http://www.gnu.org/software/a2ps/, GNU @pack{} home page}
+in the near future, in which case the latter will be
a better source of information.
We tried to make this document informative and pleasant. It tries to be
@@ -430,8 +430,8 @@ difficult to use. @xref{Glossary}, for
information.
Please, send us emailcards @code{:)}. Whatever the comment is, or if you
-just like @pack{}, write to @email{Miguel.Santana@@st.com, Miguel
-Santana} and @email{akim@@freefriends.org, Akim Demaille}. But
+just like @pack{}, write to @email{Miguel.Santana@@st.com, Miguel Santana}
+and @email{akim@@freefriends.org, Akim Demaille}. But
@emph{never} write to either of us for asking questions, or to report
bugs. Chances are very high never to receive an answer, as we receive
too many messages. @xref{a2ps Mailing Lists}, for information on the
@@ -516,8 +516,8 @@ everybody so that mistakes get fixed as
So, if you have a problem (configuration error, compilation error,
runtime error, documentation error or unclear), first check in the FAQ
-(@pxref{FAQ}), then on the page @href{@value{WWWHOME}/bugs.html,Known
-@pack{} Bugs} if the issue has not been addressed yet. If it is not the
+(@pxref{FAQ}), then on the page @href{@value{WWWHOME}/bugs.html,Known @pack{} Bugs}
+if the issue has not been addressed yet. If it is not the
case, but it appears that the version of @pack{} you have is old,
consider upgrading.
@@ -2795,8 +2795,8 @@ Thou shalt start your PostScript DSC con
The bad news is that some printers will reject this header. Then you
may change this header without any worry since the PostScript produced
-by @pack{} is also 100% PostScript level 1@footnote{That is to say, there
-are no PostScript printers that don't understand these files.}.
+by @pack{} is also 100% PostScript level
+1@footnote{That is to say, there are no PostScript printers that don't understand these files.}.
@defvr {Configuration Setting} OutputFirstLine: @var{magic-number}
@cindex @samp{OutputFirstLine:}
@@ -4117,8 +4117,8 @@ beautiful, with any character you might
prefix part of the file name, and is alpha-numerical, lower case, and
less than 8 characters long.
-Anywhere @pack{} needs to recognize a style sheet by a name, @strong{it
-uses the key} (in the @file{sheets.map} file, with the option @samp{-E},
+Anywhere @pack{} needs to recognize a style sheet by a name,
+@strong{it uses the key} (in the @file{sheets.map} file, with the option @samp{-E},
etc.).
As an example, C++ is implemented in a file called @file{cxx.ssh}, in
--- doc/encoding.texi
+++ doc/encoding.texi 2019-11-07 09:53:50.858170429 +0000
@@ -110,7 +110,7 @@ Support of the Euro symbol is provided t
@end deftp
@deftp {Encoding} {KOI8} (@file{koi8.edf})
-KOI-8 (+Ëë) is a subset of ISO-IR-111 that can be used in Serbia, Belarus
+KOI-8 is a subset of ISO-IR-111 that can be used in Serbia, Belarus
etc.
@end deftp
--- doc/sheets.texi
+++ doc/sheets.texi 2019-11-07 09:54:57.820905345 +0000
@@ -382,7 +382,7 @@ This style highlights MASM ASM code.
@end deftp
@deftp {Style Sheet} {Matlab} (@file{matlab.ssh})
-Written by Joakim Lübeck.
+Written by Joakim Lübeck.
This style highlights function definitions and a limited
number of keywords, mostly control constructs, and is
therefore usable for many Matlab versions. Special care
--- encoding/koi8.edf
+++ encoding/koi8.edf 2019-11-07 09:53:41.082355122 +0000
@@ -27,7 +27,7 @@
Name: KOI8
Documentation
-KOI-8 (+Ëë) is a subset of ISO-IR-111 that can be used in Serbia, Belarus
+KOI-8 is a subset of ISO-IR-111 that can be used in Serbia, Belarus
etc.
EndDocumentation
--- sheets/matlab.ssh
+++ sheets/matlab.ssh 2019-11-07 10:00:02.483154461 +0000
@@ -1,5 +1,5 @@
# Style sheet for Matlab
-# Copyright (c) 2002, Joakim Lübeck
+# Copyright (c) 2002, Joakim Lübeck
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
#
style "Matlab" is
-written by "Joakim Lübeck <joa@maths.lth.se>"
+written by "Joakim Lübeck <joa@maths.lth.se>"
version is 0.93
requires a2ps 4.13

View File

@ -13,23 +13,14 @@
afm/ptmi.afm | 3 ++-
afm/ptmr.afm | 3 ++-
configure | 5 +++--
configure.in | 5 +++--
contrib/emacs/a2ps.el | 2 +-
configure.ac | 5 +++--
doc/Makefile.in | 2 +-
encoding/encoding.map | 4 ++++
etc/Makefile.in | 2 +-
etc/a2ps_cfg.in | 40 +++++++++++++++++++++++++++++++++++++---
lib/jobs.c | 10 +++++++++-
lib/metaseq.c | 2 +-
lib/options.c | 23 ++++++++++++++++++++++-
lib/path-concat.c | 9 ++++-----
lib/xstrrpl.c | 1 +
man/a2ps.x | 2 +-
man/card.x | 2 +-
man/fixps.x | 2 +-
man/pdiff.x | 2 +-
man/psmandup.x | 2 +-
man/psset.x | 2 +-
etc/a2ps_cfg.in | 39 +++++++++++++++++++++++++++++++++++----
liba2ps/jobs.c | 7 +++++++
liba2ps/metaseq.c | 2 +-
liba2ps/options.c | 20 ++++++++++++++++++++
ogonkify/Makefile.in | 2 +-
ogonkify/ogonkify.in.in | 2 +-
ogonkify/pcrb-o.afm | 3 ++-
@ -44,11 +35,11 @@
ogonkify/ptmbi-o.afm | 3 ++-
ogonkify/ptmr-o.afm | 3 ++-
ogonkify/ptmri-o.afm | 3 ++-
src/main.c | 14 +++++++++++++-
46 files changed, 196 insertions(+), 51 deletions(-)
src/main.c | 10 ++++++++++
37 files changed, 175 insertions(+), 37 deletions(-)
--- afm/fontsmap
+++ afm/fontsmap 2018-10-17 06:43:16.495744482 +0000
+++ afm/fontsmap 2023-03-10 14:05:47.162620757 +0000
@@ -47,6 +47,14 @@ Bookman-Demi pbkd
Bookman-DemiItalic pbkdi
Bookman-Light pbkl
@ -122,7 +113,7 @@
ZapfChancery-MediumItalic pzcmi
ZapfDingbats pzdr
--- afm/pcrb.afm
+++ afm/pcrb.afm 2018-10-17 06:43:16.495744482 +0000
+++ afm/pcrb.afm 2023-03-10 14:05:47.162620757 +0000
@@ -21,7 +21,7 @@ Ascender 629
Descender -157
StdHW 84
@ -141,7 +132,7 @@
C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 578 562 ;
C -1 ; WX 600 ; N Atilde ; B -9 0 609 759 ;
--- afm/pcrbo.afm
+++ afm/pcrbo.afm 2018-10-17 06:43:16.495744482 +0000
+++ afm/pcrbo.afm 2023-03-10 14:05:47.162620757 +0000
@@ -21,7 +21,7 @@ Ascender 629
Descender -157
StdHW 84
@ -160,7 +151,7 @@
C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 636 562 ;
C -1 ; WX 600 ; N Atilde ; B -9 0 669 759 ;
--- afm/pcrr.afm
+++ afm/pcrr.afm 2018-10-17 06:43:16.495744482 +0000
+++ afm/pcrr.afm 2023-03-10 14:05:47.162620757 +0000
@@ -21,7 +21,7 @@ Ascender 629
Descender -157
StdHW 51
@ -179,7 +170,7 @@
C -1 ; WX 600 ; N Lcommaaccent ; B 47 -250 554 562 ;
C -1 ; WX 600 ; N Atilde ; B 3 0 597 729 ;
--- afm/pcrro.afm
+++ afm/pcrro.afm 2018-10-17 06:43:16.495744482 +0000
+++ afm/pcrro.afm 2023-03-10 14:05:47.162620757 +0000
@@ -21,7 +21,7 @@ Ascender 629
Descender -157
StdHW 51
@ -198,7 +189,7 @@
C -1 ; WX 600 ; N Lcommaaccent ; B 47 -250 607 562 ;
C -1 ; WX 600 ; N Atilde ; B 3 0 655 729 ;
--- afm/phvb.afm
+++ afm/phvb.afm 2018-10-17 06:43:16.495744482 +0000
+++ afm/phvb.afm 2023-03-10 14:05:47.162620757 +0000
@@ -21,7 +21,7 @@ Ascender 718
Descender -207
StdHW 118
@ -217,7 +208,7 @@
C -1 ; WX 611 ; N Lcommaaccent ; B 76 -228 583 718 ;
C -1 ; WX 722 ; N Atilde ; B 20 0 702 923 ;
--- afm/phvbo.afm
+++ afm/phvbo.afm 2018-10-17 06:43:16.495744482 +0000
+++ afm/phvbo.afm 2023-03-10 14:05:47.162620757 +0000
@@ -21,7 +21,7 @@ Ascender 718
Descender -207
StdHW 118
@ -236,7 +227,7 @@
C -1 ; WX 611 ; N Lcommaaccent ; B 76 -228 611 718 ;
C -1 ; WX 722 ; N Atilde ; B 20 0 741 923 ;
--- afm/phvr.afm
+++ afm/phvr.afm 2018-10-17 06:43:16.499744407 +0000
+++ afm/phvr.afm 2023-03-10 14:05:47.166620685 +0000
@@ -21,7 +21,7 @@ Ascender 718
Descender -207
StdHW 76
@ -255,7 +246,7 @@
C -1 ; WX 556 ; N Lcommaaccent ; B 76 -225 537 718 ;
C -1 ; WX 667 ; N Atilde ; B 14 0 654 917 ;
--- afm/phvro.afm
+++ afm/phvro.afm 2018-10-17 06:43:16.499744407 +0000
+++ afm/phvro.afm 2023-03-10 14:05:47.166620685 +0000
@@ -21,7 +21,7 @@ Ascender 718
Descender -207
StdHW 76
@ -274,7 +265,7 @@
C -1 ; WX 556 ; N Lcommaaccent ; B 76 -225 555 718 ;
C -1 ; WX 667 ; N Atilde ; B 14 0 699 917 ;
--- afm/ptmb.afm
+++ afm/ptmb.afm 2018-10-17 06:43:16.499744407 +0000
+++ afm/ptmb.afm 2023-03-10 14:05:47.166620685 +0000
@@ -21,7 +21,7 @@ Ascender 683
Descender -217
StdHW 44
@ -293,7 +284,7 @@
C -1 ; WX 667 ; N Lcommaaccent ; B 19 -218 638 676 ;
C -1 ; WX 722 ; N Atilde ; B 9 0 689 884 ;
--- afm/ptmbi.afm
+++ afm/ptmbi.afm 2018-10-17 06:43:16.499744407 +0000
+++ afm/ptmbi.afm 2023-03-10 14:05:47.166620685 +0000
@@ -21,7 +21,7 @@ Ascender 683
Descender -217
StdHW 42
@ -312,7 +303,7 @@
C -1 ; WX 611 ; N Lcommaaccent ; B -22 -218 590 669 ;
C -1 ; WX 667 ; N Atilde ; B -67 0 593 862 ;
--- afm/ptmi.afm
+++ afm/ptmi.afm 2018-10-17 06:43:16.499744407 +0000
+++ afm/ptmi.afm 2023-03-10 14:05:47.166620685 +0000
@@ -21,7 +21,7 @@ Ascender 683
Descender -217
StdHW 32
@ -331,7 +322,7 @@
C -1 ; WX 556 ; N Lcommaaccent ; B -8 -217 559 653 ;
C -1 ; WX 611 ; N Atilde ; B -51 0 566 836 ;
--- afm/ptmr.afm
+++ afm/ptmr.afm 2018-10-17 06:43:16.499744407 +0000
+++ afm/ptmr.afm 2023-03-10 14:05:47.166620685 +0000
@@ -21,7 +21,7 @@ Ascender 683
Descender -217
StdHW 28
@ -349,58 +340,47 @@
C -1 ; WX 667 ; N Rcommaaccent ; B 17 -198 659 662 ;
C -1 ; WX 611 ; N Lcommaaccent ; B 12 -218 598 662 ;
C -1 ; WX 722 ; N Atilde ; B 15 0 706 850 ;
--- configure.in
+++ configure.in 2018-10-17 06:43:16.499744407 +0000
@@ -207,8 +207,9 @@ AC_MSG_CHECKING(for PostScript fonts pat
--- configure.ac
+++ configure.ac 2023-03-10 14:05:47.166620685 +0000
@@ -153,8 +153,9 @@ AC_MSG_CHECKING(for PostScript fonts pat
# Try to find some PostScript fonts.
# Find out if ghostscript is installed
ac_psfont_path=
-for ac_dir in /usr/local/ghostscript/fonts \
- /usr/local/share/ghostscript/fonts;
+for ac_dir in usr/share/ghostscript/fonts \
+ /usr/X11R6/lib/X11/fonts/Type1/ \
+ /usr/X11R6/lib/X11/fonts/latin2/Type1/ ;
+for ac_dir in /usr/share/fonts/ghostscript/ \
+ /usr/share/fonts/Type1/ \
+ /usr/share/fonts/latin2/Type1/ ;
do
if test "cd $ac_dir 2>/dev/null && echo *.afm"; then
ac_psfont_path="$ac_psfont_path:$ac_dir";
--- configure
+++ configure 2018-10-17 06:43:16.503744334 +0000
@@ -30759,8 +30759,9 @@ echo $ECHO_N "checking for PostScript fo
+++ configure 2023-03-10 14:05:47.170620611 +0000
@@ -38619,8 +38619,9 @@ printf %s "checking for PostScript fonts
# Try to find some PostScript fonts.
# Find out if ghostscript is installed
ac_psfont_path=
-for ac_dir in /usr/local/ghostscript/fonts \
- /usr/local/share/ghostscript/fonts;
+for ac_dir in /usr/share/ghostscript/fonts \
+ /usr/X11R6/lib/X11/fonts/Type1/ \
+ /usr/X11R6/lib/X11/fonts/latin2/Typle1/ ;
+for ac_dir in /usr/share/fonts/ghostscript/ \
+ /usr/share/fonts/Type1/ \
+ /usr/share/fonts/latin2/Typle1/ ;
do
if test "cd $ac_dir 2>/dev/null && echo *.afm"; then
ac_psfont_path="$ac_psfont_path:$ac_dir";
--- contrib/emacs/a2ps.el
+++ contrib/emacs/a2ps.el 2018-10-17 06:43:16.503744334 +0000
@@ -44,7 +44,7 @@
;; a2ps-compile-regexp
;;path to the a2ps program
-(defvar a2ps-program "/usr/local/bin/a2ps")
+(defvar a2ps-program "/usr/bin/a2ps")
;;thank god for make-regexp.el!
(defvar a2ps-font-lock-keywords
--- doc/Makefile.in
+++ doc/Makefile.in 2018-10-17 06:43:16.503744334 +0000
@@ -146,7 +146,7 @@ GNU_PACKAGE = @GNU_PACKAGE@
GPERF = @GPERF@
GREP = @GREP@
+++ doc/Makefile.in 2023-03-10 14:07:12.217071920 +0000
@@ -991,7 +991,7 @@ INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
--- encoding/encoding.map
+++ encoding/encoding.map 2018-10-17 06:43:16.503744334 +0000
+++ encoding/encoding.map 2023-03-10 14:05:47.174620539 +0000
@@ -84,6 +84,10 @@ iso15 iso15
latin9 iso15
latin0 iso15
@ -413,59 +393,58 @@
########################################################################
# Other encodings
--- etc/Makefile.in
+++ etc/Makefile.in 2018-10-17 06:43:16.503744334 +0000
@@ -475,7 +475,7 @@ uninstall-local:
+++ etc/Makefile.in 2023-03-10 14:09:35.798457473 +0000
@@ -1615,7 +1615,7 @@ uninstall-local:
# Building the correct a2ps.cfg
a2ps.cfg: a2ps_cfg Makefile
- sed "s!@libpath@!$(libpath)!" a2ps_cfg > a2ps.cfg
+ sed "s!@libpath@!$(libpath)!;s!@psfontpath@!$(PSFONT_PATH)!" a2ps_cfg > a2ps.cfg
# Building a time stamp to know the version.
# Building a timestamp to know the version.
README: README.in Makefile
--- etc/a2ps_cfg.in
+++ etc/a2ps_cfg.in 2018-10-17 06:43:16.503744334 +0000
@@ -58,6 +58,39 @@ Medium: Folio 612 936
+++ etc/a2ps_cfg.in 2023-03-10 14:13:08.346587555 +0000
@@ -45,7 +45,37 @@
# Medium: name, width height [llx lly urx ury]
Medium: Quarto 610 780
Medium: 10x14 720 1008
-
+# Define ghostscript page names and their sizes
+Medium: letter 612 792
+Medium: note 540 720
+Medium: legal 612 1008
+Medium: a0 2380 3368
+Medium: a1 1684 2380
+Medium: a2 1190 1684
+Medium: a3 842 1190
+Medium: a4 595 842
+Medium: a5 421 595
+Medium: a6 297 421
+Medium: a7 210 297
+Medium: a8 148 210
+Medium: a9 105 148
+Medium: a10 74 105
+Medium: b0 2836 4008
+Medium: b1 2004 2836
+Medium: b2 1418 2004
+Medium: b3 1002 1418
+Medium: b4 709 1002
+Medium: b5 501 709
+Medium: archE 2592 3456
+Medium: archD 1728 2592
+Medium: archC 1296 1728
+Medium: archB 864 1296
+Medium: archA 648 864
+Medium: flsa 612 936
+Medium: flse 612 936
+Medium: halfletter 396 612
+Medium: 11x17 792 1224
+Medium: ledger 1224 792
+
+
# Desk Jet users: bigger margins
Medium: A4dj 595 842 24 50 571 792
Medium: Letterdj 612 792 24 40 588 752
@@ -72,7 +105,7 @@ LibraryPath: @libpath@
+Medium: letter 612 792
+Medium: note 540 720
+Medium: legal 612 1008
+Medium: a0 2380 3368
+Medium: a1 1684 2380
+Medium: a2 1190 1684
+Medium: a3 842 1190
+Medium: a4 595 842
+Medium: a5 421 595
+Medium: a6 297 421
+Medium: a7 210 297
+Medium: a8 148 210
+Medium: a9 105 148
+Medium: a10 74 105
+Medium: b0 2836 4008
+Medium: b1 2004 2836
+Medium: b2 1418 2004
+Medium: b3 1002 1418
+Medium: b4 709 1002
+Medium: b5 501 709
+Medium: archE 2592 3456
+Medium: archD 1728 2592
+Medium: archC 1296 1728
+Medium: archB 864 1296
+Medium: archA 648 864
+Medium: flsa 612 936
+Medium: flse 612 936
+Medium: halfletter 396 612
+Medium: 11x17 792 1224
+Medium: ledger 1224 792
#################################################################
# 2) Path to the a2ps resource #
@@ -55,7 +85,7 @@ LibraryPath: @libpath@
# It may be useful to extend it so that a2ps can see some
# TeX or X11 resources: it likes AFM files and PF[AB] files.
@ -474,7 +453,7 @@
#################################################################
@@ -182,8 +215,9 @@ Variable: del.imagick @convert@ -page #w
@@ -154,8 +184,9 @@ Variable: del.imagick @convert@ -page #w
# Either GV (prefered) or Ghostview will be used as the "display" printer
# We give -dNOPLATFONTS so that real fonts are used
# (Strange results appear with Ogonkify's fonts for instance).
@ -486,31 +465,25 @@
# Used for the `pdf' printer.
# Use as `#{ps2pdf} INPUT OUTPUT'.
--- lib/jobs.c
+++ lib/jobs.c 2018-10-17 06:43:16.503744334 +0000
@@ -135,10 +135,18 @@ a2ps_job_new (void)
/* Set the NLS on */
--- liba2ps/jobs.c
+++ liba2ps/jobs.c 2023-03-10 14:21:57.688946141 +0000
@@ -119,6 +119,13 @@ a2ps_job_new (void)
setlocale (LC_TIME, "");
-#ifdef HAVE_LC_MESSAGES
+#ifdef LC_MESSAGES
setlocale (LC_MESSAGES, "");
#endif
setlocale (LC_CTYPE, "");
+#ifdef LC_PAPER
+ setlocale (LC_PAPER, "");
+#endif
+
+#ifdef LC_NUMERIC
+ /* We use international numbering format for e.g. --font-size and writing PostScript code */
+ setlocale (LC_NUMERIC, "POSIX");
+#endif
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
--- lib/metaseq.c
+++ lib/metaseq.c 2018-10-17 06:43:16.503744334 +0000
@@ -205,7 +205,7 @@ grow_user_string_obstack (struct obstack
bindtextdomain (PACKAGE "-gnulib", LOCALEDIR);
--- liba2ps/metaseq.c
+++ liba2ps/metaseq.c 2023-03-10 14:05:47.178620465 +0000
@@ -183,7 +183,7 @@ grow_user_string_obstack (struct obstack
int justification = 1;
/* Format string. */
@ -519,25 +492,18 @@
{
int type;
--- lib/options.c
+++ lib/options.c 2018-10-17 06:43:16.503744334 +0000
@@ -54,11 +54,14 @@
#include "argv.h"
--- liba2ps/options.c
+++ liba2ps/options.c 2023-03-10 14:23:41.119062245 +0000
@@ -41,6 +41,8 @@
#include "quotearg.h"
#include "filalign.h"
#include "version-etc.h"
+#include <locale.h>
+#include <langinfo.h>
#define MAN_LINES 66 /* no lines for a man */
extern char *program_name;
+#ifndef _GNU_SOURCE
extern const char *program_invocation_name;
-
+#endif
/*
* Hooks used
*/
@@ -539,6 +542,16 @@ a2ps_handle_options (a2ps_job * job, int
@@ -517,6 +519,16 @@ a2ps_handle_options (a2ps_job * job, int
break;
case 'M': /* select a medium */
@ -554,7 +520,7 @@
xstrcpy (job->medium_request, optarg);
break;
@@ -641,6 +654,14 @@ a2ps_handle_options (a2ps_job * job, int
@@ -619,6 +631,14 @@ a2ps_handle_options (a2ps_job * job, int
break;
case 'X': /* change the encoding scheme */
@ -569,99 +535,9 @@
/* Since there can be -X in the config files, and because
* the encoding.map has not been read yet (because to read
* encoding.map, one has to know the lib path, and to know
--- lib/path-concat.c
+++ lib/path-concat.c 2018-10-17 06:45:09.369668677 +0000
@@ -21,10 +21,6 @@
# include <config.h>
#endif
-#ifndef HAVE_MEMPCPY
-# define mempcpy(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N)))
-#endif
-
#include <stdio.h>
#if HAVE_STRING_H
# include <string.h>
@@ -32,6 +28,9 @@
#include <sys/types.h>
/* char *malloc (); */
+#if !defined(HAVE_MEMPCPY) && !defined(mempcpy)
+# define mempcpy(D, S, N) ((void *) ((char *) memcpy ((D), (S), (N)) + (N)))
+#endif
#ifndef DIRECTORY_SEPARATOR
# define DIRECTORY_SEPARATOR '/'
@@ -78,7 +77,7 @@ path_concat (const char *dir, const char
dir_len = strlen (dir);
/* This cast is a kludge for SGI IRIX with C89 */
- p_concat = (char *) malloc (dir_len + base_len + 2);
+ p_concat = (char *) xmalloc (dir_len + base_len + 2);
if (!p_concat)
return 0;
--- lib/xstrrpl.c
+++ lib/xstrrpl.c 2018-10-17 06:43:16.503744334 +0000
@@ -22,6 +22,7 @@
#include <assert.h>
#include "xstrrpl.h"
+#undef stpcpy
extern char * stpcpy();
/* Perform subsitutions in string. Result is malloc'd
--- man/a2ps.x
+++ man/a2ps.x 2018-10-17 06:43:16.503744334 +0000
@@ -2,4 +2,4 @@
a2ps \- format files for printing on a PostScript printer
[DESCRIPTION]
-." Add any additional description here
+.\" Add any additional description here
--- man/card.x
+++ man/card.x 2018-10-17 06:43:16.503744334 +0000
@@ -2,4 +2,4 @@
card \- print reference card of program options
[DESCRIPTION]
-." Add any additional description here
+.\" Add any additional description here
--- man/fixps.x
+++ man/fixps.x 2018-10-17 06:43:16.503744334 +0000
@@ -2,4 +2,4 @@
fixps \- sanitize PostScript files
[DESCRIPTION]
-." Add any additional description here
+.\" Add any additional description here
--- man/pdiff.x
+++ man/pdiff.x 2018-10-17 06:43:16.503744334 +0000
@@ -2,4 +2,4 @@
pdiff \- produce a pretty comparison between files
[DESCRIPTION]
-." Add any additional description here
+.\" Add any additional description here
--- man/psmandup.x
+++ man/psmandup.x 2018-10-17 06:43:16.503744334 +0000
@@ -2,4 +2,4 @@
psmandup \- print duplex on non duplex printers
[DESCRIPTION]
-." Add any additional description here
+.\" Add any additional description here
--- man/psset.x
+++ man/psset.x 2018-10-17 06:43:16.503744334 +0000
@@ -2,4 +2,4 @@
psset \- insert page device request in PostScript files
[DESCRIPTION]
-." Add any additional description here
+.\" Add any additional description here
--- ogonkify/Makefile.in
+++ ogonkify/Makefile.in 2018-10-17 06:43:16.503744334 +0000
@@ -223,7 +223,7 @@ PSPROGS = allchars.ps compose.ps helper.
+++ ogonkify/Makefile.in 2023-03-10 14:05:54.442488190 +0000
@@ -397,7 +397,7 @@ PSPROGS = allchars.ps compose.ps helper.
#
@EXTENSIONS_TRUE@bin_SCRIPTS = ogonkify composeglyphs
@EXTENSIONS_TRUE@ogonkify_DATA = $(ENCODINGS_VECTORS) $(CREATED_FONTS) $(PSPROGS) README
@ -671,7 +547,7 @@
#
--- ogonkify/ogonkify.in.in
+++ ogonkify/ogonkify.in.in 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/ogonkify.in.in 2023-03-10 14:05:54.442488190 +0000
@@ -38,7 +38,7 @@ $encoding='L2';
'ibmpc','IBMPCEncoding', 'mac','MacintoshEncoding',
'HP','HPRomanEncoding');
@ -682,7 +558,7 @@
'Helvetica', 'Helvetica-Oblique', 'Helvetica-Bold',
'Helvetica-BoldOblique');
--- ogonkify/pcrb-o.afm
+++ ogonkify/pcrb-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/pcrb-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Courier-Bold-Ogonki
EncodingScheme StandardEncoding
FullName Courier-Bold-Ogonki Composite font
@ -701,7 +577,7 @@
C -1 ; WX 600 ; N Icircumflex ; B 77 0 523 780 ;
C -1 ; WX 600 ; N Atilde ; B -9 0 609 759 ;
--- ogonkify/pcrbo-o.afm
+++ ogonkify/pcrbo-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/pcrbo-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Courier-BoldOblique-Ogonki
EncodingScheme StandardEncoding
FullName Courier-BoldOblique-Ogonki Composite font
@ -720,7 +596,7 @@
C -1 ; WX 600 ; N Icircumflex ; B 77 0 642 780 ;
C -1 ; WX 600 ; N Atilde ; B -9 0 638 759 ;
--- ogonkify/pcrr-o.afm
+++ ogonkify/pcrr-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/pcrr-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Courier-Ogonki
EncodingScheme StandardEncoding
FullName Courier-Ogonki Composite font
@ -739,7 +615,7 @@
C -1 ; WX 600 ; N Icircumflex ; B 96 0 504 775 ;
C -1 ; WX 600 ; N Atilde ; B 3 0 597 732 ;
--- ogonkify/pcrro-o.afm
+++ ogonkify/pcrro-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/pcrro-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Courier-Oblique-Ogonki
EncodingScheme StandardEncoding
FullName Courier-Oblique-Ogonki Composite font
@ -758,7 +634,7 @@
C -1 ; WX 600 ; N Icircumflex ; B 96 0 623 775 ;
C -1 ; WX 600 ; N Atilde ; B 3 0 656 732 ;
--- ogonkify/phvb-o.afm
+++ ogonkify/phvb-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/phvb-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Helvetica-Bold-Ogonki
EncodingScheme StandardEncoding
FullName Helvetica-Bold-Ogonki Composite font
@ -777,7 +653,7 @@
C -1 ; WX 737 ; N registered ; B -14 -20 751 745 ;
C -1 ; WX 556 ; N scaron ; B 29 -23 520 745 ;
--- ogonkify/phvbo-o.afm
+++ ogonkify/phvbo-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/phvbo-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Helvetica-BoldOblique-Ogonki
EncodingScheme StandardEncoding
FullName Helvetica-BoldOblique-Ogonki Composite font
@ -796,7 +672,7 @@
C -1 ; WX 737 ; N registered ; B 55 -20 837 745 ;
C -1 ; WX 556 ; N scaron ; B 60 -23 597 745 ;
--- ogonkify/phvr-o.afm
+++ ogonkify/phvr-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/phvr-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Helvetica-Ogonki
EncodingScheme StandardEncoding
FullName Helvetica-Ogonki Composite font
@ -815,7 +691,7 @@
C -1 ; WX 737 ; N registered ; B -13 -23 751 741 ;
C -1 ; WX 500 ; N scaron ; B 34 -24 459 740 ;
--- ogonkify/phvro-o.afm
+++ ogonkify/phvro-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/phvro-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Helvetica-Oblique-Ogonki
EncodingScheme StandardEncoding
FullName Helvetica-Oblique-Ogonki Composite font
@ -834,7 +710,7 @@
C -1 ; WX 737 ; N registered ; B 55 -23 836 741 ;
C -1 ; WX 500 ; N scaron ; B 61 -24 547 740 ;
--- ogonkify/ptmb-o.afm
+++ ogonkify/ptmb-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/ptmb-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Times-Bold-Ogonki
EncodingScheme StandardEncoding
FullName Times-Bold-Ogonki Composite font
@ -853,7 +729,7 @@
C -1 ; WX 747 ; N registered ; B 16 -17 730 690 ;
C -1 ; WX 389 ; N scaron ; B 29 -17 359 690 ;
--- ogonkify/ptmbi-o.afm
+++ ogonkify/ptmbi-o.afm 2018-10-17 06:43:16.503744334 +0000
+++ ogonkify/ptmbi-o.afm 2023-03-10 14:05:54.442488190 +0000
@@ -5,7 +5,7 @@ FontName Times-BoldItalic-Ogonki
EncodingScheme StandardEncoding
FullName Times-BoldItalic-Ogonki Composite font
@ -872,7 +748,7 @@
C -1 ; WX 747 ; N registered ; B 23 -18 723 676 ;
C -1 ; WX 389 ; N scaron ; B 16 -13 465 683 ;
--- ogonkify/ptmr-o.afm
+++ ogonkify/ptmr-o.afm 2018-10-17 06:43:16.507744261 +0000
+++ ogonkify/ptmr-o.afm 2023-03-10 14:05:54.446488116 +0000
@@ -5,7 +5,7 @@ FontName Times-Roman-Ogonki
EncodingScheme StandardEncoding
FullName Times-Roman-Ogonki Composite font
@ -891,7 +767,7 @@
C -1 ; WX 500 ; N ocircumflex ; B 29 -10 470 674 ;
C -1 ; WX 500 ; N yacute ; B 14 -218 475 678 ;
--- ogonkify/ptmri-o.afm
+++ ogonkify/ptmri-o.afm 2018-10-17 06:43:16.507744261 +0000
+++ ogonkify/ptmri-o.afm 2023-03-10 14:05:54.446488116 +0000
@@ -5,7 +5,7 @@ FontName Times-Italic-Ogonki
EncodingScheme StandardEncoding
FullName Times-Italic-Ogonki Composite font
@ -910,26 +786,16 @@
C -1 ; WX 500 ; N ocircumflex ; B 27 -11 468 661 ;
C -1 ; WX 444 ; N yacute ; B -24 -206 459 664 ;
--- src/main.c
+++ src/main.c 2018-10-17 06:43:16.507744261 +0000
@@ -57,6 +57,7 @@
#include "signame.h"
#include "long-options.h"
#include "version-etc.h"
+++ src/main.c 2023-03-10 14:28:23.305923037 +0000
@@ -25,6 +25,7 @@
#include <config.h>
#include <signal.h>
+#include <string.h>
#include <locale.h>
/* From basename.c */
@@ -104,7 +105,9 @@ enum behavior behavior = b_ps;
defined twice, see lib/confg.gperf, handling of `Options:'. */
char *program_name;
+#ifndef _GNU_SOURCE
const char *program_invocation_name;
+#endif
/* Stores the data of liba2ps. */
@@ -929,6 +932,7 @@ int
#include "a2ps.h"
@@ -918,6 +919,7 @@ int
main (int argc, char *argv[])
{
int argn;
@ -937,14 +803,9 @@
/* Architecture specific initialization. */
#ifdef __EMX__
@@ -946,11 +950,19 @@ Copyright (c) 2007- Akim Demaille, Migue
/* Set the NLS on */
@@ -933,7 +935,15 @@ main (int argc, char *argv[])
setlocale (LC_TIME, "");
-#ifdef HAVE_LC_MESSAGES
+#ifdef LC_MESSAGES
setlocale (LC_MESSAGES, "");
#endif
setlocale (LC_CTYPE, "");
+#ifdef LC_PAPER
+ setlocale (LC_PAPER, "");
@ -956,5 +817,5 @@
+ setlocale (LC_NUMERIC, "POSIX");
+#endif
bindtextdomain (PACKAGE, LOCALEDIR);
bindtextdomain (PACKAGE "-gnulib", LOCALEDIR);
textdomain (PACKAGE);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f3ae8d3d4564a41b6e2a21f237d2f2b104f48108591e8b83497500182a3ab3a4
size 2552507

Binary file not shown.

3
a2ps-4.15.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a5adc5a9222f98448a57c6b5eb6948b72743eaf9a30c67a134df082e99c76652
size 3723299

11
a2ps-4.15.tar.gz.sig Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEJAk/AW/+hgLvRJu4TI7z2j/TcjAFAmQHfqMACgkQTI7z2j/T
cjCYpwgAiHLO3/f0w32iq7c+y9CU8VV0iv1Z+Ahfd6pfNxdwVuobK/83xqrYAgWP
tr43LbrQgI7usHH07GJwfXN3SN2me2YUaPpoqeoawkZTAperZpYcdwvNwh/MOTOF
Lz0N30y9dcZnlbOwpiIMnr1i1M8SmytvqaXAgi09QY/bCrsNy5QzniFON4iAVHqa
tu21vVSNyCVwIHOU4N9pi0pK6my4sw2fYqoLBsJsAT4cfNtSvyDl7NwjRPExCOQJ
2HaGLIGtgKpy9+tes5mgAsiDiYjB9rTfrqqelSvYkLCrjtiCoIKGl591OTcgQk5n
VO5g+iKNRSgXnU7TxHyI3+INgI8DTA==
=5j8x
-----END PGP SIGNATURE-----

View File

@ -7,7 +7,7 @@ Index: a2ps-4.14/doc/a2ps.texi
===================================================================
--- a2ps-4.14.orig/doc/a2ps.texi
+++ a2ps-4.14/doc/a2ps.texi
@@ -103,7 +103,7 @@ approved by the author.
@@ -96,7 +96,7 @@ approved by the author.
@titlepage
@title GNU a2ps, version @value{VERSION}
@subtitle General Purpose PostScript Generating Utility
@ -16,7 +16,7 @@ Index: a2ps-4.14/doc/a2ps.texi
@author Akim Demaille
@author Miguel Santana
@@ -141,8 +141,7 @@ GNU @pack{} is a filter which generates
@@ -131,8 +131,7 @@ GNU @pack{} is a filter which generates
with pretty-printing features, strong support for many alphabets, and
customizable layout.

View File

@ -1,3 +1,144 @@
-------------------------------------------------------------------
Fri Mar 17 13:09:38 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Updated to 4.15
* Noteworthy changes in release 4.15 (2023-03-07) [stable]
* Features:
- Replace the 'psmandup' utility with simpler 'lp2' to directly print
documents to a simplex printer.
- Remove the outdated 'psset' and 'fixnt', and simplify 'fixps' to
always process its input with Ghostscript.
- Use libpaper's paper sizes. This includes user-defined paper sizes
when using libpaper 2. It is still possible to define custom margins
using "Medium:" specifications in the configuration file, and the
one size defined by a2ps that libpaper does not know about, Quarto, is
retained for backwards compatiblity, and as an example.
* Documentation
- Remove some obsolete explanations.
- Reformat --help output consistently to 80 columns.
- Some English fixes.
* Bug fixes:
- Avoid a crash when a medium is not specified; instead, use the default
libpaper size (configured by the user or sysadmin, or the locale
default).
- Fix some other potential crashes and compiler warnings.
- Fixes for security bugs CVE-2001-1593, CVE-2015-8107 and CVE-2014-0466.
- Minor bugs fixed.
* Predefined delegations:
- Remove support for defunct Netscape and proprietary Acrobat Reader.
- Add lpr wrapper for automatic detection of different printing systems,
including CUPS support.
* Encodings:
- Use libre fonts for KOI-8.
- Composite fonts support.
* Build
- Update build system to more recent autotools and gettext versions.
- Build man pages in a simpler and more robust way.
- Document runtime dependencies.
- Minor code quality improvements.
- Minor tidy up and removal of obsolete code.
- Require libpaper.
- Remove OS/2 support.
* Build
- Build man pages in a simpler and more robust way, using x-to-1 from
gnulib.
- Don't install useless liba2ps.h.
- Other minor build system improvements, including updating to more recent
autoconf and gettext.
- Don't require help2man or gperf to build from source.
- Document runtime dependencies.
- Minor code quality improvements.
* Build:
- Re-add a2ps to the Translation Project, and remove po files from git.
* Bug fixes:
- Remove reference to @COM_distill@ variable in a2ps_cfg.in.
* Documentation:
- Format --help output consistently to 80 columns.
- Fix a couple of message typos.
* Features:
- Replace the 'psmandup' utility with simpler 'lp2' to directly print
documents to a simplex printer.
- Remove the outdated 'psset' and 'fixnt', and simplify 'fixps' to
always process its input with Ghostscript.
* Documentation
- Remove some obsolete explanations.
* Build
- Minor tidy up and removal of obsolete code.
* Features:
- Use libpaper's paper sizes. This includes user-defined paper sizes
when using libpaper 2. It is still possible to define custom margins
using "Medium:" specifications in the configuration file, and the
one size defined by a2ps that libpaper does not know about, Quarto, is
retained for backwards compatiblity, and as an example.
* Bug fixes:
- Avoid a crash when a medium is not specified; instead, use the default
libpaper size (configured by the user or sysadmin, or the locale
default).
- Fix some other potential crashes and compiler warnings.
* Documentation:
- Reformat --help output consistently to 80 columns.
* Build:
- Require autoconf 2.71.
- Require libpaper.
* Documentation:
- Undo reformatting of --help output from 4.14.91, so as not to annoy
translators (thanks, Benno Schulenberg!).
- Use gnulib function to emit bug reporting information. This also
fixes a problem with the translated strings introduced in 4.14.91
(thanks, Benno Schulenberg!).
* Build:
- Re-add a2ps to the Translation Project, and remove po files from git.
* Bug fixes:
- Remove reference to @COM_distill@ variable in a2ps_cfg.in.
* Documentation:
- Format --help output consistently to 80 columns.
- Fix a couple of message typos.
* This is an alpha release, owing to the considerable changes since the
last version.
* New maintainer, Reuben Thomas.
* Build:
- Updated and fixed the build system, using gnulib and modern Autotools.
- Remove OS/2 support.
- Require libpaper.
* Predefined delegations:
- Remove support for defunct Netscape and proprietary Acrobat Reader.
- Add lpr wrapper for automatic detection of different printing systems,
including CUPS support.
* Encodings:
- Use libre fonts for KOI-8.
- Composite fonts support.
* Documentation:
- Some English fixes.
- Man page for fixnt.
* Bug fixes:
- Fixes for security bugs CVE-2001-1593, CVE-2015-8107 and CVE-2014-0466.
- Minor bugs fixed.
- Reintroduce shared library
- Avoid configure (endless) loop during make
- New a2ps-lang package
- Remove obsolete patches
* CVE-2014-0466.diff
* a2ps-4.13-psgen.patch
* a2ps-4.13-security.patch
* a2ps-4.14-acroread.patch
* a2ps-4.14-automake.patch
* a2ps-4.14-bnc955194.patch
* a2ps-4.14-gperf.patch
* a2ps-4.14-iswprint.patch
* a2ps-4.14-texinfo-6.7.patch
* reproducible.patch
- Port patches
* a2ps-4.13-base.patch
* a2ps-4.13-include.patch
* a2ps-4.13-types.patch
* a2ps-4.13-utf8.patch
* a2ps-4.14-linker.patch
* a2ps-4.14-manuals.diff
* a2ps-4.14-ogonkify.patch
* a2ps-4.14-tempfile.patch
* a2ps-4.14.diff
* a2ps-buildcompare.patch
-------------------------------------------------------------------
Mon Feb 7 10:22:43 UTC 2022 - Dr. Werner Fink <werner@suse.de>

View File

@ -1329,3 +1329,51 @@ SmmWUZheAvkajYqIUQQYEQIACQUCP+2SpwIbDAASCRDLb6NA5wdaVAdlR1BHAAEB
0HAAoJ7Sxpp1CJaF9BUSb8L4WuZI9HZrAJ9oIH1NvPVvH4veFVCIWswEpRKGqg==
=MoRp
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFKo6pYBCADgt/DBG2F1LHT2FfXu5jOlYJkzob5tJxEYjm9FcmD0ojurILlX
ha6lGqO3IAwUSZFEh3b/c0EbcfsXjfgz99HNO39qBbZyRUmRV6PRTriEWDFIZa9U
HJ3cyT7KQpO2l8rR7uy6M7JEpdKWKZ17VWvYMArxBT+vkAEXlL2lJo+e/SuSkokZ
/otB7AFA7aaMz5azfUnt7uuOGJe7rlMHbNO56NJjFNDoV+LIk9n5S/vkMRhgCRBD
QKiseSPAhw6USiit4zqhmW6TOGV/zew8UfG3FVZVE5rgYafvj2x6DoNt3qAoJb8H
g8ffDlXOMJlEeJ/NXVnX6bMkA3QtysVszjFRABEBAAG0HFJldWJlbiBUaG9tYXMg
PHJydEBzYzNkLm9yZz6JAToEEwEKACQCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgEC
F4AFAlnX7ucCGQEACgkQTI7z2j/TcjDEugf/WCq5ZlGgC5a9vRN0RQf3IQzFOBwM
b/oEyJLqoun2jkrVe6q6n7oa0V5CNQcETd5EwObGolmsbpi4Hgdrock63hcPsoZb
Q7ote5G7fOii7rNiBljcKA5WjYtNFMTpwrJIVgYQYk4TKVQT6hOyAoAz/uWx78p6
wIj9D6sH3Ry7a9YtHv0NSWyTAR3L7+Aib+LLFRenlFGBDxMf9hBNTgycEOZP7y73
hh88lptWyPk4YuFkjtmo9+wKX7PnrMqOHSpY1Pq+0bYaShPlw6BijOiN03fagWYV
Ojd6P4ONv6Xm8D3DjR+7xS7irp/kywF5v29F5YVKWumdntFol/7bqmjKerQfa2V5
YmFzZS5pby9ycnQgPHJydEBrZXliYXNlLmlvPokBLQQTAQoAFwUCUqjqlgIbAwML
CQcDFQoIAh4BAheAAAoJEEyO89o/03IwZ5sIAK/viRozsCtgD7qZT0BW2yS8gzVY
oUqGIpi5zDCeAL+3cG1ZlUSxOcdAbnmrn9/56GbA4Sy6rWkyWeoYfCstDTHY/2xt
jZocpFrazwY7+Kwssa86mGQzu8HzEBYPJ0ASB9DtL6aQ9lf5vlWhEgo9ilXN1jsr
Q1Bgn6Tb9I49XDL2cy53S9dgYVALgoPSzvQSdqsVkqWZ1LU72y9q4u+HkThtBqXM
5F3PecnsqtRKGLir+djsCcKlKDjNHPxL+AMtqeGODTl3DoJg1eXyQNedI/6IaCgh
K3OgJYhdBHU5CfAbVnoEWY4HIYY3FwjKd8Jljb9suqpzpNfOOJN1HDPFQ+W5AQ0E
UqjsmgEIAPo+n2JE/pSX8poLWoopQO1BAOFHNp1SLu5Qauq5ChxixuftkkNer0UB
X4QBQcI/G7ty+2DmIzHZUJTR+u5JFlk7lODZ4b+3Nsnaw3IFii7Ary/xpLoLfOs8
qCe6GZku9HuhKoN72FbuYPZINQnZsfaBRf/n0jnGThbOwM/R/y7X0zrELdSp6zAe
aEHtLxTmnGkj9ucyqoYTPLeHaxyfPPFbN26IQIK5AXb75ehtCipxtmxrz6Rcp0Lu
vdsa7wjIFn1Acytxyrv2O3l/dwG8l8QfGAY8JCrfhM+pWpF4OvfBX8ph5Yq90ufy
8xNsYwGpg2c3v9nRCCDzmDMW++6pItMAEQEAAYkBHwQYAQoACQUCUqjsmgIbDAAK
CRBMjvPaP9NyMFoMB/0dcHvVDvTrF9IbOfu7jLm5LEbjoWPNztDwHAHa7q5rGiq1
C3/QleuS9BWfQ3d5DCkj2LGg6FTjVPSKmcA0rm+ZqzBj+5R9ks1p0MZVddmFf41o
Xv4XNj7kEVWfuscDmtV8LuOAkkRNpcXT2bo2vfnC8bLm4o0F5VzqOJeAmXo5JMbh
DfvpNv0zMg/2UGpLodET/ah7gmPviAEs+z4B9TNxuPhrpie876nUNa5JyfJyYW5V
f513cT7qcq9yOq9Y+n9OO3TFiji8yk3mlfSjG5a1Mk852BYmtz5iu7wrdzBC/s9R
+h2C+0wcoVYyUECLpr7dZht5u0nTbAbCSp2mjAiFuQENBFKo6pYBCACWCmms41Mh
mh/DTdFj1yVVdaTsEqc9RKNx0JStrMDC/k67IprH+5MIS+hYgAWZVYnBqJ7xF8Re
JX2pORVadZb9EisB8mWl4ySJYGqcS+6Xayj+Kl2ypGecvuIj3mDmKJ/KL9e1KAte
H/nup9WDP1p869Fmn+jxrf7fb1zl5WW2kvT2rlbH/OHAf4qOl9awQHOobfuTppzj
/mfJWA9eFZe7+r6LCslAjENOxCOjqO8p4NbxwB9C/boOUHb/0hOLHWQbpWj1gt3G
TOvFrFs+SmQqd1LdGe0E1+/f5Iji6KXI8h0+h5+jvu/crFmhQwmLy07Pw8aafcbJ
hTPybdL0mwlTABEBAAGJAR8EGAEKAAkFAlKo6pYCGwwACgkQTI7z2j/TcjCYEwf/
Zgtb5cHjOFYWsL+IwLJBscw5Ao53tfaGQ2+vi7JYhKVnxdSGSIoXarzgYZ0E4oMh
NukGu3tLDe0BkVnNfjgiHZ6qxiGhuLCXRj5vHOJGiwGo2AdxxrRZqHP/33ElQ5ON
vedI2tkaXFB6j7PC6iTh8kh+jYGcYO7NLgLy9dWi9TZvR2HEyopAaSBv8/GQqCnX
CyeMiHFmZhbbNwDCc8OUp0Zo7Ld8TA6MN/v5YBVqCIwHn4j1muBAZ32VjtoFyKxW
EKHWafRi7ArUXSvE3UjYR4buY1LnFOiGa1CWYC3B2lk7RazxumJVLSmn9zOBetRy
J5ePb2AEPHWhGHyhPCygNg==
=Xz4P
-----END PGP PUBLIC KEY BLOCK-----

144
a2ps.spec
View File

@ -1,7 +1,7 @@
#
# spec file for package a2ps
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,39 +17,26 @@
Name: a2ps
Version: 4.14
Version: 4.15
Release: 0
Summary: Tool to convert ASCII/Latin Text into PostScript
License: GPL-3.0-or-later
URL: http://www.gnu.org/software/a2ps/a2ps.html
Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz
Source1: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz.sig
URL: https://www.gnu.org/software/a2ps/a2ps.html
Source0: https://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz
Source1: https://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz.sig
Source2: %{name}.keyring
Source3: a2ps-ko.po
Source4: a2ps-open
Source5: a2ps-4.14-manuals.diff
Patch0: a2ps-4.14.diff
Patch1: a2ps-4.13-security.patch
Patch2: a2ps-4.14-ogonkify.patch
Patch3: a2ps-4.14-tempfile.patch
Patch4: a2ps-4.14-automake.patch
Patch6: a2ps-4.13-include.patch
Patch7: a2ps-4.14-acroread.patch
Patch8: a2ps-4.13-base.patch
Patch9: a2ps-4.13-utf8.patch
Patch10: a2ps-4.13-types.patch
Patch11: a2ps-4.13-psgen.patch
Patch12: a2ps-4.14-iswprint.patch
Patch13: a2ps-4.14-linker.patch
# PATCH-FIX-USTREAM Bug 871097 - CVE-2014-0466: a2ps: fixps does not use -dSAFER
Patch14: CVE-2014-0466.diff
Patch15: a2ps-4.14-gperf.patch
# PATCH-FIX-SUSE Bug 955194 - CVE-2015-8107: CVE-2015-8107 - a2ps(gnu) v4.14 format string vulnerability
Patch16: a2ps-4.14-bnc955194.patch
Patch17: a2ps-buildcompare.patch
Patch18: reproducible.patch
# PATCH-FIX-SUSE New texinfo 6.7 does not like KOI8-R endcoded characters within UTF-8 environment
Patch19: a2ps-4.14-texinfo-6.7.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
@ -58,9 +45,12 @@ BuildRequires: flex
BuildRequires: ghostscript-fonts-std
BuildRequires: glibc-locale
BuildRequires: gv
BuildRequires: libpaper-devel
BuildRequires: libtool
BuildRequires: psutils
BuildRequires: texlive-latex
BuildRequires: timezone
BuildRequires: pkgconfig(bdw-gc)
Requires: file
Requires: ghostscript-fonts-std
Requires: glibc
@ -98,7 +88,7 @@ Latin encodings are supported.
Summary: Library to convert ASCII/Latin text into PostScript
%description -n liba2ps1
liba2ps converts ASCII text into PostScript.
The library liba2ps used by the program a2ps to convert ASCII text into PostScript.
%package -n a2ps-devel
Summary: Library and header file for the interface of a2ps
@ -113,68 +103,70 @@ Warning: a2ps is not able to convert complex Unicode (UTF-8) text to
PostScript. Only language text which can be converted from UTF-8 to
Latin encodings are supported.
%lang_package
%prep
%setup -q -n a2ps-4.14
touch -r configure.in .ref
%patch1 -b .security
%setup -q -n a2ps-4.15
touch -r configure.ac .ref
%patch2 -p1
%patch3 -p1
%patch4 -b .norefresh
%patch6 -p1 -b .incld
%ifarch %ix86 x86_64
%patch7 -p1
%endif
%patch8 -b .base
%patch9 -b .utf8
%patch10 -b .types
%patch11 -b .psgen
%patch12 -b .iswprint
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p0
%patch17 -p1
%patch13 -p1 -b .p13
%patch17 -p1 -b .p17
%patch0 -b .p0
%patch18 -p1
%patch19 -p0 -b .p19
cp -f %{SOURCE3} po/ko.po
find -type f | grep -vE '(parseppd|parsessh).y' | xargs \
sed -ri 's/59 Temple Place(,| -) Suite 330/51 Franklin Street, Fifth Floor/;s/02111-1307/02110-1301/'
touch -r .ref configure.in
find -name Makefile.in | xargs touch
%build
#XXX: ugly hack; necessary??
#YYY: Not a hack and it is necessary!!
# The a2ps source is much to old to (re)run auto conf tools
cp -p %{_datadir}/automake-*/config.{guess,sub} auxdir/
cp -p /bin/true auxdir/missing
export AUTOMAKE=/bin/true
export ACLOCAL=/bin/true
export AUTOCONF=/bin/true
export AUTOHEADER=/bin/true
autoreconf -fiv -I $PWD -I $PWD/m4
export PATH=$PWD:$PATH
export CFLAGS="%{optflags} -D_GNU_SOURCE $(getconf LFS_CFLAGS) -funroll-loops -Wall -pipe -fstack-protector -fPIE"
export LPR=lpr
export CC=gcc
export TZ=UTC
export COM_psselect=yes
%configure --enable-shared --disable-static --with-medium=LC_PAPER \
--with-encoding=LC_CTYPE
con=""
pushd contrib
for m4 in *.m4; do
in=${m4%.*}.in
rm -f ${in} ${m4%.*}
con="$con ${in##*/}"
done
popd
make -C contrib/ ${con} LDFLAGS="-pie"
sh ./config.status
for mf in $(find -name Makefile); do
sed -ri -e '/^am--refresh: Makefile/,/\t@:/d' \
-e '/^\$\(top_builddir\)\/config.status:/,/^\t/d' \
-e '/^\$\(top_srcdir\)\/configure/,/^\t/d' \
-e '/^\$\(ACLOCAL_M4\):/,/^\t/d' \
-e '/^\t\s+\$\(SHELL\)\s\.\/config\.status;;\s\\/{s/\.\/config.status/-c true/}' $mf
done
make -C contrib/ LDFLAGS="-pie" AUTOMAKE=/bin/true
# the build system is awful so we need to build with -B and avoid parallelism
make PSFONT_PATH=%{_datadir}/ghostscript/fonts LDFLAGS="-pie" MAKEINFO='makeinfo --force' -B
make PSFONT_PATH=%{_datadir}/ghostscript/fonts LDFLAGS="-pie" AUTOMAKE=/bin/true AUTOHEADER=/bin/true MAKEINFO='makeinfo --force' GPERF=/usr/bin/gperf -B all
pushd doc
texi2html a2ps.texi
popd
pushd contrib/emacs
echo "(setq load-path (cons nil load-path))" > script
for el in a2ps.el a2ps-print.el
do
emacs -batch -q -l script -f batch-byte-compile $el
done
popd
pushd liba2ps
gcc -shared .libs/*.o -Wl,-soname -Wl,liba2ps.so.1 -o .libs/liba2ps.so.1.0.0
ln -s liba2ps.so.1.0.0 .libs/liba2ps.so.1
ln -s liba2ps.so.1.0.0 .libs/liba2ps.so
rm -vf liba2ps.a
sed -ri -e "/dlname/{ s/(dlname=')(')/\1liba2ps.so.1\2/ }" \
-e "/old_library=/{ s/liba2ps\.a/liba2ps.so/ }" \
-e "/library_names/{ s/(library_names=')(')/\1liba2ps.so.1.0.0 liba2ps.so.1 liba2ps.so\2/ }" liba2ps.la
popd
pushd src
rm a2ps
make AUTOMAKE=/bin/true AUTOHEADER=/bin/true a2ps
popd
# Run a test with UTF-8 Umlauts
mkdir -p .root/.a2ps
echo "This is a test text äöüßœéïçèãøæđ" > test.utf8
@ -185,7 +177,7 @@ find -name Makefile.in | xargs touch
ln -sf $PWD/ppd/* .root/.a2ps/
ln -sf $PWD/sheets/* .root/.a2ps/
A2PS_CONFIG=$PWD%{_sysconfdir}/a2ps.cfg \
HOME=$PWD/.root \
HOME=$PWD/.root LD_LIBRARY_PATH=$PWD/liba2ps/.libs \
LC_CTYPE=en_US.UTF-8 ./src/a2ps --output=test.latin test.utf8
grep '(This is a test text' test.latin | iconv -f latin1 -t utf8
chmod u+rw,g+r,o+r man/*.1
@ -199,11 +191,31 @@ find -name Makefile.in | xargs touch
fi
%install
make -C contrib/ install DESTDIR=%{buildroot}
%make_install PSFONT_PATH=%{_datadir}/ghostscript/fonts
rm -r %{buildroot}/%{_infodir}/regex*
%find_lang %{name}
rm -f %{buildroot}%{_libdir}/liba2ps.la
install -m 0755 %{SOURCE4} %{buildroot}/%{_bindir}/
pushd contrib/emacs
for el in a2ps.el a2ps-print.el
do
install ${el}c %{buildroot}%{_datadir}/emacs/site-lisp/
done
popd
pushd liba2ps
mkdir -p %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_includedir}
install .libs/liba2ps.so.1.0.0 %{buildroot}%{_libdir}/
ln -s liba2ps.so.1.0.0 %{buildroot}%{_libdir}/liba2ps.so.1
ln -s liba2ps.so.1.0.0 %{buildroot}%{_libdir}/liba2ps.so
install liba2ps.h %{buildroot}%{_includedir}
popd
for sc in card fixps lp2 pdiff
do
sed -ri '1 {s@/env +@/@}' %{buildroot}%{_bindir}/$sc
done
%find_lang %{name} %{name}.lang
%find_lang %{name}-gnulib %{name}.lang
%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
@ -216,21 +228,23 @@ find -name Makefile.in | xargs touch
%post -n liba2ps1 -p /sbin/ldconfig
%postun -n liba2ps1 -p /sbin/ldconfig
%files -f %{name}.lang
%doc AUTHORS COPYING ABOUT-NLS ChangeLog NEWS THANKS README doc/a2ps.html
%files
%doc AUTHORS ABOUT-NLS ChangeLog NEWS THANKS README doc/a2ps.html
%config %{_sysconfdir}/a2ps-site.cfg
%config %{_sysconfdir}/a2ps.cfg
%{_bindir}/a2ps
%{_bindir}/a2ps-open
%{_bindir}/a2ps-lpr-wrapper
%{_bindir}/card
%{_bindir}/composeglyphs
%{_bindir}/fixnt
#{_bindir}/fixnt
%{_bindir}/fixps
%{_bindir}/ogonkify
%{_bindir}/pdiff
%{_bindir}/psmandup
%{_bindir}/psset
%{_bindir}/texi2dvi4a2ps
#{_bindir}/psmandup
%{_bindir}/lp2
#{_bindir}/psset
#{_bindir}/texi2dvi4a2ps
%{_infodir}/*.gz
%{_mandir}/man1/*.1.gz
%{_datadir}/a2ps
@ -238,6 +252,8 @@ find -name Makefile.in | xargs touch
%{_datadir}/emacs/site-lisp/*.elc
%{_datadir}/ogonkify
%files lang -f %{name}.lang
%files -n liba2ps1
%{_libdir}/liba2ps.so.*

View File

@ -1,13 +0,0 @@
Index: a2ps-4.14/man/help2man
===================================================================
--- a2ps-4.14.orig/man/help2man
+++ a2ps-4.14/man/help2man
@@ -164,7 +164,7 @@ my ($help_text, $version_text) = map {
or die "$this_program: can't get `--$_' info from $ARGV[0]\n"
} qw(help version);
-my $date = strftime "%B %Y", localtime;
+my $date = strftime "%B %Y", gmtime($ENV{SOURCE_DATE_EPOCH} || time);
(my $program = $ARGV[0]) =~ s!.*/!!;
my $package = $program;
my $version;