Loading CHANGES +16 −2 Original line number Diff line number Diff line Loading @@ -5,6 +5,21 @@ - Nothing changed yet. 0.9.1 (2025-08-03) ------------------ * Fix missing localization files in distribution. Actually all translations have been missing. * Fix missing translation for Python < 3.10 argparse. * Update translations. * Add missing copyright texts, license identifiers and license files. * Lots of cleanup to the test, build and packaging process. 0.9.post2 (2025-07-28) ---------------------- Loading Loading @@ -140,8 +155,7 @@ Licensed under the GNU Free Documentation License v1.3 or any later version. SPDX-License-Identifier: GFDL-1.3-or-later ... Local Variables: .. Local Variables: mode: rst ispell-local-dictionary: "american" End: MANIFEST.in +1 −0 Original line number Diff line number Diff line Loading @@ -8,4 +8,5 @@ include INSTALL include README.txt include pdfposter.rst include */locale/*.pot include */locale/*/*/*.po global-exclude SConstruct SConscript README.txt +12 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,18 @@ For more information please refer to the manpage or visit the `project homepage <https://pdfposter.readthedocs.io/>`_. Translating Weblate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``Pdfposter`` and its siblings are continually being translated using `Codeberg Translate`__. Feel free to take your part in the effort of making ``pdfposter`` available in as many human languages as possible. It brings ``pdfposter`` closer to its users! __ https://translate.codeberg.org/projects/pdftools/ Requirements and Installation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Loading SConstruct +2 −3 Original line number Diff line number Diff line Loading @@ -48,13 +48,12 @@ env.Command('docs/pdfposter.html', 'pdfposter.rst', 'build-aux/gen-man-page.py $SOURCE html $TARGET') env.Command('docs/pdfposter.1', 'pdfposter.rst', 'build-aux/gen-man-page.py $SOURCE manpage $TARGET') # create PNG projectlogo for project homepage env.Command('projectlogo.png', 'projectlogo.svg', 'inkscape -z -f $SOURCE -e $TARGET --export-height=100') 'inkscape --export-filename=$TARGET --export-height=100 $SOURCE') hires_logo = env.Command('build/icons/projectlogo-hires.png', 'projectlogo.svg', 'inkscape -z -f $SOURCE -e $TARGET') 'inkscape --export-filename=$TARGET $SOURCE') icon_parts = [ env.Command('build/icons/project-${WIDTH}x${HEIGHT}.pnm', hires_logo, Loading _zest_release_hooks.py 0 → 100644 +76 −0 Original line number Diff line number Diff line import subprocess import sys import os import glob import shutil import zest.releaser.utils def compile_message_catalogs(data): print("Compiling catalogs") # running via setuptools to get arguments from setup.cfg subprocess.run([ sys.executable, '-c', 'from setuptools import *; setup()', "compile_catalog", "--statistics"]) print("Done") def build_man_pages(data): print("Building man-pages") for rstfile, writer, outfile in ( ('pdfposter.rst', 'manpage', 'docs/pdfposter.1'), ('pdfposter.rst', 'html5', 'docs/pdfposter.html'), ): subprocess.run([ sys.executable, 'build-aux/gen-man-page.py', '--version', data['version'], rstfile, writer, outfile]) print("Done") def sign_release(data): "Sign the archive that will be uploaded to PYPI." # zest.releaser does a clean checkout where it generates tgz/zip in 'dist' # directory and those files will be then uploaded to pypi. dist_dir = os.path.join(data['tagdir'], 'dist') cmd = ['gpg', '--detach-sign', '--armor'] codesigning_id = os.getenv("CODESIGNING_ID") if not codesigning_id: rc, codesigning_id = subprocess.getstatusoutput( "git config --get user.signingkey") if rc: raise SystemExit(f"ERROR in sign_release hook: {codesigning_id}") codesigning_id = None if codesigning_id: print("Using gpg identity", codesigning_id, "for signing.") cmd.extend(['--local-user', codesigning_id]) # Sign all files in the 'dist' directory. for f in list(os.listdir(dist_dir)): f = os.path.join(dist_dir, f) print('Signing file %s' % f) subprocess.run(cmd + [f]) def run_twine_check(data): import twine.cli dist_dir = os.path.join(data['tagdir'], 'dist') dist_files = list(glob.glob(os.path.join(dist_dir, "*"))) twine.cli.dispatch(["check"] + dist_files) def safe_dist_files(data): repo_dist_dir = os.path.join(data['reporoot'], 'dist') dist_dir = os.path.join(data['tagdir'], 'dist') dist_files = glob.glob(os.path.join(dist_dir, "*")) for fn in sorted(os.listdir(dist_dir)): src = os.path.join(dist_dir, fn) dest = os.path.join(repo_dist_dir, fn) if (os.path.exists(dest) and not zest.releaser.utils.ask("Overwrite dist/%s" % fn, default=True)): # skip this file print("Skipping", fn) continue print("Saving", fn) shutil.copy2(src, dest) Loading
CHANGES +16 −2 Original line number Diff line number Diff line Loading @@ -5,6 +5,21 @@ - Nothing changed yet. 0.9.1 (2025-08-03) ------------------ * Fix missing localization files in distribution. Actually all translations have been missing. * Fix missing translation for Python < 3.10 argparse. * Update translations. * Add missing copyright texts, license identifiers and license files. * Lots of cleanup to the test, build and packaging process. 0.9.post2 (2025-07-28) ---------------------- Loading Loading @@ -140,8 +155,7 @@ Licensed under the GNU Free Documentation License v1.3 or any later version. SPDX-License-Identifier: GFDL-1.3-or-later ... Local Variables: .. Local Variables: mode: rst ispell-local-dictionary: "american" End:
MANIFEST.in +1 −0 Original line number Diff line number Diff line Loading @@ -8,4 +8,5 @@ include INSTALL include README.txt include pdfposter.rst include */locale/*.pot include */locale/*/*/*.po global-exclude SConstruct SConscript
README.txt +12 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,18 @@ For more information please refer to the manpage or visit the `project homepage <https://pdfposter.readthedocs.io/>`_. Translating Weblate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``Pdfposter`` and its siblings are continually being translated using `Codeberg Translate`__. Feel free to take your part in the effort of making ``pdfposter`` available in as many human languages as possible. It brings ``pdfposter`` closer to its users! __ https://translate.codeberg.org/projects/pdftools/ Requirements and Installation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Loading
SConstruct +2 −3 Original line number Diff line number Diff line Loading @@ -48,13 +48,12 @@ env.Command('docs/pdfposter.html', 'pdfposter.rst', 'build-aux/gen-man-page.py $SOURCE html $TARGET') env.Command('docs/pdfposter.1', 'pdfposter.rst', 'build-aux/gen-man-page.py $SOURCE manpage $TARGET') # create PNG projectlogo for project homepage env.Command('projectlogo.png', 'projectlogo.svg', 'inkscape -z -f $SOURCE -e $TARGET --export-height=100') 'inkscape --export-filename=$TARGET --export-height=100 $SOURCE') hires_logo = env.Command('build/icons/projectlogo-hires.png', 'projectlogo.svg', 'inkscape -z -f $SOURCE -e $TARGET') 'inkscape --export-filename=$TARGET $SOURCE') icon_parts = [ env.Command('build/icons/project-${WIDTH}x${HEIGHT}.pnm', hires_logo, Loading
_zest_release_hooks.py 0 → 100644 +76 −0 Original line number Diff line number Diff line import subprocess import sys import os import glob import shutil import zest.releaser.utils def compile_message_catalogs(data): print("Compiling catalogs") # running via setuptools to get arguments from setup.cfg subprocess.run([ sys.executable, '-c', 'from setuptools import *; setup()', "compile_catalog", "--statistics"]) print("Done") def build_man_pages(data): print("Building man-pages") for rstfile, writer, outfile in ( ('pdfposter.rst', 'manpage', 'docs/pdfposter.1'), ('pdfposter.rst', 'html5', 'docs/pdfposter.html'), ): subprocess.run([ sys.executable, 'build-aux/gen-man-page.py', '--version', data['version'], rstfile, writer, outfile]) print("Done") def sign_release(data): "Sign the archive that will be uploaded to PYPI." # zest.releaser does a clean checkout where it generates tgz/zip in 'dist' # directory and those files will be then uploaded to pypi. dist_dir = os.path.join(data['tagdir'], 'dist') cmd = ['gpg', '--detach-sign', '--armor'] codesigning_id = os.getenv("CODESIGNING_ID") if not codesigning_id: rc, codesigning_id = subprocess.getstatusoutput( "git config --get user.signingkey") if rc: raise SystemExit(f"ERROR in sign_release hook: {codesigning_id}") codesigning_id = None if codesigning_id: print("Using gpg identity", codesigning_id, "for signing.") cmd.extend(['--local-user', codesigning_id]) # Sign all files in the 'dist' directory. for f in list(os.listdir(dist_dir)): f = os.path.join(dist_dir, f) print('Signing file %s' % f) subprocess.run(cmd + [f]) def run_twine_check(data): import twine.cli dist_dir = os.path.join(data['tagdir'], 'dist') dist_files = list(glob.glob(os.path.join(dist_dir, "*"))) twine.cli.dispatch(["check"] + dist_files) def safe_dist_files(data): repo_dist_dir = os.path.join(data['reporoot'], 'dist') dist_dir = os.path.join(data['tagdir'], 'dist') dist_files = glob.glob(os.path.join(dist_dir, "*")) for fn in sorted(os.listdir(dist_dir)): src = os.path.join(dist_dir, fn) dest = os.path.join(repo_dist_dir, fn) if (os.path.exists(dest) and not zest.releaser.utils.ask("Overwrite dist/%s" % fn, default=True)): # skip this file print("Skipping", fn) continue print("Saving", fn) shutil.copy2(src, dest)