diff -Nru google-cloud-print-connector-1.12/debian/changelog google-cloud-print-connector-1.12/debian/changelog --- google-cloud-print-connector-1.12/debian/changelog 2017-07-31 08:46:37.000000000 +0000 +++ google-cloud-print-connector-1.12/debian/changelog 2020-01-16 17:24:12.000000000 +0000 @@ -1,3 +1,9 @@ +google-cloud-print-connector (1.12-1ubuntu1) focal; urgency=medium + + * Fix FTBFS for recent CUPS whithout IPP private structures (LP: #1859685) + + -- Rafael David Tinoco Thu, 16 Jan 2020 17:24:12 +0000 + google-cloud-print-connector (1.12-1) unstable; urgency=medium * add debian/watch diff -Nru google-cloud-print-connector-1.12/debian/control google-cloud-print-connector-1.12/debian/control --- google-cloud-print-connector-1.12/debian/control 2017-07-31 08:46:37.000000000 +0000 +++ google-cloud-print-connector-1.12/debian/control 2020-01-16 17:24:12.000000000 +0000 @@ -1,7 +1,8 @@ Source: google-cloud-print-connector Section: net Priority: extra -Maintainer: Debian Go Packaging Team +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian Go Packaging Team Uploaders: Chuan-kai Lin , Debian Printing Team , Michael Stapelberg diff -Nru google-cloud-print-connector-1.12/debian/patches/series google-cloud-print-connector-1.12/debian/patches/series --- google-cloud-print-connector-1.12/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ google-cloud-print-connector-1.12/debian/patches/series 2020-01-16 17:16:14.000000000 +0000 @@ -0,0 +1 @@ +workaround-for-no-_IPP_PRIVATE_STRUCTURES.patch diff -Nru google-cloud-print-connector-1.12/debian/patches/workaround-for-no-_IPP_PRIVATE_STRUCTURES.patch google-cloud-print-connector-1.12/debian/patches/workaround-for-no-_IPP_PRIVATE_STRUCTURES.patch --- google-cloud-print-connector-1.12/debian/patches/workaround-for-no-_IPP_PRIVATE_STRUCTURES.patch 1970-01-01 00:00:00.000000000 +0000 +++ google-cloud-print-connector-1.12/debian/patches/workaround-for-no-_IPP_PRIVATE_STRUCTURES.patch 2020-01-16 17:19:57.000000000 +0000 @@ -0,0 +1,122 @@ +Description: Workaround for no _IPP_PRIVATE_STRUCTURES in newer CUPS versions + +Header being introduced as a workaround for the lack of the +_IPP_PRIVATE_STRUCTURES feature in latest CUPS versions. This +header exposes some of the CUPS internal structures needed by +the connector. + +Author: Rafael David Tinoco +Bug: https://github.com/google/cloud-print-connector/issues/476 +Bug-Ubuntu: https://launchpad.net/bugs/1859685 +Forwarded: https://github.com/google/cloud-print-connector/pull/477 +Last-Update: 2020-01-16 + +--- /dev/null ++++ google-cloud-print-connector-1.12/cups/cups-private.h +@@ -0,0 +1,94 @@ ++#ifndef _CUPS_IPP_PRIVATE_H_ ++#ifndef CUPS_CUPS_PRIVATE_H_ ++ ++#define CUPS_CUPS_PRIVATE_H_ ++ ++/* ++ * https://bugs.launchpad.net/bugs/1859685 ++ * ++ * This header is a workaround for LP: #1859685 while the cloud-print-connector ++ * doesn't change its implementation to use the correct functions now that cups ++ * has deactivated the _IPP_PRIVATE_STRUCTURES workaround. ++ * ++ * This file contains parts of ipp-private.h from cups v2.3.1-7-g1f2a315c2 ++ */ ++ ++typedef union _ipp_request_u ++{ ++ struct ++ { ++ ipp_uchar_t version[2]; ++ int op_status; ++ int request_id; ++ } any; ++ struct ++ { ++ ipp_uchar_t version[2]; ++ ipp_op_t operation_id; ++ int request_id; ++ } op; ++ struct ++ { ++ ipp_uchar_t version[2]; ++ ipp_status_t status_code; ++ int request_id; ++ } status; ++ struct ++ { ++ ipp_uchar_t version[2]; ++ ipp_status_t status_code; ++ int request_id; ++ } event; ++} _ipp_request_t; ++ ++typedef union _ipp_value_u ++{ ++ int integer; ++ char boolean; ++ ipp_uchar_t date[11]; ++ struct ++ { ++ int xres, yres; ++ ipp_res_t units; ++ } resolution; ++ struct ++ { ++ int lower, upper; ++ } range; ++ struct ++ { ++ char *language; ++ char *text; ++ } string; ++ struct ++ { ++ int length; ++ void *data; ++ } unknown; ++ ipp_t *collection; ++} _ipp_value_t; ++ ++struct _ipp_attribute_s ++{ ++ ipp_attribute_t *next; ++ ipp_tag_t group_tag, value_tag; ++ char *name; ++ int num_values; ++ _ipp_value_t values[1]; ++}; ++ ++struct _ipp_s ++{ ++ ipp_state_t state; ++ _ipp_request_t request; ++ ipp_attribute_t *attrs; ++ ipp_attribute_t *last; ++ ipp_attribute_t *current; ++ ipp_tag_t curtag; ++ ipp_attribute_t *prev; ++ int use; ++ int atend, curindex; ++}; ++ ++#endif /* CUPS_CUPS_PRIVATE_H_ */ ++#endif /* _CUPS_IPP_PRIVATE_H_ */ +--- google-cloud-print-connector-1.12.orig/cups/cups.h ++++ google-cloud-print-connector-1.12/cups/cups.h +@@ -19,6 +19,9 @@ https://developers.google.com/open-sourc + #include // uname + #include // time_t + ++/* https://bugs.launchpad.net/bugs/1859685 */ ++#include "cups-private.h" ++ + extern const char + *JOB_STATE, + *JOB_MEDIA_SHEETS_COMPLETED,