4 ms·
> hey take carry a LOT of patches that are not upstreamed (for whatever reason) I have spent some time looking at bug tracking for Ubuntu with regards to PDF f
by Ologn 8y ago
> hey take carry a LOT of patches that are not upstreamed (for whatever reason)
I have spent some time looking at bug tracking for Ubuntu with regards to PDF files.
IMHO, FLOSS support of PDF's on Linux has never been that good, although it has gotten better over time (although it is still problematic). For example this file - https://web.archive.org/web/20100215043153/http://www.ratp.info/picts/plans/pdf/reseaux/bus_paris_geo.pdf https://web.archive.org/web/20100215043153/http://www.ratp.i... - loads fine on most platforms, but in Linux FLOSS (evince with poppler) it might take over 30 seconds to render. Because it had an O(n^2) algorithm running over part of the PDF, something other software on other platforms seems to avoid (even the closed source Adobe reader for Linux).
So I spent a lot of time looking at it. But it takes a little bit of domain knowledge to deal with it. Most people load up evince and have a problem reading a PDF and report it to Ubuntu evince bug channel. But the problem with PDF rendering is often up the library dependency chain - with poppler the PDF renderer. So sometimes I curate tickets and move the ticket from the evince queue to the poppler queue when I see there is a problem.
But poppler often depends on cairo, and sometimes (not often) the rendering problem is in cairo, not poppler. So it goes even higher up the library dependency chain, kicked from evince up to poppler up to cairo.
But sometimes it can't be dealt with locally at Ubuntu, so you log into freedesktop.org and report the problem to them there (or chime in to an existing ticket about another manifestation of a problem). Then you link the Ubuntu cairo queue ticket to the upstream fd.o cairo one.
So some domain knowledge is needed - I informally curate the Ubuntu evince queue, and kick a ticket up to poppler, then with a closer look kick it further up to cairo, then I kick that ticket up to the official cairo queue at fd.o and link the ticket (actually sometimes the chain is evince -> poppler -> cairo -> pixman, as some seeming cairo issues are actually pixman issues).
One reason I've done some curation of this is, as I demonstrated with the pdf above, Linux FLOSS pdf support is not so hot, despite the heroic efforts of Albert Astals Cid of poppler and his cohorts. So I jumped in and did some curation of Ubuntu tickets, and fd.o tickets, and even tickets of other Linux distros. I even attempted to write patches for this complex C++ program, but I lacked the time to get a handle on the code base.
In summary, it takes some domain knowledge to upstream things properly for any distro.