Comment 5 for bug 1859685

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

New CUPSs do not provide _IPP_PRIVATE_STRUCTURES feature. Missing IPP internal data should be acquired by using the proper new functions provided by CUPS.

    Fix FTBFS with urfave/cli BoolFlag DefaultText variable

    Without this, the code FTBFS with the following error:

    src/github.com/google/cloud-print-connector/gcp-connector-util/gcp-cups-connector-util.go:112:5:
    unknown field 'DefaultText' in struct l eral of type cli.BoolFlag
    src/github.com/google/cloud-print-connector/gcp-connector-util/main_unix.go:61:3:
    unknown field 'DefaultText' in struct literal of type cli.BoolFlag
    src/github.com/google/cloud-print-connector/gcp-connector-util/main_unix.go:66:3:
    unknown field 'DefaultText' in struct literal of type cli.BoolFlag
    src/github.com/google/cloud-print-connector/gcp-connector-util/main_unix.go:71:3:
    unknown field 'DefaultText' in struct literal of type cli.BoolFlag

For some reason, cloud-print-connection was FTBFS because of golang-github-codegangsta-cli-dev, complaining about types. (codegangsta-cli-dev hasn't changed from previous working version in Ubuntu).

    Fix types for cli.Command assignments

    Without this, code FTBFS with the following error:

    google/cloud-print-connector/gcp-connector-util/main_unix.go:106:15:
    cannot use append(unixCommands, commonCommands...) (type []*cli.Command)
    as type []cli.Command in assignment

Also, for some reason, golang-github-urfave-cli-dev is having problems with BoolFlag DefaultText field. We have moved from previous working version 1.20.0-1 to 1.22.2-1 in recent Ubuntu.

    Workaround for no _IPP_PRIVATE_STRUCTURES in newer CUPS versions

    Added hardcoded ipp-private.h as workaround for the lack of the
    _IPP_PRIVATE_STRUCTURES feature, dropped in CUPS v2.3b4. Without this
    feature, all the IPP private structures, needed by cups/core.go, to get
    the IPP Request Status Code, will not exist making code FTBFS.

    Correct fix for this is to rely on new functions, provided by CUPS, in
    order to obtain internal structure data access (C or go).