Over time, qpdf's grade has dropped on lgtm, but they are not
transparent about how grades are assigned. Fixing current alerts, in
my opinion, reduces clarity and maintainability of the code in the
name of performance in non-critical sections of code. Some analysis by
m-holger suggests that fixing some of the current alerts actually
degrades performance (slightly) while fixing others results in
insignificant improvements. The quality of qpdf can be measured in
other ways, such as its extensive test suite, documentation, and long
track record of reliably manipulating PDFs with high performance, few
bugs, and few external dependencies. The lgtm rating is a distraction
at best.
External libraries for Windows are now built automatically in the
qpdf/external-libs repository and include openssl in addition to zlib
and jpeg. Use these, and update the Windows build to build with the
openssl crypto provider by default. We leave the native crypto
provider enabled in case there is a problem with openssl and also to
continue to exercise that code.
Includes updates to m4/ax_cxx_compile_stdcxx.m4 to make it work with
msvc, which supports C++-11 with no flags but doesn't set __cplusplus
to a recent value.
Since the files autogen.sh creates are now controlled, you only have
to run autogen.sh when you modify the source files, not when you
build from a clean checkout.
Enhance 'build-appimage' script:
- add initial comment block and comments for all major steps in the
script for the benefit of casual users of the script
- 'configure' to build HTML + PDF documentation
- do not remove the man pages from the AppDir (will be used by custom
AppRun script)
- use a bigger icon
- use '-g' for appimagetool so it can figure out the 'updateinfo' string
on Travis CI
- output big fat warning to users who build AppImage in non-"Trusty"
environments
Add 'AppStream' metadata file
This serves to satisfy desktop environments who want to automatically
create menu entries, show screenshots and display software descriptions.
Note, this file (qpdf.appdata.xml) may need more tweaking since the
Freedesktop folks aren't exactly sure themselves how their 'standard'
should exactly look like, and they changed their validation tools
quite a bit over the recent years in incompatible ways...
Extended and enhanced customized AppRun script
- Add a '--ai-usage' invokation param to the AppImage which serves as
a starting point to explore the other embedded options
- Support displaying of manual pages by running AppImage with added
parameter '--man ...'
- Also include HTML/PDF documentation, READMEs and licenses into AppImage
- Support for more parameters: '--list-man', '--list-pdf', '--list-readme',
'--list-license', '--list-html', '--list-exe', '--pdf', '--readme',
'--license', '--html' and '--show-apprun'
- Support 'fix-pdf' and 'zlib-' as sub-commands (not just as symlinks)