Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2022-02-04 21:36:22 +00:00
|
|
|
# Copyright (c) 2019-2022 Jay Berkenbilt and Kurt Pfeifle
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
#
|
2020-10-15 19:07:02 +00:00
|
|
|
# This script is used to build an 'AppImage' from GitHub sources of
|
|
|
|
# QPDF (see https://appimage.org/). It is used in CI, but it also
|
|
|
|
# allows Linux users to build such an AppImage on their own systems.
|
|
|
|
# Please read 'README.md' from the top level Git sources to see what
|
|
|
|
# preconditions you must meet to build QPDF in general. The same apply
|
|
|
|
# to build an AppImage. Then follow these three steps:
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
#
|
|
|
|
# 1. Clone Git sources: `git clone https://github.com/qpdf/qpdf.git git.qpdf`
|
|
|
|
# 2. Change into git dir: `cd git.qpdf`
|
|
|
|
# 3. Run this script: `bash appimage/build-appimage`
|
|
|
|
#
|
2018-02-25 02:37:30 +00:00
|
|
|
# The resulting AppImage will be placed in
|
|
|
|
# './appimage/build/QPDF-x86_64.AppImage'. Read the output of the
|
|
|
|
# script for hints in case something goes wrong.
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
#
|
2018-02-25 02:37:30 +00:00
|
|
|
# You may pass custom options for the configure step by setting them
|
|
|
|
# into the 'CUSTOM_CONFIGURE' environment variable and exporting it
|
|
|
|
# before running this script. For example:
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
#
|
2022-04-02 17:59:01 +00:00
|
|
|
# export CUSTOM_CONFIGURE=" -DSOME_OTHER_OPTION=1 [...]"
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
#
|
|
|
|
# ATTENTION:
|
|
|
|
#
|
2018-02-25 02:37:30 +00:00
|
|
|
# 1. To build the AppImage you should have a working internet
|
|
|
|
# connection. Reason: the script downloads the most recent
|
|
|
|
# 'linuxdeployqt' utility for building the AppImage.
|
|
|
|
# 2. If you build the AppImage on a too recent Linux distribution,
|
|
|
|
# it may only work on the exact distribution you build it on. For
|
|
|
|
# an AppImage to work on a wide range of different distributions
|
2020-10-15 19:07:02 +00:00
|
|
|
# from the last 3-4 years if should be built on the oldest
|
|
|
|
# supported Ubuntu LTS release.
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
2018-02-18 03:41:02 +00:00
|
|
|
set -ex
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Support for signing the AppImage (only by original maintainer):
|
2018-02-19 00:57:12 +00:00
|
|
|
sign=
|
2018-02-25 02:37:30 +00:00
|
|
|
if [ "x$1" == "x--sign" ]; then
|
2018-02-19 00:57:12 +00:00
|
|
|
sign=--sign
|
|
|
|
fi
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
|
2021-12-11 22:16:05 +00:00
|
|
|
# Check Ubuntu Distribution
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
_osversion=$(cat /etc/os-release | grep PRETTY_NAME | awk -F'=' '{print $2}' | sed 's#"##g')
|
|
|
|
|
|
|
|
# Warn users building the AppImage locally:
|
2021-12-11 22:16:05 +00:00
|
|
|
if [[ ! $_osversion =~ Ubuntu\ 18.04.*\ LTS ]]; then
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
set +x
|
|
|
|
echo ""
|
2018-02-25 02:37:30 +00:00
|
|
|
# 0 1 2 3 4 5 6 7
|
|
|
|
# 01234567890123456789012345678901234567890123456789012345678901234567890123456789
|
|
|
|
echo "+===========================================================================+"
|
|
|
|
echo "|| WARNING: You are about to build a QPDF AppImage on a system which is ||"
|
2021-12-11 22:16:05 +00:00
|
|
|
echo "|| NOT Ubuntu 18.04 LTS. ||"
|
2018-02-25 02:37:30 +00:00
|
|
|
echo "|| ||"
|
|
|
|
echo "|| It is recommended that you use a distribution that is at least a ||"
|
|
|
|
echo "|| few years old to maximize the number of Linux distributions the ||"
|
|
|
|
echo "|| resulting AppImage will work on. AppImages often don't work on ||"
|
|
|
|
echo "|| distributions older than the one they were built on because of ||"
|
2021-12-11 22:16:05 +00:00
|
|
|
echo "|| standard library differences. The oldest supported Ubuntu LTS is ||"
|
|
|
|
echo "|| a good option. ||"
|
2018-02-25 02:37:30 +00:00
|
|
|
echo "+===========================================================================+"
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
echo ""
|
|
|
|
set -x
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# From where do we run this script?
|
2018-02-18 03:41:02 +00:00
|
|
|
here="$(dirname $(readlink -f "$0"))"
|
|
|
|
top=$(dirname $here)
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Move to root of GitHub sources:
|
2018-02-18 03:41:02 +00:00
|
|
|
cd $top
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Set 'appdir' environment variable name:
|
2018-02-18 03:41:02 +00:00
|
|
|
appdir=$here/build/appdir
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Clean up stuff from previous build attempts:
|
2018-02-18 03:41:02 +00:00
|
|
|
rm -rf $here/build
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Prepare build of QPDF from sources:
|
2022-03-12 01:54:48 +00:00
|
|
|
rm -rf build.appimage
|
|
|
|
mkdir build.appimage
|
|
|
|
cd build.appimage
|
|
|
|
cmake -DWERROR=1 -DBUILD_DOC=1 -DCMAKE_BUILD_TYPE=Release \
|
|
|
|
-DBUILD_DOC_DIST=1 -DINSTALL_MANUAL=1 \
|
|
|
|
-DREQUIRE_CRYPTO_GNUTLS=1 -DUSE_IMPLICIT_CRYPTO=0 \
|
2022-09-27 13:32:31 +00:00
|
|
|
-DSHOW_FAILED_TEST_OUTPUT=1 -DBUILD_STATIC_LIBS=0 \
|
|
|
|
-DCMAKE_INSTALL_RPATH='$ORIGIN/../lib' \
|
|
|
|
${CUSTOM_CONFIGURE+"$CUSTOM_CONFIGURE"} ..
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Build!
|
2022-03-12 01:54:48 +00:00
|
|
|
cmake --build . -j$(nproc)
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
2018-02-25 03:02:43 +00:00
|
|
|
if [ "$SKIP_TESTS" = "" ]; then
|
|
|
|
# Run built-in QPDF checks:
|
2022-03-12 01:54:48 +00:00
|
|
|
ctest --verbose
|
2018-02-25 03:02:43 +00:00
|
|
|
fi
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Prepare AppDir which is the basis for the AppImage:
|
2018-02-18 03:41:02 +00:00
|
|
|
mkdir -p $appdir
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Install build result into AppDir:
|
2022-03-12 01:54:48 +00:00
|
|
|
for i in lib cli doc; do
|
|
|
|
DESTDIR=$appdir cmake --install . --prefix /usr --component $i
|
|
|
|
done
|
|
|
|
find $appdir
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Change into build directory:
|
2018-02-18 03:41:02 +00:00
|
|
|
cd $here/build
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Copy icon which is needed for desktop integration into place:
|
2018-02-25 03:02:43 +00:00
|
|
|
for width in 64 128 256 512; do
|
|
|
|
dir=appdir/usr/share/icons/hicolor/${width}x${width}/apps
|
|
|
|
mkdir -p $dir
|
2018-02-25 19:17:16 +00:00
|
|
|
inkscape -z -e qpdf-tmp.png -w $width -b white $top/logo/qpdf.svg
|
|
|
|
convert qpdf-tmp.png -gravity center -background white -extent ${width}x${width} $dir/qpdf.png
|
|
|
|
rm qpdf-tmp.png
|
2018-02-18 03:41:02 +00:00
|
|
|
done
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Copy .desktop and .appdata.xml metadata for desktop integration into place:
|
2018-02-25 02:37:30 +00:00
|
|
|
for i in appdir/usr/share/applications; do
|
|
|
|
mkdir -p $i
|
|
|
|
cp $top/appimage/qpdf.desktop $i
|
|
|
|
done
|
|
|
|
for i in appdir/usr/share/metainfo; do
|
|
|
|
mkdir -p $i
|
|
|
|
cp $top/appimage/qpdf.appdata.xml $i
|
|
|
|
done
|
|
|
|
for i in appdir/usr/share/doc/qpdf; do
|
|
|
|
mkdir -p $i
|
|
|
|
cp $top/README* $i
|
|
|
|
cp $top/NOTICE.md $i/README-notice.md
|
|
|
|
cp $top/LICENSE.txt $i
|
|
|
|
cp $top/Artistic-2.0 $i/Artistic-LICENSE.txt
|
|
|
|
cp $top/ChangeLog $i/README-ChangeLog
|
|
|
|
cp $top/TODO $i/README-todo
|
|
|
|
done
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
2018-02-25 02:37:30 +00:00
|
|
|
# The following lines are experimental (for debugging; and to test
|
|
|
|
# support for unexpected future binaries added to QPDF):
|
|
|
|
for i in /usr/bin/env /bin/less /bin/busybox; do
|
|
|
|
cp $i appdir/usr/bin/
|
|
|
|
done
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
ls -l /usr/bin/env /bin/less /bin/busybox
|
|
|
|
|
|
|
|
# Fetch 'linuxdeployqt' which will transform the AppDir into an AppImage:
|
2018-02-18 03:41:02 +00:00
|
|
|
wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
|
|
|
|
chmod a+x linuxdeployqt*.AppImage
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Set up a clean environment:
|
2022-04-02 17:59:01 +00:00
|
|
|
unset QTDIR; unset QT_PLUGIN_PATH
|
|
|
|
|
|
|
|
# Since cmake strips runpath information for executables and we are
|
|
|
|
# installing with DESTDIR, we need to set LD_LIBRARY_PATH or else ldd
|
|
|
|
# will fail on the resulting executables
|
2022-04-09 21:33:18 +00:00
|
|
|
export LD_LIBRARY_PATH=$(dirname $(find $appdir -type l -name 'libqpdf.so.*'))
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Let 'linuxdeployqt' do its first stage of work:
|
2018-02-18 03:41:02 +00:00
|
|
|
./linuxdeployqt*.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
2018-02-18 03:41:02 +00:00
|
|
|
# In addition to the main executable, we have additional ones to process
|
|
|
|
./linuxdeployqt*.AppImage appdir/usr/bin/zlib-flate -bundle-non-qt-libs
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
2018-02-25 02:37:30 +00:00
|
|
|
# To eventually generate the AppImage we extract the linuxdeployqt
|
|
|
|
# AppImage to get access to the embedded 'appimagetool':
|
2018-02-18 03:41:02 +00:00
|
|
|
./linuxdeployqt*.AppImage --appimage-extract
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
2018-02-25 02:37:30 +00:00
|
|
|
# We want to run our custom AppRun script.
|
|
|
|
# Replace symlink with custom script
|
|
|
|
rm appdir/AppRun; cp $top/appimage/AppRun appdir; chmod a+x appdir/AppRun
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# If we are not on Ubuntu Trusty, we need to disable 'appstreamcli' validation:
|
2018-02-25 02:38:02 +00:00
|
|
|
if [[ $_osversion =~ Ubuntu\ 14.04.*\ LTS ]]; then
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
appimagetool_param=""
|
|
|
|
else
|
|
|
|
appimagetool_param="-n"
|
|
|
|
set +x
|
|
|
|
echo ""
|
|
|
|
echo " Running 'appimagetool' with '-n' parameter..."
|
2020-10-15 19:07:02 +00:00
|
|
|
echo " Reason: this does not seem to be a build running on"
|
2018-02-25 02:37:30 +00:00
|
|
|
echo " Ubuntu Trusty 14.04."
|
|
|
|
echo " '-n' disables checking of AppStream data by the 'appstreamcli'"
|
|
|
|
echo " utility since post-Trusty versions have incompatible changes."
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
echo ""
|
|
|
|
set -x
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Set up a version string to include in the AppImage name
|
|
|
|
MAJOR_QPDF_VERSION=$( ./appdir/usr/bin/qpdf --version | grep "qpdf version" | awk '{print $3}' )
|
2018-02-25 19:54:46 +00:00
|
|
|
declare -a UPDATE_INFO
|
2020-10-15 19:07:02 +00:00
|
|
|
VERSION=${MAJOR_QPDF_VERSION}
|
|
|
|
UPDATE_INFO=(-u "gh-releases-zsync|qpdf|qpdf|latest|qpdf-*x86_64.AppImage.zsync")
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Remove the default AppRun/symlink and use our own custom AppRun script
|
2018-02-25 02:37:30 +00:00
|
|
|
rm appdir/AppRun; cp $top/appimage/AppRun appdir; chmod a+x appdir/AppRun
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
|
|
|
# Finally, generate the AppImage:
|
2018-02-25 19:54:46 +00:00
|
|
|
PATH=./squashfs-root/usr/bin:$PATH ./squashfs-root/usr/bin/appimagetool $sign $UPDATE_FLAG ${UPDATE_INFO[*]} $appimagetool_param appdir qpdf-$VERSION-x86_64.AppImage
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
|
2018-02-25 19:54:46 +00:00
|
|
|
set +x
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
# Tell everyone where our result is stored:
|
2018-02-18 03:41:02 +00:00
|
|
|
echo ""
|
2018-02-25 02:37:30 +00:00
|
|
|
echo "============================================================================="
|
Enhancements to AppImage
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)
2018-02-24 23:38:44 +00:00
|
|
|
echo " === AppImage is ready in $top/appimage/build ==="
|
2018-02-25 02:37:30 +00:00
|
|
|
echo "============================================================================="
|
2018-02-18 03:41:02 +00:00
|
|
|
echo ""
|