Releases: bazelbuild/rules_pkg
0.10.1
Release 0.10.1
This is a bug fix release.
Bug Fixes
* Temporarily restore //mappings.bzl and //pkg.bzl (#817)
* Fix RPM package release and version files expansion (#816)
* Apply tar remap_paths to runfiles full paths (#812)
* Use raw string for docstring that contains a backslash (for Python 3.12) (#815)
Thanks to: Alex Bozhenko, Chuck Grindel, Diego Ortin, and Tomasz Wojno
MODULE.bazel setup
bazel_dep(name = "rules_pkg", version = "0.10.1")
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://github.com/bazelbuild/rules_pkg/releases/download/0.10.1/rules_pkg-0.10.1.tar.gz",
],
sha256 = "d250924a2ecc5176808fc4c25d5cf5e9e79e6346d79d5ab1c493e289e722d1d0",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules
See the docs.
0.10.0
New Features
- Allow $(var) substitution in filenames (#620)
- Rough prototype of
@since
processing. (#617) - First cut at runfiles support in pkg_* rules (#605)
- Allow substitution of user-defined variables in RPM preamble (#787)
- Add %posttrans scriptlet to RPM package (#799)
- Allow additional RPM macro defines (#794)
- Bring tar runfiles up to feature parity with pkg_files.runfiles. (#754)
- Add support for
Obsoletes
tag in RPM definition (#778) - pkg_deb: allow data.tar.zst (#761)
- Add support for failing on file conflicts. (#683)
- Make pkg_zip compression configurable (#737)
- Append changelog to RPM spec file (#726)
- Add basic include_runfiles to pkg_files. (#724)
- Add changelog attribute to pkg_deb (#725)
- Add support for setting uid/gid from pkg_attributes (#671)
Bug Fixes
- Explicitly set the FILE bit in zip external attributes. (#802)
- Explicitly set
%{_builddir}
macro (#792) - Only inject pre and post scriptlets when provided (#788)
- Don't load cc toolchain from rules_cc (#779)
- doc: Fixup external manual references (#777)
- Get bzlmod working in CI (#766)
- use runfiles from rules_python (#768)
- When pkg_tar.prefix_dir == base of symlink path, don't double-dip. (#749)
- add imports to fix bazel --noexperimental_python_import_all_repositories flag (#630)
- Align pkg_rpm returned files with other rules (#692)
- fix(pkg_tar): properly normalize paths for empty files (#760)
- Document that package_dir also uses package_variables (#747)
- Fix handling paths with whitepsaces (#733)
- Fix python 3.6, doesn't support compresslevel
- Use Gzip compress level 6 (#720)
- write debian Date field in UTC rather than local time (#712)
- [pkg_deb] Fix multiline fields in changes file (#691)
Incompatible Changes
- Remove PackageArtifactsInfo. (#752)
Thanks to: Adam Azarchs, Alex Eagle, August Karlstedt, Austin Schuh, Adrian Vogelsgesang, flode, Florian Scheibner, Ignas Kaziukėnas, Jean-Hadrien Chabran, Matt, Mike Kelly, Paul Draper, Sam Schwebach, Tomasz Wojno, Vertexwahn
MODULE.bazel setup
bazel_dep(name = "rules_pkg", version = "0.10.0")
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.10.0/rules_pkg-0.10.0.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.10.0/rules_pkg-0.10.0.tar.gz",
],
sha256 = "e93b7309591cabd68828a1bcddade1c158954d323be2205063e718763627682a",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules
See the source.
0.9.1
Re-release of 0.9.0 to correct a mismatch of artifacts between github.com and mirro.bazel.build
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.9.1/rules_pkg-0.9.1.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.9.1/rules_pkg-0.9.1.tar.gz",
],
sha256 = "8f9ee2dc10c1ae514ee599a8b42ed99fa262b757058f65ad3c384289ff70c4b8",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules
See the docs
0.9.0
New Features
- verify_archive rule to do e2e tests on built archives. (#644)
Incompatible Changes
- Genericize package manifest system and interface (#660)
** Bug Fixes **
- pkg_tar should not prefix tree artifacts with ./ (#681)
- pkg_tar, pkg_zip: improve support for long paths on Windows (#672)
Thanks to
Tomasz Wojno, Clint Harrison, Qingyu Sui, Ryan Beasley.
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.9.0/rules_pkg-0.9.0.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.9.0/rules_pkg-0.9.0.tar.gz",
],
sha256 = "335632735e625d408870ec3e361e192e99ef7462315caa887417f4d88c4c8fb8",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules
See the source.
0.8.1
New Features
- Expose tar manifest as an output (#643)
- Support license attribute in pkg_deb (#651)
- Add support for the txz extension in pkg_tar (#653) (#654)
Fixes
- Explicitly store implicit parent directories in zip files (#640)
- Remove unnecessary
to_list()
calls (#639) - Apply package_dir to pkg_mklink (#637)
Thanks to
Alex Eagle, Nils Semmelrock, Doug Rabson, Fabian Meumertzheim
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.8.1/rules_pkg-0.8.1.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.8.1/rules_pkg-0.8.1.tar.gz",
],
sha256 = "8c20f74bca25d2d442b327ae26768c02cf3c99e93fad0381f32be9aab1967675",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules
0.8.0
Pre Bazelcon push of tiny updates
New Features
- Allow $(var) substitution in filenames (#620)
- Allow $(var) substitution in filenames and include everything in ctx.var in the substitution dictionary.
Fixes #20
- Allow $(var) substitution in filenames and include everything in ctx.var in the substitution dictionary.
- Basic bzlmod setup
- CI runs for both traditional and bzlmod
- Shows it working for one example
- Has only runtime deps
- rpm and git toolchains not done yet
- Rough prototype of
@since
processing. (#617) - First cut at runfiles support in pkg_* rules (#605)
Bug Fixes
- Fix config_setting visibility failure when using
--incompatible_config_setting_private_default_visibility
- Cosmetic. Improve the error messageing for duplicate files in check_dest. (#616)
- Adjust tar tests to have a test case for #297 (#618)
- Do not warn if the origin paths are the same. (#615)
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.8.0/rules_pkg-0.8.0.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.8.0/rules_pkg-0.8.0.tar.gz",
],
sha256 = "eea0f59c28a9241156a47d7a8e32db9122f3d50b505fae0f33de6ce4d9b61834",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules
See the source.
0.7.1
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.7.1/rules_pkg-0.7.1.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.7.1/rules_pkg-0.7.1.tar.gz",
],
sha256 = "451e08a4d78988c06fa3f9306ec813b836b1d076d0f055595444ba4ff22b867f",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules
See the source and docs.
Major bug fixes since 0.6.x
#612 Directories in tree artifacts created with the wrong mode
#600 Debian description field formatting
#601 Tar format is explicitly GNU rather than accidentally flipping to PAX for some Python versions.
0.7.0
Release 0.7.0
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz",
],
sha256 = "8a298e832762eda1830597d64fe7db58178aa84cd5926d76d5b744d6558941c2",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
New Features
- Make the .bzl files available as input to a bzl_library (#567)
- Allow pkg_files.strip_prefix to work on tree artifact without having to use
renames
. - Add @rules_license style license declarations (#508)
- Better looking documentation
- Add
artifact_name
toprint_relnotes
(#541) - pkg_{deb,rpm,tar,zip} are now available via individual .bzl files, so you
only need to load what you actually need. - Add tree artifact support to pkg_zip (#537)
- symlink support to pkg_zip (#499)
Potentially breaking changes
- Get rid of the long deprecated archive_name and extension from pkg_zip. (#552)
Bug fixes:
- Only allow .deb Description to be multiline. (#573)
Fixes: #572 - Fix pkg_tar to not add the ./ to the prefix of every member. (#554). Closes: #531
- Stop stripping tree artifact root name in pkg_tar and pkg_zip. (#555). Closes #404
- Fix RPM source date epoch for rpmbuild 4.17+ (#529)
Contributors
Thanks to: Andrew Psaltis, Gunnar Wagenknecht, and Sven Mueller for contributions to this release.
0.6.0
This release incorporates several months of internal restructuring and cleanup. It is a baseline for a set of 0.6.x releases which will drop new features and bug fixes.
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz",
],
sha256 = "62eeb544ff1ef41d786e329e1536c1d541bb9bcad27ae984d57f18f314018e66",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules
See the documentation.
New Features
- Rules are now available under the common naming convention of
@rules_pkg/pkg:pkg.bzl
. pkg_rpm
: support forsource_date_epoch
.- support for tree artifacts
pkg_filegroup
may depend onpkg_filegroup
Incompatible Changes
- Requires bazel 4.x to to build RPMs because of use of
target_compatible_with
.
Bug Fixes
- correct calculation of Debian file name.
0.5.1
This is a patch release to 0.5.0.
New features
- Add
pkg_deb(architecture_file)
to provide a way to set the Debian package architecture from the content of a file created at
build time. (#390) - Provide
pkg_install
for a "make install"-like experience in Bazel (#380)- Note: This feature is still in development. Read the PR for more information.
- Initial support for the
pkg_filegroup
framework inpkg_zip
(#373)
Closed bugs
- Change the Debian example to reflect standard Debian naming. (#389)
- pkg_tar(include_runfiles) now works again (#392)
- internal code cleanup
WORKSPACE setup
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_pkg",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz",
],
sha256 = "a89e203d3cf264e564fcb96b6e06dd70bc0557356eb48400ce4b5d97c2c3720d",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules