Skip to content

Latest commit

 

History

History
145 lines (133 loc) · 11.2 KB

CHANGELOG.md

File metadata and controls

145 lines (133 loc) · 11.2 KB

0.11.0

  • Change how patch failures are handled. Previously patch failures were ignored and could be easily overlooked, now a failure in applying/reading a patch results in termination of a job
  • Fix checks for default runtime socket
  • Fix dependencies resolution for custom images. As stated in the documentation, when there are dependencies specified for a simple image like pkger-rpm they should be shared with custom RPM based distros. Previously this was not the case.

0.10.0

  • Add support for env variables in git source url
  • Fix builds using podman runtime
  • Remove podman configuration option and cli parameter. pkger will automatically determine wether the provided uri is a Podman or Docker daemon.
  • Fix filesystem sources not being extracted in the container

0.9.0

  • Rename --docker-uri option to --runtime-uri and make it global (no longer part of build and init command)
  • Rename docker_uri configuration option to runtime_uri
  • Add --podman global option and podman boolean configuration option that decides wether Podman runtime should be used for containers.
  • git dependency is no longer needed in a build image as pkger will now clone the repository by itself and upload it to the container
  • Support for standard proxy environment variables like http_proxy, https_proxy and no_proxy when pulling a repository
  • Output of list command is now sorted alphabetically
  • Cleanup build spawning logic. There is now a maximum number of builds which is number of cpus of docker/podman host.
  • Add ability to specify multiple sources
  • Fix uploading local file/directory sources
  • Add RPM description as summary when summary not provided
  • Update repositories and install dependencies in the same step so that the update layer doesn't get cached. It caused problems when a new package was added to a repository but not seen when trying to install the dependencies
  • Add a subcommand to remove a recipe or an image
  • Add a way to specify multiple versions for a recipe
  • Add a versions field to cmd to specify on which versions of recipe to run a command
  • Add a way to specify a base recipe with from: base-recipe. More information in the docs
  • Add --no-color option that disables colored output
  • Add --output-dir flag to build subcommand to override output directory for this build
  • Add no_color config option to disable color output globally in configuration
  • Add check connection subcommand that verifies the connection to the container runtime
  • Add aliases for most common subcommands like rm for remove, ls for list, b for build and so on

0.8.0

  • Dependencies defined for default images like pkger-deb or pkger-rpm will be used for custom images using the same output target. This means that all images used for building RPM will use dependencies defined for pkger-rpm - cleaner recipes ;)
  • Add a copy subcommand that can copy a recipe or an image #80
  • Fix heavy cpu consumption. pkger would consume a whole cpu core constantly just for checking the ctrl-c signal.
  • Clean repository cache before installing dependencies
  • Add a way to specify postinst script during DEB build
  • Filter out invalid characters from the containers name. This could happen when a package contained characters not matching [a-zA-Z0-9_.-] regex.
  • Add revision number to DEB package name
  • Add a way to apply patches only on specified images.
  • Add --log-dir flag as well as log_dir config setting to specify directory where all output should end up.
  • Remove --filter flag and filter config setting.

0.7.0

  • Add DEBIAN_FRONTEND=noninteracitve when doing a DEB build so that when tzdata is installed as dependency it won't stop a build
  • Don't use setarch when arch is all/noarch
  • Make Ctrl-C cancellation instantaneous, no more waiting for the jobs to finish
  • Use Rocky Linux for simple RPM builds
  • Add alpine APK target #75
  • Add print-completions subcommand that prints shell completions to stdout. Supported shells are: bash, zsh, fish, powershell, elvish
  • Add option to upload private signing key for APK build
  • Use Debian for simple DEB builds
  • Add configuration option to change default docker images used for simple builds

0.6.0

  • Use default OS config directory instead of home directory to read the configuration file by default.
  • Add init subcommand that creates necessary directories and adds a configuration file.
  • Add edit subcommand that invokes $EDITOR and lets users easily edit recipes and images with the default editor.
  • Remove gen-recipe subcommand and add new <recipe|image> subcommand that creates the directories for the new recipes and images as well as the files inside.
  • Add ability to specify the same set of dependencies for multiple images at once by joining the names with the + sign like this: image1+image2+image3: [ package1, package2 ]
  • Add --raw flag to list subcommand to disable colored output.
  • Add --verbose flag to list subcommand to display additional fields.
  • When building a rpm package a src.rpm will be downloaded as well.

0.5.0

  • If at least one task fails to build pkger will now return with exit code 1 #66
  • --quiet flag now suppresses only container output, normal info output is still available #67
  • pkger build will now display a warning with instructions on how to start a build #68
  • Use appropriate cache dir on each OS to store images state #71
  • Automatically calculate Installed-Size when building DEB packages #72
  • Users can now specify filter in the configuration so that if one wants to format the output in a particular way on each build they don't have to pass the --filter CLI parameter every time.
  • Fix a typo in deb field - enchances -> enhances
  • Images are now be defined in the global configuration file. Previously users would have to define an image with a target or os on each recipe, now recipe only requires the image name , and the definition is in the configuration. WARNING! this makes old state files not compatible and requires manual deletion of $XDG_CACHE_HOME/pkger.state file. #73
  • Add list packages subcommand that lists built packages from output directory.
  • Add clean-cache subcommand that deletes the cached state from OS. Use this to migrate pkger to the newest version.
  • Improved error messages during initialization now contain full context of how the error originated.
  • Save image state only when it changed.
  • Automatically convert _ to - when building a DEB. Debian packages don't allow underscores in package names.
  • Add all_images field to recipe metadata so that if a recipe is used with all images they don't have to be listed one by one.
  • Add a warning when image specified as cli arg is not found in recipe image targets.
  • Add support for extracting all types of tar archives as source.
  • Fix rpm build not working when packaging files with spaces.
  • Add an option to set AutoReqProv value during RPM build (used to disable automatic dependency processing).
  • Add RECIPE, RECIPE_VERSION, RECIPE_RELEASE environment variables that can be used during the build.
  • Enable usage of environment variables for working_dir and source fields of recipe. This can greatly reduce the number of changes one has to make when adding a recipe for other version. #74

0.4.0

  • Add an option to sign RPMs with a GPG key #55
  • Add an option to sign DEBs with a GPG key #56
  • Fix image caching
  • Add forward_ssh_agent configuration option to forward the SSH authentication socket from the host machine to the container. #58
  • Add --no-sign command line argument to build command so that users can disable signing for the particular build even when the gpg signing is enabled in the configuration.
  • Move forward_ssh_agent option to ssh configuration and rename it to forward_agent #60
  • Add disable_key_verification to ssh configuration #60
  • Add a warning when trying to build a recipe without a target
  • Fix applying patches with relative paths #64
  • Recipes can now have a recipe.yml or recipe.yaml file where previously only .yml was accepted #64

0.3.0

  • Configure script now has a working directory set to $PKGER_BLD_DIR
  • Recipes and config files now use YAML syntax #52
  • Add extra field to metadata that specifies image os if pkger fails to find it out
  • Add ability to apply patches to source based on target image
  • Directory structure of output_dir changed, now all images have a separate directory with output packages
  • Fix ubuntu builds
  • Add list < recipes | images > subcommand

0.2.1

  • Fix setting default working directory in build and install phase

0.2.0

  • pkger doesn't start a build by default, there is a separate subcommand build for that now. #22
  • Add gen-recipe subcommand to declaratively generate recipes #22
  • Build and install scripts now correctly have a working directory set #23
  • Allow overwriting default working directory of each script phase #24
  • Add option to change default shell in recipe scripts #26
  • Excluding paths from final package now works #36
  • Actually check if image should be rebuilt in docker #37
  • Cache images with dependencies installed, a lot of data saved on pulled dependencies #38
  • Dependencies now use the TOML syntax instead of a custom one #39
  • Commands in configure, build and install scripts now use TOML syntax #40
  • Add --trace option that sets log level of pkger to trace and make --debug actually set debug
  • Add some more fields for RPM builds, rename section to group and use it for RPM as well as DEB #41
  • Separate RPM and DEB fields in recipe metadata #42
  • Add missing fields for DEB builds, add url field to metadata #43
  • Add initial PKG target #44
  • Make release and epoch fields of metadata global rather than RPM specific
  • Add some missing extra fields in metadata for PKG #45
  • Add optional boolean flags in recipe scripts that specify on which targets each command should be run
  • Add a simple oneshot build without custom images #46