Releases: bazelbuild/rules_pkg
1.0.1
This is the same as the 1.0.0 release, but with the compatibility level set back to 1 to work around bazelbuild/bazel-central-registry#2232
MODULE.bazel setup
bazel_dep(name = "rules_pkg", version = "1.0.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/1.0.1/rules_pkg-1.0.1.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/1.0.1/rules_pkg-1.0.1.tar.gz",
],
sha256 = "d20c951960ed77cb7b341c2a59488534e494d5ad1d30c4818c736d57772a9fef",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
1.0.0
New Features
- Support duplicate paths in tar archives (#850)
- pkg_rpm
- Add support for generating debuginfo RPMs (#842)
- Add support for "Epoch" attributes in RPMs (#858)
- Add pkg_sub_rpm rule for RPM subpackages (#824)
- Enable pkg_rpm and pkg_subrpm to create empty RPMs (#859)
- Add conflicts and obsoletes to sub RPMs (#851)
- Add %posttrans scriptlet to RPM package (#799)
- Add support for
Obsoletes
tag in RPM definition (#778)
Incompatible Changes
- Append workspace name to the runfiles directory name for
pkg_files
(#864) - Update to new stardoc so we can work with bzlmod. (#853)
Not really incompatible by itself, but it does mean that development of
rules_pkg itself without bzlmod is now unsupported. - Various fixes and improvements to pkg_rpm have probably broken someone's
workflow. YMMV - Lots of bug fixes have made undefined behavior explicit. This also probably
breaks someone's workflow. YMMV - Bzlmod compatibility level 2, so you may have to explicitly upgrade.
MODULE.bazel setup
bazel_dep(name = "rules_pkg", version = "1.0.0")
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/1.0.0/rules_pkg-1.0.0.tar.gz",
],
sha256 = "cad05f864a32799f6f9022891de91ac78f30e0fa07dc68abac92a628121b5b11",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
Using the rules
See the source.
What's Changed (in a little more detail)
- Provide more examples for pkg_rpm() by @kellyma2 in #823
- fix: remove unused glob patterns by @dieortin in #825
- Add pkg_sub_rpm rule for RPM subpackages by @kellyma2 in #824
- lint nits by @aiuto in #831
- Remove expand_yml.py. by @aiuto in #837
- Add support for no parent directory inference (#832) by @eejayes in #834
- Stop using datetime.utcfromtimestamp() by @aiuto in #838
- update scorecard workflow to newer nodejs setup by @aiuto in #839
- Update scorecard.yml to new checkout and analysis actions. by @aiuto in #840
- Improve handling of sub rpms. by @aiuto in #833
- use sys.exit() instead of exit() by @aiuto in #844
- trying scorecard update one more time by @aiuto in #841
- Indirect .files_to_run and .default_runfiles through DefaultInfo. by @lberki in #848
- rpm: Add conflicts and obsoletes to sub RPMs by @kellyma2 in #851
- Force stardoc integration test to run with bazel 7.0.0 by @aiuto in #852
- Start removing licenses(notice) and replacing with license() by @aiuto in #742
- Update to new stardoc so we can work with bzlmod. by @aiuto in #853
- create empty MODULE.bazel files in examples so bazel does not complain by @aiuto in #855
- pkg_tar: if symlink starts with ./, keep it absolute by @aiuto in #854
- Enable pkg_rpm and pkg_subrpm to create empty RPMs by @kellyma2 in #859
- Append the workspace name to the runfiles directory name by @EdSchouten in #856
- Add support for generating debuginfo RPMs by @kellyma2 in #842
- Add support for "Epoch" attributes in RPMs by @TvdW in #858
- fix: Not all runfiles are single files by @ewianda in #860
- Exclude release from filename when using release_file by @kellyma2 in #863
- Append workspace name to the runfiles directory name for
pkg_files
by @sitaktif in #864 - Support duplicate file paths in tar archives by @eejayes in #850
- 1.0 release by @aiuto in #869
New Contributors
- @eejayes made their first contribution in #834
- @EdSchouten made their first contribution in #856
- @TvdW made their first contribution in #858
- @ewianda made their first contribution in #860
- @sitaktif made their first contribution in #864
Full Changelog: 0.10.1...1.0.0
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.