Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
P
poppler
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 613
    • Issues 613
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 39
    • Merge Requests 39
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • poppler
  • poppler
  • Issues
  • #675

Closed
Open
Opened Nov 26, 2018 by Bruce Dubbs@bdubbs

Changes in poppler break downstream packages

At linuxfromscratch, we find that changes in poppler often break packages that depend on poppler. Currently we are having problems with cups-filter, inkscape, and libreoffice.

When we look at details, it seems that downstream apps are using headers that are not intended to be used by general applications. For instance cups-filters uses:

#include "goo/GooString.h" #include "goo/gmem.h"

These, in turn, include other header files.

It appears to me that headers in the goo/ directory are not intended for general use. If this is the case, I suggest protecting from misuse with constructs similar to those in the /usr/include/bits/ headers. For example, cpu-set.h has the construct

#ifndef _SCHED_H

error "Never include <bits/cpu-set.h> directly; use <sched.h> instead."

#endif

Doing something like this will help downstream to make their code conform to your expectations and not have developers incorrectly blame poppler for breakage when you need to make changes.

-- Bruce Dubbs linuxfromscratch.org

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: poppler/poppler#675