apkg news¶
apkg 0.7.1¶
Released 2025-10-23
Improvements¶
- Python 3.14 is now supported and tested in CI
apkg 0.7.0¶
Released 2025-09-22
Compat Level 6 News¶
- flexible YAML output for
make_archive_script,
version_script,
make-archive, and
get-archive
- make_archive_script can specify
explicit
version - make_archive_script can produce
additional files (
components) - backward compatibility with previous behavior is retained for
compat< 6
- make_archive_script can specify
explicit
- new
-P/--path-formatglobal option to control howapkgprints output paths SOURCE_DATE_EPOCHsupport innowtemplate variable for build reproducibility
Fixes¶
- adapt apkg build-dep and apkg test-dep
for incompatible changes in Click 8.3.0 which resulted in
--listsuddenly being default (?!)
apkg 0.6.1¶
Released 2025-06-20
Fixes¶
- reintroduce
tomldep for older systems with Python < 3.11
apkg 0.6.0¶
Released 2025-06-19
Compat Level 5 News¶
- new apkg lint command to invoke native distro linters (
lintian,rpmlint) - improved apkg system-setup command including new
--lintoption to install linting deps - new apkg info apkg-deps command to show dependencies colored for easy debugging
- new distro_like template variable module for detecting similar distros
rpm: evaluate RPM macros usingrpmspecif availableapkgnow works with.specfiles using complex macros including macros inName
- template variables are now always passed when rendering templates
- some
pkgstylefunctions previously rendered templates directly without template variables which lead to errors in special cases
- some
apkg.templatevars.debseriesmodule was renamed todeb_seriesfor consistency- old
debseriesmodule is still supported for the time being, it emits a warning when used
- old
Improvements¶
- Python 3.13 is now supported and tested in CI
- new distros are now supported and tested in CI:
- Debian 13 Trixie
- Ubuntu 25.04 Plucky Puffin and 24.10 Oricular Oriole
- Enterprise Linux 10: RHEL 10, AlmaLinux 10, Rocky 10
- Fedora 42 and 41
- lighten dependencies:
- drop
hatchlingbuild dep in favor ofsetuptools - drop
dunamaibuild dep in favor of custom solution
- drop
- improved handling of unreleased / versionless distros, including Debian testing, unstable, experimental
- new
util.tomlmodule for robust runtime TOML libs selection- supports
tomllib(standard library since Python 3.11),tomli,toml,tomlkitmodules for TOML loading - supports
tomli_w,toml,tomlkitfor TOML dumping
- supports
- improved logging of function names when using
-L verboseand-L debug - big packaging guide upgrade
- new fancy Mermaid diagrams
- updated workflow with
install,test,lintcommands - new
added_in_versionmacro to provide consistent version / compat information
apkg 0.5.1¶
Released 2024-06-24
Fixes¶
- update
requires-pythonto>=3.6to enable installation on old systems - small docs fixes
apkg 0.5.0¶
Released 2024-04-03
Compat Level 4 News¶
- new custom template variables support
- new template.variables config section
- extend
apkg statuscommand with template variables sources status - new
apkg info template-variablescommand- show all template variables by default
- show custom variables per source with
--custom
debpkgstyle: include*.changesfiles insrcpkg/buildoutput- many debian tools and workflows require
*.changesfiles - comply
- many debian tools and workflows require
- fix incorrect parsing of single compnent versions (
1,20240101, etc.)
Improvements¶
- updated and overhauled installation docs
- new platform support docs with detailed information about Python versions and distros supported by apkg
apkg 0.4.2¶
Released 2023-08-08
Fixes¶
- re-introduce
cached_propertyrequirement to support Python <= 3.7
apkg 0.4.1¶
Released 2023-07-19
Improvements¶
- use modern python packaging through
pyproject.toml- use
hatchlingfor build - use PEP440 compatible versioning
- support legacy
setuptoolsfor backward compat - improve archive and sdist generation
- improve Debian packaging (pyproject build on Debian 12 and newer)
- rename distro package to just
apkg - support both
blessed(maintained fork) andblessingsfor colors
- use
archpkgstyle improvements:- support Manjaro
- only install
--neededdistro packages - require base-devel for
apkg system-setup
debpkgstyle improvements:- support Pop_OS! (Ubuntu derivative)
- only require build-essential (not devscripts) on
apkg system-setup - sort
SUPPORTED_DISTROSalphabetically
Fixes¶
- fix distro alias ordering during template selection
- handle exceptions introduced by upstream
packaging.versionchanges
apkg 0.4.0¶
Released 2022-07-18
Compat Level 3 News¶
- new apkg test packaging tests runner based on Debian
autopkgtest - new apkg info command with subcommands to display various info:
apkg info cache: show apkg cache contentsapkg info config: show apkg project configurationapkg info distro: show current distro informationapkg info distro-aliases: list available distro aliasesapkg info pkgstyles: list available packaging stylesapkg info upstream-version: show detected project upstream version
- new apkg clean command to clean output dir
pkg/apkg clean: remove apkg output directorypkg/apkg clean --cache: remove apkg cache filepkg/.cache.jsonapkg clean --hard: HARD RESET project from VCS and remove extra files
- new
include_rawtag available from templates to include files without templating - support for AlmaLinux in
rpmpkgstyle (almalinux)
Improvements¶
- command runner was refactored using
asynciorun()canteecommand output - it's finally possible to both read and displaystdoutat the same time resulting in better real-time/log output and debugging when invoking external commandsrun()logging was fixed and improved, use-L verboseto see all commands run in the background
- cache was refactored to be more flexible and reliable in edge cases
- cache false positives should no longer appear
- individual cache targets can be configured indpendently
- only source cache is disabled when VCS isn't available
- new cache docs as well as updated other docs with useful info and links
- new minimal example project
examples/minimal-no-git
Fixes¶
- fix package manager detection in
rpmpkgstyle - parse
makedependsas well asdependsinarchpkgstyle - fix
--archive/--upstreamoperation inbuild-dep - don't install 0 build deps
- use temporary dir for archive unpack (more reliable)
apkg 0.3.1¶
Released 2021-11-04
Fixes¶
- follow symlinks when rendering templates
apkg 0.3.0¶
Released 2021-11-03
Compat Level 2 News¶
- better distro handling
- distro rules to specify particular distro version range
- distro aliases to conveniently refer to custom distro sets
- magic
distrovariable in templates for dynamic templating
- new flexible template selection
- new config options to control special files in templates using patterns:
- template.ignore_files to ignore/skip files
- template.plain_copy_files to copy files without templating
- support Jinja's include tag
- new
nowtemplate variable available indebandrpmpkgstyles (for changelog dates)
Improvements¶
- new
apkg compatcommand and compat docs apkgwill refuse to work with projects with newer compat level- new minimal templating example
examples/templates - sort
apkg srcpkgoutput for determinism - update and extend docs (new pages: compat, distro, users)
Fixes¶
- fix false positive cache hits in special cases
- CI fixes and improvements
apkg 0.2.0¶
Released 2021-07-13
Improvements¶
- support Rocky Linux through
rpmpkgstyle - support Nix through new
nixpkgstyle - align
apkg installwith other commands and extend functionality - extend CI to test
apkg installon supported distros - extend CI with new integration tests against apkg itself to ensure full apkg
pipeline (including
install) works on supported distros - improve apkg archive creation script
make-archive.sh - remove problematic
htmllistparsedependency in favor of usingbeautifulsoup4directly
Fixes¶
- handle unset
$PWDwhen running external commands - fail on unexpected input files in
srcpkg - fix docs build
Incompatible Changes ⚠¶
apkg installnow works on project source by default like other commands (srcpkg,build). Old behavior of installing custom packages is available through-C/--custom-pkgsoption.-i/--install-depoption ofapkg buildwas renamed to-b/--build-depto remove ambiguity. Old alias still works but it's deprecated an will be removed in future versions.
apkg 0.1.1¶
Released 2021-06-09
- first apkg beta release