Skip to content

Releases: bazelbuild/rules_pkg

0.10.1

08 Feb 23:11
d7ff3e6
Compare
Choose a tag to compare

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

10 Jan 22:13
39ab08d
Compare
Choose a tag to compare

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

02 May 16:17
Compare
Choose a tag to compare

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

29 Mar 03:50
7d7a076
Compare
Choose a tag to compare

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

07 Feb 22:34
bf19e06
Compare
Choose a tag to compare

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

See the documentation

0.8.0

03 Nov 03:42
29d79cf
Compare
Choose a tag to compare

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
  • 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

08 Sep 19:01
60dbd92
Compare
Choose a tag to compare

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

07 Apr 20:19
4f8f6ed
Compare
Choose a tag to compare

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 to print_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)
    • Make 'out' work in a reasonable way. Fixes #414
    • Partial fix for #284

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

24 Jan 20:14
4fa18d1
Compare
Choose a tag to compare

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 for source_date_epoch.
  • support for tree artifacts
  • pkg_filegroup may depend on pkg_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

18 Aug 15:54
b83be9c
Compare
Choose a tag to compare

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 in pkg_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