Released 2024-06-24
- update
requires-python
to>=3.6
to enable installation on old systems - small docs fixes
Released 2024-04-03
- new custom template variables support
- new template.variables config section
- extend
apkg status
command with template variables sources status - new
apkg info template-variables
command- show all template variables by default
- show custom variables per source with
--custom
deb
pkgstyle: include*.changes
files insrcpkg
/build
output- many debian tools and workflows require
*.changes
files - comply
- many debian tools and workflows require
- fix incorrect parsing of single compnent versions (
1
,20240101
, etc.)
- updated and overhauled installation docs
- new platform support docs with detailed information about Python versions and distros supported by apkg
Released 2023-08-08
- re-introduce
cached_property
requirement to support Python <= 3.7
Released 2023-07-19
- use modern python packaging through
pyproject.toml
- use
hatchling
for build - use PEP440 compatible versioning
- support legacy
setuptools
for 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) andblessings
for colors
- use
arch
pkgstyle improvements:- support Manjaro
- only install
--needed
distro packages - require base-devel for
apkg system-setup
deb
pkgstyle improvements:- support Pop_OS! (Ubuntu derivative)
- only require build-essential (not devscripts) on
apkg system-setup
- sort
SUPPORTED_DISTROS
alphabetically
- fix distro alias ordering during template selection
- handle exceptions introduced by upstream
packaging.version
changes
Released 2022-07-18
- 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.json
apkg clean --hard
: HARD RESET project from VCS and remove extra files
- new
include_raw
tag available from templates to include files without templating - support for AlmaLinux in
rpm
pkgstyle (almalinux
)
- command runner was refactored using
asyncio
run()
cantee
command output - it's finally possible to both read and displaystdout
at the same time resulting in better real-time/log output and debugging when invoking external commandsrun()
logging was fixed and improved, use-L verbose
to 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
- fix package manager detection in
rpm
pkgstyle - parse
makedepends
as well asdepends
inarch
pkgstyle - fix
--archive
/--upstream
operation inbuild-dep
- don't install 0 build deps
- use temporary dir for archive unpack (more reliable)
Released 2021-11-04
- follow symlinks when rendering templates
Released 2021-11-03
- better distro handling
- distro rules to specify particular distro version range
- distro aliases to conveniently refer to custom distro sets
- magic
distro
variable 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
now
template variable available indeb
andrpm
pkgstyles (for changelog dates)
- new
apkg compat
command and compat docs apkg
will refuse to work with projects with newer compat level- new minimal templating example
examples/templates
- sort
apkg srcpkg
output for determinism - update and extend docs (new pages: compat, distro, users)
- fix false positive cache hits in special cases
- CI fixes and improvements
Released 2021-07-13
- support Rocky Linux through
rpm
pkgstyle - support Nix through new
nix
pkgstyle - align
apkg install
with other commands and extend functionality - extend CI to test
apkg install
on 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
htmllistparse
dependency in favor of usingbeautifulsoup4
directly
- handle unset
$PWD
when running external commands - fail on unexpected input files in
srcpkg
- fix docs build
apkg install
now works on project source by default like other commands (srcpkg
,build
). Old behavior of installing custom packages is available through-C
/--custom-pkgs
option.-i
/--install-dep
option ofapkg build
was renamed to-b
/--build-dep
to remove ambiguity. Old alias still works but it's deprecated an will be removed in future versions.
Released 2021-06-09
- first apkg beta release