Hello community, here is the log from the commit of package cups-filters for openSUSE:Factory checked in at 2018-02-22 14:58:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cups-filters (Old) and /work/SRC/openSUSE:Factory/.cups-filters.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cups-filters" Thu Feb 22 14:58:19 2018 rev:30 rq:578634 version:1.20.0 Changes: -------- --- /work/SRC/openSUSE:Factory/cups-filters/cups-filters.changes 2018-01-24 15:25:34.932175284 +0100 +++ /work/SRC/openSUSE:Factory/.cups-filters.new/cups-filters.changes 2018-02-22 14:58:22.390795575 +0100 @@ -1,0 +2,16 @@ +Wed Feb 21 10:12:31 CET 2018 - [email protected] + +- Version upgrade to 1.20.0: + * Mainly enhancements and fixes for the PPD generator. + * For detailed info see the NEWS file. +- fix_upstream_bug_1421.patch is the upstream fix for + https://bugs.linuxfoundation.org/show_bug.cgi?id=1421 +- Use 'BuildRequires python3-cups' only if suse_version >= 1330 + (cf. "Do not require python-cups but rather python3-cups" below) + which means after any SLE12 service pack and after any Leap 42.x + i.e. for Tumbleweed, Leap 15.x, and the upcoming SLE15 and later + otherwise still use 'BuildRequires python-cups' to make it build + and usable again not only on some newest systems according to + https://en.opensuse.org/openSUSE:How_to_contribute_to_the_Printing_project + +------------------------------------------------------------------- @@ -4 +20 @@ -- Update to 1.19.0: +- Version upgrade to 1.19.0: Old: ---- cups-filters-1.19.0.tar.xz New: ---- cups-filters-1.20.0.tar.xz fix_upstream_bug_1421.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cups-filters.spec ++++++ --- /var/tmp/diff_new_pack.gmOEWu/_old 2018-02-22 14:58:23.294763050 +0100 +++ /var/tmp/diff_new_pack.gmOEWu/_new 2018-02-22 14:58:23.294763050 +0100 @@ -1,7 +1,7 @@ # # spec file for package cups-filters # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,9 +17,9 @@ Summary: OpenPrinting CUPS filters, backends, and cups-browsed -# See also http://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdf_as_standard_print_job_format License: GPL-2.0 and GPL-2.0+ and GPL-3.0 and MIT Group: Hardware/Printing +# See also http://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdf_as_standard_print_job_format Url: http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters # For a breakdown of the licensing, see COPYING file # GPLv2: filters: commandto*, imagetoraster, pdftops, rasterto*, @@ -37,9 +37,16 @@ # and also run: zypper vcmp 'next version' 'current version' # e.g. zypper vcmp '1.0.49' '1.0.49.20140326' -> 1.0.49 is older than 1.0.49.20140326 # and zypper vcmp '1.0.50' '1.0.49.20140326' -> 1.0.50 is newer than 1.0.49.20140326 -Version: 1.19.0 +Version: 1.20.0 Release: 0 Source0: http://www.openprinting.org/download/cups-filters/cups-filters-%{version}.tar.xz +# Upstream fix for https://bugs.linuxfoundation.org/show_bug.cgi?id=1421 +# in https://github.com/OpenPrinting/cups-filters/commit/6db3b08d3b20332b1525b8dd1a47950381b8f637 +# dowloaded via +# wget -O fix_upstream_bug_1421.patch https://github.com/OpenPrinting/cups-filters/commit/6db3b08d3b20332b1525b8dd1a47950381b8f637.patch +# and then removed the changes of the NEWS file from that patch because +# the NEWS changes do not apply on the sources of the pristine 1.20.0 release: +Patch100: fix_upstream_bug_1421.patch # Since cups-filters version 1.0.42 foomatic-rip is also provided by cups-filters. # The foomatic-rip version that is provided by cups-filters is not specified in the cups-filters sources # but on http://www.openprinting.org/download/foomatic/ the foomatic-filters-4.0-current.tar.gz @@ -76,7 +83,14 @@ # braille embossers BuildRequires: liblouis-devel # Make sure we get postscriptdriver tags. +# suse_version >= 1330 means "after any SLE12 service pack and after any Leap 42.x" +# see https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto +# and cf. cups.spec where the same test is used: +%if 0%{?suse_version} >= 1330 BuildRequires: python3-cups +%else +BuildRequires: python-cups +%endif # cups-browsed # "BuildRequires libavahi-devel" is insufficient # (build fails at configure "checking for AVAHI_GLIB") @@ -205,6 +219,9 @@ %prep %setup -q +# Upstream fix for https://bugs.linuxfoundation.org/show_bug.cgi?id=1421 +# in https://github.com/OpenPrinting/cups-filters/commit/6db3b08d3b20332b1525b8dd1a47950381b8f637 +%patch100 -p1 -b fix_upstream_bug_1421.orig %build # Just do what is described in the upstream INSTALL file ++++++ cups-filters-1.19.0.tar.xz -> cups-filters-1.20.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/INSTALL new/cups-filters-1.20.0/INSTALL --- old/cups-filters-1.19.0/INSTALL 2018-01-15 18:10:42.000000000 +0100 +++ new/cups-filters-1.20.0/INSTALL 2018-01-29 19:14:59.000000000 +0100 @@ -1,4 +1,4 @@ -INSTALL - OpenPrinting CUPS Filters v1.19.0 - 2018-01-15 +INSTALL - OpenPrinting CUPS Filters v1.20.0 - 2018-01-29 -------------------------------------------------------- This file describes how to compile and install OpenPrinting CUPS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/Makefile.in new/cups-filters-1.20.0/Makefile.in --- old/cups-filters-1.19.0/Makefile.in 2018-01-15 18:15:04.000000000 +0100 +++ new/cups-filters-1.20.0/Makefile.in 2018-01-29 19:51:29.000000000 +0100 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -5059,7 +5059,7 @@ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 @@ -5083,7 +5083,7 @@ @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir @@ -5101,7 +5101,7 @@ distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ @@ -5111,7 +5111,7 @@ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/NEWS new/cups-filters-1.20.0/NEWS --- old/cups-filters-1.19.0/NEWS 2018-01-15 18:10:20.000000000 +0100 +++ new/cups-filters-1.20.0/NEWS 2018-01-29 19:14:59.000000000 +0100 @@ -1,6 +1,26 @@ -NEWS - OpenPrinting CUPS Filters v1.19.0 - 2018-01-15 +NEWS - OpenPrinting CUPS Filters v1.20.0 - 2018-01-29 ----------------------------------------------------- +CHANGES IN V1.20.0 + + - libcupsfilters: Let the PPD generator prefer the English + translation file from CUPS for the human-readable strings in + the PPD files. + - libcupsfilters: The PPD generator lists all page sizes with + human-readable names now, including proprietary names of the + printer. + - cups-browsed, driverless: Fixed get-printer-attributes call + on driverless printers for generating the PPD, explicitly + requesting the media-col-database attribute as otherwise + borderless page sizes do not appear. + - libcupsfilters: Fixed loading option/choice strings lists + from driverless printers for PPD file generation. Especially + proprietary media types appear correctly now. + - libcupsfilters: Completed color space support in the PPD + generator: Added DeviceGray/RGB/CMYK, default to 8 bit for + SRGB and to 16 bit for AdobeRGB, avoid duplicate listings of + the same color space. + CHANGES IN V1.19.0 - libcupsfilters: Let the PPD generator add the options "Print diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/README new/cups-filters-1.20.0/README --- old/cups-filters-1.19.0/README 2018-01-15 18:10:12.000000000 +0100 +++ new/cups-filters-1.20.0/README 2018-01-29 19:14:59.000000000 +0100 @@ -1,4 +1,4 @@ -README - OpenPrinting CUPS Filters v1.19.0 - 2018-01-15 +README - OpenPrinting CUPS Filters v1.20.0 - 2018-01-29 ------------------------------------------------------- Looking for compile instructions? Read the file "INSTALL.txt" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/aclocal.m4 new/cups-filters-1.20.0/aclocal.m4 --- old/cups-filters-1.19.0/aclocal.m4 2018-01-15 18:15:03.000000000 +0100 +++ new/cups-filters-1.20.0/aclocal.m4 2018-01-29 19:51:27.000000000 +0100 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.15.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -334,7 +334,7 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -349,7 +349,7 @@ [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], +m4_if([$1], [1.15.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -365,14 +365,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl +[AM_AUTOMAKE_VERSION([1.15.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -424,7 +424,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -455,7 +455,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -646,7 +646,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -722,7 +722,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -919,7 +919,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -940,7 +940,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -961,7 +961,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1011,7 +1011,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1050,7 +1050,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1079,7 +1079,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1126,7 +1126,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1145,7 +1145,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1226,7 +1226,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1286,7 +1286,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1314,7 +1314,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1333,7 +1333,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/config.guess new/cups-filters-1.20.0/config.guess --- old/cups-filters-1.19.0/config.guess 2018-01-15 18:15:04.000000000 +0100 +++ new/cups-filters-1.20.0/config.guess 2018-01-29 19:51:28.000000000 +0100 @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2016 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2016-10-02' +timestamp='2017-11-07' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see <http://www.gnu.org/licenses/>. +# along with this program; if not, see <https://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -27,7 +27,7 @@ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to <[email protected]>. @@ -39,7 +39,7 @@ Output the configuration name of the system \`$me' is run on. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2016 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -244,6 +244,9 @@ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} exit ;; + *:MidnightBSD:*:*) + echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE} + exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; @@ -259,6 +262,9 @@ *:Sortix:*:*) echo ${UNAME_MACHINE}-unknown-sortix exit ;; + *:Redox:*:*) + echo ${UNAME_MACHINE}-unknown-redox + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -315,15 +321,6 @@ exitcode=$? trap '' 0 exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; @@ -485,13 +482,13 @@ #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); @@ -614,7 +611,7 @@ *:AIX:*:*) echo rs6000-ibm-aix exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and @@ -635,8 +632,8 @@ 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` @@ -749,7 +746,7 @@ { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) @@ -758,7 +755,7 @@ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) @@ -837,10 +834,11 @@ UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; esac + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -854,10 +852,6 @@ *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; @@ -873,27 +867,12 @@ echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; @@ -1096,7 +1075,7 @@ i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + i*86:*:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} @@ -1303,14 +1282,21 @@ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub @@ -1334,15 +1320,18 @@ *:QNX:*:4*) echo i386-pc-qnx exit ;; - NEO-?:NONSTOP_KERNEL:*:*) + NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; - NSR-?:NONSTOP_KERNEL:*:*) + NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk${UNAME_RELEASE} + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; @@ -1414,16 +1403,28 @@ exit ;; esac +echo "$0: unable to guess system type" >&2 + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <<EOF + +NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize +the system type. Please install a C compiler and try again. +EOF + ;; +esac + cat >&2 <<EOF -$0: unable to guess system type This script (version $timestamp), has failed to recognize the -operating system you are using. If your script is old, overwrite -config.guess and config.sub with the latest versions from: +operating system you are using. If your script is old, overwrite *all* +copies of config.guess and config.sub with the latest versions from: - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess + https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess and - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub + https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub If $0 has already been updated, send the following data and any information you think might be pertinent to [email protected] to @@ -1455,7 +1456,7 @@ exit 1 # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/config.sub new/cups-filters-1.20.0/config.sub --- old/cups-filters-1.19.0/config.sub 2018-01-15 18:15:04.000000000 +0100 +++ new/cups-filters-1.20.0/config.sub 2018-01-29 19:51:28.000000000 +0100 @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2016 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2016-11-04' +timestamp='2017-11-23' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see <http://www.gnu.org/licenses/>. +# along with this program; if not, see <https://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -33,7 +33,7 @@ # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -57,7 +57,7 @@ Canonicalize a configuration name. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -67,7 +67,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2016 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -229,9 +229,6 @@ -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; -psos*) os=-psos ;; @@ -263,7 +260,7 @@ | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ - | i370 | i860 | i960 | ia64 \ + | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ @@ -315,7 +312,7 @@ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ - | we32k \ + | wasm32 \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown @@ -388,7 +385,7 @@ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ + | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ @@ -446,6 +443,7 @@ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ + | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -641,7 +639,7 @@ basic_machine=rs6000-bull os=-bosx ;; - dpx2* | dpx2*-bull) + dpx2*) basic_machine=m68k-bull os=-sysv3 ;; @@ -903,7 +901,7 @@ basic_machine=v70-nec os=-sysv ;; - next | m*-next ) + next | m*-next) basic_machine=m68k-next case $os in -nextstep* ) @@ -948,6 +946,9 @@ nsr-tandem) basic_machine=nsr-tandem ;; + nsx-tandem) + basic_machine=nsx-tandem + ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf @@ -1243,6 +1244,9 @@ basic_machine=a29k-wrs os=-vxworks ;; + wasm32) + basic_machine=wasm32-unknown + ;; w65*) basic_machine=w65-wdc os=-none @@ -1251,6 +1255,9 @@ basic_machine=hppa1.1-winbond os=-proelf ;; + x64) + basic_machine=x86_64-pc + ;; xbox) basic_machine=i686-pc os=-mingw32 @@ -1358,8 +1365,8 @@ if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # First match some system type aliases that might get confused + # with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux @@ -1379,9 +1386,9 @@ -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; - # First accept the basic system types. + # Now accept the basic system types. # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. + # Each alternative MUST end in a * to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ @@ -1397,7 +1404,7 @@ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ + | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ @@ -1409,7 +1416,7 @@ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia*) + | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1484,7 +1491,7 @@ -nova*) os=-rtmk-nova ;; - -ns2 ) + -ns2) os=-nextstep2 ;; -nsk*) @@ -1539,6 +1546,19 @@ -dicos*) os=-dicos ;; + -pikeos*) + # Until real need of OS specific support for + # particular features comes up, bare metal + # configurations are quite functional. + case $basic_machine in + arm*) + os=-eabi + ;; + *) + os=-elf + ;; + esac + ;; -nacl*) ;; -ios) @@ -1638,6 +1658,9 @@ sparc-* | *-sun) os=-sunos4.1.1 ;; + pru-*) + os=-elf + ;; *-be) os=-beos ;; @@ -1683,7 +1706,7 @@ m88k-omron*) os=-luna ;; - *-next ) + *-next) os=-nextstep ;; *-sequent) @@ -1818,7 +1841,7 @@ exit # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/configure new/cups-filters-1.20.0/configure --- old/cups-filters-1.19.0/configure 2018-01-15 18:15:04.000000000 +0100 +++ new/cups-filters-1.20.0/configure 2018-01-29 19:51:29.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for cups-filters 1.19.0. +# Generated by GNU Autoconf 2.69 for cups-filters 1.20.0. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='cups-filters' PACKAGE_TARNAME='cups-filters' -PACKAGE_VERSION='1.19.0' -PACKAGE_STRING='cups-filters 1.19.0' +PACKAGE_VERSION='1.20.0' +PACKAGE_STRING='cups-filters 1.20.0' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1500,7 +1500,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures cups-filters 1.19.0 to adapt to many kinds of systems. +\`configure' configures cups-filters 1.20.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1571,7 +1571,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of cups-filters 1.19.0:";; + short | recursive ) echo "Configuration of cups-filters 1.20.0:";; esac cat <<\_ACEOF @@ -1801,7 +1801,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -cups-filters configure 1.19.0 +cups-filters configure 1.20.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2439,7 +2439,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by cups-filters $as_me 1.19.0, which was +It was created by cups-filters $as_me 1.20.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3474,7 +3474,7 @@ # Define the identity of the package. PACKAGE='cups-filters' - VERSION='1.19.0' + VERSION='1.20.0' cat >>confdefs.h <<_ACEOF @@ -21808,7 +21808,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by cups-filters $as_me 1.19.0, which was +This file was extended by cups-filters $as_me 1.20.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21874,7 +21874,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -cups-filters config.status 1.19.0 +cups-filters config.status 1.20.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/configure.ac new/cups-filters-1.20.0/configure.ac --- old/cups-filters-1.19.0/configure.ac 2018-01-15 18:11:10.000000000 +0100 +++ new/cups-filters-1.20.0/configure.ac 2018-01-29 19:14:59.000000000 +0100 @@ -6,7 +6,7 @@ # Version informations # ==================== m4_define([cups_filters_version_major],[1]) -m4_define([cups_filters_version_minor],[19]) +m4_define([cups_filters_version_minor],[20]) m4_define([cups_filters_version_micro],[0]) m4_define([cups_filters_version],[cups_filters_version_major.cups_filters_version_minor.cups_filters_version_micro]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/cupsfilters/ppdgenerator.c new/cups-filters-1.20.0/cupsfilters/ppdgenerator.c --- old/cups-filters-1.19.0/cupsfilters/ppdgenerator.c 2018-01-15 18:08:03.000000000 +0100 +++ new/cups-filters-1.20.0/cupsfilters/ppdgenerator.c 2018-01-29 15:22:03.000000000 +0100 @@ -448,6 +448,14 @@ if (dirname == NULL) return NULL; + /* Check first whether we have an English file and prefer this */ + snprintf(catalogpath, sizeof(catalogpath), "%s/en/cups_en.po", dirname); + if (access(catalogpath, R_OK) == 0) { + /* Found */ + catalog = strdup(catalogpath); + return catalog; + } + if ((dir = cupsDirOpen(dirname)) == NULL) return NULL; @@ -492,7 +500,7 @@ if (access(catalogpath, R_OK) != 0) continue; /* Found */ - catalog = catalogpath; + catalog = strdup(catalogpath); break; } cupsDirClose(subdir); @@ -745,8 +753,8 @@ 10: EOF, save last entry */ int digit; - if (location == NULL || strncasecmp(location, "http:", 5) || - strncasecmp(location, "https:", 6)) { + if (location == NULL || (strncasecmp(location, "http:", 5) && + strncasecmp(location, "https:", 6))) { if (location == NULL || (stat(location, &statbuf) == 0 && S_ISDIR(statbuf.st_mode))) /* directory? */ filename = _findCUPSMessageCatalog(location); @@ -844,7 +852,7 @@ continue; } /* Check line if it is a valid IPP attribute: - No spaces, only lowercae letters, digits, '-', '_', + No spaces, only lowercase letters, digits, '-', '_', "option" or "option.choice" */ for (ptr = start, sep = NULL; ptr < end; ptr ++) if (*ptr == '.') { /* Separator between option and choice */ @@ -868,10 +876,8 @@ } if (sep && strlen(sep) > 0) /* Choice name found */ choice_name = strdup(sep); - else { /* Empty choice name */ - part = -1; - continue; - } + else /* Empty choice name */ + choice_name = NULL; if (part == 2) { /* Human-readable string in the same line */ start = start2; end = end2; @@ -1722,51 +1728,8 @@ max_length = upper; } } - - if ((max_width == 0 || max_length == 0) && (attr = ippFindAttribute(response, "media-size-supported", IPP_TAG_BEGIN_COLLECTION)) != NULL) - { - /* - * Some printers don't list custom size support in media-col-database... - */ - - for (i = 0, count = ippGetCount(attr); i < count; i ++) - { - media_size = ippGetCollection(attr, i); - x_dim = ippFindAttribute(media_size, "x-dimension", IPP_TAG_ZERO); - y_dim = ippFindAttribute(media_size, "y-dimension", IPP_TAG_ZERO); - - if (ippGetValueTag(x_dim) == IPP_TAG_RANGE || ippGetValueTag(y_dim) == IPP_TAG_RANGE) - { - /* - * Custom size - record the min/max values... - */ - - int lower, upper; /* Range values */ - - if (ippGetValueTag(x_dim) == IPP_TAG_RANGE) - lower = ippGetRange(x_dim, 0, &upper); - else - lower = upper = ippGetInteger(x_dim, 0); - - if (lower < min_width) - min_width = lower; - if (upper > max_width) - max_width = upper; - - if (ippGetValueTag(y_dim) == IPP_TAG_RANGE) - lower = ippGetRange(y_dim, 0, &upper); - else - lower = upper = ippGetInteger(y_dim, 0); - - if (lower < min_length) - min_length = lower; - if (upper > max_length) - max_length = upper; - } - } - } } - else if ((attr = ippFindAttribute(response, "media-size-supported", IPP_TAG_BEGIN_COLLECTION)) != NULL) + if ((attr = ippFindAttribute(response, "media-size-supported", IPP_TAG_BEGIN_COLLECTION)) != NULL) { for (i = 0, count = ippGetCount(attr); i < count; i ++) { @@ -1824,13 +1787,13 @@ } } } - else if ((attr = ippFindAttribute(response, "media-supported", IPP_TAG_ZERO)) != NULL) + if ((attr = ippFindAttribute(response, "media-supported", IPP_TAG_ZERO)) != NULL) { for (i = 0, count = ippGetCount(attr); i < count; i ++) { const char *pwg_size = ippGetString(attr, i, NULL); /* PWG size name */ - cups_size_t temp; /* Current size */ + cups_size_t temp, *temp2; /* Current size, found size */ if ((pwg = pwgMediaForPWG(pwg_size)) != NULL) { @@ -1862,7 +1825,19 @@ else strlcpy(temp.media, pwg->ppd, sizeof(temp.media)); - if (!cupsArrayFind(sizes, &temp)) + /* Add the printer's original IPP name to an already found size */ + if ((temp2 = cupsArrayFind(sizes, &temp)) != NULL) { + snprintf(temp2->media + strlen(temp2->media), + sizeof(temp2->media) - strlen(temp2->media), + " %s", pwg_size); + /* Check if we have also a borderless version of the size and add + the original IPP name also there */ + snprintf(temp.media, sizeof(temp.media), "%s.Borderless", pwg->ppd); + if ((temp2 = cupsArrayFind(sizes, &temp)) != NULL) + snprintf(temp2->media + strlen(temp2->media), + sizeof(temp2->media) - strlen(temp2->media), + " %s", pwg_size); + } else cupsArrayAdd(sizes, &temp); } } @@ -1880,8 +1855,9 @@ tright[256], /* Right string */ ttop[256], /* Top string */ twidth[256], /* Width string */ - tlength[256]; /* Length string */ - + tlength[256], /* Length string */ + ppdsizename[128]; + char *ippsizename; cupsFilePrintf(fp, "*OpenUI *PageSize/%s: PickOne\n" "*OrderDependency: 10 AnySetup *PageSize\n" "*DefaultPageSize: %s\n", "Media Size", ppdname); @@ -1889,16 +1865,28 @@ { _cupsStrFormatd(twidth, twidth + sizeof(twidth), size->width * 72.0 / 2540.0, loc); _cupsStrFormatd(tlength, tlength + sizeof(tlength), size->length * 72.0 / 2540.0, loc); + strlcpy(ppdsizename, size->media, sizeof(ppdsizename)); + if ((ippsizename = strchr(ppdsizename, ' ')) != NULL) { + *ippsizename = '\0'; + ippsizename ++; + } - pwg = pwgMediaForSize(size->width, size->length); - if (pwg) - human_readable = lookup_choice((char *)pwg->pwg, "media", opt_strings_catalog, + if (ippsizename) + human_readable = lookup_choice(ippsizename, "media", opt_strings_catalog, printer_opt_strings_catalog); else human_readable = NULL; - cupsFilePrintf(fp, "*PageSize %s%s%s: \"<</PageSize[%s %s]>>setpagedevice\"\n", size->media, + if (!human_readable) { + pwg = pwgMediaForSize(size->width, size->length); + if (pwg) + human_readable = lookup_choice((char *)pwg->pwg, "media", opt_strings_catalog, + printer_opt_strings_catalog); + } + cupsFilePrintf(fp, "*PageSize %s%s%s%s: \"<</PageSize[%s %s]>>setpagedevice\"\n", ppdsizename, (human_readable ? "/" : ""), (human_readable ? human_readable : ""), + (human_readable && strstr(ppdsizename, ".Borderless") ? + " (Borderless)" : ""), twidth, tlength); } cupsFilePuts(fp, "*CloseUI: *PageSize\n"); @@ -1910,16 +1898,28 @@ { _cupsStrFormatd(twidth, twidth + sizeof(twidth), size->width * 72.0 / 2540.0, loc); _cupsStrFormatd(tlength, tlength + sizeof(tlength), size->length * 72.0 / 2540.0, loc); + strlcpy(ppdsizename, size->media, sizeof(ppdsizename)); + if ((ippsizename = strchr(ppdsizename, ' ')) != NULL) { + *ippsizename = '\0'; + ippsizename ++; + } - pwg = pwgMediaForSize(size->width, size->length); - if (pwg) - human_readable = lookup_choice((char *)pwg->pwg, "media", opt_strings_catalog, + if (ippsizename) + human_readable = lookup_choice(ippsizename, "media", opt_strings_catalog, printer_opt_strings_catalog); else human_readable = NULL; - cupsFilePrintf(fp, "*PageRegion %s%s%s: \"<</PageSize[%s %s]>>setpagedevice\"\n", size->media, + if (!human_readable) { + pwg = pwgMediaForSize(size->width, size->length); + if (pwg) + human_readable = lookup_choice((char *)pwg->pwg, "media", opt_strings_catalog, + printer_opt_strings_catalog); + } + cupsFilePrintf(fp, "*PageRegion %s%s%s%s: \"<</PageSize[%s %s]>>setpagedevice\"\n", ppdsizename, (human_readable ? "/" : ""), (human_readable ? human_readable : ""), + (human_readable && strstr(ppdsizename, ".Borderless") ? + " (Borderless)" : ""), twidth, tlength); } cupsFilePuts(fp, "*CloseUI: *PageRegion\n"); @@ -1935,9 +1935,12 @@ _cupsStrFormatd(ttop, ttop + sizeof(ttop), (size->length - size->top) * 72.0 / 2540.0, loc); _cupsStrFormatd(twidth, twidth + sizeof(twidth), size->width * 72.0 / 2540.0, loc); _cupsStrFormatd(tlength, tlength + sizeof(tlength), size->length * 72.0 / 2540.0, loc); + strlcpy(ppdsizename, size->media, sizeof(ppdsizename)); + if ((ippsizename = strchr(ppdsizename, ' ')) != NULL) + *ippsizename = '\0'; - cupsFilePrintf(fp, "*ImageableArea %s: \"%s %s %s %s\"\n", size->media, tleft, tbottom, tright, ttop); - cupsFilePrintf(fp, "*PaperDimension %s: \"%s %s\"\n", size->media, twidth, tlength); + cupsFilePrintf(fp, "*ImageableArea %s: \"%s %s %s %s\"\n", ppdsizename, tleft, tbottom, tright, ttop); + cupsFilePrintf(fp, "*PaperDimension %s: \"%s %s\"\n", ppdsizename, twidth, tlength); } cupsArrayDelete(sizes); @@ -2327,8 +2330,8 @@ * ColorModel... */ - if ((attr = ippFindAttribute(response, "pwg-raster-document-type-supported", IPP_TAG_KEYWORD)) == NULL) - if ((attr = ippFindAttribute(response, "urf-supported", IPP_TAG_KEYWORD)) == NULL) + if ((attr = ippFindAttribute(response, "urf-supported", IPP_TAG_KEYWORD)) == NULL) + if ((attr = ippFindAttribute(response, "pwg-raster-document-type-supported", IPP_TAG_KEYWORD)) == NULL) if ((attr = ippFindAttribute(response, "print-color-mode-supported", IPP_TAG_KEYWORD)) == NULL) attr = ippFindAttribute(response, "output-mode-supported", IPP_TAG_KEYWORD); @@ -2337,21 +2340,28 @@ if (attr && ippGetCount(attr) > 0) { const char *default_color = NULL; /* Default */ + int first_choice = 1, + have_bi_level = 0, + have_mono = 0; for (i = 0, count = ippGetCount(attr); i < count; i ++) { keyword = ippGetString(attr, i, NULL); /* Keyword for color/bit depth */ - if (!strcasecmp(keyword, "black_1") || !strcmp(keyword, "bi-level") || !strcmp(keyword, "process-bi-level")) + if (!have_bi_level && + (!strcasecmp(keyword, "black_1") || !strcmp(keyword, "bi-level") || !strcmp(keyword, "process-bi-level"))) { - if (!default_color) + have_bi_level = 1; + if (first_choice) { + first_choice = 0; cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" "*OrderDependency: 10 AnySetup *ColorModel\n", (human_readable ? human_readable : _cupsLangString(lang, _("Color Mode")))); + } - human_readable2 = lookup_choice("bi-level", "media-type", opt_strings_catalog, + human_readable2 = lookup_choice("bi-level", "print-color-mode", opt_strings_catalog, printer_opt_strings_catalog); cupsFilePrintf(fp, "*ColorModel FastGray/%s: \"<</cupsColorSpace 3/cupsBitsPerColor 1/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", (human_readable2 ? human_readable2 : @@ -2360,56 +2370,192 @@ if (!default_color) default_color = "FastGray"; } - else if (!strncasecmp(keyword, "sgray_", 6) || !strncmp(keyword, "W8", 2) || !strncmp(keyword, "W16", 3) || !strcmp(keyword, "monochrome") || !strcmp(keyword, "process-monochrome")) + else if (!have_mono && + (!strcasecmp(keyword, "sgray_8") || !strncmp(keyword, "W8", 2) || !strcmp(keyword, "monochrome") || !strcmp(keyword, "process-monochrome"))) { - if (!default_color) + have_mono = 1; + if (first_choice) { + first_choice = 0; cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" "*OrderDependency: 10 AnySetup *ColorModel\n", (human_readable ? human_readable : _cupsLangString(lang, _("Color Mode")))); + } - human_readable2 = lookup_choice("monochrome", "media-type", opt_strings_catalog, + human_readable2 = lookup_choice("monochrome", "print-color-mode", opt_strings_catalog, printer_opt_strings_catalog); - cupsFilePrintf(fp, "*ColorModel Gray/%s: \"<</cupsColorSpace 18/cupsBitsPerColor %s/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + cupsFilePrintf(fp, "*ColorModel Gray/%s: \"<</cupsColorSpace 18/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", (human_readable2 ? human_readable2 : - _cupsLangString(lang, _("Grayscale"))), - (strstr(keyword, "16") ? "16" : "8")); + _cupsLangString(lang, _("Grayscale")))); if (!default_color || !strcmp(default_color, "FastGray")) default_color = "Gray"; } - else if (!strncasecmp(keyword, "srgb_", 5) || !strncmp(keyword, "SRGB", 4) || !strcmp(keyword, "color")) + else if (!strcasecmp(keyword, "sgray_16") || !strncmp(keyword, "W8-16", 5) || !strncmp(keyword, "W16", 3)) { - if (!default_color) + if (first_choice) { + first_choice = 0; + cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" + "*OrderDependency: 10 AnySetup *ColorModel\n", + (human_readable ? human_readable : + _cupsLangString(lang, _("Color Mode")))); + } + + cupsFilePrintf(fp, "*ColorModel Gray16/%s: \"<</cupsColorSpace 18/cupsBitsPerColor 16/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + _cupsLangString(lang, _("Deep Gray (High Definition Grayscale)"))); + + if (!default_color || !strcmp(default_color, "FastGray")) + default_color = "Gray16"; + } + else if (!strcasecmp(keyword, "srgb_8") || !strncmp(keyword, "SRGB24", 6) || !strcmp(keyword, "color")) + { + if (first_choice) { + first_choice = 0; cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" "*OrderDependency: 10 AnySetup *ColorModel\n", (human_readable ? human_readable : _cupsLangString(lang, _("Color Mode")))); + } + + human_readable2 = lookup_choice("color", "print-color-mode", opt_strings_catalog, + printer_opt_strings_catalog); + cupsFilePrintf(fp, "*ColorModel RGB/%s: \"<</cupsColorSpace 19/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + (human_readable2 ? human_readable2 : + _cupsLangString(lang, _("Color")))); + + default_color = "RGB"; + } + else if ((!strcasecmp(keyword, "srgb_16") || !strncmp(keyword, "SRGB48", 6)) && + !ippContainsString(attr, "srgb_8")) + { + if (first_choice) { + first_choice = 0; + cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" + "*OrderDependency: 10 AnySetup *ColorModel\n", + (human_readable ? human_readable : + _cupsLangString(lang, _("Color Mode")))); + } - human_readable2 = lookup_choice("color", "media-type", opt_strings_catalog, + human_readable2 = lookup_choice("color", "print-color-mode", opt_strings_catalog, printer_opt_strings_catalog); - cupsFilePrintf(fp, "*ColorModel RGB/%s: \"<</cupsColorSpace 19/cupsBitsPerColor %s/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + cupsFilePrintf(fp, "*ColorModel RGB/%s: \"<</cupsColorSpace 19/cupsBitsPerColor 16/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", (human_readable2 ? human_readable2 : - _cupsLangString(lang, _("Color"))), - (strstr(keyword, "16") || strstr(keyword, "48") ? "16" : "8")); + _cupsLangString(lang, _("Color")))); default_color = "RGB"; } - else if (!strncasecmp(keyword, "adobe-rgb_", 10) || !strncmp(keyword, "ADOBERGB", 8)) + else if (!strcasecmp(keyword, "adobe-rgb_16") || !strncmp(keyword, "ADOBERGB48", 10) || + !strncmp(keyword, "ADOBERGB24-48", 13)) { + if (first_choice) { + first_choice = 0; + cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" + "*OrderDependency: 10 AnySetup *ColorModel\n", + (human_readable ? human_readable : + _cupsLangString(lang, _("Color Mode")))); + } + + cupsFilePrintf(fp, "*ColorModel AdobeRGB/%s: \"<</cupsColorSpace 20/cupsBitsPerColor 16/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + _cupsLangString(lang, _("Deep Color (Wide Color Gamut, AdobeRGB)"))); + if (!default_color) + default_color = "AdobeRGB"; + } + else if ((!strcasecmp(keyword, "adobe-rgb_8") || !strcmp(keyword, "ADOBERGB24")) && + !ippContainsString(attr, "adobe-rgb_16")) + { + if (first_choice) { + first_choice = 0; cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" "*OrderDependency: 10 AnySetup *ColorModel\n", (human_readable ? human_readable : _cupsLangString(lang, _("Color Mode")))); + } - cupsFilePrintf(fp, "*ColorModel AdobeRGB/%s: \"<</cupsColorSpace 20/cupsBitsPerColor %s/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", - _cupsLangString(lang, _("Deep Color (Wide Gamut, AdobeRGB)")), - (strstr(keyword, "16") || strstr(keyword, "48") ? "16" : "8")); + cupsFilePrintf(fp, "*ColorModel AdobeRGB/%s: \"<</cupsColorSpace 20/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + _cupsLangString(lang, _("Deep Color (Wide Color Gamut, AdobeRGB)"))); if (!default_color) default_color = "AdobeRGB"; } + else if ((!strcasecmp(keyword, "black_8") && !ippContainsString(attr, "black_16")) || !strcmp(keyword, "DEVW8")) + { + if (first_choice) { + first_choice = 0; + cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" + "*OrderDependency: 10 AnySetup *ColorModel\n", + (human_readable ? human_readable : + _cupsLangString(lang, _("Color Mode")))); + } + + cupsFilePrintf(fp, "*ColorModel DeviceGray/%s: \"<</cupsColorSpace 0/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + _cupsLangString(lang, _("Device Gray"))); + } + else if (!strcasecmp(keyword, "black_16") || !strcmp(keyword, "DEVW16") || !strcmp(keyword, "DEVW8-16")) + { + if (first_choice) { + first_choice = 0; + cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" + "*OrderDependency: 10 AnySetup *ColorModel\n", + (human_readable ? human_readable : + _cupsLangString(lang, _("Color Mode")))); + } + + cupsFilePrintf(fp, "*ColorModel DeviceGray/%s: \"<</cupsColorSpace 0/cupsBitsPerColor 16/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + _cupsLangString(lang, _("Device Gray"))); + } + else if ((!strcasecmp(keyword, "cmyk_8") && !ippContainsString(attr, "cmyk_16")) || !strcmp(keyword, "DEVCMYK32")) + { + if (first_choice) { + first_choice = 0; + cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" + "*OrderDependency: 10 AnySetup *ColorModel\n", + (human_readable ? human_readable : + _cupsLangString(lang, _("Color Mode")))); + } + + cupsFilePrintf(fp, "*ColorModel CMYK/%s: \"<</cupsColorSpace 6/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + _cupsLangString(lang, _("Device CMYK"))); + } + else if (!strcasecmp(keyword, "cmyk_16") || !strcmp(keyword, "DEVCMYK32-64") || !strcmp(keyword, "DEVCMYK64")) + { + if (first_choice) { + first_choice = 0; + cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" + "*OrderDependency: 10 AnySetup *ColorModel\n", + (human_readable ? human_readable : + _cupsLangString(lang, _("Color Mode")))); + } + + cupsFilePrintf(fp, "*ColorModel CMYK/%s: \"<</cupsColorSpace 6/cupsBitsPerColor 16/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + _cupsLangString(lang, _("Device CMYK"))); + } + else if ((!strcasecmp(keyword, "rgb_8") && !ippContainsString(attr, "rgb_16")) || !strcmp(keyword, "DEVRGB24")) + { + if (first_choice) { + first_choice = 0; + cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" + "*OrderDependency: 10 AnySetup *ColorModel\n", + (human_readable ? human_readable : + _cupsLangString(lang, _("Color Mode")))); + } + + cupsFilePrintf(fp, "*ColorModel DeviceRGB/%s: \"<</cupsColorSpace 1/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + _cupsLangString(lang, _("Device RGB"))); + } + else if (!strcasecmp(keyword, "rgb_16") || !strcmp(keyword, "DEVRGB24-48") || !strcmp(keyword, "DEVRGB48")) + { + if (first_choice) { + first_choice = 0; + cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n" + "*OrderDependency: 10 AnySetup *ColorModel\n", + (human_readable ? human_readable : + _cupsLangString(lang, _("Color Mode")))); + } + + cupsFilePrintf(fp, "*ColorModel DeviceRGB/%s: \"<</cupsColorSpace 1/cupsBitsPerColor 16/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", + _cupsLangString(lang, _("Device RGB"))); + } } if (default_color) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/depcomp new/cups-filters-1.20.0/depcomp --- old/cups-filters-1.19.0/depcomp 2018-01-15 18:15:04.000000000 +0100 +++ new/cups-filters-1.20.0/depcomp 2018-01-29 19:51:28.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2013-05-30.07; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # 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 @@ -786,6 +786,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/utils/cups-browsed.c new/cups-filters-1.20.0/utils/cups-browsed.c --- old/cups-filters-1.19.0/utils/cups-browsed.c 2017-12-21 22:13:28.000000000 +0100 +++ new/cups-filters-1.20.0/utils/cups-browsed.c 2018-01-27 00:09:09.000000000 +0100 @@ -3298,6 +3298,13 @@ int is_appleraster = 0; int is_pclm = 0; int is_pdf = 0; + static const char * const pattrs[] = + { + "job-template", + "printer-defaults", + "printer-description", + "media-col-database" + }; #endif /* HAVE_CUPS_1_6 */ if (!queue_name || !location || !info || !uri || !host || !service_name || @@ -3523,6 +3530,9 @@ } request = ippNewRequest(IPP_OP_GET_PRINTER_ATTRIBUTES); ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); + ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, + "requested-attributes", sizeof(pattrs) / sizeof(pattrs[0]), + NULL, pattrs); response = cupsDoRequest(http_printer, request, resource); /* Log all printer attributes for debugging */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cups-filters-1.19.0/utils/driverless.c new/cups-filters-1.20.0/utils/driverless.c --- old/cups-filters-1.19.0/utils/driverless.c 2017-10-05 00:09:29.000000000 +0200 +++ new/cups-filters-1.20.0/utils/driverless.c 2018-01-27 00:09:09.000000000 +0100 @@ -466,6 +466,13 @@ ipp_attribute_t *attr; char buffer[65536], ppdname[1024]; int i, fd, bytes; + static const char * const pattrs[] = + { + "job-template", + "printer-defaults", + "printer-description", + "media-col-database" + }; /* Request printer properties via IPP to generate a PPD file for the printer (mainly IPP Everywhere printers) @@ -490,6 +497,9 @@ request = ippNewRequest(IPP_OP_GET_PRINTER_ATTRIBUTES); ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); + ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, + "requested-attributes", sizeof(pattrs) / sizeof(pattrs[0]), + NULL, pattrs); response = cupsDoRequest(http, request, resource); /* Log all printer attributes for debugging */ ++++++ fix_upstream_bug_1421.patch ++++++ >From 6db3b08d3b20332b1525b8dd1a47950381b8f637 Mon Sep 17 00:00:00 2001 From: Till Kamppeter <[email protected]> Date: Tue, 20 Feb 2018 20:24:33 +0100 Subject: [PATCH] libcupsfilters: Eliminated unneeded call of httpAddrPort() CUPS library function. diff --git a/cupsfilters/ppdgenerator.c b/cupsfilters/ppdgenerator.c index 052e3c5e..112723d9 100644 --- a/cupsfilters/ppdgenerator.c +++ b/cupsfilters/ppdgenerator.c @@ -360,15 +360,14 @@ pwg_copy_size(cups_size_t *size) /* I - Media size to copy */ } static int /* O - 1 on success, 0 on failure */ -cups_get_url(http_t **http, /* IO - Current HTTP connection */ - const char *url, /* I - URL to get */ - char *name, /* I - Temporary filename */ - size_t namesize) /* I - Size of temporary filename buffer */ +get_url(const char *url, /* I - URL to get */ + char *name, /* I - Temporary filename */ + size_t namesize) /* I - Size of temporary filename buffer */ { + http_t *http = NULL; char scheme[32], /* URL scheme */ userpass[256], /* URL username:password */ host[256], /* URL host */ - curhost[256], /* Current host */ resource[256]; /* URL resource */ int port; /* URL port */ http_encryption_t encryption; /* Type of encryption to use */ @@ -384,21 +383,18 @@ cups_get_url(http_t **http, /* IO - Current HTTP connection */ else encryption = HTTP_ENCRYPTION_IF_REQUESTED; - if (!*http || strcasecmp(host, httpGetHostname(*http, curhost, sizeof(curhost))) || httpAddrPort(httpGetAddress(*http)) != port) - { - httpClose(*http); - *http = httpConnect2(host, port, NULL, AF_UNSPEC, encryption, 1, 5000, NULL); - } + http = httpConnect2(host, port, NULL, AF_UNSPEC, encryption, 1, 5000, NULL); - if (!*http) + if (!http) return (0); if ((fd = cupsTempFd(name, (int)namesize)) < 0) return (0); - status = cupsGetFd(*http, resource, fd); + status = cupsGetFd(http, resource, fd); close(fd); + httpClose(http); if (status != HTTP_STATUS_OK) { @@ -736,7 +732,6 @@ lookup_choice(char *name, char *opt_name, cups_array_t *options, void load_opt_strings_catalog(const char *location, cups_array_t *options) { - http_t *http = NULL; char tmpfile[1024]; const char *filename = NULL; struct stat statbuf; @@ -761,10 +756,8 @@ load_opt_strings_catalog(const char *location, cups_array_t *options) else filename = location; } else { - if (cups_get_url(&http, location, tmpfile, sizeof(tmpfile))) + if (get_url(location, tmpfile, sizeof(tmpfile))) filename = tmpfile; - if (http) - httpClose(http); } if (!filename) return;
